...

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

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

     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.0"
    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.0"
    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.0"
    77  const apiName = "dfareporting"
    78  const apiVersion = "v3.0"
    79  const basePath = "https://www.googleapis.com/dfareporting/v3.0/"
    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.DirectorySiteContacts = NewDirectorySiteContactsService(s)
   152  	s.DirectorySites = NewDirectorySitesService(s)
   153  	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
   154  	s.EventTags = NewEventTagsService(s)
   155  	s.Files = NewFilesService(s)
   156  	s.FloodlightActivities = NewFloodlightActivitiesService(s)
   157  	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
   158  	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
   159  	s.InventoryItems = NewInventoryItemsService(s)
   160  	s.Languages = NewLanguagesService(s)
   161  	s.Metros = NewMetrosService(s)
   162  	s.MobileCarriers = NewMobileCarriersService(s)
   163  	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
   164  	s.OperatingSystems = NewOperatingSystemsService(s)
   165  	s.OrderDocuments = NewOrderDocumentsService(s)
   166  	s.Orders = NewOrdersService(s)
   167  	s.PlacementGroups = NewPlacementGroupsService(s)
   168  	s.PlacementStrategies = NewPlacementStrategiesService(s)
   169  	s.Placements = NewPlacementsService(s)
   170  	s.PlatformTypes = NewPlatformTypesService(s)
   171  	s.PostalCodes = NewPostalCodesService(s)
   172  	s.Projects = NewProjectsService(s)
   173  	s.Regions = NewRegionsService(s)
   174  	s.RemarketingListShares = NewRemarketingListSharesService(s)
   175  	s.RemarketingLists = NewRemarketingListsService(s)
   176  	s.Reports = NewReportsService(s)
   177  	s.Sites = NewSitesService(s)
   178  	s.Sizes = NewSizesService(s)
   179  	s.Subaccounts = NewSubaccountsService(s)
   180  	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
   181  	s.TargetingTemplates = NewTargetingTemplatesService(s)
   182  	s.UserProfiles = NewUserProfilesService(s)
   183  	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
   184  	s.UserRolePermissions = NewUserRolePermissionsService(s)
   185  	s.UserRoles = NewUserRolesService(s)
   186  	s.VideoFormats = NewVideoFormatsService(s)
   187  	return s, nil
   188  }
   189  
   190  type Service struct {
   191  	client    *http.Client
   192  	BasePath  string // API endpoint base URL
   193  	UserAgent string // optional additional User-Agent fragment
   194  
   195  	AccountActiveAdSummaries *AccountActiveAdSummariesService
   196  
   197  	AccountPermissionGroups *AccountPermissionGroupsService
   198  
   199  	AccountPermissions *AccountPermissionsService
   200  
   201  	AccountUserProfiles *AccountUserProfilesService
   202  
   203  	Accounts *AccountsService
   204  
   205  	Ads *AdsService
   206  
   207  	AdvertiserGroups *AdvertiserGroupsService
   208  
   209  	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  	DirectorySiteContacts *DirectorySiteContactsService
   244  
   245  	DirectorySites *DirectorySitesService
   246  
   247  	DynamicTargetingKeys *DynamicTargetingKeysService
   248  
   249  	EventTags *EventTagsService
   250  
   251  	Files *FilesService
   252  
   253  	FloodlightActivities *FloodlightActivitiesService
   254  
   255  	FloodlightActivityGroups *FloodlightActivityGroupsService
   256  
   257  	FloodlightConfigurations *FloodlightConfigurationsService
   258  
   259  	InventoryItems *InventoryItemsService
   260  
   261  	Languages *LanguagesService
   262  
   263  	Metros *MetrosService
   264  
   265  	MobileCarriers *MobileCarriersService
   266  
   267  	OperatingSystemVersions *OperatingSystemVersionsService
   268  
   269  	OperatingSystems *OperatingSystemsService
   270  
   271  	OrderDocuments *OrderDocumentsService
   272  
   273  	Orders *OrdersService
   274  
   275  	PlacementGroups *PlacementGroupsService
   276  
   277  	PlacementStrategies *PlacementStrategiesService
   278  
   279  	Placements *PlacementsService
   280  
   281  	PlatformTypes *PlatformTypesService
   282  
   283  	PostalCodes *PostalCodesService
   284  
   285  	Projects *ProjectsService
   286  
   287  	Regions *RegionsService
   288  
   289  	RemarketingListShares *RemarketingListSharesService
   290  
   291  	RemarketingLists *RemarketingListsService
   292  
   293  	Reports *ReportsService
   294  
   295  	Sites *SitesService
   296  
   297  	Sizes *SizesService
   298  
   299  	Subaccounts *SubaccountsService
   300  
   301  	TargetableRemarketingLists *TargetableRemarketingListsService
   302  
   303  	TargetingTemplates *TargetingTemplatesService
   304  
   305  	UserProfiles *UserProfilesService
   306  
   307  	UserRolePermissionGroups *UserRolePermissionGroupsService
   308  
   309  	UserRolePermissions *UserRolePermissionsService
   310  
   311  	UserRoles *UserRolesService
   312  
   313  	VideoFormats *VideoFormatsService
   314  }
   315  
   316  func (s *Service) userAgent() string {
   317  	if s.UserAgent == "" {
   318  		return googleapi.UserAgent
   319  	}
   320  	return googleapi.UserAgent + " " + s.UserAgent
   321  }
   322  
   323  func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
   324  	rs := &AccountActiveAdSummariesService{s: s}
   325  	return rs
   326  }
   327  
   328  type AccountActiveAdSummariesService struct {
   329  	s *Service
   330  }
   331  
   332  func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
   333  	rs := &AccountPermissionGroupsService{s: s}
   334  	return rs
   335  }
   336  
   337  type AccountPermissionGroupsService struct {
   338  	s *Service
   339  }
   340  
   341  func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
   342  	rs := &AccountPermissionsService{s: s}
   343  	return rs
   344  }
   345  
   346  type AccountPermissionsService struct {
   347  	s *Service
   348  }
   349  
   350  func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
   351  	rs := &AccountUserProfilesService{s: s}
   352  	return rs
   353  }
   354  
   355  type AccountUserProfilesService struct {
   356  	s *Service
   357  }
   358  
   359  func NewAccountsService(s *Service) *AccountsService {
   360  	rs := &AccountsService{s: s}
   361  	return rs
   362  }
   363  
   364  type AccountsService struct {
   365  	s *Service
   366  }
   367  
   368  func NewAdsService(s *Service) *AdsService {
   369  	rs := &AdsService{s: s}
   370  	return rs
   371  }
   372  
   373  type AdsService struct {
   374  	s *Service
   375  }
   376  
   377  func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
   378  	rs := &AdvertiserGroupsService{s: s}
   379  	return rs
   380  }
   381  
   382  type AdvertiserGroupsService struct {
   383  	s *Service
   384  }
   385  
   386  func 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 NewDirectorySiteContactsService(s *Service) *DirectorySiteContactsService {
   540  	rs := &DirectorySiteContactsService{s: s}
   541  	return rs
   542  }
   543  
   544  type DirectorySiteContactsService struct {
   545  	s *Service
   546  }
   547  
   548  func NewDirectorySitesService(s *Service) *DirectorySitesService {
   549  	rs := &DirectorySitesService{s: s}
   550  	return rs
   551  }
   552  
   553  type DirectorySitesService struct {
   554  	s *Service
   555  }
   556  
   557  func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
   558  	rs := &DynamicTargetingKeysService{s: s}
   559  	return rs
   560  }
   561  
   562  type DynamicTargetingKeysService struct {
   563  	s *Service
   564  }
   565  
   566  func NewEventTagsService(s *Service) *EventTagsService {
   567  	rs := &EventTagsService{s: s}
   568  	return rs
   569  }
   570  
   571  type EventTagsService struct {
   572  	s *Service
   573  }
   574  
   575  func NewFilesService(s *Service) *FilesService {
   576  	rs := &FilesService{s: s}
   577  	return rs
   578  }
   579  
   580  type FilesService struct {
   581  	s *Service
   582  }
   583  
   584  func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
   585  	rs := &FloodlightActivitiesService{s: s}
   586  	return rs
   587  }
   588  
   589  type FloodlightActivitiesService struct {
   590  	s *Service
   591  }
   592  
   593  func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
   594  	rs := &FloodlightActivityGroupsService{s: s}
   595  	return rs
   596  }
   597  
   598  type FloodlightActivityGroupsService struct {
   599  	s *Service
   600  }
   601  
   602  func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
   603  	rs := &FloodlightConfigurationsService{s: s}
   604  	return rs
   605  }
   606  
   607  type FloodlightConfigurationsService struct {
   608  	s *Service
   609  }
   610  
   611  func NewInventoryItemsService(s *Service) *InventoryItemsService {
   612  	rs := &InventoryItemsService{s: s}
   613  	return rs
   614  }
   615  
   616  type InventoryItemsService struct {
   617  	s *Service
   618  }
   619  
   620  func NewLanguagesService(s *Service) *LanguagesService {
   621  	rs := &LanguagesService{s: s}
   622  	return rs
   623  }
   624  
   625  type LanguagesService struct {
   626  	s *Service
   627  }
   628  
   629  func NewMetrosService(s *Service) *MetrosService {
   630  	rs := &MetrosService{s: s}
   631  	return rs
   632  }
   633  
   634  type MetrosService struct {
   635  	s *Service
   636  }
   637  
   638  func NewMobileCarriersService(s *Service) *MobileCarriersService {
   639  	rs := &MobileCarriersService{s: s}
   640  	return rs
   641  }
   642  
   643  type MobileCarriersService struct {
   644  	s *Service
   645  }
   646  
   647  func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
   648  	rs := &OperatingSystemVersionsService{s: s}
   649  	return rs
   650  }
   651  
   652  type OperatingSystemVersionsService struct {
   653  	s *Service
   654  }
   655  
   656  func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
   657  	rs := &OperatingSystemsService{s: s}
   658  	return rs
   659  }
   660  
   661  type OperatingSystemsService struct {
   662  	s *Service
   663  }
   664  
   665  func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
   666  	rs := &OrderDocumentsService{s: s}
   667  	return rs
   668  }
   669  
   670  type OrderDocumentsService struct {
   671  	s *Service
   672  }
   673  
   674  func NewOrdersService(s *Service) *OrdersService {
   675  	rs := &OrdersService{s: s}
   676  	return rs
   677  }
   678  
   679  type OrdersService struct {
   680  	s *Service
   681  }
   682  
   683  func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
   684  	rs := &PlacementGroupsService{s: s}
   685  	return rs
   686  }
   687  
   688  type PlacementGroupsService struct {
   689  	s *Service
   690  }
   691  
   692  func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
   693  	rs := &PlacementStrategiesService{s: s}
   694  	return rs
   695  }
   696  
   697  type PlacementStrategiesService struct {
   698  	s *Service
   699  }
   700  
   701  func NewPlacementsService(s *Service) *PlacementsService {
   702  	rs := &PlacementsService{s: s}
   703  	return rs
   704  }
   705  
   706  type PlacementsService struct {
   707  	s *Service
   708  }
   709  
   710  func NewPlatformTypesService(s *Service) *PlatformTypesService {
   711  	rs := &PlatformTypesService{s: s}
   712  	return rs
   713  }
   714  
   715  type PlatformTypesService struct {
   716  	s *Service
   717  }
   718  
   719  func NewPostalCodesService(s *Service) *PostalCodesService {
   720  	rs := &PostalCodesService{s: s}
   721  	return rs
   722  }
   723  
   724  type PostalCodesService struct {
   725  	s *Service
   726  }
   727  
   728  func NewProjectsService(s *Service) *ProjectsService {
   729  	rs := &ProjectsService{s: s}
   730  	return rs
   731  }
   732  
   733  type ProjectsService struct {
   734  	s *Service
   735  }
   736  
   737  func NewRegionsService(s *Service) *RegionsService {
   738  	rs := &RegionsService{s: s}
   739  	return rs
   740  }
   741  
   742  type RegionsService struct {
   743  	s *Service
   744  }
   745  
   746  func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
   747  	rs := &RemarketingListSharesService{s: s}
   748  	return rs
   749  }
   750  
   751  type RemarketingListSharesService struct {
   752  	s *Service
   753  }
   754  
   755  func NewRemarketingListsService(s *Service) *RemarketingListsService {
   756  	rs := &RemarketingListsService{s: s}
   757  	return rs
   758  }
   759  
   760  type RemarketingListsService struct {
   761  	s *Service
   762  }
   763  
   764  func NewReportsService(s *Service) *ReportsService {
   765  	rs := &ReportsService{s: s}
   766  	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
   767  	rs.Files = NewReportsFilesService(s)
   768  	return rs
   769  }
   770  
   771  type ReportsService struct {
   772  	s *Service
   773  
   774  	CompatibleFields *ReportsCompatibleFieldsService
   775  
   776  	Files *ReportsFilesService
   777  }
   778  
   779  func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
   780  	rs := &ReportsCompatibleFieldsService{s: s}
   781  	return rs
   782  }
   783  
   784  type ReportsCompatibleFieldsService struct {
   785  	s *Service
   786  }
   787  
   788  func NewReportsFilesService(s *Service) *ReportsFilesService {
   789  	rs := &ReportsFilesService{s: s}
   790  	return rs
   791  }
   792  
   793  type ReportsFilesService struct {
   794  	s *Service
   795  }
   796  
   797  func NewSitesService(s *Service) *SitesService {
   798  	rs := &SitesService{s: s}
   799  	return rs
   800  }
   801  
   802  type SitesService struct {
   803  	s *Service
   804  }
   805  
   806  func NewSizesService(s *Service) *SizesService {
   807  	rs := &SizesService{s: s}
   808  	return rs
   809  }
   810  
   811  type SizesService struct {
   812  	s *Service
   813  }
   814  
   815  func NewSubaccountsService(s *Service) *SubaccountsService {
   816  	rs := &SubaccountsService{s: s}
   817  	return rs
   818  }
   819  
   820  type SubaccountsService struct {
   821  	s *Service
   822  }
   823  
   824  func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
   825  	rs := &TargetableRemarketingListsService{s: s}
   826  	return rs
   827  }
   828  
   829  type TargetableRemarketingListsService struct {
   830  	s *Service
   831  }
   832  
   833  func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
   834  	rs := &TargetingTemplatesService{s: s}
   835  	return rs
   836  }
   837  
   838  type TargetingTemplatesService struct {
   839  	s *Service
   840  }
   841  
   842  func NewUserProfilesService(s *Service) *UserProfilesService {
   843  	rs := &UserProfilesService{s: s}
   844  	return rs
   845  }
   846  
   847  type UserProfilesService struct {
   848  	s *Service
   849  }
   850  
   851  func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
   852  	rs := &UserRolePermissionGroupsService{s: s}
   853  	return rs
   854  }
   855  
   856  type UserRolePermissionGroupsService struct {
   857  	s *Service
   858  }
   859  
   860  func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
   861  	rs := &UserRolePermissionsService{s: s}
   862  	return rs
   863  }
   864  
   865  type UserRolePermissionsService struct {
   866  	s *Service
   867  }
   868  
   869  func NewUserRolesService(s *Service) *UserRolesService {
   870  	rs := &UserRolesService{s: s}
   871  	return rs
   872  }
   873  
   874  type UserRolesService struct {
   875  	s *Service
   876  }
   877  
   878  func NewVideoFormatsService(s *Service) *VideoFormatsService {
   879  	rs := &VideoFormatsService{s: s}
   880  	return rs
   881  }
   882  
   883  type VideoFormatsService struct {
   884  	s *Service
   885  }
   886  
   887  // Account: Contains properties of a 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  	// LookbackConfiguration: Lookback window settings for the campaign.
  2470  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  2471  
  2472  	// Name: Name of this campaign. This is a required field and must be
  2473  	// less than 256 characters long and unique among campaigns of the same
  2474  	// advertiser.
  2475  	Name string `json:"name,omitempty"`
  2476  
  2477  	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
  2478  	// campaign.
  2479  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
  2480  
  2481  	// StartDate: Date on which the campaign starts running. The start date
  2482  	// can be any date. The hours, minutes, and seconds of the start date
  2483  	// should not be set, as doing so will result in an error. This is a
  2484  	// required field.
  2485  	StartDate string `json:"startDate,omitempty"`
  2486  
  2487  	// SubaccountId: Subaccount ID of this campaign. This is a read-only
  2488  	// field that can be left blank.
  2489  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2490  
  2491  	// TraffickerEmails: Campaign trafficker contact emails.
  2492  	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
  2493  
  2494  	// ServerResponse contains the HTTP response code and headers from the
  2495  	// server.
  2496  	googleapi.ServerResponse `json:"-"`
  2497  
  2498  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2499  	// unconditionally include in API requests. By default, fields with
  2500  	// empty values are omitted from API requests. However, any non-pointer,
  2501  	// non-interface field appearing in ForceSendFields will be sent to the
  2502  	// server regardless of whether the field is empty or not. This may be
  2503  	// used to include empty fields in Patch requests.
  2504  	ForceSendFields []string `json:"-"`
  2505  
  2506  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2507  	// API requests with the JSON null value. By default, fields with empty
  2508  	// values are omitted from API requests. However, any field with an
  2509  	// empty value appearing in NullFields will be sent to the server as
  2510  	// null. It is an error if a field in this list has a non-empty value.
  2511  	// This may be used to include null fields in Patch requests.
  2512  	NullFields []string `json:"-"`
  2513  }
  2514  
  2515  func (s *Campaign) MarshalJSON() ([]byte, error) {
  2516  	type NoMethod Campaign
  2517  	raw := NoMethod(*s)
  2518  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2519  }
  2520  
  2521  // CampaignCreativeAssociation: Identifies a creative which has been
  2522  // associated with a given campaign.
  2523  type CampaignCreativeAssociation struct {
  2524  	// CreativeId: ID of the creative associated with the campaign. This is
  2525  	// a required field.
  2526  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2527  
  2528  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2529  	// string "dfareporting#campaignCreativeAssociation".
  2530  	Kind string `json:"kind,omitempty"`
  2531  
  2532  	// ServerResponse contains the HTTP response code and headers from the
  2533  	// server.
  2534  	googleapi.ServerResponse `json:"-"`
  2535  
  2536  	// ForceSendFields is a list of field names (e.g. "CreativeId") to
  2537  	// unconditionally include in API requests. By default, fields with
  2538  	// empty values are omitted from API requests. However, any non-pointer,
  2539  	// non-interface field appearing in ForceSendFields will be sent to the
  2540  	// server regardless of whether the field is empty or not. This may be
  2541  	// used to include empty fields in Patch requests.
  2542  	ForceSendFields []string `json:"-"`
  2543  
  2544  	// NullFields is a list of field names (e.g. "CreativeId") to include in
  2545  	// API requests with the JSON null value. By default, fields with empty
  2546  	// values are omitted from API requests. However, any field with an
  2547  	// empty value appearing in NullFields will be sent to the server as
  2548  	// null. It is an error if a field in this list has a non-empty value.
  2549  	// This may be used to include null fields in Patch requests.
  2550  	NullFields []string `json:"-"`
  2551  }
  2552  
  2553  func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
  2554  	type NoMethod CampaignCreativeAssociation
  2555  	raw := NoMethod(*s)
  2556  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2557  }
  2558  
  2559  // CampaignCreativeAssociationsListResponse: Campaign Creative
  2560  // Association List Response
  2561  type CampaignCreativeAssociationsListResponse struct {
  2562  	// CampaignCreativeAssociations: Campaign creative association
  2563  	// collection
  2564  	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
  2565  
  2566  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2567  	// string "dfareporting#campaignCreativeAssociationsListResponse".
  2568  	Kind string `json:"kind,omitempty"`
  2569  
  2570  	// NextPageToken: Pagination token to be used for the next list
  2571  	// operation.
  2572  	NextPageToken string `json:"nextPageToken,omitempty"`
  2573  
  2574  	// ServerResponse contains the HTTP response code and headers from the
  2575  	// server.
  2576  	googleapi.ServerResponse `json:"-"`
  2577  
  2578  	// ForceSendFields is a list of field names (e.g.
  2579  	// "CampaignCreativeAssociations") to unconditionally include in API
  2580  	// requests. By default, fields with empty values are omitted from API
  2581  	// requests. However, any non-pointer, non-interface field appearing in
  2582  	// ForceSendFields will be sent to the server regardless of whether the
  2583  	// field is empty or not. This may be used to include empty fields in
  2584  	// Patch requests.
  2585  	ForceSendFields []string `json:"-"`
  2586  
  2587  	// NullFields is a list of field names (e.g.
  2588  	// "CampaignCreativeAssociations") to include in API requests with the
  2589  	// JSON null value. By default, fields with empty values are omitted
  2590  	// from API requests. However, any field with an empty value appearing
  2591  	// in NullFields will be sent to the server as null. It is an error if a
  2592  	// field in this list has a non-empty value. This may be used to include
  2593  	// null fields in Patch requests.
  2594  	NullFields []string `json:"-"`
  2595  }
  2596  
  2597  func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
  2598  	type NoMethod CampaignCreativeAssociationsListResponse
  2599  	raw := NoMethod(*s)
  2600  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2601  }
  2602  
  2603  // CampaignsListResponse: Campaign List Response
  2604  type CampaignsListResponse struct {
  2605  	// Campaigns: Campaign collection.
  2606  	Campaigns []*Campaign `json:"campaigns,omitempty"`
  2607  
  2608  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2609  	// string "dfareporting#campaignsListResponse".
  2610  	Kind string `json:"kind,omitempty"`
  2611  
  2612  	// NextPageToken: Pagination token to be used for the next list
  2613  	// operation.
  2614  	NextPageToken string `json:"nextPageToken,omitempty"`
  2615  
  2616  	// ServerResponse contains the HTTP response code and headers from the
  2617  	// server.
  2618  	googleapi.ServerResponse `json:"-"`
  2619  
  2620  	// ForceSendFields is a list of field names (e.g. "Campaigns") to
  2621  	// unconditionally include in API requests. By default, fields with
  2622  	// empty values are omitted from API requests. However, any non-pointer,
  2623  	// non-interface field appearing in ForceSendFields will be sent to the
  2624  	// server regardless of whether the field is empty or not. This may be
  2625  	// used to include empty fields in Patch requests.
  2626  	ForceSendFields []string `json:"-"`
  2627  
  2628  	// NullFields is a list of field names (e.g. "Campaigns") to include in
  2629  	// API requests with the JSON null value. By default, fields with empty
  2630  	// values are omitted from API requests. However, any field with an
  2631  	// empty value appearing in NullFields will be sent to the server as
  2632  	// null. It is an error if a field in this list has a non-empty value.
  2633  	// This may be used to include null fields in Patch requests.
  2634  	NullFields []string `json:"-"`
  2635  }
  2636  
  2637  func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
  2638  	type NoMethod CampaignsListResponse
  2639  	raw := NoMethod(*s)
  2640  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2641  }
  2642  
  2643  // ChangeLog: Describes a change that a user has made to a resource.
  2644  type ChangeLog struct {
  2645  	// AccountId: Account ID of the modified object.
  2646  	AccountId int64 `json:"accountId,omitempty,string"`
  2647  
  2648  	// Action: Action which caused the change.
  2649  	Action string `json:"action,omitempty"`
  2650  
  2651  	// ChangeTime: Time when the object was modified.
  2652  	ChangeTime string `json:"changeTime,omitempty"`
  2653  
  2654  	// FieldName: Field name of the object which changed.
  2655  	FieldName string `json:"fieldName,omitempty"`
  2656  
  2657  	// Id: ID of this change log.
  2658  	Id int64 `json:"id,omitempty,string"`
  2659  
  2660  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2661  	// string "dfareporting#changeLog".
  2662  	Kind string `json:"kind,omitempty"`
  2663  
  2664  	// NewValue: New value of the object field.
  2665  	NewValue string `json:"newValue,omitempty"`
  2666  
  2667  	// ObjectId: ID of the object of this change log. The object could be a
  2668  	// campaign, placement, ad, or other type.
  2669  	ObjectId int64 `json:"objectId,omitempty,string"`
  2670  
  2671  	// ObjectType: Object type of the change log.
  2672  	ObjectType string `json:"objectType,omitempty"`
  2673  
  2674  	// OldValue: Old value of the object field.
  2675  	OldValue string `json:"oldValue,omitempty"`
  2676  
  2677  	// SubaccountId: Subaccount ID of the modified object.
  2678  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2679  
  2680  	// TransactionId: Transaction ID of this change log. When a single API
  2681  	// call results in many changes, each change will have a separate ID in
  2682  	// the change log but will share the same transactionId.
  2683  	TransactionId int64 `json:"transactionId,omitempty,string"`
  2684  
  2685  	// UserProfileId: ID of the user who modified the object.
  2686  	UserProfileId int64 `json:"userProfileId,omitempty,string"`
  2687  
  2688  	// UserProfileName: User profile name of the user who modified the
  2689  	// object.
  2690  	UserProfileName string `json:"userProfileName,omitempty"`
  2691  
  2692  	// ServerResponse contains the HTTP response code and headers from the
  2693  	// server.
  2694  	googleapi.ServerResponse `json:"-"`
  2695  
  2696  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2697  	// unconditionally include in API requests. By default, fields with
  2698  	// empty values are omitted from API requests. However, any non-pointer,
  2699  	// non-interface field appearing in ForceSendFields will be sent to the
  2700  	// server regardless of whether the field is empty or not. This may be
  2701  	// used to include empty fields in Patch requests.
  2702  	ForceSendFields []string `json:"-"`
  2703  
  2704  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2705  	// API requests with the JSON null value. By default, fields with empty
  2706  	// values are omitted from API requests. However, any field with an
  2707  	// empty value appearing in NullFields will be sent to the server as
  2708  	// null. It is an error if a field in this list has a non-empty value.
  2709  	// This may be used to include null fields in Patch requests.
  2710  	NullFields []string `json:"-"`
  2711  }
  2712  
  2713  func (s *ChangeLog) MarshalJSON() ([]byte, error) {
  2714  	type NoMethod ChangeLog
  2715  	raw := NoMethod(*s)
  2716  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2717  }
  2718  
  2719  // ChangeLogsListResponse: Change Log List Response
  2720  type ChangeLogsListResponse struct {
  2721  	// ChangeLogs: Change log collection.
  2722  	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
  2723  
  2724  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2725  	// string "dfareporting#changeLogsListResponse".
  2726  	Kind string `json:"kind,omitempty"`
  2727  
  2728  	// NextPageToken: Pagination token to be used for the next list
  2729  	// operation.
  2730  	NextPageToken string `json:"nextPageToken,omitempty"`
  2731  
  2732  	// ServerResponse contains the HTTP response code and headers from the
  2733  	// server.
  2734  	googleapi.ServerResponse `json:"-"`
  2735  
  2736  	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
  2737  	// unconditionally include in API requests. By default, fields with
  2738  	// empty values are omitted from API requests. However, any non-pointer,
  2739  	// non-interface field appearing in ForceSendFields will be sent to the
  2740  	// server regardless of whether the field is empty or not. This may be
  2741  	// used to include empty fields in Patch requests.
  2742  	ForceSendFields []string `json:"-"`
  2743  
  2744  	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
  2745  	// API requests with the JSON null value. By default, fields with empty
  2746  	// values are omitted from API requests. However, any field with an
  2747  	// empty value appearing in NullFields will be sent to the server as
  2748  	// null. It is an error if a field in this list has a non-empty value.
  2749  	// This may be used to include null fields in Patch requests.
  2750  	NullFields []string `json:"-"`
  2751  }
  2752  
  2753  func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
  2754  	type NoMethod ChangeLogsListResponse
  2755  	raw := NoMethod(*s)
  2756  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2757  }
  2758  
  2759  // CitiesListResponse: City List Response
  2760  type CitiesListResponse struct {
  2761  	// Cities: City collection.
  2762  	Cities []*City `json:"cities,omitempty"`
  2763  
  2764  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2765  	// string "dfareporting#citiesListResponse".
  2766  	Kind string `json:"kind,omitempty"`
  2767  
  2768  	// ServerResponse contains the HTTP response code and headers from the
  2769  	// server.
  2770  	googleapi.ServerResponse `json:"-"`
  2771  
  2772  	// ForceSendFields is a list of field names (e.g. "Cities") to
  2773  	// unconditionally include in API requests. By default, fields with
  2774  	// empty values are omitted from API requests. However, any non-pointer,
  2775  	// non-interface field appearing in ForceSendFields will be sent to the
  2776  	// server regardless of whether the field is empty or not. This may be
  2777  	// used to include empty fields in Patch requests.
  2778  	ForceSendFields []string `json:"-"`
  2779  
  2780  	// NullFields is a list of field names (e.g. "Cities") to include in API
  2781  	// requests with the JSON null value. By default, fields with empty
  2782  	// values are omitted from API requests. However, any field with an
  2783  	// empty value appearing in NullFields will be sent to the server as
  2784  	// null. It is an error if a field in this list has a non-empty value.
  2785  	// This may be used to include null fields in Patch requests.
  2786  	NullFields []string `json:"-"`
  2787  }
  2788  
  2789  func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
  2790  	type NoMethod CitiesListResponse
  2791  	raw := NoMethod(*s)
  2792  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2793  }
  2794  
  2795  // City: Contains information about a city that can be targeted by ads.
  2796  type City struct {
  2797  	// CountryCode: Country code of the country to which this city belongs.
  2798  	CountryCode string `json:"countryCode,omitempty"`
  2799  
  2800  	// CountryDartId: DART ID of the country to which this city belongs.
  2801  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  2802  
  2803  	// DartId: DART ID of this city. This is the ID used for targeting and
  2804  	// generating reports.
  2805  	DartId int64 `json:"dartId,omitempty,string"`
  2806  
  2807  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2808  	// string "dfareporting#city".
  2809  	Kind string `json:"kind,omitempty"`
  2810  
  2811  	// MetroCode: Metro region code of the metro region (DMA) to which this
  2812  	// city belongs.
  2813  	MetroCode string `json:"metroCode,omitempty"`
  2814  
  2815  	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
  2816  	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
  2817  
  2818  	// Name: Name of this city.
  2819  	Name string `json:"name,omitempty"`
  2820  
  2821  	// RegionCode: Region code of the region to which this city belongs.
  2822  	RegionCode string `json:"regionCode,omitempty"`
  2823  
  2824  	// RegionDartId: DART ID of the region to which this city belongs.
  2825  	RegionDartId int64 `json:"regionDartId,omitempty,string"`
  2826  
  2827  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  2828  	// unconditionally include in API requests. By default, fields with
  2829  	// empty values are omitted from API requests. However, any non-pointer,
  2830  	// non-interface field appearing in ForceSendFields will be sent to the
  2831  	// server regardless of whether the field is empty or not. This may be
  2832  	// used to include empty fields in Patch requests.
  2833  	ForceSendFields []string `json:"-"`
  2834  
  2835  	// NullFields is a list of field names (e.g. "CountryCode") to include
  2836  	// in API requests with the JSON null value. By default, fields with
  2837  	// empty values are omitted from API requests. However, any field with
  2838  	// an empty value appearing in NullFields will be sent to the server as
  2839  	// null. It is an error if a field in this list has a non-empty value.
  2840  	// This may be used to include null fields in Patch requests.
  2841  	NullFields []string `json:"-"`
  2842  }
  2843  
  2844  func (s *City) MarshalJSON() ([]byte, error) {
  2845  	type NoMethod City
  2846  	raw := NoMethod(*s)
  2847  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2848  }
  2849  
  2850  // ClickTag: Creative Click Tag.
  2851  type ClickTag struct {
  2852  	// ClickThroughUrl: Parameter value for the specified click tag. This
  2853  	// field contains a click-through url.
  2854  	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2855  
  2856  	// EventName: Advertiser event name associated with the click tag. This
  2857  	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
  2858  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  2859  	EventName string `json:"eventName,omitempty"`
  2860  
  2861  	// Name: Parameter name for the specified click tag. For
  2862  	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
  2863  	// value of the creative asset's creativeAssetId.name field.
  2864  	Name string `json:"name,omitempty"`
  2865  
  2866  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2867  	// unconditionally include in API requests. By default, fields with
  2868  	// empty values are omitted from API requests. However, any non-pointer,
  2869  	// non-interface field appearing in ForceSendFields will be sent to the
  2870  	// server regardless of whether the field is empty or not. This may be
  2871  	// used to include empty fields in Patch requests.
  2872  	ForceSendFields []string `json:"-"`
  2873  
  2874  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2875  	// include in API requests with the JSON null value. By default, fields
  2876  	// with empty values are omitted from API requests. However, any field
  2877  	// with an empty value appearing in NullFields will be sent to the
  2878  	// server as null. It is an error if a field in this list has a
  2879  	// non-empty value. This may be used to include null fields in Patch
  2880  	// requests.
  2881  	NullFields []string `json:"-"`
  2882  }
  2883  
  2884  func (s *ClickTag) MarshalJSON() ([]byte, error) {
  2885  	type NoMethod ClickTag
  2886  	raw := NoMethod(*s)
  2887  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2888  }
  2889  
  2890  // ClickThroughUrl: Click-through URL
  2891  type ClickThroughUrl struct {
  2892  	// ComputedClickThroughUrl: Read-only convenience field representing the
  2893  	// actual URL that will be used for this click-through. The URL is
  2894  	// computed as follows:
  2895  	// - If defaultLandingPage is enabled then the campaign's default
  2896  	// landing page URL is assigned to this field.
  2897  	// - If defaultLandingPage is not enabled and a landingPageId is
  2898  	// specified then that landing page's URL is assigned to this field.
  2899  	// - If neither of the above cases apply, then the customClickThroughUrl
  2900  	// is assigned to this field.
  2901  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  2902  
  2903  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  2904  	// defaultLandingPage field is set to false and the landingPageId field
  2905  	// is left unset.
  2906  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  2907  
  2908  	// DefaultLandingPage: Whether the campaign default landing page is
  2909  	// used.
  2910  	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
  2911  
  2912  	// LandingPageId: ID of the landing page for the click-through URL.
  2913  	// Applicable if the defaultLandingPage field is set to false.
  2914  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  2915  
  2916  	// ForceSendFields is a list of field names (e.g.
  2917  	// "ComputedClickThroughUrl") to unconditionally include in API
  2918  	// requests. By default, fields with empty values are omitted from API
  2919  	// requests. However, any non-pointer, non-interface field appearing in
  2920  	// ForceSendFields will be sent to the server regardless of whether the
  2921  	// field is empty or not. This may be used to include empty fields in
  2922  	// Patch requests.
  2923  	ForceSendFields []string `json:"-"`
  2924  
  2925  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  2926  	// to include in API requests with the JSON null value. By default,
  2927  	// fields with empty values are omitted from API requests. However, any
  2928  	// field with an empty value appearing in NullFields will be sent to the
  2929  	// server as null. It is an error if a field in this list has a
  2930  	// non-empty value. This may be used to include null fields in Patch
  2931  	// requests.
  2932  	NullFields []string `json:"-"`
  2933  }
  2934  
  2935  func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
  2936  	type NoMethod ClickThroughUrl
  2937  	raw := NoMethod(*s)
  2938  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2939  }
  2940  
  2941  // ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
  2942  type ClickThroughUrlSuffixProperties struct {
  2943  	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
  2944  	// in this entity's scope. Must be less than 128 characters long.
  2945  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  2946  
  2947  	// OverrideInheritedSuffix: Whether this entity should override the
  2948  	// inherited click-through URL suffix with its own defined value.
  2949  	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
  2950  
  2951  	// ForceSendFields is a list of field names (e.g.
  2952  	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
  2953  	// By default, fields with empty values are omitted from API requests.
  2954  	// However, any non-pointer, non-interface field appearing in
  2955  	// ForceSendFields will be sent to the server regardless of whether the
  2956  	// field is empty or not. This may be used to include empty fields in
  2957  	// Patch requests.
  2958  	ForceSendFields []string `json:"-"`
  2959  
  2960  	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
  2961  	// include in API requests with the JSON null value. By default, fields
  2962  	// with empty values are omitted from API requests. However, any field
  2963  	// with an empty value appearing in NullFields will be sent to the
  2964  	// server as null. It is an error if a field in this list has a
  2965  	// non-empty value. This may be used to include null fields in Patch
  2966  	// requests.
  2967  	NullFields []string `json:"-"`
  2968  }
  2969  
  2970  func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
  2971  	type NoMethod ClickThroughUrlSuffixProperties
  2972  	raw := NoMethod(*s)
  2973  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2974  }
  2975  
  2976  // CompanionClickThroughOverride: Companion Click-through override.
  2977  type CompanionClickThroughOverride struct {
  2978  	// ClickThroughUrl: Click-through URL of this companion click-through
  2979  	// override.
  2980  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2981  
  2982  	// CreativeId: ID of the creative for this companion click-through
  2983  	// override.
  2984  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2985  
  2986  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2987  	// unconditionally include in API requests. By default, fields with
  2988  	// empty values are omitted from API requests. However, any non-pointer,
  2989  	// non-interface field appearing in ForceSendFields will be sent to the
  2990  	// server regardless of whether the field is empty or not. This may be
  2991  	// used to include empty fields in Patch requests.
  2992  	ForceSendFields []string `json:"-"`
  2993  
  2994  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2995  	// include in API requests with the JSON null value. By default, fields
  2996  	// with empty values are omitted from API requests. However, any field
  2997  	// with an empty value appearing in NullFields will be sent to the
  2998  	// server as null. It is an error if a field in this list has a
  2999  	// non-empty value. This may be used to include null fields in Patch
  3000  	// requests.
  3001  	NullFields []string `json:"-"`
  3002  }
  3003  
  3004  func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
  3005  	type NoMethod CompanionClickThroughOverride
  3006  	raw := NoMethod(*s)
  3007  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3008  }
  3009  
  3010  // CompanionSetting: Companion Settings
  3011  type CompanionSetting struct {
  3012  	// CompanionsDisabled: Whether companions are disabled for this
  3013  	// placement.
  3014  	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
  3015  
  3016  	// EnabledSizes: Whitelist of companion sizes to be served to this
  3017  	// placement. Set this list to null or empty to serve all companion
  3018  	// sizes.
  3019  	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
  3020  
  3021  	// ImageOnly: Whether to serve only static images as companions.
  3022  	ImageOnly bool `json:"imageOnly,omitempty"`
  3023  
  3024  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3025  	// string "dfareporting#companionSetting".
  3026  	Kind string `json:"kind,omitempty"`
  3027  
  3028  	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
  3029  	// to unconditionally include in API requests. By default, fields with
  3030  	// empty values are omitted from API requests. However, any non-pointer,
  3031  	// non-interface field appearing in ForceSendFields will be sent to the
  3032  	// server regardless of whether the field is empty or not. This may be
  3033  	// used to include empty fields in Patch requests.
  3034  	ForceSendFields []string `json:"-"`
  3035  
  3036  	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
  3037  	// include in API requests with the JSON null value. By default, fields
  3038  	// with empty values are omitted from API requests. However, any field
  3039  	// with an empty value appearing in NullFields will be sent to the
  3040  	// server as null. It is an error if a field in this list has a
  3041  	// non-empty value. This may be used to include null fields in Patch
  3042  	// requests.
  3043  	NullFields []string `json:"-"`
  3044  }
  3045  
  3046  func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
  3047  	type NoMethod CompanionSetting
  3048  	raw := NoMethod(*s)
  3049  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3050  }
  3051  
  3052  // CompatibleFields: Represents a response to the queryCompatibleFields
  3053  // method.
  3054  type CompatibleFields struct {
  3055  	// CrossDimensionReachReportCompatibleFields: Contains items that are
  3056  	// compatible to be selected for a report of type
  3057  	// "CROSS_DIMENSION_REACH".
  3058  	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
  3059  
  3060  	// FloodlightReportCompatibleFields: Contains items that are compatible
  3061  	// to be selected for a report of type "FLOODLIGHT".
  3062  	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
  3063  
  3064  	// Kind: The kind of resource this is, in this case
  3065  	// dfareporting#compatibleFields.
  3066  	Kind string `json:"kind,omitempty"`
  3067  
  3068  	// PathToConversionReportCompatibleFields: Contains items that are
  3069  	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
  3070  	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
  3071  
  3072  	// ReachReportCompatibleFields: Contains items that are compatible to be
  3073  	// selected for a report of type "REACH".
  3074  	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
  3075  
  3076  	// ReportCompatibleFields: Contains items that are compatible to be
  3077  	// selected for a report of type "STANDARD".
  3078  	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
  3079  
  3080  	// ServerResponse contains the HTTP response code and headers from the
  3081  	// server.
  3082  	googleapi.ServerResponse `json:"-"`
  3083  
  3084  	// ForceSendFields is a list of field names (e.g.
  3085  	// "CrossDimensionReachReportCompatibleFields") to unconditionally
  3086  	// include in API requests. By default, fields with empty values are
  3087  	// omitted from API requests. However, any non-pointer, non-interface
  3088  	// field appearing in ForceSendFields will be sent to the server
  3089  	// regardless of whether the field is empty or not. This may be used to
  3090  	// include empty fields in Patch requests.
  3091  	ForceSendFields []string `json:"-"`
  3092  
  3093  	// NullFields is a list of field names (e.g.
  3094  	// "CrossDimensionReachReportCompatibleFields") to include in API
  3095  	// requests with the JSON null value. By default, fields with empty
  3096  	// values are omitted from API requests. However, any field with an
  3097  	// empty value appearing in NullFields will be sent to the server as
  3098  	// null. It is an error if a field in this list has a non-empty value.
  3099  	// This may be used to include null fields in Patch requests.
  3100  	NullFields []string `json:"-"`
  3101  }
  3102  
  3103  func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
  3104  	type NoMethod CompatibleFields
  3105  	raw := NoMethod(*s)
  3106  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3107  }
  3108  
  3109  // ConnectionType: Contains information about an internet connection
  3110  // type that can be targeted by ads. Clients can use the connection type
  3111  // to target mobile vs. broadband users.
  3112  type ConnectionType struct {
  3113  	// Id: ID of this connection type.
  3114  	Id int64 `json:"id,omitempty,string"`
  3115  
  3116  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3117  	// string "dfareporting#connectionType".
  3118  	Kind string `json:"kind,omitempty"`
  3119  
  3120  	// Name: Name of this connection type.
  3121  	Name string `json:"name,omitempty"`
  3122  
  3123  	// ServerResponse contains the HTTP response code and headers from the
  3124  	// server.
  3125  	googleapi.ServerResponse `json:"-"`
  3126  
  3127  	// ForceSendFields is a list of field names (e.g. "Id") to
  3128  	// unconditionally include in API requests. By default, fields with
  3129  	// empty values are omitted from API requests. However, any non-pointer,
  3130  	// non-interface field appearing in ForceSendFields will be sent to the
  3131  	// server regardless of whether the field is empty or not. This may be
  3132  	// used to include empty fields in Patch requests.
  3133  	ForceSendFields []string `json:"-"`
  3134  
  3135  	// NullFields is a list of field names (e.g. "Id") to include in API
  3136  	// requests with the JSON null value. By default, fields with empty
  3137  	// values are omitted from API requests. However, any field with an
  3138  	// empty value appearing in NullFields will be sent to the server as
  3139  	// null. It is an error if a field in this list has a non-empty value.
  3140  	// This may be used to include null fields in Patch requests.
  3141  	NullFields []string `json:"-"`
  3142  }
  3143  
  3144  func (s *ConnectionType) MarshalJSON() ([]byte, error) {
  3145  	type NoMethod ConnectionType
  3146  	raw := NoMethod(*s)
  3147  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3148  }
  3149  
  3150  // ConnectionTypesListResponse: Connection Type List Response
  3151  type ConnectionTypesListResponse struct {
  3152  	// ConnectionTypes: Collection of connection types such as broadband and
  3153  	// mobile.
  3154  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
  3155  
  3156  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3157  	// string "dfareporting#connectionTypesListResponse".
  3158  	Kind string `json:"kind,omitempty"`
  3159  
  3160  	// ServerResponse contains the HTTP response code and headers from the
  3161  	// server.
  3162  	googleapi.ServerResponse `json:"-"`
  3163  
  3164  	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
  3165  	// unconditionally include in API requests. By default, fields with
  3166  	// empty values are omitted from API requests. However, any non-pointer,
  3167  	// non-interface field appearing in ForceSendFields will be sent to the
  3168  	// server regardless of whether the field is empty or not. This may be
  3169  	// used to include empty fields in Patch requests.
  3170  	ForceSendFields []string `json:"-"`
  3171  
  3172  	// NullFields is a list of field names (e.g. "ConnectionTypes") to
  3173  	// include in API requests with the JSON null value. By default, fields
  3174  	// with empty values are omitted from API requests. However, any field
  3175  	// with an empty value appearing in NullFields will be sent to the
  3176  	// server as null. It is an error if a field in this list has a
  3177  	// non-empty value. This may be used to include null fields in Patch
  3178  	// requests.
  3179  	NullFields []string `json:"-"`
  3180  }
  3181  
  3182  func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
  3183  	type NoMethod ConnectionTypesListResponse
  3184  	raw := NoMethod(*s)
  3185  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3186  }
  3187  
  3188  // ContentCategoriesListResponse: Content Category List Response
  3189  type ContentCategoriesListResponse struct {
  3190  	// ContentCategories: Content category collection.
  3191  	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
  3192  
  3193  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3194  	// string "dfareporting#contentCategoriesListResponse".
  3195  	Kind string `json:"kind,omitempty"`
  3196  
  3197  	// NextPageToken: Pagination token to be used for the next list
  3198  	// operation.
  3199  	NextPageToken string `json:"nextPageToken,omitempty"`
  3200  
  3201  	// ServerResponse contains the HTTP response code and headers from the
  3202  	// server.
  3203  	googleapi.ServerResponse `json:"-"`
  3204  
  3205  	// ForceSendFields is a list of field names (e.g. "ContentCategories")
  3206  	// to unconditionally include in API requests. By default, fields with
  3207  	// empty values are omitted from API requests. However, any non-pointer,
  3208  	// non-interface field appearing in ForceSendFields will be sent to the
  3209  	// server regardless of whether the field is empty or not. This may be
  3210  	// used to include empty fields in Patch requests.
  3211  	ForceSendFields []string `json:"-"`
  3212  
  3213  	// NullFields is a list of field names (e.g. "ContentCategories") to
  3214  	// include in API requests with the JSON null value. By default, fields
  3215  	// with empty values are omitted from API requests. However, any field
  3216  	// with an empty value appearing in NullFields will be sent to the
  3217  	// server as null. It is an error if a field in this list has a
  3218  	// non-empty value. This may be used to include null fields in Patch
  3219  	// requests.
  3220  	NullFields []string `json:"-"`
  3221  }
  3222  
  3223  func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
  3224  	type NoMethod ContentCategoriesListResponse
  3225  	raw := NoMethod(*s)
  3226  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3227  }
  3228  
  3229  // ContentCategory: Organizes placements according to the contents of
  3230  // their associated webpages.
  3231  type ContentCategory struct {
  3232  	// AccountId: Account ID of this content category. This is a read-only
  3233  	// field that can be left blank.
  3234  	AccountId int64 `json:"accountId,omitempty,string"`
  3235  
  3236  	// Id: ID of this content category. This is a read-only, auto-generated
  3237  	// field.
  3238  	Id int64 `json:"id,omitempty,string"`
  3239  
  3240  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3241  	// string "dfareporting#contentCategory".
  3242  	Kind string `json:"kind,omitempty"`
  3243  
  3244  	// Name: Name of this content category. This is a required field and
  3245  	// must be less than 256 characters long and unique among content
  3246  	// categories of the same account.
  3247  	Name string `json:"name,omitempty"`
  3248  
  3249  	// ServerResponse contains the HTTP response code and headers from the
  3250  	// server.
  3251  	googleapi.ServerResponse `json:"-"`
  3252  
  3253  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3254  	// unconditionally include in API requests. By default, fields with
  3255  	// empty values are omitted from API requests. However, any non-pointer,
  3256  	// non-interface field appearing in ForceSendFields will be sent to the
  3257  	// server regardless of whether the field is empty or not. This may be
  3258  	// used to include empty fields in Patch requests.
  3259  	ForceSendFields []string `json:"-"`
  3260  
  3261  	// NullFields is a list of field names (e.g. "AccountId") to include in
  3262  	// API requests with the JSON null value. By default, fields with empty
  3263  	// values are omitted from API requests. However, any field with an
  3264  	// empty value appearing in NullFields will be sent to the server as
  3265  	// null. It is an error if a field in this list has a non-empty value.
  3266  	// This may be used to include null fields in Patch requests.
  3267  	NullFields []string `json:"-"`
  3268  }
  3269  
  3270  func (s *ContentCategory) MarshalJSON() ([]byte, error) {
  3271  	type NoMethod ContentCategory
  3272  	raw := NoMethod(*s)
  3273  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3274  }
  3275  
  3276  // Conversion: A Conversion represents when a user successfully performs
  3277  // a desired action after seeing an ad.
  3278  type Conversion struct {
  3279  	// ChildDirectedTreatment: Whether the conversion was directed toward
  3280  	// children.
  3281  	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
  3282  
  3283  	// CustomVariables: Custom floodlight variables.
  3284  	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
  3285  
  3286  	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
  3287  	// encryptionInfo should also be specified. This field is mutually
  3288  	// exclusive with encryptedUserIdCandidates[], mobileDeviceId and gclid.
  3289  	// This or encryptedUserIdCandidates[] or mobileDeviceId or gclid is a
  3290  	// required field.
  3291  	EncryptedUserId string `json:"encryptedUserId,omitempty"`
  3292  
  3293  	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
  3294  	// IDs. Any user ID with exposure prior to the conversion timestamp will
  3295  	// be used in the inserted conversion. If no such user ID is found then
  3296  	// the conversion will be rejected with NO_COOKIE_MATCH_FOUND error.
  3297  	// When set, encryptionInfo should also be specified. This field may
  3298  	// only be used when calling batchinsert; it is not supported by
  3299  	// batchupdate. This field is mutually exclusive with encryptedUserId,
  3300  	// mobileDeviceId and gclid. This or encryptedUserId or mobileDeviceId
  3301  	// or gclid is a required field.
  3302  	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
  3303  
  3304  	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
  3305  	// is a required field.
  3306  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  3307  
  3308  	// FloodlightConfigurationId: Floodlight Configuration ID of this
  3309  	// conversion. This is a required field.
  3310  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  3311  
  3312  	// Gclid: The Google click ID. This field is mutually exclusive with
  3313  	// encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This
  3314  	// or encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId
  3315  	// is a required field.
  3316  	Gclid string `json:"gclid,omitempty"`
  3317  
  3318  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3319  	// string "dfareporting#conversion".
  3320  	Kind string `json:"kind,omitempty"`
  3321  
  3322  	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
  3323  	// true, the conversion will be used for reporting but not targeting.
  3324  	// This will prevent remarketing.
  3325  	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
  3326  
  3327  	// MobileDeviceId: The mobile device ID. This field is mutually
  3328  	// exclusive with encryptedUserId, encryptedUserIdCandidates[] and
  3329  	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
  3330  	// gclid is a required field.
  3331  	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
  3332  
  3333  	// Ordinal: The ordinal of the conversion. Use this field to control how
  3334  	// conversions of the same user and day are de-duplicated. This is a
  3335  	// required field.
  3336  	Ordinal string `json:"ordinal,omitempty"`
  3337  
  3338  	// Quantity: The quantity of the conversion.
  3339  	Quantity int64 `json:"quantity,omitempty,string"`
  3340  
  3341  	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
  3342  	// This is a required field.
  3343  	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
  3344  
  3345  	// Value: The value of the conversion.
  3346  	Value float64 `json:"value,omitempty"`
  3347  
  3348  	// ForceSendFields is a list of field names (e.g.
  3349  	// "ChildDirectedTreatment") to unconditionally include in API requests.
  3350  	// By default, fields with empty values are omitted from API requests.
  3351  	// However, any non-pointer, non-interface field appearing in
  3352  	// ForceSendFields will be sent to the server regardless of whether the
  3353  	// field is empty or not. This may be used to include empty fields in
  3354  	// Patch requests.
  3355  	ForceSendFields []string `json:"-"`
  3356  
  3357  	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
  3358  	// to include in API requests with the JSON null value. By default,
  3359  	// fields with empty values are omitted from API requests. However, any
  3360  	// field with an empty value appearing in NullFields will be sent to the
  3361  	// server as null. It is an error if a field in this list has a
  3362  	// non-empty value. This may be used to include null fields in Patch
  3363  	// requests.
  3364  	NullFields []string `json:"-"`
  3365  }
  3366  
  3367  func (s *Conversion) MarshalJSON() ([]byte, error) {
  3368  	type NoMethod Conversion
  3369  	raw := NoMethod(*s)
  3370  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3371  }
  3372  
  3373  func (s *Conversion) UnmarshalJSON(data []byte) error {
  3374  	type NoMethod Conversion
  3375  	var s1 struct {
  3376  		Value gensupport.JSONFloat64 `json:"value"`
  3377  		*NoMethod
  3378  	}
  3379  	s1.NoMethod = (*NoMethod)(s)
  3380  	if err := json.Unmarshal(data, &s1); err != nil {
  3381  		return err
  3382  	}
  3383  	s.Value = float64(s1.Value)
  3384  	return nil
  3385  }
  3386  
  3387  // ConversionError: The error code and description for a conversion that
  3388  // failed to insert or update.
  3389  type ConversionError struct {
  3390  	// Code: The error code.
  3391  	//
  3392  	// Possible values:
  3393  	//   "INTERNAL"
  3394  	//   "INVALID_ARGUMENT"
  3395  	//   "NOT_FOUND"
  3396  	//   "PERMISSION_DENIED"
  3397  	Code string `json:"code,omitempty"`
  3398  
  3399  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3400  	// string "dfareporting#conversionError".
  3401  	Kind string `json:"kind,omitempty"`
  3402  
  3403  	// Message: A description of the error.
  3404  	Message string `json:"message,omitempty"`
  3405  
  3406  	// ForceSendFields is a list of field names (e.g. "Code") to
  3407  	// unconditionally include in API requests. By default, fields with
  3408  	// empty values are omitted from API requests. However, any non-pointer,
  3409  	// non-interface field appearing in ForceSendFields will be sent to the
  3410  	// server regardless of whether the field is empty or not. This may be
  3411  	// used to include empty fields in Patch requests.
  3412  	ForceSendFields []string `json:"-"`
  3413  
  3414  	// NullFields is a list of field names (e.g. "Code") to include in API
  3415  	// requests with the JSON null value. By default, fields with empty
  3416  	// values are omitted from API requests. However, any field with an
  3417  	// empty value appearing in NullFields will be sent to the server as
  3418  	// null. It is an error if a field in this list has a non-empty value.
  3419  	// This may be used to include null fields in Patch requests.
  3420  	NullFields []string `json:"-"`
  3421  }
  3422  
  3423  func (s *ConversionError) MarshalJSON() ([]byte, error) {
  3424  	type NoMethod ConversionError
  3425  	raw := NoMethod(*s)
  3426  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3427  }
  3428  
  3429  // ConversionStatus: The original conversion that was inserted or
  3430  // updated and whether there were any errors.
  3431  type ConversionStatus struct {
  3432  	// Conversion: The original conversion that was inserted or updated.
  3433  	Conversion *Conversion `json:"conversion,omitempty"`
  3434  
  3435  	// Errors: A list of errors related to this conversion.
  3436  	Errors []*ConversionError `json:"errors,omitempty"`
  3437  
  3438  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3439  	// string "dfareporting#conversionStatus".
  3440  	Kind string `json:"kind,omitempty"`
  3441  
  3442  	// ForceSendFields is a list of field names (e.g. "Conversion") to
  3443  	// unconditionally include in API requests. By default, fields with
  3444  	// empty values are omitted from API requests. However, any non-pointer,
  3445  	// non-interface field appearing in ForceSendFields will be sent to the
  3446  	// server regardless of whether the field is empty or not. This may be
  3447  	// used to include empty fields in Patch requests.
  3448  	ForceSendFields []string `json:"-"`
  3449  
  3450  	// NullFields is a list of field names (e.g. "Conversion") to include in
  3451  	// API requests with the JSON null value. By default, fields with empty
  3452  	// values are omitted from API requests. However, any field with an
  3453  	// empty value appearing in NullFields will be sent to the server as
  3454  	// null. It is an error if a field in this list has a non-empty value.
  3455  	// This may be used to include null fields in Patch requests.
  3456  	NullFields []string `json:"-"`
  3457  }
  3458  
  3459  func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
  3460  	type NoMethod ConversionStatus
  3461  	raw := NoMethod(*s)
  3462  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3463  }
  3464  
  3465  // ConversionsBatchInsertRequest: Insert Conversions Request.
  3466  type ConversionsBatchInsertRequest struct {
  3467  	// Conversions: The set of conversions to insert.
  3468  	Conversions []*Conversion `json:"conversions,omitempty"`
  3469  
  3470  	// EncryptionInfo: Describes how encryptedUserId or
  3471  	// encryptedUserIdCandidates[] is encrypted. This is a required field if
  3472  	// encryptedUserId or encryptedUserIdCandidates[] is used.
  3473  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3474  
  3475  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3476  	// string "dfareporting#conversionsBatchInsertRequest".
  3477  	Kind string `json:"kind,omitempty"`
  3478  
  3479  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3480  	// unconditionally include in API requests. By default, fields with
  3481  	// empty values are omitted from API requests. However, any non-pointer,
  3482  	// non-interface field appearing in ForceSendFields will be sent to the
  3483  	// server regardless of whether the field is empty or not. This may be
  3484  	// used to include empty fields in Patch requests.
  3485  	ForceSendFields []string `json:"-"`
  3486  
  3487  	// NullFields is a list of field names (e.g. "Conversions") to include
  3488  	// in API requests with the JSON null value. By default, fields with
  3489  	// empty values are omitted from API requests. However, any field with
  3490  	// an empty value appearing in NullFields will be sent to the server as
  3491  	// null. It is an error if a field in this list has a non-empty value.
  3492  	// This may be used to include null fields in Patch requests.
  3493  	NullFields []string `json:"-"`
  3494  }
  3495  
  3496  func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
  3497  	type NoMethod ConversionsBatchInsertRequest
  3498  	raw := NoMethod(*s)
  3499  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3500  }
  3501  
  3502  // ConversionsBatchInsertResponse: Insert Conversions Response.
  3503  type ConversionsBatchInsertResponse struct {
  3504  	// HasFailures: Indicates that some or all conversions failed to insert.
  3505  	HasFailures bool `json:"hasFailures,omitempty"`
  3506  
  3507  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3508  	// string "dfareporting#conversionsBatchInsertResponse".
  3509  	Kind string `json:"kind,omitempty"`
  3510  
  3511  	// Status: The insert status of each conversion. Statuses are returned
  3512  	// in the same order that conversions are inserted.
  3513  	Status []*ConversionStatus `json:"status,omitempty"`
  3514  
  3515  	// ServerResponse contains the HTTP response code and headers from the
  3516  	// server.
  3517  	googleapi.ServerResponse `json:"-"`
  3518  
  3519  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3520  	// unconditionally include in API requests. By default, fields with
  3521  	// empty values are omitted from API requests. However, any non-pointer,
  3522  	// non-interface field appearing in ForceSendFields will be sent to the
  3523  	// server regardless of whether the field is empty or not. This may be
  3524  	// used to include empty fields in Patch requests.
  3525  	ForceSendFields []string `json:"-"`
  3526  
  3527  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3528  	// in API requests with the JSON null value. By default, fields with
  3529  	// empty values are omitted from API requests. However, any field with
  3530  	// an empty value appearing in NullFields will be sent to the server as
  3531  	// null. It is an error if a field in this list has a non-empty value.
  3532  	// This may be used to include null fields in Patch requests.
  3533  	NullFields []string `json:"-"`
  3534  }
  3535  
  3536  func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
  3537  	type NoMethod ConversionsBatchInsertResponse
  3538  	raw := NoMethod(*s)
  3539  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3540  }
  3541  
  3542  // ConversionsBatchUpdateRequest: Update Conversions Request.
  3543  type ConversionsBatchUpdateRequest struct {
  3544  	// Conversions: The set of conversions to update.
  3545  	Conversions []*Conversion `json:"conversions,omitempty"`
  3546  
  3547  	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
  3548  	// required field if encryptedUserId is used.
  3549  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3550  
  3551  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3552  	// string "dfareporting#conversionsBatchUpdateRequest".
  3553  	Kind string `json:"kind,omitempty"`
  3554  
  3555  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3556  	// unconditionally include in API requests. By default, fields with
  3557  	// empty values are omitted from API requests. However, any non-pointer,
  3558  	// non-interface field appearing in ForceSendFields will be sent to the
  3559  	// server regardless of whether the field is empty or not. This may be
  3560  	// used to include empty fields in Patch requests.
  3561  	ForceSendFields []string `json:"-"`
  3562  
  3563  	// NullFields is a list of field names (e.g. "Conversions") to include
  3564  	// in API requests with the JSON null value. By default, fields with
  3565  	// empty values are omitted from API requests. However, any field with
  3566  	// an empty value appearing in NullFields will be sent to the server as
  3567  	// null. It is an error if a field in this list has a non-empty value.
  3568  	// This may be used to include null fields in Patch requests.
  3569  	NullFields []string `json:"-"`
  3570  }
  3571  
  3572  func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
  3573  	type NoMethod ConversionsBatchUpdateRequest
  3574  	raw := NoMethod(*s)
  3575  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3576  }
  3577  
  3578  // ConversionsBatchUpdateResponse: Update Conversions Response.
  3579  type ConversionsBatchUpdateResponse struct {
  3580  	// HasFailures: Indicates that some or all conversions failed to update.
  3581  	HasFailures bool `json:"hasFailures,omitempty"`
  3582  
  3583  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3584  	// string "dfareporting#conversionsBatchUpdateResponse".
  3585  	Kind string `json:"kind,omitempty"`
  3586  
  3587  	// Status: The update status of each conversion. Statuses are returned
  3588  	// in the same order that conversions are updated.
  3589  	Status []*ConversionStatus `json:"status,omitempty"`
  3590  
  3591  	// ServerResponse contains the HTTP response code and headers from the
  3592  	// server.
  3593  	googleapi.ServerResponse `json:"-"`
  3594  
  3595  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3596  	// unconditionally include in API requests. By default, fields with
  3597  	// empty values are omitted from API requests. However, any non-pointer,
  3598  	// non-interface field appearing in ForceSendFields will be sent to the
  3599  	// server regardless of whether the field is empty or not. This may be
  3600  	// used to include empty fields in Patch requests.
  3601  	ForceSendFields []string `json:"-"`
  3602  
  3603  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3604  	// in API requests with the JSON null value. By default, fields with
  3605  	// empty values are omitted from API requests. However, any field with
  3606  	// an empty value appearing in NullFields will be sent to the server as
  3607  	// null. It is an error if a field in this list has a non-empty value.
  3608  	// This may be used to include null fields in Patch requests.
  3609  	NullFields []string `json:"-"`
  3610  }
  3611  
  3612  func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
  3613  	type NoMethod ConversionsBatchUpdateResponse
  3614  	raw := NoMethod(*s)
  3615  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3616  }
  3617  
  3618  // CountriesListResponse: Country List Response
  3619  type CountriesListResponse struct {
  3620  	// Countries: Country collection.
  3621  	Countries []*Country `json:"countries,omitempty"`
  3622  
  3623  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3624  	// string "dfareporting#countriesListResponse".
  3625  	Kind string `json:"kind,omitempty"`
  3626  
  3627  	// ServerResponse contains the HTTP response code and headers from the
  3628  	// server.
  3629  	googleapi.ServerResponse `json:"-"`
  3630  
  3631  	// ForceSendFields is a list of field names (e.g. "Countries") to
  3632  	// unconditionally include in API requests. By default, fields with
  3633  	// empty values are omitted from API requests. However, any non-pointer,
  3634  	// non-interface field appearing in ForceSendFields will be sent to the
  3635  	// server regardless of whether the field is empty or not. This may be
  3636  	// used to include empty fields in Patch requests.
  3637  	ForceSendFields []string `json:"-"`
  3638  
  3639  	// NullFields is a list of field names (e.g. "Countries") to include in
  3640  	// API requests with the JSON null value. By default, fields with empty
  3641  	// values are omitted from API requests. However, any field with an
  3642  	// empty value appearing in NullFields will be sent to the server as
  3643  	// null. It is an error if a field in this list has a non-empty value.
  3644  	// This may be used to include null fields in Patch requests.
  3645  	NullFields []string `json:"-"`
  3646  }
  3647  
  3648  func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
  3649  	type NoMethod CountriesListResponse
  3650  	raw := NoMethod(*s)
  3651  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3652  }
  3653  
  3654  // Country: Contains information about a country that can be targeted by
  3655  // ads.
  3656  type Country struct {
  3657  	// CountryCode: Country code.
  3658  	CountryCode string `json:"countryCode,omitempty"`
  3659  
  3660  	// DartId: DART ID of this country. This is the ID used for targeting
  3661  	// and generating reports.
  3662  	DartId int64 `json:"dartId,omitempty,string"`
  3663  
  3664  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3665  	// string "dfareporting#country".
  3666  	Kind string `json:"kind,omitempty"`
  3667  
  3668  	// Name: Name of this country.
  3669  	Name string `json:"name,omitempty"`
  3670  
  3671  	// SslEnabled: Whether ad serving supports secure servers in this
  3672  	// country.
  3673  	SslEnabled bool `json:"sslEnabled,omitempty"`
  3674  
  3675  	// ServerResponse contains the HTTP response code and headers from the
  3676  	// server.
  3677  	googleapi.ServerResponse `json:"-"`
  3678  
  3679  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  3680  	// unconditionally include in API requests. By default, fields with
  3681  	// empty values are omitted from API requests. However, any non-pointer,
  3682  	// non-interface field appearing in ForceSendFields will be sent to the
  3683  	// server regardless of whether the field is empty or not. This may be
  3684  	// used to include empty fields in Patch requests.
  3685  	ForceSendFields []string `json:"-"`
  3686  
  3687  	// NullFields is a list of field names (e.g. "CountryCode") to include
  3688  	// in API requests with the JSON null value. By default, fields with
  3689  	// empty values are omitted from API requests. However, any field with
  3690  	// an empty value appearing in NullFields will be sent to the server as
  3691  	// null. It is an error if a field in this list has a non-empty value.
  3692  	// This may be used to include null fields in Patch requests.
  3693  	NullFields []string `json:"-"`
  3694  }
  3695  
  3696  func (s *Country) MarshalJSON() ([]byte, error) {
  3697  	type NoMethod Country
  3698  	raw := NoMethod(*s)
  3699  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3700  }
  3701  
  3702  // Creative: Contains properties of a Creative.
  3703  type Creative struct {
  3704  	// AccountId: Account ID of this creative. This field, if left unset,
  3705  	// will be auto-generated for both insert and update operations.
  3706  	// Applicable to all creative types.
  3707  	AccountId int64 `json:"accountId,omitempty,string"`
  3708  
  3709  	// Active: Whether the creative is active. Applicable to all creative
  3710  	// types.
  3711  	Active bool `json:"active,omitempty"`
  3712  
  3713  	// AdParameters: Ad parameters user for VPAID creative. This is a
  3714  	// read-only field. Applicable to the following creative types: all
  3715  	// VPAID.
  3716  	AdParameters string `json:"adParameters,omitempty"`
  3717  
  3718  	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
  3719  	// customize the creative settings of a Rich Media ad running on your
  3720  	// site without having to contact the advertiser. You can use keywords
  3721  	// to dynamically change the look or functionality of a creative.
  3722  	// Applicable to the following creative types: all RICH_MEDIA, and all
  3723  	// VPAID.
  3724  	AdTagKeys []string `json:"adTagKeys,omitempty"`
  3725  
  3726  	// AdvertiserId: Advertiser ID of this creative. This is a required
  3727  	// field. Applicable to all creative types.
  3728  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3729  
  3730  	// AllowScriptAccess: Whether script access is allowed for this
  3731  	// creative. This is a read-only and deprecated field which will
  3732  	// automatically be set to true on update. Applicable to the following
  3733  	// creative types: FLASH_INPAGE.
  3734  	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
  3735  
  3736  	// Archived: Whether the creative is archived. Applicable to all
  3737  	// creative types.
  3738  	Archived bool `json:"archived,omitempty"`
  3739  
  3740  	// ArtworkType: Type of artwork used for the creative. This is a
  3741  	// read-only field. Applicable to the following creative types: all
  3742  	// RICH_MEDIA, and all VPAID.
  3743  	//
  3744  	// Possible values:
  3745  	//   "ARTWORK_TYPE_FLASH"
  3746  	//   "ARTWORK_TYPE_HTML5"
  3747  	//   "ARTWORK_TYPE_IMAGE"
  3748  	//   "ARTWORK_TYPE_MIXED"
  3749  	ArtworkType string `json:"artworkType,omitempty"`
  3750  
  3751  	// AuthoringSource: Source application where creative was authored.
  3752  	// Presently, only DBM authored creatives will have this field set.
  3753  	// Applicable to all creative types.
  3754  	//
  3755  	// Possible values:
  3756  	//   "CREATIVE_AUTHORING_SOURCE_DBM"
  3757  	//   "CREATIVE_AUTHORING_SOURCE_DCM"
  3758  	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
  3759  	AuthoringSource string `json:"authoringSource,omitempty"`
  3760  
  3761  	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
  3762  	// read-only field. Applicable to the following creative types:
  3763  	// HTML5_BANNER.
  3764  	//
  3765  	// Possible values:
  3766  	//   "NINJA"
  3767  	//   "SWIFFY"
  3768  	AuthoringTool string `json:"authoringTool,omitempty"`
  3769  
  3770  	// AutoAdvanceImages: Whether images are automatically advanced for
  3771  	// image gallery creatives. Applicable to the following creative types:
  3772  	// DISPLAY_IMAGE_GALLERY.
  3773  	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
  3774  
  3775  	// BackgroundColor: The 6-character HTML color code, beginning with #,
  3776  	// for the background of the window area where the Flash file is
  3777  	// displayed. Default is white. Applicable to the following creative
  3778  	// types: FLASH_INPAGE.
  3779  	BackgroundColor string `json:"backgroundColor,omitempty"`
  3780  
  3781  	// BackupImageClickThroughUrl: Click-through URL for backup image.
  3782  	// Applicable to ENHANCED_BANNER when the primary asset type is not
  3783  	// HTML_IMAGE.
  3784  	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
  3785  
  3786  	// BackupImageFeatures: List of feature dependencies that will cause a
  3787  	// backup image to be served if the browser that serves the ad does not
  3788  	// support them. Feature dependencies are features that a browser must
  3789  	// be able to support in order to render your HTML5 creative asset
  3790  	// correctly. This field is initially auto-generated to contain all
  3791  	// features detected by Campaign Manager for all the assets of this
  3792  	// creative and can then be modified by the client. To reset this field,
  3793  	// copy over all the creativeAssets' detected features. Applicable to
  3794  	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
  3795  	// when the primary asset type is not HTML_IMAGE.
  3796  	//
  3797  	// Possible values:
  3798  	//   "APPLICATION_CACHE"
  3799  	//   "AUDIO"
  3800  	//   "CANVAS"
  3801  	//   "CANVAS_TEXT"
  3802  	//   "CSS_ANIMATIONS"
  3803  	//   "CSS_BACKGROUND_SIZE"
  3804  	//   "CSS_BORDER_IMAGE"
  3805  	//   "CSS_BORDER_RADIUS"
  3806  	//   "CSS_BOX_SHADOW"
  3807  	//   "CSS_COLUMNS"
  3808  	//   "CSS_FLEX_BOX"
  3809  	//   "CSS_FONT_FACE"
  3810  	//   "CSS_GENERATED_CONTENT"
  3811  	//   "CSS_GRADIENTS"
  3812  	//   "CSS_HSLA"
  3813  	//   "CSS_MULTIPLE_BGS"
  3814  	//   "CSS_OPACITY"
  3815  	//   "CSS_REFLECTIONS"
  3816  	//   "CSS_RGBA"
  3817  	//   "CSS_TEXT_SHADOW"
  3818  	//   "CSS_TRANSFORMS"
  3819  	//   "CSS_TRANSFORMS3D"
  3820  	//   "CSS_TRANSITIONS"
  3821  	//   "DRAG_AND_DROP"
  3822  	//   "GEO_LOCATION"
  3823  	//   "HASH_CHANGE"
  3824  	//   "HISTORY"
  3825  	//   "INDEXED_DB"
  3826  	//   "INLINE_SVG"
  3827  	//   "INPUT_ATTR_AUTOCOMPLETE"
  3828  	//   "INPUT_ATTR_AUTOFOCUS"
  3829  	//   "INPUT_ATTR_LIST"
  3830  	//   "INPUT_ATTR_MAX"
  3831  	//   "INPUT_ATTR_MIN"
  3832  	//   "INPUT_ATTR_MULTIPLE"
  3833  	//   "INPUT_ATTR_PATTERN"
  3834  	//   "INPUT_ATTR_PLACEHOLDER"
  3835  	//   "INPUT_ATTR_REQUIRED"
  3836  	//   "INPUT_ATTR_STEP"
  3837  	//   "INPUT_TYPE_COLOR"
  3838  	//   "INPUT_TYPE_DATE"
  3839  	//   "INPUT_TYPE_DATETIME"
  3840  	//   "INPUT_TYPE_DATETIME_LOCAL"
  3841  	//   "INPUT_TYPE_EMAIL"
  3842  	//   "INPUT_TYPE_MONTH"
  3843  	//   "INPUT_TYPE_NUMBER"
  3844  	//   "INPUT_TYPE_RANGE"
  3845  	//   "INPUT_TYPE_SEARCH"
  3846  	//   "INPUT_TYPE_TEL"
  3847  	//   "INPUT_TYPE_TIME"
  3848  	//   "INPUT_TYPE_URL"
  3849  	//   "INPUT_TYPE_WEEK"
  3850  	//   "LOCAL_STORAGE"
  3851  	//   "POST_MESSAGE"
  3852  	//   "SESSION_STORAGE"
  3853  	//   "SMIL"
  3854  	//   "SVG_CLIP_PATHS"
  3855  	//   "SVG_FE_IMAGE"
  3856  	//   "SVG_FILTERS"
  3857  	//   "SVG_HREF"
  3858  	//   "TOUCH"
  3859  	//   "VIDEO"
  3860  	//   "WEBGL"
  3861  	//   "WEB_SOCKETS"
  3862  	//   "WEB_SQL_DATABASE"
  3863  	//   "WEB_WORKERS"
  3864  	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
  3865  
  3866  	// BackupImageReportingLabel: Reporting label used for HTML5 banner
  3867  	// backup image. Applicable to the following creative types: DISPLAY
  3868  	// when the primary asset type is not HTML_IMAGE.
  3869  	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
  3870  
  3871  	// BackupImageTargetWindow: Target window for backup image. Applicable
  3872  	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
  3873  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  3874  	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
  3875  
  3876  	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
  3877  	// HTML5_BANNER creatives, this is a subset of detected click tags for
  3878  	// the assets associated with this creative. After creating a flash
  3879  	// asset, detected click tags will be returned in the
  3880  	// creativeAssetMetadata. When inserting the creative, populate the
  3881  	// creative clickTags field using the creativeAssetMetadata.clickTags
  3882  	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
  3883  	// one entry in this list for each image creative asset. A click tag is
  3884  	// matched with a corresponding creative asset by matching the
  3885  	// clickTag.name field with the creativeAsset.assetIdentifier.name
  3886  	// field. Applicable to the following creative types:
  3887  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
  3888  	// DISPLAY when the primary asset type is not HTML_IMAGE.
  3889  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  3890  
  3891  	// CommercialId: Industry standard ID assigned to creative for reach and
  3892  	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
  3893  	CommercialId string `json:"commercialId,omitempty"`
  3894  
  3895  	// CompanionCreatives: List of companion creatives assigned to an
  3896  	// in-Stream video creative. Acceptable values include IDs of existing
  3897  	// flash and image creatives. Applicable to the following creative
  3898  	// types: all VPAID and all INSTREAM_VIDEO with dynamicAssetSelection
  3899  	// set to false.
  3900  	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
  3901  
  3902  	// Compatibility: Compatibilities associated with this creative. This is
  3903  	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
  3904  	// rendering either on desktop or on mobile devices or in mobile apps
  3905  	// for regular or interstitial ads, respectively. APP and
  3906  	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
  3907  	// creatives may have these compatibilities since new creatives will
  3908  	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
  3909  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  3910  	// with the VAST standard. Applicable to all creative types.
  3911  	//
  3912  	// Acceptable values are:
  3913  	// - "APP"
  3914  	// - "APP_INTERSTITIAL"
  3915  	// - "IN_STREAM_VIDEO"
  3916  	// - "DISPLAY"
  3917  	// - "DISPLAY_INTERSTITIAL"
  3918  	//
  3919  	// Possible values:
  3920  	//   "APP"
  3921  	//   "APP_INTERSTITIAL"
  3922  	//   "DISPLAY"
  3923  	//   "DISPLAY_INTERSTITIAL"
  3924  	//   "IN_STREAM_AUDIO"
  3925  	//   "IN_STREAM_VIDEO"
  3926  	Compatibility []string `json:"compatibility,omitempty"`
  3927  
  3928  	// ConvertFlashToHtml5: Whether Flash assets associated with the
  3929  	// creative need to be automatically converted to HTML5. This flag is
  3930  	// enabled by default and users can choose to disable it if they don't
  3931  	// want the system to generate and use HTML5 asset for this creative.
  3932  	// Applicable to the following creative type: FLASH_INPAGE. Applicable
  3933  	// to DISPLAY when the primary asset type is not HTML_IMAGE.
  3934  	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
  3935  
  3936  	// CounterCustomEvents: List of counter events configured for the
  3937  	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3938  	// and auto-generated from clickTags. Applicable to the following
  3939  	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  3940  	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
  3941  
  3942  	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
  3943  	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
  3944  
  3945  	// CreativeAssets: Assets associated with a creative. Applicable to all
  3946  	// but the following creative types: INTERNAL_REDIRECT,
  3947  	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
  3948  	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
  3949  
  3950  	// CreativeFieldAssignments: Creative field assignments for this
  3951  	// creative. Applicable to all creative types.
  3952  	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
  3953  
  3954  	// CustomKeyValues: Custom key-values for a Rich Media creative.
  3955  	// Key-values let you customize the creative settings of a Rich Media ad
  3956  	// running on your site without having to contact the advertiser. You
  3957  	// can use key-values to dynamically change the look or functionality of
  3958  	// a creative. Applicable to the following creative types: all
  3959  	// RICH_MEDIA, and all VPAID.
  3960  	CustomKeyValues []string `json:"customKeyValues,omitempty"`
  3961  
  3962  	// DynamicAssetSelection: Set this to true to enable the use of rules to
  3963  	// target individual assets in this creative. When set to true
  3964  	// creativeAssetSelection must be set. This also controls asset-level
  3965  	// companions. When this is true, companion creatives should be assigned
  3966  	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
  3967  	// creatives.
  3968  	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
  3969  
  3970  	// ExitCustomEvents: List of exit events configured for the creative.
  3971  	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3972  	// and auto-generated from clickTags, For DISPLAY, an event is also
  3973  	// created from the backupImageReportingLabel. Applicable to the
  3974  	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
  3975  	// all VPAID. Applicable to DISPLAY when the primary asset type is not
  3976  	// HTML_IMAGE.
  3977  	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
  3978  
  3979  	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
  3980  	// file communicate with either Flash Player or the program hosting
  3981  	// Flash Player, such as a web browser. This is only triggered if
  3982  	// allowScriptAccess field is true. Applicable to the following creative
  3983  	// types: FLASH_INPAGE.
  3984  	FsCommand *FsCommand `json:"fsCommand,omitempty"`
  3985  
  3986  	// HtmlCode: HTML code for the creative. This is a required field when
  3987  	// applicable. This field is ignored if htmlCodeLocked is true.
  3988  	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
  3989  	// and HTML5_BANNER, and all RICH_MEDIA.
  3990  	HtmlCode string `json:"htmlCode,omitempty"`
  3991  
  3992  	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
  3993  	// manually entered. Set to true to ignore changes to htmlCode.
  3994  	// Applicable to the following creative types: FLASH_INPAGE and
  3995  	// HTML5_BANNER.
  3996  	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
  3997  
  3998  	// Id: ID of this creative. This is a read-only, auto-generated field.
  3999  	// Applicable to all creative types.
  4000  	Id int64 `json:"id,omitempty,string"`
  4001  
  4002  	// IdDimensionValue: Dimension value for the ID of this creative. This
  4003  	// is a read-only field. Applicable to all creative types.
  4004  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4005  
  4006  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4007  	// string "dfareporting#creative".
  4008  	Kind string `json:"kind,omitempty"`
  4009  
  4010  	// LastModifiedInfo: Creative last modification information. This is a
  4011  	// read-only field. Applicable to all creative types.
  4012  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  4013  
  4014  	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
  4015  	// associated with rich media and VPAID creatives. This is a read-only
  4016  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4017  	// and all VPAID.
  4018  	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
  4019  
  4020  	// Name: Name of the creative. This is a required field and must be less
  4021  	// than 256 characters long. Applicable to all creative types.
  4022  	Name string `json:"name,omitempty"`
  4023  
  4024  	// OverrideCss: Override CSS value for rich media creatives. Applicable
  4025  	// to the following creative types: all RICH_MEDIA.
  4026  	OverrideCss string `json:"overrideCss,omitempty"`
  4027  
  4028  	// PoliteLoadAssetId: The asset ID of the polite load image asset.
  4029  	// Applicable to the creative type: DISPLAY.
  4030  	PoliteLoadAssetId int64 `json:"politeLoadAssetId,omitempty,string"`
  4031  
  4032  	// ProgressOffset: Amount of time to play the video before counting a
  4033  	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
  4034  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
  4035  
  4036  	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
  4037  	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
  4038  	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
  4039  	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
  4040  	// This is a required field when applicable. Applicable to the following
  4041  	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
  4042  	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
  4043  	RedirectUrl string `json:"redirectUrl,omitempty"`
  4044  
  4045  	// RenderingId: ID of current rendering version. This is a read-only
  4046  	// field. Applicable to all creative types.
  4047  	RenderingId int64 `json:"renderingId,omitempty,string"`
  4048  
  4049  	// RenderingIdDimensionValue: Dimension value for the rendering ID of
  4050  	// this creative. This is a read-only field. Applicable to all creative
  4051  	// types.
  4052  	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
  4053  
  4054  	// RequiredFlashPluginVersion: The minimum required Flash plugin version
  4055  	// for this creative. For example, 11.2.202.235. This is a read-only
  4056  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4057  	// and all VPAID.
  4058  	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
  4059  
  4060  	// RequiredFlashVersion: The internal Flash version for this creative as
  4061  	// calculated by Studio. This is a read-only field. Applicable to the
  4062  	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
  4063  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4064  	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
  4065  
  4066  	// Size: Size associated with this creative. When inserting or updating
  4067  	// a creative either the size ID field or size width and height fields
  4068  	// can be used. This is a required field when applicable; however for
  4069  	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
  4070  	// primary asset of type HTML_IMAGE, if left blank, this field will be
  4071  	// automatically set using the actual size of the associated image
  4072  	// assets. Applicable to the following creative types: DISPLAY,
  4073  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
  4074  	// RICH_MEDIA.
  4075  	Size *Size `json:"size,omitempty"`
  4076  
  4077  	// SkipOffset: Amount of time to play the video before the skip button
  4078  	// appears. Applicable to the following creative types: all
  4079  	// INSTREAM_VIDEO.
  4080  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
  4081  
  4082  	// Skippable: Whether the user can choose to skip the creative.
  4083  	// Applicable to the following creative types: all INSTREAM_VIDEO and
  4084  	// all VPAID.
  4085  	Skippable bool `json:"skippable,omitempty"`
  4086  
  4087  	// SslCompliant: Whether the creative is SSL-compliant. This is a
  4088  	// read-only field. Applicable to all creative types.
  4089  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4090  
  4091  	// SslOverride: Whether creative should be treated as SSL compliant even
  4092  	// if the system scan shows it's not. Applicable to all creative types.
  4093  	SslOverride bool `json:"sslOverride,omitempty"`
  4094  
  4095  	// StudioAdvertiserId: Studio advertiser ID associated with rich media
  4096  	// and VPAID creatives. This is a read-only field. Applicable to the
  4097  	// following creative types: all RICH_MEDIA, and all VPAID.
  4098  	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
  4099  
  4100  	// StudioCreativeId: Studio creative ID associated with rich media and
  4101  	// VPAID creatives. This is a read-only field. Applicable to the
  4102  	// following creative types: all RICH_MEDIA, and all VPAID.
  4103  	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
  4104  
  4105  	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
  4106  	// with rich media and VPAID creatives. This is a read-only field.
  4107  	// Applicable to the following creative types: all RICH_MEDIA, and all
  4108  	// VPAID.
  4109  	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
  4110  
  4111  	// SubaccountId: Subaccount ID of this creative. This field, if left
  4112  	// unset, will be auto-generated for both insert and update operations.
  4113  	// Applicable to all creative types.
  4114  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  4115  
  4116  	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
  4117  	// backup image impressions. Applicable to the following creative types:
  4118  	// all RICH_MEDIA.
  4119  	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
  4120  
  4121  	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
  4122  	// rich media impressions. Applicable to the following creative types:
  4123  	// all RICH_MEDIA.
  4124  	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
  4125  
  4126  	// ThirdPartyUrls: Third-party URLs for tracking in-stream video
  4127  	// creative events. Applicable to the following creative types: all
  4128  	// INSTREAM_VIDEO and all VPAID.
  4129  	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
  4130  
  4131  	// TimerCustomEvents: List of timer events configured for the creative.
  4132  	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
  4133  	// auto-generated from clickTags. Applicable to the following creative
  4134  	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  4135  	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
  4136  	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
  4137  
  4138  	// TotalFileSize: Combined size of all creative assets. This is a
  4139  	// read-only field. Applicable to the following creative types: all
  4140  	// RICH_MEDIA, and all VPAID.
  4141  	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
  4142  
  4143  	// Type: Type of this creative. This is a required field. Applicable to
  4144  	// all creative types.
  4145  	//
  4146  	// Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for
  4147  	// existing creatives. New creatives should use DISPLAY as a replacement
  4148  	// for these types.
  4149  	//
  4150  	// Possible values:
  4151  	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
  4152  	//   "CUSTOM_DISPLAY"
  4153  	//   "CUSTOM_DISPLAY_INTERSTITIAL"
  4154  	//   "DISPLAY"
  4155  	//   "DISPLAY_IMAGE_GALLERY"
  4156  	//   "DISPLAY_REDIRECT"
  4157  	//   "FLASH_INPAGE"
  4158  	//   "HTML5_BANNER"
  4159  	//   "IMAGE"
  4160  	//   "INSTREAM_AUDIO"
  4161  	//   "INSTREAM_VIDEO"
  4162  	//   "INSTREAM_VIDEO_REDIRECT"
  4163  	//   "INTERNAL_REDIRECT"
  4164  	//   "INTERSTITIAL_INTERNAL_REDIRECT"
  4165  	//   "RICH_MEDIA_DISPLAY_BANNER"
  4166  	//   "RICH_MEDIA_DISPLAY_EXPANDING"
  4167  	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
  4168  	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
  4169  	//   "RICH_MEDIA_IM_EXPAND"
  4170  	//   "RICH_MEDIA_INPAGE_FLOATING"
  4171  	//   "RICH_MEDIA_MOBILE_IN_APP"
  4172  	//   "RICH_MEDIA_PEEL_DOWN"
  4173  	//   "TRACKING_TEXT"
  4174  	//   "VPAID_LINEAR_VIDEO"
  4175  	//   "VPAID_NON_LINEAR_VIDEO"
  4176  	Type string `json:"type,omitempty"`
  4177  
  4178  	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
  4179  	// to the following creative types: INSTREAM_VIDEO and VPAID.
  4180  	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
  4181  
  4182  	// Version: The version number helps you keep track of multiple versions
  4183  	// of your creative in your reports. The version number will always be
  4184  	// auto-generated during insert operations to start at 1. For tracking
  4185  	// creatives the version cannot be incremented and will always remain at
  4186  	// 1. For all other creative types the version can be incremented only
  4187  	// by 1 during update operations. In addition, the version will be
  4188  	// automatically incremented by 1 when undergoing Rich Media creative
  4189  	// merging. Applicable to all creative types.
  4190  	Version int64 `json:"version,omitempty"`
  4191  
  4192  	// VideoDescription: Description of the video ad. Applicable to the
  4193  	// following creative types: all INSTREAM_VIDEO and all VPAID.
  4194  	VideoDescription string `json:"videoDescription,omitempty"`
  4195  
  4196  	// VideoDuration: Creative video duration in seconds. This is a
  4197  	// read-only field. Applicable to the following creative types:
  4198  	// INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.
  4199  	VideoDuration float64 `json:"videoDuration,omitempty"`
  4200  
  4201  	// ServerResponse contains the HTTP response code and headers from the
  4202  	// server.
  4203  	googleapi.ServerResponse `json:"-"`
  4204  
  4205  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  4206  	// unconditionally include in API requests. By default, fields with
  4207  	// empty values are omitted from API requests. However, any non-pointer,
  4208  	// non-interface field appearing in ForceSendFields will be sent to the
  4209  	// server regardless of whether the field is empty or not. This may be
  4210  	// used to include empty fields in Patch requests.
  4211  	ForceSendFields []string `json:"-"`
  4212  
  4213  	// NullFields is a list of field names (e.g. "AccountId") to include in
  4214  	// API requests with the JSON null value. By default, fields with empty
  4215  	// values are omitted from API requests. However, any field with an
  4216  	// empty value appearing in NullFields will be sent to the server as
  4217  	// null. It is an error if a field in this list has a non-empty value.
  4218  	// This may be used to include null fields in Patch requests.
  4219  	NullFields []string `json:"-"`
  4220  }
  4221  
  4222  func (s *Creative) MarshalJSON() ([]byte, error) {
  4223  	type NoMethod Creative
  4224  	raw := NoMethod(*s)
  4225  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4226  }
  4227  
  4228  func (s *Creative) UnmarshalJSON(data []byte) error {
  4229  	type NoMethod Creative
  4230  	var s1 struct {
  4231  		VideoDuration gensupport.JSONFloat64 `json:"videoDuration"`
  4232  		*NoMethod
  4233  	}
  4234  	s1.NoMethod = (*NoMethod)(s)
  4235  	if err := json.Unmarshal(data, &s1); err != nil {
  4236  		return err
  4237  	}
  4238  	s.VideoDuration = float64(s1.VideoDuration)
  4239  	return nil
  4240  }
  4241  
  4242  // CreativeAsset: Creative Asset.
  4243  type CreativeAsset struct {
  4244  	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
  4245  	// This is a read-only field. Applicable to the following creative type:
  4246  	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
  4247  	// not HTML_IMAGE.
  4248  	ActionScript3 bool `json:"actionScript3,omitempty"`
  4249  
  4250  	// Active: Whether the video asset is active. This is a read-only field
  4251  	// for VPAID_NON_LINEAR_VIDEO assets. Applicable to the following
  4252  	// creative types: INSTREAM_VIDEO and all VPAID.
  4253  	Active bool `json:"active,omitempty"`
  4254  
  4255  	// Alignment: Possible alignments for an asset. This is a read-only
  4256  	// field. Applicable to the following creative types:
  4257  	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
  4258  	//
  4259  	// Possible values:
  4260  	//   "ALIGNMENT_BOTTOM"
  4261  	//   "ALIGNMENT_LEFT"
  4262  	//   "ALIGNMENT_RIGHT"
  4263  	//   "ALIGNMENT_TOP"
  4264  	Alignment string `json:"alignment,omitempty"`
  4265  
  4266  	// ArtworkType: Artwork type of rich media creative. This is a read-only
  4267  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4268  	//
  4269  	// Possible values:
  4270  	//   "ARTWORK_TYPE_FLASH"
  4271  	//   "ARTWORK_TYPE_HTML5"
  4272  	//   "ARTWORK_TYPE_IMAGE"
  4273  	//   "ARTWORK_TYPE_MIXED"
  4274  	ArtworkType string `json:"artworkType,omitempty"`
  4275  
  4276  	// AssetIdentifier: Identifier of this asset. This is the same
  4277  	// identifier returned during creative asset insert operation. This is a
  4278  	// required field. Applicable to all but the following creative types:
  4279  	// all REDIRECT and TRACKING_TEXT.
  4280  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4281  
  4282  	// BackupImageExit: Exit event configured for the backup image.
  4283  	// Applicable to the following creative types: all RICH_MEDIA.
  4284  	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
  4285  
  4286  	// BitRate: Detected bit-rate for video asset. This is a read-only
  4287  	// field. Applicable to the following creative types: INSTREAM_VIDEO and
  4288  	// all VPAID.
  4289  	BitRate int64 `json:"bitRate,omitempty"`
  4290  
  4291  	// ChildAssetType: Rich media child asset type. This is a read-only
  4292  	// field. Applicable to the following creative types: all VPAID.
  4293  	//
  4294  	// Possible values:
  4295  	//   "CHILD_ASSET_TYPE_DATA"
  4296  	//   "CHILD_ASSET_TYPE_FLASH"
  4297  	//   "CHILD_ASSET_TYPE_IMAGE"
  4298  	//   "CHILD_ASSET_TYPE_VIDEO"
  4299  	ChildAssetType string `json:"childAssetType,omitempty"`
  4300  
  4301  	// CollapsedSize: Size of an asset when collapsed. This is a read-only
  4302  	// field. Applicable to the following creative types: all RICH_MEDIA and
  4303  	// all VPAID. Additionally, applicable to assets whose displayType is
  4304  	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4305  	CollapsedSize *Size `json:"collapsedSize,omitempty"`
  4306  
  4307  	// CompanionCreativeIds: List of companion creatives assigned to an
  4308  	// in-stream video creative asset. Acceptable values include IDs of
  4309  	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
  4310  	// creative type with dynamicAssetSelection set to true.
  4311  	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
  4312  
  4313  	// CustomStartTimeValue: Custom start time in seconds for making the
  4314  	// asset visible. Applicable to the following creative types: all
  4315  	// RICH_MEDIA. Value must be greater than or equal to 0.
  4316  	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
  4317  
  4318  	// DetectedFeatures: List of feature dependencies for the creative asset
  4319  	// that are detected by Campaign Manager. Feature dependencies are
  4320  	// features that a browser must be able to support in order to render
  4321  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4322  	// field. Applicable to the following creative types: HTML5_BANNER.
  4323  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4324  	//
  4325  	// Possible values:
  4326  	//   "APPLICATION_CACHE"
  4327  	//   "AUDIO"
  4328  	//   "CANVAS"
  4329  	//   "CANVAS_TEXT"
  4330  	//   "CSS_ANIMATIONS"
  4331  	//   "CSS_BACKGROUND_SIZE"
  4332  	//   "CSS_BORDER_IMAGE"
  4333  	//   "CSS_BORDER_RADIUS"
  4334  	//   "CSS_BOX_SHADOW"
  4335  	//   "CSS_COLUMNS"
  4336  	//   "CSS_FLEX_BOX"
  4337  	//   "CSS_FONT_FACE"
  4338  	//   "CSS_GENERATED_CONTENT"
  4339  	//   "CSS_GRADIENTS"
  4340  	//   "CSS_HSLA"
  4341  	//   "CSS_MULTIPLE_BGS"
  4342  	//   "CSS_OPACITY"
  4343  	//   "CSS_REFLECTIONS"
  4344  	//   "CSS_RGBA"
  4345  	//   "CSS_TEXT_SHADOW"
  4346  	//   "CSS_TRANSFORMS"
  4347  	//   "CSS_TRANSFORMS3D"
  4348  	//   "CSS_TRANSITIONS"
  4349  	//   "DRAG_AND_DROP"
  4350  	//   "GEO_LOCATION"
  4351  	//   "HASH_CHANGE"
  4352  	//   "HISTORY"
  4353  	//   "INDEXED_DB"
  4354  	//   "INLINE_SVG"
  4355  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4356  	//   "INPUT_ATTR_AUTOFOCUS"
  4357  	//   "INPUT_ATTR_LIST"
  4358  	//   "INPUT_ATTR_MAX"
  4359  	//   "INPUT_ATTR_MIN"
  4360  	//   "INPUT_ATTR_MULTIPLE"
  4361  	//   "INPUT_ATTR_PATTERN"
  4362  	//   "INPUT_ATTR_PLACEHOLDER"
  4363  	//   "INPUT_ATTR_REQUIRED"
  4364  	//   "INPUT_ATTR_STEP"
  4365  	//   "INPUT_TYPE_COLOR"
  4366  	//   "INPUT_TYPE_DATE"
  4367  	//   "INPUT_TYPE_DATETIME"
  4368  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4369  	//   "INPUT_TYPE_EMAIL"
  4370  	//   "INPUT_TYPE_MONTH"
  4371  	//   "INPUT_TYPE_NUMBER"
  4372  	//   "INPUT_TYPE_RANGE"
  4373  	//   "INPUT_TYPE_SEARCH"
  4374  	//   "INPUT_TYPE_TEL"
  4375  	//   "INPUT_TYPE_TIME"
  4376  	//   "INPUT_TYPE_URL"
  4377  	//   "INPUT_TYPE_WEEK"
  4378  	//   "LOCAL_STORAGE"
  4379  	//   "POST_MESSAGE"
  4380  	//   "SESSION_STORAGE"
  4381  	//   "SMIL"
  4382  	//   "SVG_CLIP_PATHS"
  4383  	//   "SVG_FE_IMAGE"
  4384  	//   "SVG_FILTERS"
  4385  	//   "SVG_HREF"
  4386  	//   "TOUCH"
  4387  	//   "VIDEO"
  4388  	//   "WEBGL"
  4389  	//   "WEB_SOCKETS"
  4390  	//   "WEB_SQL_DATABASE"
  4391  	//   "WEB_WORKERS"
  4392  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4393  
  4394  	// DisplayType: Type of rich media asset. This is a read-only field.
  4395  	// Applicable to the following creative types: all RICH_MEDIA.
  4396  	//
  4397  	// Possible values:
  4398  	//   "ASSET_DISPLAY_TYPE_BACKDROP"
  4399  	//   "ASSET_DISPLAY_TYPE_EXPANDING"
  4400  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
  4401  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
  4402  	//   "ASSET_DISPLAY_TYPE_FLOATING"
  4403  	//   "ASSET_DISPLAY_TYPE_INPAGE"
  4404  	//   "ASSET_DISPLAY_TYPE_OVERLAY"
  4405  	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
  4406  	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
  4407  	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
  4408  	DisplayType string `json:"displayType,omitempty"`
  4409  
  4410  	// Duration: Duration in seconds for which an asset will be displayed.
  4411  	// Applicable to the following creative types: INSTREAM_VIDEO and
  4412  	// VPAID_LINEAR_VIDEO. Value must be greater than or equal to 1.
  4413  	Duration int64 `json:"duration,omitempty"`
  4414  
  4415  	// DurationType: Duration type for which an asset will be displayed.
  4416  	// Applicable to the following creative types: all RICH_MEDIA.
  4417  	//
  4418  	// Possible values:
  4419  	//   "ASSET_DURATION_TYPE_AUTO"
  4420  	//   "ASSET_DURATION_TYPE_CUSTOM"
  4421  	//   "ASSET_DURATION_TYPE_NONE"
  4422  	DurationType string `json:"durationType,omitempty"`
  4423  
  4424  	// ExpandedDimension: Detected expanded dimension for video asset. This
  4425  	// is a read-only field. Applicable to the following creative types:
  4426  	// INSTREAM_VIDEO and all VPAID.
  4427  	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
  4428  
  4429  	// FileSize: File size associated with this creative asset. This is a
  4430  	// read-only field. Applicable to all but the following creative types:
  4431  	// all REDIRECT and TRACKING_TEXT.
  4432  	FileSize int64 `json:"fileSize,omitempty,string"`
  4433  
  4434  	// FlashVersion: Flash version of the asset. This is a read-only field.
  4435  	// Applicable to the following creative types: FLASH_INPAGE, all
  4436  	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
  4437  	// asset type is not HTML_IMAGE.
  4438  	FlashVersion int64 `json:"flashVersion,omitempty"`
  4439  
  4440  	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
  4441  	// Applicable to the following creative types: all RICH_MEDIA.
  4442  	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
  4443  
  4444  	// HideSelectionBoxes: Whether to hide selection boxes flag for an
  4445  	// asset. Applicable to the following creative types: all RICH_MEDIA.
  4446  	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
  4447  
  4448  	// HorizontallyLocked: Whether the asset is horizontally locked. This is
  4449  	// a read-only field. Applicable to the following creative types: all
  4450  	// RICH_MEDIA.
  4451  	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
  4452  
  4453  	// Id: Numeric ID of this creative asset. This is a required field and
  4454  	// should not be modified. Applicable to all but the following creative
  4455  	// types: all REDIRECT and TRACKING_TEXT.
  4456  	Id int64 `json:"id,omitempty,string"`
  4457  
  4458  	// IdDimensionValue: Dimension value for the ID of the asset. This is a
  4459  	// read-only, auto-generated field.
  4460  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4461  
  4462  	// MimeType: Detected MIME type for video asset. This is a read-only
  4463  	// field. Applicable to the following creative types: INSTREAM_VIDEO and
  4464  	// all VPAID.
  4465  	MimeType string `json:"mimeType,omitempty"`
  4466  
  4467  	// Offset: Offset position for an asset in collapsed mode. This is a
  4468  	// read-only field. Applicable to the following creative types: all
  4469  	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
  4470  	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
  4471  	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4472  	Offset *OffsetPosition `json:"offset,omitempty"`
  4473  
  4474  	// Orientation: Orientation of video asset. This is a read-only,
  4475  	// auto-generated field.
  4476  	//
  4477  	// Possible values:
  4478  	//   "LANDSCAPE"
  4479  	//   "PORTRAIT"
  4480  	//   "SQUARE"
  4481  	Orientation string `json:"orientation,omitempty"`
  4482  
  4483  	// OriginalBackup: Whether the backup asset is original or changed by
  4484  	// the user in Campaign Manager. Applicable to the following creative
  4485  	// types: all RICH_MEDIA.
  4486  	OriginalBackup bool `json:"originalBackup,omitempty"`
  4487  
  4488  	// Position: Offset position for an asset. Applicable to the following
  4489  	// creative types: all RICH_MEDIA.
  4490  	Position *OffsetPosition `json:"position,omitempty"`
  4491  
  4492  	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
  4493  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4494  	//
  4495  	// Possible values:
  4496  	//   "OFFSET_UNIT_PERCENT"
  4497  	//   "OFFSET_UNIT_PIXEL"
  4498  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4499  	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
  4500  
  4501  	// PositionTopUnit: Offset top unit for an asset. This is a read-only
  4502  	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
  4503  	// Applicable to the following creative types: all RICH_MEDIA.
  4504  	//
  4505  	// Possible values:
  4506  	//   "OFFSET_UNIT_PERCENT"
  4507  	//   "OFFSET_UNIT_PIXEL"
  4508  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4509  	PositionTopUnit string `json:"positionTopUnit,omitempty"`
  4510  
  4511  	// ProgressiveServingUrl: Progressive URL for video asset. This is a
  4512  	// read-only field. Applicable to the following creative types:
  4513  	// INSTREAM_VIDEO and all VPAID.
  4514  	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
  4515  
  4516  	// Pushdown: Whether the asset pushes down other content. Applicable to
  4517  	// the following creative types: all RICH_MEDIA. Additionally, only
  4518  	// applicable when the asset offsets are 0, the collapsedSize.width
  4519  	// matches size.width, and the collapsedSize.height is less than
  4520  	// size.height.
  4521  	Pushdown bool `json:"pushdown,omitempty"`
  4522  
  4523  	// PushdownDuration: Pushdown duration in seconds for an asset.
  4524  	// Applicable to the following creative types: all
  4525  	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
  4526  	// field is true, the offsets are 0, the collapsedSize.width matches
  4527  	// size.width, and the collapsedSize.height is less than size.height.
  4528  	// Acceptable values are 0 to 9.99, inclusive.
  4529  	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
  4530  
  4531  	// Role: Role of the asset in relation to creative. Applicable to all
  4532  	// but the following creative types: all REDIRECT and TRACKING_TEXT.
  4533  	// This is a required field.
  4534  	// PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE,
  4535  	// DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple
  4536  	// primary assets), and all VPAID creatives.
  4537  	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
  4538  	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
  4539  	// type is not HTML_IMAGE.
  4540  	// ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE
  4541  	// creatives.
  4542  	// OTHER refers to assets from sources other than Campaign Manager, such
  4543  	// as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID
  4544  	// creatives.
  4545  	// PARENT_VIDEO refers to videos uploaded by the user in Campaign
  4546  	// Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
  4547  	// creatives.
  4548  	// TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from
  4549  	// PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
  4550  	// VPAID_LINEAR_VIDEO creatives.
  4551  	// ALTERNATE_VIDEO refers to the Campaign Manager representation of
  4552  	// child asset videos from Studio, and is applicable to
  4553  	// VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
  4554  	// Campaign Manager.
  4555  	// For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and
  4556  	// ALTERNATE_VIDEO assets that are marked active serve as backup in case
  4557  	// the VPAID creative cannot be served. Only PARENT_VIDEO assets can be
  4558  	// added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
  4559  	// creative.
  4560  	//
  4561  	// Possible values:
  4562  	//   "ADDITIONAL_FLASH"
  4563  	//   "ADDITIONAL_IMAGE"
  4564  	//   "ALTERNATE_VIDEO"
  4565  	//   "BACKUP_IMAGE"
  4566  	//   "OTHER"
  4567  	//   "PARENT_VIDEO"
  4568  	//   "PRIMARY"
  4569  	//   "TRANSCODED_VIDEO"
  4570  	Role string `json:"role,omitempty"`
  4571  
  4572  	// Size: Size associated with this creative asset. This is a required
  4573  	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
  4574  	// if left blank, this field will be automatically set using the actual
  4575  	// size of the associated image asset. Applicable to the following
  4576  	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
  4577  	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
  4578  	// asset type is not HTML_IMAGE.
  4579  	Size *Size `json:"size,omitempty"`
  4580  
  4581  	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
  4582  	// field. Applicable to all but the following creative types: all
  4583  	// REDIRECT and TRACKING_TEXT.
  4584  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4585  
  4586  	// StartTimeType: Initial wait time type before making the asset
  4587  	// visible. Applicable to the following creative types: all RICH_MEDIA.
  4588  	//
  4589  	// Possible values:
  4590  	//   "ASSET_START_TIME_TYPE_CUSTOM"
  4591  	//   "ASSET_START_TIME_TYPE_NONE"
  4592  	StartTimeType string `json:"startTimeType,omitempty"`
  4593  
  4594  	// StreamingServingUrl: Streaming URL for video asset. This is a
  4595  	// read-only field. Applicable to the following creative types:
  4596  	// INSTREAM_VIDEO and all VPAID.
  4597  	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
  4598  
  4599  	// Transparency: Whether the asset is transparent. Applicable to the
  4600  	// following creative types: all RICH_MEDIA. Additionally, only
  4601  	// applicable to HTML5 assets.
  4602  	Transparency bool `json:"transparency,omitempty"`
  4603  
  4604  	// VerticallyLocked: Whether the asset is vertically locked. This is a
  4605  	// read-only field. Applicable to the following creative types: all
  4606  	// RICH_MEDIA.
  4607  	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
  4608  
  4609  	// VideoDuration: Detected video duration for video asset. This is a
  4610  	// read-only field. Applicable to the following creative types:
  4611  	// INSTREAM_VIDEO and all VPAID.
  4612  	VideoDuration float64 `json:"videoDuration,omitempty"`
  4613  
  4614  	// WindowMode: Window mode options for flash assets. Applicable to the
  4615  	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
  4616  	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
  4617  	// RICH_MEDIA_INPAGE_FLOATING.
  4618  	//
  4619  	// Possible values:
  4620  	//   "OPAQUE"
  4621  	//   "TRANSPARENT"
  4622  	//   "WINDOW"
  4623  	WindowMode string `json:"windowMode,omitempty"`
  4624  
  4625  	// ZIndex: zIndex value of an asset. Applicable to the following
  4626  	// creative types: all RICH_MEDIA.Additionally, only applicable to
  4627  	// assets whose displayType is NOT one of the following types:
  4628  	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
  4629  	// values are -999999999 to 999999999, inclusive.
  4630  	ZIndex int64 `json:"zIndex,omitempty"`
  4631  
  4632  	// ZipFilename: File name of zip file. This is a read-only field.
  4633  	// Applicable to the following creative types: HTML5_BANNER.
  4634  	ZipFilename string `json:"zipFilename,omitempty"`
  4635  
  4636  	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
  4637  	// to the following creative types: HTML5_BANNER.
  4638  	ZipFilesize string `json:"zipFilesize,omitempty"`
  4639  
  4640  	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
  4641  	// unconditionally include in API requests. By default, fields with
  4642  	// empty values are omitted from API requests. However, any non-pointer,
  4643  	// non-interface field appearing in ForceSendFields will be sent to the
  4644  	// server regardless of whether the field is empty or not. This may be
  4645  	// used to include empty fields in Patch requests.
  4646  	ForceSendFields []string `json:"-"`
  4647  
  4648  	// NullFields is a list of field names (e.g. "ActionScript3") to include
  4649  	// in API requests with the JSON null value. By default, fields with
  4650  	// empty values are omitted from API requests. However, any field with
  4651  	// an empty value appearing in NullFields will be sent to the server as
  4652  	// null. It is an error if a field in this list has a non-empty value.
  4653  	// This may be used to include null fields in Patch requests.
  4654  	NullFields []string `json:"-"`
  4655  }
  4656  
  4657  func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
  4658  	type NoMethod CreativeAsset
  4659  	raw := NoMethod(*s)
  4660  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4661  }
  4662  
  4663  func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
  4664  	type NoMethod CreativeAsset
  4665  	var s1 struct {
  4666  		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
  4667  		VideoDuration    gensupport.JSONFloat64 `json:"videoDuration"`
  4668  		*NoMethod
  4669  	}
  4670  	s1.NoMethod = (*NoMethod)(s)
  4671  	if err := json.Unmarshal(data, &s1); err != nil {
  4672  		return err
  4673  	}
  4674  	s.PushdownDuration = float64(s1.PushdownDuration)
  4675  	s.VideoDuration = float64(s1.VideoDuration)
  4676  	return nil
  4677  }
  4678  
  4679  // CreativeAssetId: Creative Asset ID.
  4680  type CreativeAssetId struct {
  4681  	// Name: Name of the creative asset. This is a required field while
  4682  	// inserting an asset. After insertion, this assetIdentifier is used to
  4683  	// identify the uploaded asset. Characters in the name must be
  4684  	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
  4685  	Name string `json:"name,omitempty"`
  4686  
  4687  	// Type: Type of asset to upload. This is a required field. FLASH and
  4688  	// IMAGE are no longer supported for new uploads. All image assets
  4689  	// should use HTML_IMAGE.
  4690  	//
  4691  	// Possible values:
  4692  	//   "FLASH"
  4693  	//   "HTML"
  4694  	//   "HTML_IMAGE"
  4695  	//   "IMAGE"
  4696  	//   "VIDEO"
  4697  	Type string `json:"type,omitempty"`
  4698  
  4699  	// ForceSendFields is a list of field names (e.g. "Name") to
  4700  	// unconditionally include in API requests. By default, fields with
  4701  	// empty values are omitted from API requests. However, any non-pointer,
  4702  	// non-interface field appearing in ForceSendFields will be sent to the
  4703  	// server regardless of whether the field is empty or not. This may be
  4704  	// used to include empty fields in Patch requests.
  4705  	ForceSendFields []string `json:"-"`
  4706  
  4707  	// NullFields is a list of field names (e.g. "Name") to include in API
  4708  	// requests with the JSON null value. By default, fields with empty
  4709  	// values are omitted from API requests. However, any field with an
  4710  	// empty value appearing in NullFields will be sent to the server as
  4711  	// null. It is an error if a field in this list has a non-empty value.
  4712  	// This may be used to include null fields in Patch requests.
  4713  	NullFields []string `json:"-"`
  4714  }
  4715  
  4716  func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
  4717  	type NoMethod CreativeAssetId
  4718  	raw := NoMethod(*s)
  4719  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4720  }
  4721  
  4722  // CreativeAssetMetadata: CreativeAssets contains properties of a
  4723  // creative asset file which will be uploaded or has already been
  4724  // uploaded. Refer to the creative sample code for how to upload assets
  4725  // and insert a creative.
  4726  type CreativeAssetMetadata struct {
  4727  	// AssetIdentifier: ID of the creative asset. This is a required field.
  4728  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4729  
  4730  	// ClickTags: List of detected click tags for assets. This is a
  4731  	// read-only auto-generated field.
  4732  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  4733  
  4734  	// DetectedFeatures: List of feature dependencies for the creative asset
  4735  	// that are detected by Campaign Manager. Feature dependencies are
  4736  	// features that a browser must be able to support in order to render
  4737  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4738  	// field.
  4739  	//
  4740  	// Possible values:
  4741  	//   "APPLICATION_CACHE"
  4742  	//   "AUDIO"
  4743  	//   "CANVAS"
  4744  	//   "CANVAS_TEXT"
  4745  	//   "CSS_ANIMATIONS"
  4746  	//   "CSS_BACKGROUND_SIZE"
  4747  	//   "CSS_BORDER_IMAGE"
  4748  	//   "CSS_BORDER_RADIUS"
  4749  	//   "CSS_BOX_SHADOW"
  4750  	//   "CSS_COLUMNS"
  4751  	//   "CSS_FLEX_BOX"
  4752  	//   "CSS_FONT_FACE"
  4753  	//   "CSS_GENERATED_CONTENT"
  4754  	//   "CSS_GRADIENTS"
  4755  	//   "CSS_HSLA"
  4756  	//   "CSS_MULTIPLE_BGS"
  4757  	//   "CSS_OPACITY"
  4758  	//   "CSS_REFLECTIONS"
  4759  	//   "CSS_RGBA"
  4760  	//   "CSS_TEXT_SHADOW"
  4761  	//   "CSS_TRANSFORMS"
  4762  	//   "CSS_TRANSFORMS3D"
  4763  	//   "CSS_TRANSITIONS"
  4764  	//   "DRAG_AND_DROP"
  4765  	//   "GEO_LOCATION"
  4766  	//   "HASH_CHANGE"
  4767  	//   "HISTORY"
  4768  	//   "INDEXED_DB"
  4769  	//   "INLINE_SVG"
  4770  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4771  	//   "INPUT_ATTR_AUTOFOCUS"
  4772  	//   "INPUT_ATTR_LIST"
  4773  	//   "INPUT_ATTR_MAX"
  4774  	//   "INPUT_ATTR_MIN"
  4775  	//   "INPUT_ATTR_MULTIPLE"
  4776  	//   "INPUT_ATTR_PATTERN"
  4777  	//   "INPUT_ATTR_PLACEHOLDER"
  4778  	//   "INPUT_ATTR_REQUIRED"
  4779  	//   "INPUT_ATTR_STEP"
  4780  	//   "INPUT_TYPE_COLOR"
  4781  	//   "INPUT_TYPE_DATE"
  4782  	//   "INPUT_TYPE_DATETIME"
  4783  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4784  	//   "INPUT_TYPE_EMAIL"
  4785  	//   "INPUT_TYPE_MONTH"
  4786  	//   "INPUT_TYPE_NUMBER"
  4787  	//   "INPUT_TYPE_RANGE"
  4788  	//   "INPUT_TYPE_SEARCH"
  4789  	//   "INPUT_TYPE_TEL"
  4790  	//   "INPUT_TYPE_TIME"
  4791  	//   "INPUT_TYPE_URL"
  4792  	//   "INPUT_TYPE_WEEK"
  4793  	//   "LOCAL_STORAGE"
  4794  	//   "POST_MESSAGE"
  4795  	//   "SESSION_STORAGE"
  4796  	//   "SMIL"
  4797  	//   "SVG_CLIP_PATHS"
  4798  	//   "SVG_FE_IMAGE"
  4799  	//   "SVG_FILTERS"
  4800  	//   "SVG_HREF"
  4801  	//   "TOUCH"
  4802  	//   "VIDEO"
  4803  	//   "WEBGL"
  4804  	//   "WEB_SOCKETS"
  4805  	//   "WEB_SQL_DATABASE"
  4806  	//   "WEB_WORKERS"
  4807  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4808  
  4809  	// Id: Numeric ID of the asset. This is a read-only, auto-generated
  4810  	// field.
  4811  	Id int64 `json:"id,omitempty,string"`
  4812  
  4813  	// IdDimensionValue: Dimension value for the numeric ID of the asset.
  4814  	// This is a read-only, auto-generated field.
  4815  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4816  
  4817  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4818  	// string "dfareporting#creativeAssetMetadata".
  4819  	Kind string `json:"kind,omitempty"`
  4820  
  4821  	// WarnedValidationRules: Rules validated during code generation that
  4822  	// generated a warning. This is a read-only, auto-generated
  4823  	// field.
  4824  	//
  4825  	// Possible values are:
  4826  	// - "ADMOB_REFERENCED"
  4827  	// - "ASSET_FORMAT_UNSUPPORTED_DCM"
  4828  	// - "ASSET_INVALID"
  4829  	// - "CLICK_TAG_HARD_CODED"
  4830  	// - "CLICK_TAG_INVALID"
  4831  	// - "CLICK_TAG_IN_GWD"
  4832  	// - "CLICK_TAG_MISSING"
  4833  	// - "CLICK_TAG_MORE_THAN_ONE"
  4834  	// - "CLICK_TAG_NON_TOP_LEVEL"
  4835  	// - "COMPONENT_UNSUPPORTED_DCM"
  4836  	// - "ENABLER_UNSUPPORTED_METHOD_DCM"
  4837  	// - "EXTERNAL_FILE_REFERENCED"
  4838  	// - "FILE_DETAIL_EMPTY"
  4839  	// - "FILE_TYPE_INVALID"
  4840  	// - "GWD_PROPERTIES_INVALID"
  4841  	// - "HTML5_FEATURE_UNSUPPORTED"
  4842  	// - "LINKED_FILE_NOT_FOUND"
  4843  	// - "MAX_FLASH_VERSION_11"
  4844  	// - "MRAID_REFERENCED"
  4845  	// - "NOT_SSL_COMPLIANT"
  4846  	// - "ORPHANED_ASSET"
  4847  	// - "PRIMARY_HTML_MISSING"
  4848  	// - "SVG_INVALID"
  4849  	// - "ZIP_INVALID"
  4850  	//
  4851  	// Possible values:
  4852  	//   "ADMOB_REFERENCED"
  4853  	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
  4854  	//   "ASSET_INVALID"
  4855  	//   "CLICK_TAG_HARD_CODED"
  4856  	//   "CLICK_TAG_INVALID"
  4857  	//   "CLICK_TAG_IN_GWD"
  4858  	//   "CLICK_TAG_MISSING"
  4859  	//   "CLICK_TAG_MORE_THAN_ONE"
  4860  	//   "CLICK_TAG_NON_TOP_LEVEL"
  4861  	//   "COMPONENT_UNSUPPORTED_DCM"
  4862  	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
  4863  	//   "EXTERNAL_FILE_REFERENCED"
  4864  	//   "FILE_DETAIL_EMPTY"
  4865  	//   "FILE_TYPE_INVALID"
  4866  	//   "GWD_PROPERTIES_INVALID"
  4867  	//   "HTML5_FEATURE_UNSUPPORTED"
  4868  	//   "LINKED_FILE_NOT_FOUND"
  4869  	//   "MAX_FLASH_VERSION_11"
  4870  	//   "MRAID_REFERENCED"
  4871  	//   "NOT_SSL_COMPLIANT"
  4872  	//   "ORPHANED_ASSET"
  4873  	//   "PRIMARY_HTML_MISSING"
  4874  	//   "SVG_INVALID"
  4875  	//   "ZIP_INVALID"
  4876  	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
  4877  
  4878  	// ServerResponse contains the HTTP response code and headers from the
  4879  	// server.
  4880  	googleapi.ServerResponse `json:"-"`
  4881  
  4882  	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
  4883  	// unconditionally include in API requests. By default, fields with
  4884  	// empty values are omitted from API requests. However, any non-pointer,
  4885  	// non-interface field appearing in ForceSendFields will be sent to the
  4886  	// server regardless of whether the field is empty or not. This may be
  4887  	// used to include empty fields in Patch requests.
  4888  	ForceSendFields []string `json:"-"`
  4889  
  4890  	// NullFields is a list of field names (e.g. "AssetIdentifier") to
  4891  	// include in API requests with the JSON null value. By default, fields
  4892  	// with empty values are omitted from API requests. However, any field
  4893  	// with an empty value appearing in NullFields will be sent to the
  4894  	// server as null. It is an error if a field in this list has a
  4895  	// non-empty value. This may be used to include null fields in Patch
  4896  	// requests.
  4897  	NullFields []string `json:"-"`
  4898  }
  4899  
  4900  func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
  4901  	type NoMethod CreativeAssetMetadata
  4902  	raw := NoMethod(*s)
  4903  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4904  }
  4905  
  4906  // CreativeAssetSelection: Encapsulates the list of rules for asset
  4907  // selection and a default asset in case none of the rules match.
  4908  // Applicable to INSTREAM_VIDEO creatives.
  4909  type CreativeAssetSelection struct {
  4910  	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
  4911  	// the parent assets in this creative, and will be served if none of the
  4912  	// rules match. This is a required field.
  4913  	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
  4914  
  4915  	// Rules: Rules determine which asset will be served to a viewer. Rules
  4916  	// will be evaluated in the order in which they are stored in this list.
  4917  	// This list must contain at least one rule. Applicable to
  4918  	// INSTREAM_VIDEO creatives.
  4919  	Rules []*Rule `json:"rules,omitempty"`
  4920  
  4921  	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
  4922  	// unconditionally include in API requests. By default, fields with
  4923  	// empty values are omitted from API requests. However, any non-pointer,
  4924  	// non-interface field appearing in ForceSendFields will be sent to the
  4925  	// server regardless of whether the field is empty or not. This may be
  4926  	// used to include empty fields in Patch requests.
  4927  	ForceSendFields []string `json:"-"`
  4928  
  4929  	// NullFields is a list of field names (e.g. "DefaultAssetId") to
  4930  	// include in API requests with the JSON null value. By default, fields
  4931  	// with empty values are omitted from API requests. However, any field
  4932  	// with an empty value appearing in NullFields will be sent to the
  4933  	// server as null. It is an error if a field in this list has a
  4934  	// non-empty value. This may be used to include null fields in Patch
  4935  	// requests.
  4936  	NullFields []string `json:"-"`
  4937  }
  4938  
  4939  func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
  4940  	type NoMethod CreativeAssetSelection
  4941  	raw := NoMethod(*s)
  4942  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4943  }
  4944  
  4945  // CreativeAssignment: Creative Assignment.
  4946  type CreativeAssignment struct {
  4947  	// Active: Whether this creative assignment is active. When true, the
  4948  	// creative will be included in the ad's rotation.
  4949  	Active bool `json:"active,omitempty"`
  4950  
  4951  	// ApplyEventTags: Whether applicable event tags should fire when this
  4952  	// creative assignment is rendered. If this value is unset when the ad
  4953  	// is inserted or updated, it will default to true for all creative
  4954  	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
  4955  	// and INSTREAM_VIDEO.
  4956  	ApplyEventTags bool `json:"applyEventTags,omitempty"`
  4957  
  4958  	// ClickThroughUrl: Click-through URL of the creative assignment.
  4959  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  4960  
  4961  	// CompanionCreativeOverrides: Companion creative overrides for this
  4962  	// creative assignment. Applicable to video ads.
  4963  	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
  4964  
  4965  	// CreativeGroupAssignments: Creative group assignments for this
  4966  	// creative assignment. Only one assignment per creative group number is
  4967  	// allowed for a maximum of two assignments.
  4968  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  4969  
  4970  	// CreativeId: ID of the creative to be assigned. This is a required
  4971  	// field.
  4972  	CreativeId int64 `json:"creativeId,omitempty,string"`
  4973  
  4974  	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
  4975  	// This is a read-only, auto-generated field.
  4976  	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
  4977  
  4978  	// EndTime: Date and time that the assigned creative should stop
  4979  	// serving. Must be later than the start time.
  4980  	EndTime string `json:"endTime,omitempty"`
  4981  
  4982  	// RichMediaExitOverrides: Rich media exit overrides for this creative
  4983  	// assignment.
  4984  	// Applicable when the creative type is any of the following:
  4985  	// - DISPLAY
  4986  	// - RICH_MEDIA_INPAGE
  4987  	// - RICH_MEDIA_INPAGE_FLOATING
  4988  	// - RICH_MEDIA_IM_EXPAND
  4989  	// - RICH_MEDIA_EXPANDING
  4990  	// - RICH_MEDIA_INTERSTITIAL_FLOAT
  4991  	// - RICH_MEDIA_MOBILE_IN_APP
  4992  	// - RICH_MEDIA_MULTI_FLOATING
  4993  	// - RICH_MEDIA_PEEL_DOWN
  4994  	// - VPAID_LINEAR
  4995  	// - VPAID_NON_LINEAR
  4996  	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
  4997  
  4998  	// Sequence: Sequence number of the creative assignment, applicable when
  4999  	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
  5000  	// values are 1 to 65535, inclusive.
  5001  	Sequence int64 `json:"sequence,omitempty"`
  5002  
  5003  	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
  5004  	// This is a read-only field that is auto-generated when the ad is
  5005  	// inserted or updated.
  5006  	SslCompliant bool `json:"sslCompliant,omitempty"`
  5007  
  5008  	// StartTime: Date and time that the assigned creative should start
  5009  	// serving.
  5010  	StartTime string `json:"startTime,omitempty"`
  5011  
  5012  	// Weight: Weight of the creative assignment, applicable when the
  5013  	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
  5014  	// than or equal to 1.
  5015  	Weight int64 `json:"weight,omitempty"`
  5016  
  5017  	// ForceSendFields is a list of field names (e.g. "Active") to
  5018  	// unconditionally include in API requests. By default, fields with
  5019  	// empty values are omitted from API requests. However, any non-pointer,
  5020  	// non-interface field appearing in ForceSendFields will be sent to the
  5021  	// server regardless of whether the field is empty or not. This may be
  5022  	// used to include empty fields in Patch requests.
  5023  	ForceSendFields []string `json:"-"`
  5024  
  5025  	// NullFields is a list of field names (e.g. "Active") to include in API
  5026  	// requests with the JSON null value. By default, fields with empty
  5027  	// values are omitted from API requests. However, any field with an
  5028  	// empty value appearing in NullFields will be sent to the server as
  5029  	// null. It is an error if a field in this list has a non-empty value.
  5030  	// This may be used to include null fields in Patch requests.
  5031  	NullFields []string `json:"-"`
  5032  }
  5033  
  5034  func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
  5035  	type NoMethod CreativeAssignment
  5036  	raw := NoMethod(*s)
  5037  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5038  }
  5039  
  5040  // CreativeClickThroughUrl: Click-through URL
  5041  type CreativeClickThroughUrl struct {
  5042  	// ComputedClickThroughUrl: Read-only convenience field representing the
  5043  	// actual URL that will be used for this click-through. The URL is
  5044  	// computed as follows:
  5045  	// - If landingPageId is specified then that landing page's URL is
  5046  	// assigned to this field.
  5047  	// - Otherwise, the customClickThroughUrl is assigned to this field.
  5048  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  5049  
  5050  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  5051  	// landingPageId field is left unset.
  5052  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  5053  
  5054  	// LandingPageId: ID of the landing page for the click-through URL.
  5055  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  5056  
  5057  	// ForceSendFields is a list of field names (e.g.
  5058  	// "ComputedClickThroughUrl") to unconditionally include in API
  5059  	// requests. By default, fields with empty values are omitted from API
  5060  	// requests. However, any non-pointer, non-interface field appearing in
  5061  	// ForceSendFields will be sent to the server regardless of whether the
  5062  	// field is empty or not. This may be used to include empty fields in
  5063  	// Patch requests.
  5064  	ForceSendFields []string `json:"-"`
  5065  
  5066  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  5067  	// to include in API requests with the JSON null value. By default,
  5068  	// fields with empty values are omitted from API requests. However, any
  5069  	// field with an empty value appearing in NullFields will be sent to the
  5070  	// server as null. It is an error if a field in this list has a
  5071  	// non-empty value. This may be used to include null fields in Patch
  5072  	// requests.
  5073  	NullFields []string `json:"-"`
  5074  }
  5075  
  5076  func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
  5077  	type NoMethod CreativeClickThroughUrl
  5078  	raw := NoMethod(*s)
  5079  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5080  }
  5081  
  5082  // CreativeCustomEvent: Creative Custom Event.
  5083  type CreativeCustomEvent struct {
  5084  	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
  5085  	// and Data Transfer. This is a read-only field.
  5086  	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
  5087  
  5088  	// AdvertiserCustomEventName: User-entered name for the event.
  5089  	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
  5090  
  5091  	// AdvertiserCustomEventType: Type of the event. This is a read-only
  5092  	// field.
  5093  	//
  5094  	// Possible values:
  5095  	//   "ADVERTISER_EVENT_COUNTER"
  5096  	//   "ADVERTISER_EVENT_EXIT"
  5097  	//   "ADVERTISER_EVENT_TIMER"
  5098  	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
  5099  
  5100  	// ArtworkLabel: Artwork label column, used to link events in Campaign
  5101  	// Manager back to events in Studio. This is a required field and should
  5102  	// not be modified after insertion.
  5103  	ArtworkLabel string `json:"artworkLabel,omitempty"`
  5104  
  5105  	// ArtworkType: Artwork type used by the creative.This is a read-only
  5106  	// field.
  5107  	//
  5108  	// Possible values:
  5109  	//   "ARTWORK_TYPE_FLASH"
  5110  	//   "ARTWORK_TYPE_HTML5"
  5111  	//   "ARTWORK_TYPE_IMAGE"
  5112  	//   "ARTWORK_TYPE_MIXED"
  5113  	ArtworkType string `json:"artworkType,omitempty"`
  5114  
  5115  	// ExitClickThroughUrl: Exit click-through URL for the event. This field
  5116  	// is used only for exit events.
  5117  	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
  5118  
  5119  	// Id: ID of this event. This is a required field and should not be
  5120  	// modified after insertion.
  5121  	Id int64 `json:"id,omitempty,string"`
  5122  
  5123  	// PopupWindowProperties: Properties for rich media popup windows. This
  5124  	// field is used only for exit events.
  5125  	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
  5126  
  5127  	// TargetType: Target type used by the event.
  5128  	//
  5129  	// Possible values:
  5130  	//   "TARGET_BLANK"
  5131  	//   "TARGET_PARENT"
  5132  	//   "TARGET_POPUP"
  5133  	//   "TARGET_SELF"
  5134  	//   "TARGET_TOP"
  5135  	TargetType string `json:"targetType,omitempty"`
  5136  
  5137  	// VideoReportingId: Video reporting ID, used to differentiate multiple
  5138  	// videos in a single creative. This is a read-only field.
  5139  	VideoReportingId string `json:"videoReportingId,omitempty"`
  5140  
  5141  	// ForceSendFields is a list of field names (e.g.
  5142  	// "AdvertiserCustomEventId") to unconditionally include in API
  5143  	// requests. By default, fields with empty values are omitted from API
  5144  	// requests. However, any non-pointer, non-interface field appearing in
  5145  	// ForceSendFields will be sent to the server regardless of whether the
  5146  	// field is empty or not. This may be used to include empty fields in
  5147  	// Patch requests.
  5148  	ForceSendFields []string `json:"-"`
  5149  
  5150  	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
  5151  	// to include in API requests with the JSON null value. By default,
  5152  	// fields with empty values are omitted from API requests. However, any
  5153  	// field with an empty value appearing in NullFields will be sent to the
  5154  	// server as null. It is an error if a field in this list has a
  5155  	// non-empty value. This may be used to include null fields in Patch
  5156  	// requests.
  5157  	NullFields []string `json:"-"`
  5158  }
  5159  
  5160  func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
  5161  	type NoMethod CreativeCustomEvent
  5162  	raw := NoMethod(*s)
  5163  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5164  }
  5165  
  5166  // CreativeField: Contains properties of a creative field.
  5167  type CreativeField struct {
  5168  	// AccountId: Account ID of this creative field. This is a read-only
  5169  	// field that can be left blank.
  5170  	AccountId int64 `json:"accountId,omitempty,string"`
  5171  
  5172  	// AdvertiserId: Advertiser ID of this creative field. This is a
  5173  	// required field on insertion.
  5174  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5175  
  5176  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5177  	// advertiser. This is a read-only, auto-generated field.
  5178  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5179  
  5180  	// Id: ID of this creative field. This is a read-only, auto-generated
  5181  	// field.
  5182  	Id int64 `json:"id,omitempty,string"`
  5183  
  5184  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5185  	// string "dfareporting#creativeField".
  5186  	Kind string `json:"kind,omitempty"`
  5187  
  5188  	// Name: Name of this creative field. This is a required field and must
  5189  	// be less than 256 characters long and unique among creative fields of
  5190  	// the same advertiser.
  5191  	Name string `json:"name,omitempty"`
  5192  
  5193  	// SubaccountId: Subaccount ID of this creative field. This is a
  5194  	// read-only field that can be left blank.
  5195  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5196  
  5197  	// ServerResponse contains the HTTP response code and headers from the
  5198  	// server.
  5199  	googleapi.ServerResponse `json:"-"`
  5200  
  5201  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5202  	// unconditionally include in API requests. By default, fields with
  5203  	// empty values are omitted from API requests. However, any non-pointer,
  5204  	// non-interface field appearing in ForceSendFields will be sent to the
  5205  	// server regardless of whether the field is empty or not. This may be
  5206  	// used to include empty fields in Patch requests.
  5207  	ForceSendFields []string `json:"-"`
  5208  
  5209  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5210  	// API requests with the JSON null value. By default, fields with empty
  5211  	// values are omitted from API requests. However, any field with an
  5212  	// empty value appearing in NullFields will be sent to the server as
  5213  	// null. It is an error if a field in this list has a non-empty value.
  5214  	// This may be used to include null fields in Patch requests.
  5215  	NullFields []string `json:"-"`
  5216  }
  5217  
  5218  func (s *CreativeField) MarshalJSON() ([]byte, error) {
  5219  	type NoMethod CreativeField
  5220  	raw := NoMethod(*s)
  5221  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5222  }
  5223  
  5224  // CreativeFieldAssignment: Creative Field Assignment.
  5225  type CreativeFieldAssignment struct {
  5226  	// CreativeFieldId: ID of the creative field.
  5227  	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
  5228  
  5229  	// CreativeFieldValueId: ID of the creative field value.
  5230  	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
  5231  
  5232  	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
  5233  	// unconditionally include in API requests. By default, fields with
  5234  	// empty values are omitted from API requests. However, any non-pointer,
  5235  	// non-interface field appearing in ForceSendFields will be sent to the
  5236  	// server regardless of whether the field is empty or not. This may be
  5237  	// used to include empty fields in Patch requests.
  5238  	ForceSendFields []string `json:"-"`
  5239  
  5240  	// NullFields is a list of field names (e.g. "CreativeFieldId") to
  5241  	// include in API requests with the JSON null value. By default, fields
  5242  	// with empty values are omitted from API requests. However, any field
  5243  	// with an empty value appearing in NullFields will be sent to the
  5244  	// server as null. It is an error if a field in this list has a
  5245  	// non-empty value. This may be used to include null fields in Patch
  5246  	// requests.
  5247  	NullFields []string `json:"-"`
  5248  }
  5249  
  5250  func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
  5251  	type NoMethod CreativeFieldAssignment
  5252  	raw := NoMethod(*s)
  5253  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5254  }
  5255  
  5256  // CreativeFieldValue: Contains properties of a creative field value.
  5257  type CreativeFieldValue struct {
  5258  	// Id: ID of this creative field value. This is a read-only,
  5259  	// auto-generated field.
  5260  	Id int64 `json:"id,omitempty,string"`
  5261  
  5262  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5263  	// string "dfareporting#creativeFieldValue".
  5264  	Kind string `json:"kind,omitempty"`
  5265  
  5266  	// Value: Value of this creative field value. It needs to be less than
  5267  	// 256 characters in length and unique per creative field.
  5268  	Value string `json:"value,omitempty"`
  5269  
  5270  	// ServerResponse contains the HTTP response code and headers from the
  5271  	// server.
  5272  	googleapi.ServerResponse `json:"-"`
  5273  
  5274  	// ForceSendFields is a list of field names (e.g. "Id") to
  5275  	// unconditionally include in API requests. By default, fields with
  5276  	// empty values are omitted from API requests. However, any non-pointer,
  5277  	// non-interface field appearing in ForceSendFields will be sent to the
  5278  	// server regardless of whether the field is empty or not. This may be
  5279  	// used to include empty fields in Patch requests.
  5280  	ForceSendFields []string `json:"-"`
  5281  
  5282  	// NullFields is a list of field names (e.g. "Id") to include in API
  5283  	// requests with the JSON null value. By default, fields with empty
  5284  	// values are omitted from API requests. However, any field with an
  5285  	// empty value appearing in NullFields will be sent to the server as
  5286  	// null. It is an error if a field in this list has a non-empty value.
  5287  	// This may be used to include null fields in Patch requests.
  5288  	NullFields []string `json:"-"`
  5289  }
  5290  
  5291  func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
  5292  	type NoMethod CreativeFieldValue
  5293  	raw := NoMethod(*s)
  5294  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5295  }
  5296  
  5297  // CreativeFieldValuesListResponse: Creative Field Value List Response
  5298  type CreativeFieldValuesListResponse struct {
  5299  	// CreativeFieldValues: Creative field value collection.
  5300  	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
  5301  
  5302  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5303  	// string "dfareporting#creativeFieldValuesListResponse".
  5304  	Kind string `json:"kind,omitempty"`
  5305  
  5306  	// NextPageToken: Pagination token to be used for the next list
  5307  	// operation.
  5308  	NextPageToken string `json:"nextPageToken,omitempty"`
  5309  
  5310  	// ServerResponse contains the HTTP response code and headers from the
  5311  	// server.
  5312  	googleapi.ServerResponse `json:"-"`
  5313  
  5314  	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
  5315  	// to unconditionally include in API requests. By default, fields with
  5316  	// empty values are omitted from API requests. However, any non-pointer,
  5317  	// non-interface field appearing in ForceSendFields will be sent to the
  5318  	// server regardless of whether the field is empty or not. This may be
  5319  	// used to include empty fields in Patch requests.
  5320  	ForceSendFields []string `json:"-"`
  5321  
  5322  	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
  5323  	// include in API requests with the JSON null value. By default, fields
  5324  	// with empty values are omitted from API requests. However, any field
  5325  	// with an empty value appearing in NullFields will be sent to the
  5326  	// server as null. It is an error if a field in this list has a
  5327  	// non-empty value. This may be used to include null fields in Patch
  5328  	// requests.
  5329  	NullFields []string `json:"-"`
  5330  }
  5331  
  5332  func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
  5333  	type NoMethod CreativeFieldValuesListResponse
  5334  	raw := NoMethod(*s)
  5335  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5336  }
  5337  
  5338  // CreativeFieldsListResponse: Creative Field List Response
  5339  type CreativeFieldsListResponse struct {
  5340  	// CreativeFields: Creative field collection.
  5341  	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
  5342  
  5343  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5344  	// string "dfareporting#creativeFieldsListResponse".
  5345  	Kind string `json:"kind,omitempty"`
  5346  
  5347  	// NextPageToken: Pagination token to be used for the next list
  5348  	// operation.
  5349  	NextPageToken string `json:"nextPageToken,omitempty"`
  5350  
  5351  	// ServerResponse contains the HTTP response code and headers from the
  5352  	// server.
  5353  	googleapi.ServerResponse `json:"-"`
  5354  
  5355  	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
  5356  	// unconditionally include in API requests. By default, fields with
  5357  	// empty values are omitted from API requests. However, any non-pointer,
  5358  	// non-interface field appearing in ForceSendFields will be sent to the
  5359  	// server regardless of whether the field is empty or not. This may be
  5360  	// used to include empty fields in Patch requests.
  5361  	ForceSendFields []string `json:"-"`
  5362  
  5363  	// NullFields is a list of field names (e.g. "CreativeFields") to
  5364  	// include in API requests with the JSON null value. By default, fields
  5365  	// with empty values are omitted from API requests. However, any field
  5366  	// with an empty value appearing in NullFields will be sent to the
  5367  	// server as null. It is an error if a field in this list has a
  5368  	// non-empty value. This may be used to include null fields in Patch
  5369  	// requests.
  5370  	NullFields []string `json:"-"`
  5371  }
  5372  
  5373  func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
  5374  	type NoMethod CreativeFieldsListResponse
  5375  	raw := NoMethod(*s)
  5376  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5377  }
  5378  
  5379  // CreativeGroup: Contains properties of a creative group.
  5380  type CreativeGroup struct {
  5381  	// AccountId: Account ID of this creative group. This is a read-only
  5382  	// field that can be left blank.
  5383  	AccountId int64 `json:"accountId,omitempty,string"`
  5384  
  5385  	// AdvertiserId: Advertiser ID of this creative group. This is a
  5386  	// required field on insertion.
  5387  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5388  
  5389  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5390  	// advertiser. This is a read-only, auto-generated field.
  5391  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5392  
  5393  	// GroupNumber: Subgroup of the creative group. Assign your creative
  5394  	// groups to a subgroup in order to filter or manage them more easily.
  5395  	// This field is required on insertion and is read-only after insertion.
  5396  	// Acceptable values are 1 to 2, inclusive.
  5397  	GroupNumber int64 `json:"groupNumber,omitempty"`
  5398  
  5399  	// Id: ID of this creative group. This is a read-only, auto-generated
  5400  	// field.
  5401  	Id int64 `json:"id,omitempty,string"`
  5402  
  5403  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5404  	// string "dfareporting#creativeGroup".
  5405  	Kind string `json:"kind,omitempty"`
  5406  
  5407  	// Name: Name of this creative group. This is a required field and must
  5408  	// be less than 256 characters long and unique among creative groups of
  5409  	// the same advertiser.
  5410  	Name string `json:"name,omitempty"`
  5411  
  5412  	// SubaccountId: Subaccount ID of this creative group. This is a
  5413  	// read-only field that can be left blank.
  5414  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5415  
  5416  	// ServerResponse contains the HTTP response code and headers from the
  5417  	// server.
  5418  	googleapi.ServerResponse `json:"-"`
  5419  
  5420  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5421  	// unconditionally include in API requests. By default, fields with
  5422  	// empty values are omitted from API requests. However, any non-pointer,
  5423  	// non-interface field appearing in ForceSendFields will be sent to the
  5424  	// server regardless of whether the field is empty or not. This may be
  5425  	// used to include empty fields in Patch requests.
  5426  	ForceSendFields []string `json:"-"`
  5427  
  5428  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5429  	// API requests with the JSON null value. By default, fields with empty
  5430  	// values are omitted from API requests. However, any field with an
  5431  	// empty value appearing in NullFields will be sent to the server as
  5432  	// null. It is an error if a field in this list has a non-empty value.
  5433  	// This may be used to include null fields in Patch requests.
  5434  	NullFields []string `json:"-"`
  5435  }
  5436  
  5437  func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
  5438  	type NoMethod CreativeGroup
  5439  	raw := NoMethod(*s)
  5440  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5441  }
  5442  
  5443  // CreativeGroupAssignment: Creative Group Assignment.
  5444  type CreativeGroupAssignment struct {
  5445  	// CreativeGroupId: ID of the creative group to be assigned.
  5446  	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
  5447  
  5448  	// CreativeGroupNumber: Creative group number of the creative group
  5449  	// assignment.
  5450  	//
  5451  	// Possible values:
  5452  	//   "CREATIVE_GROUP_ONE"
  5453  	//   "CREATIVE_GROUP_TWO"
  5454  	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
  5455  
  5456  	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
  5457  	// unconditionally include in API requests. By default, fields with
  5458  	// empty values are omitted from API requests. However, any non-pointer,
  5459  	// non-interface field appearing in ForceSendFields will be sent to the
  5460  	// server regardless of whether the field is empty or not. This may be
  5461  	// used to include empty fields in Patch requests.
  5462  	ForceSendFields []string `json:"-"`
  5463  
  5464  	// NullFields is a list of field names (e.g. "CreativeGroupId") to
  5465  	// include in API requests with the JSON null value. By default, fields
  5466  	// with empty values are omitted from API requests. However, any field
  5467  	// with an empty value appearing in NullFields will be sent to the
  5468  	// server as null. It is an error if a field in this list has a
  5469  	// non-empty value. This may be used to include null fields in Patch
  5470  	// requests.
  5471  	NullFields []string `json:"-"`
  5472  }
  5473  
  5474  func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
  5475  	type NoMethod CreativeGroupAssignment
  5476  	raw := NoMethod(*s)
  5477  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5478  }
  5479  
  5480  // CreativeGroupsListResponse: Creative Group List Response
  5481  type CreativeGroupsListResponse struct {
  5482  	// CreativeGroups: Creative group collection.
  5483  	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
  5484  
  5485  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5486  	// string "dfareporting#creativeGroupsListResponse".
  5487  	Kind string `json:"kind,omitempty"`
  5488  
  5489  	// NextPageToken: Pagination token to be used for the next list
  5490  	// operation.
  5491  	NextPageToken string `json:"nextPageToken,omitempty"`
  5492  
  5493  	// ServerResponse contains the HTTP response code and headers from the
  5494  	// server.
  5495  	googleapi.ServerResponse `json:"-"`
  5496  
  5497  	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
  5498  	// unconditionally include in API requests. By default, fields with
  5499  	// empty values are omitted from API requests. However, any non-pointer,
  5500  	// non-interface field appearing in ForceSendFields will be sent to the
  5501  	// server regardless of whether the field is empty or not. This may be
  5502  	// used to include empty fields in Patch requests.
  5503  	ForceSendFields []string `json:"-"`
  5504  
  5505  	// NullFields is a list of field names (e.g. "CreativeGroups") to
  5506  	// include in API requests with the JSON null value. By default, fields
  5507  	// with empty values are omitted from API requests. However, any field
  5508  	// with an empty value appearing in NullFields will be sent to the
  5509  	// server as null. It is an error if a field in this list has a
  5510  	// non-empty value. This may be used to include null fields in Patch
  5511  	// requests.
  5512  	NullFields []string `json:"-"`
  5513  }
  5514  
  5515  func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
  5516  	type NoMethod CreativeGroupsListResponse
  5517  	raw := NoMethod(*s)
  5518  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5519  }
  5520  
  5521  // CreativeOptimizationConfiguration: Creative optimization settings.
  5522  type CreativeOptimizationConfiguration struct {
  5523  	// Id: ID of this creative optimization config. This field is
  5524  	// auto-generated when the campaign is inserted or updated. It can be
  5525  	// null for existing campaigns.
  5526  	Id int64 `json:"id,omitempty,string"`
  5527  
  5528  	// Name: Name of this creative optimization config. This is a required
  5529  	// field and must be less than 129 characters long.
  5530  	Name string `json:"name,omitempty"`
  5531  
  5532  	// OptimizationActivitys: List of optimization activities associated
  5533  	// with this configuration.
  5534  	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
  5535  
  5536  	// OptimizationModel: Optimization model for this configuration.
  5537  	//
  5538  	// Possible values:
  5539  	//   "CLICK"
  5540  	//   "POST_CLICK"
  5541  	//   "POST_CLICK_AND_IMPRESSION"
  5542  	//   "POST_IMPRESSION"
  5543  	//   "VIDEO_COMPLETION"
  5544  	OptimizationModel string `json:"optimizationModel,omitempty"`
  5545  
  5546  	// ForceSendFields is a list of field names (e.g. "Id") to
  5547  	// unconditionally include in API requests. By default, fields with
  5548  	// empty values are omitted from API requests. However, any non-pointer,
  5549  	// non-interface field appearing in ForceSendFields will be sent to the
  5550  	// server regardless of whether the field is empty or not. This may be
  5551  	// used to include empty fields in Patch requests.
  5552  	ForceSendFields []string `json:"-"`
  5553  
  5554  	// NullFields is a list of field names (e.g. "Id") to include in API
  5555  	// requests with the JSON null value. By default, fields with empty
  5556  	// values are omitted from API requests. However, any field with an
  5557  	// empty value appearing in NullFields will be sent to the server as
  5558  	// null. It is an error if a field in this list has a non-empty value.
  5559  	// This may be used to include null fields in Patch requests.
  5560  	NullFields []string `json:"-"`
  5561  }
  5562  
  5563  func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
  5564  	type NoMethod CreativeOptimizationConfiguration
  5565  	raw := NoMethod(*s)
  5566  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5567  }
  5568  
  5569  // CreativeRotation: Creative Rotation.
  5570  type CreativeRotation struct {
  5571  	// CreativeAssignments: Creative assignments in this creative rotation.
  5572  	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
  5573  
  5574  	// CreativeOptimizationConfigurationId: Creative optimization
  5575  	// configuration that is used by this ad. It should refer to one of the
  5576  	// existing optimization configurations in the ad's campaign. If it is
  5577  	// unset or set to 0, then the campaign's default optimization
  5578  	// configuration will be used for this ad.
  5579  	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
  5580  
  5581  	// Type: Type of creative rotation. Can be used to specify whether to
  5582  	// use sequential or random rotation.
  5583  	//
  5584  	// Possible values:
  5585  	//   "CREATIVE_ROTATION_TYPE_RANDOM"
  5586  	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
  5587  	Type string `json:"type,omitempty"`
  5588  
  5589  	// WeightCalculationStrategy: Strategy for calculating weights. Used
  5590  	// with CREATIVE_ROTATION_TYPE_RANDOM.
  5591  	//
  5592  	// Possible values:
  5593  	//   "WEIGHT_STRATEGY_CUSTOM"
  5594  	//   "WEIGHT_STRATEGY_EQUAL"
  5595  	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
  5596  	//   "WEIGHT_STRATEGY_OPTIMIZED"
  5597  	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
  5598  
  5599  	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
  5600  	// to unconditionally include in API requests. By default, fields with
  5601  	// empty values are omitted from API requests. However, any non-pointer,
  5602  	// non-interface field appearing in ForceSendFields will be sent to the
  5603  	// server regardless of whether the field is empty or not. This may be
  5604  	// used to include empty fields in Patch requests.
  5605  	ForceSendFields []string `json:"-"`
  5606  
  5607  	// NullFields is a list of field names (e.g. "CreativeAssignments") to
  5608  	// include in API requests with the JSON null value. By default, fields
  5609  	// with empty values are omitted from API requests. However, any field
  5610  	// with an empty value appearing in NullFields will be sent to the
  5611  	// server as null. It is an error if a field in this list has a
  5612  	// non-empty value. This may be used to include null fields in Patch
  5613  	// requests.
  5614  	NullFields []string `json:"-"`
  5615  }
  5616  
  5617  func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
  5618  	type NoMethod CreativeRotation
  5619  	raw := NoMethod(*s)
  5620  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5621  }
  5622  
  5623  // CreativeSettings: Creative Settings
  5624  type CreativeSettings struct {
  5625  	// IFrameFooter: Header text for iFrames for this site. Must be less
  5626  	// than or equal to 2000 characters long.
  5627  	IFrameFooter string `json:"iFrameFooter,omitempty"`
  5628  
  5629  	// IFrameHeader: Header text for iFrames for this site. Must be less
  5630  	// than or equal to 2000 characters long.
  5631  	IFrameHeader string `json:"iFrameHeader,omitempty"`
  5632  
  5633  	// ForceSendFields is a list of field names (e.g. "IFrameFooter") to
  5634  	// unconditionally include in API requests. By default, fields with
  5635  	// empty values are omitted from API requests. However, any non-pointer,
  5636  	// non-interface field appearing in ForceSendFields will be sent to the
  5637  	// server regardless of whether the field is empty or not. This may be
  5638  	// used to include empty fields in Patch requests.
  5639  	ForceSendFields []string `json:"-"`
  5640  
  5641  	// NullFields is a list of field names (e.g. "IFrameFooter") to include
  5642  	// in API requests with the JSON null value. By default, fields with
  5643  	// empty values are omitted from API requests. However, any field with
  5644  	// an empty value appearing in NullFields will be sent to the server as
  5645  	// null. It is an error if a field in this list has a non-empty value.
  5646  	// This may be used to include null fields in Patch requests.
  5647  	NullFields []string `json:"-"`
  5648  }
  5649  
  5650  func (s *CreativeSettings) MarshalJSON() ([]byte, error) {
  5651  	type NoMethod CreativeSettings
  5652  	raw := NoMethod(*s)
  5653  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5654  }
  5655  
  5656  // CreativesListResponse: Creative List Response
  5657  type CreativesListResponse struct {
  5658  	// Creatives: Creative collection.
  5659  	Creatives []*Creative `json:"creatives,omitempty"`
  5660  
  5661  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5662  	// string "dfareporting#creativesListResponse".
  5663  	Kind string `json:"kind,omitempty"`
  5664  
  5665  	// NextPageToken: Pagination token to be used for the next list
  5666  	// operation.
  5667  	NextPageToken string `json:"nextPageToken,omitempty"`
  5668  
  5669  	// ServerResponse contains the HTTP response code and headers from the
  5670  	// server.
  5671  	googleapi.ServerResponse `json:"-"`
  5672  
  5673  	// ForceSendFields is a list of field names (e.g. "Creatives") to
  5674  	// unconditionally include in API requests. By default, fields with
  5675  	// empty values are omitted from API requests. However, any non-pointer,
  5676  	// non-interface field appearing in ForceSendFields will be sent to the
  5677  	// server regardless of whether the field is empty or not. This may be
  5678  	// used to include empty fields in Patch requests.
  5679  	ForceSendFields []string `json:"-"`
  5680  
  5681  	// NullFields is a list of field names (e.g. "Creatives") to include in
  5682  	// API requests with the JSON null value. By default, fields with empty
  5683  	// values are omitted from API requests. However, any field with an
  5684  	// empty value appearing in NullFields will be sent to the server as
  5685  	// null. It is an error if a field in this list has a non-empty value.
  5686  	// This may be used to include null fields in Patch requests.
  5687  	NullFields []string `json:"-"`
  5688  }
  5689  
  5690  func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
  5691  	type NoMethod CreativesListResponse
  5692  	raw := NoMethod(*s)
  5693  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5694  }
  5695  
  5696  // CrossDimensionReachReportCompatibleFields: Represents fields that are
  5697  // compatible to be selected for a report of type
  5698  // "CROSS_DIMENSION_REACH".
  5699  type CrossDimensionReachReportCompatibleFields struct {
  5700  	// Breakdown: Dimensions which are compatible to be selected in the
  5701  	// "breakdown" section of the report.
  5702  	Breakdown []*Dimension `json:"breakdown,omitempty"`
  5703  
  5704  	// DimensionFilters: Dimensions which are compatible to be selected in
  5705  	// the "dimensionFilters" section of the report.
  5706  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  5707  
  5708  	// Kind: The kind of resource this is, in this case
  5709  	// dfareporting#crossDimensionReachReportCompatibleFields.
  5710  	Kind string `json:"kind,omitempty"`
  5711  
  5712  	// Metrics: Metrics which are compatible to be selected in the
  5713  	// "metricNames" section of the report.
  5714  	Metrics []*Metric `json:"metrics,omitempty"`
  5715  
  5716  	// OverlapMetrics: Metrics which are compatible to be selected in the
  5717  	// "overlapMetricNames" section of the report.
  5718  	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
  5719  
  5720  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
  5721  	// unconditionally include in API requests. By default, fields with
  5722  	// empty values are omitted from API requests. However, any non-pointer,
  5723  	// non-interface field appearing in ForceSendFields will be sent to the
  5724  	// server regardless of whether the field is empty or not. This may be
  5725  	// used to include empty fields in Patch requests.
  5726  	ForceSendFields []string `json:"-"`
  5727  
  5728  	// NullFields is a list of field names (e.g. "Breakdown") to include in
  5729  	// API requests with the JSON null value. By default, fields with empty
  5730  	// values are omitted from API requests. However, any field with an
  5731  	// empty value appearing in NullFields will be sent to the server as
  5732  	// null. It is an error if a field in this list has a non-empty value.
  5733  	// This may be used to include null fields in Patch requests.
  5734  	NullFields []string `json:"-"`
  5735  }
  5736  
  5737  func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
  5738  	type NoMethod CrossDimensionReachReportCompatibleFields
  5739  	raw := NoMethod(*s)
  5740  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5741  }
  5742  
  5743  // CustomFloodlightVariable: A custom floodlight variable.
  5744  type CustomFloodlightVariable struct {
  5745  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5746  	// string "dfareporting#customFloodlightVariable".
  5747  	Kind string `json:"kind,omitempty"`
  5748  
  5749  	// Type: The type of custom floodlight variable to supply a value for.
  5750  	// These map to the "u[1-20]=" in the tags.
  5751  	//
  5752  	// Possible values:
  5753  	//   "U1"
  5754  	//   "U10"
  5755  	//   "U100"
  5756  	//   "U11"
  5757  	//   "U12"
  5758  	//   "U13"
  5759  	//   "U14"
  5760  	//   "U15"
  5761  	//   "U16"
  5762  	//   "U17"
  5763  	//   "U18"
  5764  	//   "U19"
  5765  	//   "U2"
  5766  	//   "U20"
  5767  	//   "U21"
  5768  	//   "U22"
  5769  	//   "U23"
  5770  	//   "U24"
  5771  	//   "U25"
  5772  	//   "U26"
  5773  	//   "U27"
  5774  	//   "U28"
  5775  	//   "U29"
  5776  	//   "U3"
  5777  	//   "U30"
  5778  	//   "U31"
  5779  	//   "U32"
  5780  	//   "U33"
  5781  	//   "U34"
  5782  	//   "U35"
  5783  	//   "U36"
  5784  	//   "U37"
  5785  	//   "U38"
  5786  	//   "U39"
  5787  	//   "U4"
  5788  	//   "U40"
  5789  	//   "U41"
  5790  	//   "U42"
  5791  	//   "U43"
  5792  	//   "U44"
  5793  	//   "U45"
  5794  	//   "U46"
  5795  	//   "U47"
  5796  	//   "U48"
  5797  	//   "U49"
  5798  	//   "U5"
  5799  	//   "U50"
  5800  	//   "U51"
  5801  	//   "U52"
  5802  	//   "U53"
  5803  	//   "U54"
  5804  	//   "U55"
  5805  	//   "U56"
  5806  	//   "U57"
  5807  	//   "U58"
  5808  	//   "U59"
  5809  	//   "U6"
  5810  	//   "U60"
  5811  	//   "U61"
  5812  	//   "U62"
  5813  	//   "U63"
  5814  	//   "U64"
  5815  	//   "U65"
  5816  	//   "U66"
  5817  	//   "U67"
  5818  	//   "U68"
  5819  	//   "U69"
  5820  	//   "U7"
  5821  	//   "U70"
  5822  	//   "U71"
  5823  	//   "U72"
  5824  	//   "U73"
  5825  	//   "U74"
  5826  	//   "U75"
  5827  	//   "U76"
  5828  	//   "U77"
  5829  	//   "U78"
  5830  	//   "U79"
  5831  	//   "U8"
  5832  	//   "U80"
  5833  	//   "U81"
  5834  	//   "U82"
  5835  	//   "U83"
  5836  	//   "U84"
  5837  	//   "U85"
  5838  	//   "U86"
  5839  	//   "U87"
  5840  	//   "U88"
  5841  	//   "U89"
  5842  	//   "U9"
  5843  	//   "U90"
  5844  	//   "U91"
  5845  	//   "U92"
  5846  	//   "U93"
  5847  	//   "U94"
  5848  	//   "U95"
  5849  	//   "U96"
  5850  	//   "U97"
  5851  	//   "U98"
  5852  	//   "U99"
  5853  	Type string `json:"type,omitempty"`
  5854  
  5855  	// Value: The value of the custom floodlight variable. The length of
  5856  	// string must not exceed 50 characters.
  5857  	Value string `json:"value,omitempty"`
  5858  
  5859  	// ForceSendFields is a list of field names (e.g. "Kind") to
  5860  	// unconditionally include in API requests. By default, fields with
  5861  	// empty values are omitted from API requests. However, any non-pointer,
  5862  	// non-interface field appearing in ForceSendFields will be sent to the
  5863  	// server regardless of whether the field is empty or not. This may be
  5864  	// used to include empty fields in Patch requests.
  5865  	ForceSendFields []string `json:"-"`
  5866  
  5867  	// NullFields is a list of field names (e.g. "Kind") to include in API
  5868  	// requests with the JSON null value. By default, fields with empty
  5869  	// values are omitted from API requests. However, any field with an
  5870  	// empty value appearing in NullFields will be sent to the server as
  5871  	// null. It is an error if a field in this list has a non-empty value.
  5872  	// This may be used to include null fields in Patch requests.
  5873  	NullFields []string `json:"-"`
  5874  }
  5875  
  5876  func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
  5877  	type NoMethod CustomFloodlightVariable
  5878  	raw := NoMethod(*s)
  5879  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5880  }
  5881  
  5882  // CustomRichMediaEvents: Represents a Custom Rich Media Events group.
  5883  type CustomRichMediaEvents struct {
  5884  	// FilteredEventIds: List of custom rich media event IDs. Dimension
  5885  	// values must be all of type dfa:richMediaEventTypeIdAndName.
  5886  	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
  5887  
  5888  	// Kind: The kind of resource this is, in this case
  5889  	// dfareporting#customRichMediaEvents.
  5890  	Kind string `json:"kind,omitempty"`
  5891  
  5892  	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
  5893  	// unconditionally include in API requests. By default, fields with
  5894  	// empty values are omitted from API requests. However, any non-pointer,
  5895  	// non-interface field appearing in ForceSendFields will be sent to the
  5896  	// server regardless of whether the field is empty or not. This may be
  5897  	// used to include empty fields in Patch requests.
  5898  	ForceSendFields []string `json:"-"`
  5899  
  5900  	// NullFields is a list of field names (e.g. "FilteredEventIds") to
  5901  	// include in API requests with the JSON null value. By default, fields
  5902  	// with empty values are omitted from API requests. However, any field
  5903  	// with an empty value appearing in NullFields will be sent to the
  5904  	// server as null. It is an error if a field in this list has a
  5905  	// non-empty value. This may be used to include null fields in Patch
  5906  	// requests.
  5907  	NullFields []string `json:"-"`
  5908  }
  5909  
  5910  func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
  5911  	type NoMethod CustomRichMediaEvents
  5912  	raw := NoMethod(*s)
  5913  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5914  }
  5915  
  5916  // DateRange: Represents a date range.
  5917  type DateRange struct {
  5918  	// EndDate: The end date of the date range, inclusive. A string of the
  5919  	// format: "yyyy-MM-dd".
  5920  	EndDate string `json:"endDate,omitempty"`
  5921  
  5922  	// Kind: The kind of resource this is, in this case
  5923  	// dfareporting#dateRange.
  5924  	Kind string `json:"kind,omitempty"`
  5925  
  5926  	// RelativeDateRange: The date range relative to the date of when the
  5927  	// report is run.
  5928  	//
  5929  	// Possible values:
  5930  	//   "LAST_14_DAYS"
  5931  	//   "LAST_24_MONTHS"
  5932  	//   "LAST_30_DAYS"
  5933  	//   "LAST_365_DAYS"
  5934  	//   "LAST_60_DAYS"
  5935  	//   "LAST_7_DAYS"
  5936  	//   "LAST_90_DAYS"
  5937  	//   "MONTH_TO_DATE"
  5938  	//   "PREVIOUS_MONTH"
  5939  	//   "PREVIOUS_QUARTER"
  5940  	//   "PREVIOUS_WEEK"
  5941  	//   "PREVIOUS_YEAR"
  5942  	//   "QUARTER_TO_DATE"
  5943  	//   "TODAY"
  5944  	//   "WEEK_TO_DATE"
  5945  	//   "YEAR_TO_DATE"
  5946  	//   "YESTERDAY"
  5947  	RelativeDateRange string `json:"relativeDateRange,omitempty"`
  5948  
  5949  	// StartDate: The start date of the date range, inclusive. A string of
  5950  	// the format: "yyyy-MM-dd".
  5951  	StartDate string `json:"startDate,omitempty"`
  5952  
  5953  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  5954  	// unconditionally include in API requests. By default, fields with
  5955  	// empty values are omitted from API requests. However, any non-pointer,
  5956  	// non-interface field appearing in ForceSendFields will be sent to the
  5957  	// server regardless of whether the field is empty or not. This may be
  5958  	// used to include empty fields in Patch requests.
  5959  	ForceSendFields []string `json:"-"`
  5960  
  5961  	// NullFields is a list of field names (e.g. "EndDate") to include in
  5962  	// API requests with the JSON null value. By default, fields with empty
  5963  	// values are omitted from API requests. However, any field with an
  5964  	// empty value appearing in NullFields will be sent to the server as
  5965  	// null. It is an error if a field in this list has a non-empty value.
  5966  	// This may be used to include null fields in Patch requests.
  5967  	NullFields []string `json:"-"`
  5968  }
  5969  
  5970  func (s *DateRange) MarshalJSON() ([]byte, error) {
  5971  	type NoMethod DateRange
  5972  	raw := NoMethod(*s)
  5973  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5974  }
  5975  
  5976  // DayPartTargeting: Day Part Targeting.
  5977  type DayPartTargeting struct {
  5978  	// DaysOfWeek: Days of the week when the ad will serve.
  5979  	//
  5980  	// Acceptable values are:
  5981  	// - "SUNDAY"
  5982  	// - "MONDAY"
  5983  	// - "TUESDAY"
  5984  	// - "WEDNESDAY"
  5985  	// - "THURSDAY"
  5986  	// - "FRIDAY"
  5987  	// - "SATURDAY"
  5988  	//
  5989  	// Possible values:
  5990  	//   "FRIDAY"
  5991  	//   "MONDAY"
  5992  	//   "SATURDAY"
  5993  	//   "SUNDAY"
  5994  	//   "THURSDAY"
  5995  	//   "TUESDAY"
  5996  	//   "WEDNESDAY"
  5997  	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
  5998  
  5999  	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
  6000  	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
  6001  	// days of week, in which case the ad would serve during these hours on
  6002  	// the specified days. For example if Monday, Wednesday, Friday are the
  6003  	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
  6004  	// specified, the ad would serve Monday, Wednesdays, and Fridays at
  6005  	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
  6006  	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
  6007  
  6008  	// UserLocalTime: Whether or not to use the user's local time. If false,
  6009  	// the America/New York time zone applies.
  6010  	UserLocalTime bool `json:"userLocalTime,omitempty"`
  6011  
  6012  	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
  6013  	// unconditionally include in API requests. By default, fields with
  6014  	// empty values are omitted from API requests. However, any non-pointer,
  6015  	// non-interface field appearing in ForceSendFields will be sent to the
  6016  	// server regardless of whether the field is empty or not. This may be
  6017  	// used to include empty fields in Patch requests.
  6018  	ForceSendFields []string `json:"-"`
  6019  
  6020  	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
  6021  	// API requests with the JSON null value. By default, fields with empty
  6022  	// values are omitted from API requests. However, any field with an
  6023  	// empty value appearing in NullFields will be sent to the server as
  6024  	// null. It is an error if a field in this list has a non-empty value.
  6025  	// This may be used to include null fields in Patch requests.
  6026  	NullFields []string `json:"-"`
  6027  }
  6028  
  6029  func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
  6030  	type NoMethod DayPartTargeting
  6031  	raw := NoMethod(*s)
  6032  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6033  }
  6034  
  6035  // DefaultClickThroughEventTagProperties: Properties of inheriting and
  6036  // overriding the default click-through event tag. A campaign may
  6037  // override the event tag defined at the advertiser level, and an ad may
  6038  // also override the campaign's setting further.
  6039  type DefaultClickThroughEventTagProperties struct {
  6040  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  6041  	// apply to all ads in this entity's scope.
  6042  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  6043  
  6044  	// OverrideInheritedEventTag: Whether this entity should override the
  6045  	// inherited default click-through event tag with its own defined value.
  6046  	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
  6047  
  6048  	// ForceSendFields is a list of field names (e.g.
  6049  	// "DefaultClickThroughEventTagId") to unconditionally include in API
  6050  	// requests. By default, fields with empty values are omitted from API
  6051  	// requests. However, any non-pointer, non-interface field appearing in
  6052  	// ForceSendFields will be sent to the server regardless of whether the
  6053  	// field is empty or not. This may be used to include empty fields in
  6054  	// Patch requests.
  6055  	ForceSendFields []string `json:"-"`
  6056  
  6057  	// NullFields is a list of field names (e.g.
  6058  	// "DefaultClickThroughEventTagId") to include in API requests with the
  6059  	// JSON null value. By default, fields with empty values are omitted
  6060  	// from API requests. However, any field with an empty value appearing
  6061  	// in NullFields will be sent to the server as null. It is an error if a
  6062  	// field in this list has a non-empty value. This may be used to include
  6063  	// null fields in Patch requests.
  6064  	NullFields []string `json:"-"`
  6065  }
  6066  
  6067  func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
  6068  	type NoMethod DefaultClickThroughEventTagProperties
  6069  	raw := NoMethod(*s)
  6070  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6071  }
  6072  
  6073  // DeliverySchedule: Delivery Schedule.
  6074  type DeliverySchedule struct {
  6075  	// FrequencyCap: Limit on the number of times an individual user can be
  6076  	// served the ad within a specified period of time.
  6077  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  6078  
  6079  	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
  6080  	// will not serve after the end date and time. Otherwise the ad will
  6081  	// continue to be served until it has reached its delivery goals.
  6082  	HardCutoff bool `json:"hardCutoff,omitempty"`
  6083  
  6084  	// ImpressionRatio: Impression ratio for this ad. This ratio determines
  6085  	// how often each ad is served relative to the others. For example, if
  6086  	// ad A has an impression ratio of 1 and ad B has an impression ratio of
  6087  	// 3, then Campaign Manager will serve ad B three times as often as ad
  6088  	// A. Acceptable values are 1 to 10, inclusive.
  6089  	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
  6090  
  6091  	// Priority: Serving priority of an ad, with respect to other ads. The
  6092  	// lower the priority number, the greater the priority with which it is
  6093  	// served.
  6094  	//
  6095  	// Possible values:
  6096  	//   "AD_PRIORITY_01"
  6097  	//   "AD_PRIORITY_02"
  6098  	//   "AD_PRIORITY_03"
  6099  	//   "AD_PRIORITY_04"
  6100  	//   "AD_PRIORITY_05"
  6101  	//   "AD_PRIORITY_06"
  6102  	//   "AD_PRIORITY_07"
  6103  	//   "AD_PRIORITY_08"
  6104  	//   "AD_PRIORITY_09"
  6105  	//   "AD_PRIORITY_10"
  6106  	//   "AD_PRIORITY_11"
  6107  	//   "AD_PRIORITY_12"
  6108  	//   "AD_PRIORITY_13"
  6109  	//   "AD_PRIORITY_14"
  6110  	//   "AD_PRIORITY_15"
  6111  	//   "AD_PRIORITY_16"
  6112  	Priority string `json:"priority,omitempty"`
  6113  
  6114  	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
  6115  	// unconditionally include in API requests. By default, fields with
  6116  	// empty values are omitted from API requests. However, any non-pointer,
  6117  	// non-interface field appearing in ForceSendFields will be sent to the
  6118  	// server regardless of whether the field is empty or not. This may be
  6119  	// used to include empty fields in Patch requests.
  6120  	ForceSendFields []string `json:"-"`
  6121  
  6122  	// NullFields is a list of field names (e.g. "FrequencyCap") to include
  6123  	// in API requests with the JSON null value. By default, fields with
  6124  	// empty values are omitted from API requests. However, any field with
  6125  	// an empty value appearing in NullFields will be sent to the server as
  6126  	// null. It is an error if a field in this list has a non-empty value.
  6127  	// This may be used to include null fields in Patch requests.
  6128  	NullFields []string `json:"-"`
  6129  }
  6130  
  6131  func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
  6132  	type NoMethod DeliverySchedule
  6133  	raw := NoMethod(*s)
  6134  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6135  }
  6136  
  6137  // DfpSettings: Google Ad Manager Settings
  6138  type DfpSettings struct {
  6139  	// DfpNetworkCode: Ad Manager network code for this directory site.
  6140  	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
  6141  
  6142  	// DfpNetworkName: Ad Manager network name for this directory site.
  6143  	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
  6144  
  6145  	// ProgrammaticPlacementAccepted: Whether this directory site accepts
  6146  	// programmatic placements.
  6147  	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
  6148  
  6149  	// PubPaidPlacementAccepted: Whether this directory site accepts
  6150  	// publisher-paid tags.
  6151  	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
  6152  
  6153  	// PublisherPortalOnly: Whether this directory site is available only
  6154  	// via Publisher Portal.
  6155  	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
  6156  
  6157  	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
  6158  	// unconditionally include in API requests. By default, fields with
  6159  	// empty values are omitted from API requests. However, any non-pointer,
  6160  	// non-interface field appearing in ForceSendFields will be sent to the
  6161  	// server regardless of whether the field is empty or not. This may be
  6162  	// used to include empty fields in Patch requests.
  6163  	ForceSendFields []string `json:"-"`
  6164  
  6165  	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
  6166  	// include in API requests with the JSON null value. By default, fields
  6167  	// with empty values are omitted from API requests. However, any field
  6168  	// with an empty value appearing in NullFields will be sent to the
  6169  	// server as null. It is an error if a field in this list has a
  6170  	// non-empty value. This may be used to include null fields in Patch
  6171  	// requests.
  6172  	NullFields []string `json:"-"`
  6173  }
  6174  
  6175  func (s *DfpSettings) MarshalJSON() ([]byte, error) {
  6176  	type NoMethod DfpSettings
  6177  	raw := NoMethod(*s)
  6178  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6179  }
  6180  
  6181  // Dimension: Represents a dimension.
  6182  type Dimension struct {
  6183  	// Kind: The kind of resource this is, in this case
  6184  	// dfareporting#dimension.
  6185  	Kind string `json:"kind,omitempty"`
  6186  
  6187  	// Name: The dimension name, e.g. dfa:advertiser
  6188  	Name string `json:"name,omitempty"`
  6189  
  6190  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6191  	// unconditionally include in API requests. By default, fields with
  6192  	// empty values are omitted from API requests. However, any non-pointer,
  6193  	// non-interface field appearing in ForceSendFields will be sent to the
  6194  	// server regardless of whether the field is empty or not. This may be
  6195  	// used to include empty fields in Patch requests.
  6196  	ForceSendFields []string `json:"-"`
  6197  
  6198  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6199  	// requests with the JSON null value. By default, fields with empty
  6200  	// values are omitted from API requests. However, any field with an
  6201  	// empty value appearing in NullFields will be sent to the server as
  6202  	// null. It is an error if a field in this list has a non-empty value.
  6203  	// This may be used to include null fields in Patch requests.
  6204  	NullFields []string `json:"-"`
  6205  }
  6206  
  6207  func (s *Dimension) MarshalJSON() ([]byte, error) {
  6208  	type NoMethod Dimension
  6209  	raw := NoMethod(*s)
  6210  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6211  }
  6212  
  6213  // DimensionFilter: Represents a dimension filter.
  6214  type DimensionFilter struct {
  6215  	// DimensionName: The name of the dimension to filter.
  6216  	DimensionName string `json:"dimensionName,omitempty"`
  6217  
  6218  	// Kind: The kind of resource this is, in this case
  6219  	// dfareporting#dimensionFilter.
  6220  	Kind string `json:"kind,omitempty"`
  6221  
  6222  	// Value: The value of the dimension to filter.
  6223  	Value string `json:"value,omitempty"`
  6224  
  6225  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6226  	// unconditionally include in API requests. By default, fields with
  6227  	// empty values are omitted from API requests. However, any non-pointer,
  6228  	// non-interface field appearing in ForceSendFields will be sent to the
  6229  	// server regardless of whether the field is empty or not. This may be
  6230  	// used to include empty fields in Patch requests.
  6231  	ForceSendFields []string `json:"-"`
  6232  
  6233  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6234  	// in API requests with the JSON null value. By default, fields with
  6235  	// empty values are omitted from API requests. However, any field with
  6236  	// an empty value appearing in NullFields will be sent to the server as
  6237  	// null. It is an error if a field in this list has a non-empty value.
  6238  	// This may be used to include null fields in Patch requests.
  6239  	NullFields []string `json:"-"`
  6240  }
  6241  
  6242  func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
  6243  	type NoMethod DimensionFilter
  6244  	raw := NoMethod(*s)
  6245  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6246  }
  6247  
  6248  // DimensionValue: Represents a DimensionValue resource.
  6249  type DimensionValue struct {
  6250  	// DimensionName: The name of the dimension.
  6251  	DimensionName string `json:"dimensionName,omitempty"`
  6252  
  6253  	// Etag: The eTag of this response for caching purposes.
  6254  	Etag string `json:"etag,omitempty"`
  6255  
  6256  	// Id: The ID associated with the value if available.
  6257  	Id string `json:"id,omitempty"`
  6258  
  6259  	// Kind: The kind of resource this is, in this case
  6260  	// dfareporting#dimensionValue.
  6261  	Kind string `json:"kind,omitempty"`
  6262  
  6263  	// MatchType: Determines how the 'value' field is matched when
  6264  	// filtering. If not specified, defaults to EXACT. If set to
  6265  	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
  6266  	// length character sequences, and it can be escaped with a backslash.
  6267  	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
  6268  	// matchType other than EXACT.
  6269  	//
  6270  	// Possible values:
  6271  	//   "BEGINS_WITH"
  6272  	//   "CONTAINS"
  6273  	//   "EXACT"
  6274  	//   "WILDCARD_EXPRESSION"
  6275  	MatchType string `json:"matchType,omitempty"`
  6276  
  6277  	// Value: The value of the dimension.
  6278  	Value string `json:"value,omitempty"`
  6279  
  6280  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6281  	// unconditionally include in API requests. By default, fields with
  6282  	// empty values are omitted from API requests. However, any non-pointer,
  6283  	// non-interface field appearing in ForceSendFields will be sent to the
  6284  	// server regardless of whether the field is empty or not. This may be
  6285  	// used to include empty fields in Patch requests.
  6286  	ForceSendFields []string `json:"-"`
  6287  
  6288  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6289  	// in API requests with the JSON null value. By default, fields with
  6290  	// empty values are omitted from API requests. However, any field with
  6291  	// an empty value appearing in NullFields will be sent to the server as
  6292  	// null. It is an error if a field in this list has a non-empty value.
  6293  	// This may be used to include null fields in Patch requests.
  6294  	NullFields []string `json:"-"`
  6295  }
  6296  
  6297  func (s *DimensionValue) MarshalJSON() ([]byte, error) {
  6298  	type NoMethod DimensionValue
  6299  	raw := NoMethod(*s)
  6300  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6301  }
  6302  
  6303  // DimensionValueList: Represents the list of DimensionValue resources.
  6304  type DimensionValueList struct {
  6305  	// Etag: The eTag of this response for caching purposes.
  6306  	Etag string `json:"etag,omitempty"`
  6307  
  6308  	// Items: The dimension values returned in this response.
  6309  	Items []*DimensionValue `json:"items,omitempty"`
  6310  
  6311  	// Kind: The kind of list this is, in this case
  6312  	// dfareporting#dimensionValueList.
  6313  	Kind string `json:"kind,omitempty"`
  6314  
  6315  	// NextPageToken: Continuation token used to page through dimension
  6316  	// values. To retrieve the next page of results, set the next request's
  6317  	// "pageToken" to the value of this field. The page token is only valid
  6318  	// for a limited amount of time and should not be persisted.
  6319  	NextPageToken string `json:"nextPageToken,omitempty"`
  6320  
  6321  	// ServerResponse contains the HTTP response code and headers from the
  6322  	// server.
  6323  	googleapi.ServerResponse `json:"-"`
  6324  
  6325  	// ForceSendFields is a list of field names (e.g. "Etag") to
  6326  	// unconditionally include in API requests. By default, fields with
  6327  	// empty values are omitted from API requests. However, any non-pointer,
  6328  	// non-interface field appearing in ForceSendFields will be sent to the
  6329  	// server regardless of whether the field is empty or not. This may be
  6330  	// used to include empty fields in Patch requests.
  6331  	ForceSendFields []string `json:"-"`
  6332  
  6333  	// NullFields is a list of field names (e.g. "Etag") to include in API
  6334  	// requests with the JSON null value. By default, fields with empty
  6335  	// values are omitted from API requests. However, any field with an
  6336  	// empty value appearing in NullFields will be sent to the server as
  6337  	// null. It is an error if a field in this list has a non-empty value.
  6338  	// This may be used to include null fields in Patch requests.
  6339  	NullFields []string `json:"-"`
  6340  }
  6341  
  6342  func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
  6343  	type NoMethod DimensionValueList
  6344  	raw := NoMethod(*s)
  6345  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6346  }
  6347  
  6348  // DimensionValueRequest: Represents a DimensionValuesRequest.
  6349  type DimensionValueRequest struct {
  6350  	// DimensionName: The name of the dimension for which values should be
  6351  	// requested.
  6352  	DimensionName string `json:"dimensionName,omitempty"`
  6353  
  6354  	// EndDate: The end date of the date range for which to retrieve
  6355  	// dimension values. A string of the format "yyyy-MM-dd".
  6356  	EndDate string `json:"endDate,omitempty"`
  6357  
  6358  	// Filters: The list of filters by which to filter values. The filters
  6359  	// are ANDed.
  6360  	Filters []*DimensionFilter `json:"filters,omitempty"`
  6361  
  6362  	// Kind: The kind of request this is, in this case
  6363  	// dfareporting#dimensionValueRequest.
  6364  	Kind string `json:"kind,omitempty"`
  6365  
  6366  	// StartDate: The start date of the date range for which to retrieve
  6367  	// dimension values. A string of the format "yyyy-MM-dd".
  6368  	StartDate string `json:"startDate,omitempty"`
  6369  
  6370  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6371  	// unconditionally include in API requests. By default, fields with
  6372  	// empty values are omitted from API requests. However, any non-pointer,
  6373  	// non-interface field appearing in ForceSendFields will be sent to the
  6374  	// server regardless of whether the field is empty or not. This may be
  6375  	// used to include empty fields in Patch requests.
  6376  	ForceSendFields []string `json:"-"`
  6377  
  6378  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6379  	// in API requests with the JSON null value. By default, fields with
  6380  	// empty values are omitted from API requests. However, any field with
  6381  	// an empty value appearing in NullFields will be sent to the server as
  6382  	// null. It is an error if a field in this list has a non-empty value.
  6383  	// This may be used to include null fields in Patch requests.
  6384  	NullFields []string `json:"-"`
  6385  }
  6386  
  6387  func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
  6388  	type NoMethod DimensionValueRequest
  6389  	raw := NoMethod(*s)
  6390  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6391  }
  6392  
  6393  // DirectorySite: DirectorySites contains properties of a website from
  6394  // the Site Directory. Sites need to be added to an account via the
  6395  // Sites resource before they can be assigned to a placement.
  6396  type DirectorySite struct {
  6397  	// Active: Whether this directory site is active.
  6398  	Active bool `json:"active,omitempty"`
  6399  
  6400  	// ContactAssignments: Directory site contacts.
  6401  	ContactAssignments []*DirectorySiteContactAssignment `json:"contactAssignments,omitempty"`
  6402  
  6403  	// CountryId: Country ID of this directory site. This is a read-only
  6404  	// field.
  6405  	CountryId int64 `json:"countryId,omitempty,string"`
  6406  
  6407  	// CurrencyId: Currency ID of this directory site. This is a read-only
  6408  	// field.
  6409  	// Possible values are:
  6410  	// - "1" for USD
  6411  	// - "2" for GBP
  6412  	// - "3" for ESP
  6413  	// - "4" for SEK
  6414  	// - "5" for CAD
  6415  	// - "6" for JPY
  6416  	// - "7" for DEM
  6417  	// - "8" for AUD
  6418  	// - "9" for FRF
  6419  	// - "10" for ITL
  6420  	// - "11" for DKK
  6421  	// - "12" for NOK
  6422  	// - "13" for FIM
  6423  	// - "14" for ZAR
  6424  	// - "15" for IEP
  6425  	// - "16" for NLG
  6426  	// - "17" for EUR
  6427  	// - "18" for KRW
  6428  	// - "19" for TWD
  6429  	// - "20" for SGD
  6430  	// - "21" for CNY
  6431  	// - "22" for HKD
  6432  	// - "23" for NZD
  6433  	// - "24" for MYR
  6434  	// - "25" for BRL
  6435  	// - "26" for PTE
  6436  	// - "27" for MXP
  6437  	// - "28" for CLP
  6438  	// - "29" for TRY
  6439  	// - "30" for ARS
  6440  	// - "31" for PEN
  6441  	// - "32" for ILS
  6442  	// - "33" for CHF
  6443  	// - "34" for VEF
  6444  	// - "35" for COP
  6445  	// - "36" for GTQ
  6446  	// - "37" for PLN
  6447  	// - "39" for INR
  6448  	// - "40" for THB
  6449  	// - "41" for IDR
  6450  	// - "42" for CZK
  6451  	// - "43" for RON
  6452  	// - "44" for HUF
  6453  	// - "45" for RUB
  6454  	// - "46" for AED
  6455  	// - "47" for BGN
  6456  	// - "48" for HRK
  6457  	// - "49" for MXN
  6458  	// - "50" for NGN
  6459  	CurrencyId int64 `json:"currencyId,omitempty,string"`
  6460  
  6461  	// Description: Description of this directory site. This is a read-only
  6462  	// field.
  6463  	Description string `json:"description,omitempty"`
  6464  
  6465  	// Id: ID of this directory site. This is a read-only, auto-generated
  6466  	// field.
  6467  	Id int64 `json:"id,omitempty,string"`
  6468  
  6469  	// IdDimensionValue: Dimension value for the ID of this directory site.
  6470  	// This is a read-only, auto-generated field.
  6471  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  6472  
  6473  	// InpageTagFormats: Tag types for regular placements.
  6474  	//
  6475  	// Acceptable values are:
  6476  	// - "STANDARD"
  6477  	// - "IFRAME_JAVASCRIPT_INPAGE"
  6478  	// - "INTERNAL_REDIRECT_INPAGE"
  6479  	// - "JAVASCRIPT_INPAGE"
  6480  	//
  6481  	// Possible values:
  6482  	//   "IFRAME_JAVASCRIPT_INPAGE"
  6483  	//   "INTERNAL_REDIRECT_INPAGE"
  6484  	//   "JAVASCRIPT_INPAGE"
  6485  	//   "STANDARD"
  6486  	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
  6487  
  6488  	// InterstitialTagFormats: Tag types for interstitial
  6489  	// placements.
  6490  	//
  6491  	// Acceptable values are:
  6492  	// - "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6493  	// - "INTERNAL_REDIRECT_INTERSTITIAL"
  6494  	// - "JAVASCRIPT_INTERSTITIAL"
  6495  	//
  6496  	// Possible values:
  6497  	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6498  	//   "INTERNAL_REDIRECT_INTERSTITIAL"
  6499  	//   "JAVASCRIPT_INTERSTITIAL"
  6500  	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
  6501  
  6502  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6503  	// string "dfareporting#directorySite".
  6504  	Kind string `json:"kind,omitempty"`
  6505  
  6506  	// Name: Name of this directory site.
  6507  	Name string `json:"name,omitempty"`
  6508  
  6509  	// ParentId: Parent directory site ID.
  6510  	ParentId int64 `json:"parentId,omitempty,string"`
  6511  
  6512  	// Settings: Directory site settings.
  6513  	Settings *DirectorySiteSettings `json:"settings,omitempty"`
  6514  
  6515  	// Url: URL of this directory site.
  6516  	Url string `json:"url,omitempty"`
  6517  
  6518  	// ServerResponse contains the HTTP response code and headers from the
  6519  	// server.
  6520  	googleapi.ServerResponse `json:"-"`
  6521  
  6522  	// ForceSendFields is a list of field names (e.g. "Active") to
  6523  	// unconditionally include in API requests. By default, fields with
  6524  	// empty values are omitted from API requests. However, any non-pointer,
  6525  	// non-interface field appearing in ForceSendFields will be sent to the
  6526  	// server regardless of whether the field is empty or not. This may be
  6527  	// used to include empty fields in Patch requests.
  6528  	ForceSendFields []string `json:"-"`
  6529  
  6530  	// NullFields is a list of field names (e.g. "Active") to include in API
  6531  	// requests with the JSON null value. By default, fields with empty
  6532  	// values are omitted from API requests. However, any field with an
  6533  	// empty value appearing in NullFields will be sent to the server as
  6534  	// null. It is an error if a field in this list has a non-empty value.
  6535  	// This may be used to include null fields in Patch requests.
  6536  	NullFields []string `json:"-"`
  6537  }
  6538  
  6539  func (s *DirectorySite) MarshalJSON() ([]byte, error) {
  6540  	type NoMethod DirectorySite
  6541  	raw := NoMethod(*s)
  6542  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6543  }
  6544  
  6545  // DirectorySiteContact: Contains properties of a Site Directory
  6546  // contact.
  6547  type DirectorySiteContact struct {
  6548  	// Address: Address of this directory site contact.
  6549  	Address string `json:"address,omitempty"`
  6550  
  6551  	// Email: Email address of this directory site contact.
  6552  	Email string `json:"email,omitempty"`
  6553  
  6554  	// FirstName: First name of this directory site contact.
  6555  	FirstName string `json:"firstName,omitempty"`
  6556  
  6557  	// Id: ID of this directory site contact. This is a read-only,
  6558  	// auto-generated field.
  6559  	Id int64 `json:"id,omitempty,string"`
  6560  
  6561  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6562  	// string "dfareporting#directorySiteContact".
  6563  	Kind string `json:"kind,omitempty"`
  6564  
  6565  	// LastName: Last name of this directory site contact.
  6566  	LastName string `json:"lastName,omitempty"`
  6567  
  6568  	// Phone: Phone number of this directory site contact.
  6569  	Phone string `json:"phone,omitempty"`
  6570  
  6571  	// Role: Directory site contact role.
  6572  	//
  6573  	// Possible values:
  6574  	//   "ADMIN"
  6575  	//   "EDIT"
  6576  	//   "VIEW"
  6577  	Role string `json:"role,omitempty"`
  6578  
  6579  	// Title: Title or designation of this directory site contact.
  6580  	Title string `json:"title,omitempty"`
  6581  
  6582  	// Type: Directory site contact type.
  6583  	//
  6584  	// Possible values:
  6585  	//   "BILLING"
  6586  	//   "OTHER"
  6587  	//   "SALES"
  6588  	//   "TECHNICAL"
  6589  	Type string `json:"type,omitempty"`
  6590  
  6591  	// ServerResponse contains the HTTP response code and headers from the
  6592  	// server.
  6593  	googleapi.ServerResponse `json:"-"`
  6594  
  6595  	// ForceSendFields is a list of field names (e.g. "Address") to
  6596  	// unconditionally include in API requests. By default, fields with
  6597  	// empty values are omitted from API requests. However, any non-pointer,
  6598  	// non-interface field appearing in ForceSendFields will be sent to the
  6599  	// server regardless of whether the field is empty or not. This may be
  6600  	// used to include empty fields in Patch requests.
  6601  	ForceSendFields []string `json:"-"`
  6602  
  6603  	// NullFields is a list of field names (e.g. "Address") to include in
  6604  	// API requests with the JSON null value. By default, fields with empty
  6605  	// values are omitted from API requests. However, any field with an
  6606  	// empty value appearing in NullFields will be sent to the server as
  6607  	// null. It is an error if a field in this list has a non-empty value.
  6608  	// This may be used to include null fields in Patch requests.
  6609  	NullFields []string `json:"-"`
  6610  }
  6611  
  6612  func (s *DirectorySiteContact) MarshalJSON() ([]byte, error) {
  6613  	type NoMethod DirectorySiteContact
  6614  	raw := NoMethod(*s)
  6615  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6616  }
  6617  
  6618  // DirectorySiteContactAssignment: Directory Site Contact Assignment
  6619  type DirectorySiteContactAssignment struct {
  6620  	// ContactId: ID of this directory site contact. This is a read-only,
  6621  	// auto-generated field.
  6622  	ContactId int64 `json:"contactId,omitempty,string"`
  6623  
  6624  	// Visibility: Visibility of this directory site contact assignment.
  6625  	// When set to PUBLIC this contact assignment is visible to all account
  6626  	// and agency users; when set to PRIVATE it is visible only to the site.
  6627  	//
  6628  	// Possible values:
  6629  	//   "PRIVATE"
  6630  	//   "PUBLIC"
  6631  	Visibility string `json:"visibility,omitempty"`
  6632  
  6633  	// ForceSendFields is a list of field names (e.g. "ContactId") to
  6634  	// unconditionally include in API requests. By default, fields with
  6635  	// empty values are omitted from API requests. However, any non-pointer,
  6636  	// non-interface field appearing in ForceSendFields will be sent to the
  6637  	// server regardless of whether the field is empty or not. This may be
  6638  	// used to include empty fields in Patch requests.
  6639  	ForceSendFields []string `json:"-"`
  6640  
  6641  	// NullFields is a list of field names (e.g. "ContactId") to include in
  6642  	// API requests with the JSON null value. By default, fields with empty
  6643  	// values are omitted from API requests. However, any field with an
  6644  	// empty value appearing in NullFields will be sent to the server as
  6645  	// null. It is an error if a field in this list has a non-empty value.
  6646  	// This may be used to include null fields in Patch requests.
  6647  	NullFields []string `json:"-"`
  6648  }
  6649  
  6650  func (s *DirectorySiteContactAssignment) MarshalJSON() ([]byte, error) {
  6651  	type NoMethod DirectorySiteContactAssignment
  6652  	raw := NoMethod(*s)
  6653  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6654  }
  6655  
  6656  // DirectorySiteContactsListResponse: Directory Site Contact List
  6657  // Response
  6658  type DirectorySiteContactsListResponse struct {
  6659  	// DirectorySiteContacts: Directory site contact collection
  6660  	DirectorySiteContacts []*DirectorySiteContact `json:"directorySiteContacts,omitempty"`
  6661  
  6662  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6663  	// string "dfareporting#directorySiteContactsListResponse".
  6664  	Kind string `json:"kind,omitempty"`
  6665  
  6666  	// NextPageToken: Pagination token to be used for the next list
  6667  	// operation.
  6668  	NextPageToken string `json:"nextPageToken,omitempty"`
  6669  
  6670  	// ServerResponse contains the HTTP response code and headers from the
  6671  	// server.
  6672  	googleapi.ServerResponse `json:"-"`
  6673  
  6674  	// ForceSendFields is a list of field names (e.g.
  6675  	// "DirectorySiteContacts") to unconditionally include in API requests.
  6676  	// By default, fields with empty values are omitted from API requests.
  6677  	// However, any non-pointer, non-interface field appearing in
  6678  	// ForceSendFields will be sent to the server regardless of whether the
  6679  	// field is empty or not. This may be used to include empty fields in
  6680  	// Patch requests.
  6681  	ForceSendFields []string `json:"-"`
  6682  
  6683  	// NullFields is a list of field names (e.g. "DirectorySiteContacts") to
  6684  	// include in API requests with the JSON null value. By default, fields
  6685  	// with empty values are omitted from API requests. However, any field
  6686  	// with an empty value appearing in NullFields will be sent to the
  6687  	// server as null. It is an error if a field in this list has a
  6688  	// non-empty value. This may be used to include null fields in Patch
  6689  	// requests.
  6690  	NullFields []string `json:"-"`
  6691  }
  6692  
  6693  func (s *DirectorySiteContactsListResponse) MarshalJSON() ([]byte, error) {
  6694  	type NoMethod DirectorySiteContactsListResponse
  6695  	raw := NoMethod(*s)
  6696  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6697  }
  6698  
  6699  // DirectorySiteSettings: Directory Site Settings
  6700  type DirectorySiteSettings struct {
  6701  	// ActiveViewOptOut: Whether this directory site has disabled active
  6702  	// view creatives.
  6703  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
  6704  
  6705  	// DfpSettings: Directory site Ad Manager settings.
  6706  	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
  6707  
  6708  	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
  6709  	// video ads.
  6710  	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
  6711  
  6712  	// InterstitialPlacementAccepted: Whether this site accepts interstitial
  6713  	// ads.
  6714  	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
  6715  
  6716  	// NielsenOcrOptOut: Whether this directory site has disabled Nielsen
  6717  	// OCR reach ratings.
  6718  	NielsenOcrOptOut bool `json:"nielsenOcrOptOut,omitempty"`
  6719  
  6720  	// VerificationTagOptOut: Whether this directory site has disabled
  6721  	// generation of Verification ins tags.
  6722  	VerificationTagOptOut bool `json:"verificationTagOptOut,omitempty"`
  6723  
  6724  	// VideoActiveViewOptOut: Whether this directory site has disabled
  6725  	// active view for in-stream video creatives. This is a read-only field.
  6726  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
  6727  
  6728  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
  6729  	// unconditionally include in API requests. By default, fields with
  6730  	// empty values are omitted from API requests. However, any non-pointer,
  6731  	// non-interface field appearing in ForceSendFields will be sent to the
  6732  	// server regardless of whether the field is empty or not. This may be
  6733  	// used to include empty fields in Patch requests.
  6734  	ForceSendFields []string `json:"-"`
  6735  
  6736  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
  6737  	// include in API requests with the JSON null value. By default, fields
  6738  	// with empty values are omitted from API requests. However, any field
  6739  	// with an empty value appearing in NullFields will be sent to the
  6740  	// server as null. It is an error if a field in this list has a
  6741  	// non-empty value. This may be used to include null fields in Patch
  6742  	// requests.
  6743  	NullFields []string `json:"-"`
  6744  }
  6745  
  6746  func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
  6747  	type NoMethod DirectorySiteSettings
  6748  	raw := NoMethod(*s)
  6749  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6750  }
  6751  
  6752  // DirectorySitesListResponse: Directory Site List Response
  6753  type DirectorySitesListResponse struct {
  6754  	// DirectorySites: Directory site collection.
  6755  	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
  6756  
  6757  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6758  	// string "dfareporting#directorySitesListResponse".
  6759  	Kind string `json:"kind,omitempty"`
  6760  
  6761  	// NextPageToken: Pagination token to be used for the next list
  6762  	// operation.
  6763  	NextPageToken string `json:"nextPageToken,omitempty"`
  6764  
  6765  	// ServerResponse contains the HTTP response code and headers from the
  6766  	// server.
  6767  	googleapi.ServerResponse `json:"-"`
  6768  
  6769  	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
  6770  	// unconditionally include in API requests. By default, fields with
  6771  	// empty values are omitted from API requests. However, any non-pointer,
  6772  	// non-interface field appearing in ForceSendFields will be sent to the
  6773  	// server regardless of whether the field is empty or not. This may be
  6774  	// used to include empty fields in Patch requests.
  6775  	ForceSendFields []string `json:"-"`
  6776  
  6777  	// NullFields is a list of field names (e.g. "DirectorySites") to
  6778  	// include in API requests with the JSON null value. By default, fields
  6779  	// with empty values are omitted from API requests. However, any field
  6780  	// with an empty value appearing in NullFields will be sent to the
  6781  	// server as null. It is an error if a field in this list has a
  6782  	// non-empty value. This may be used to include null fields in Patch
  6783  	// requests.
  6784  	NullFields []string `json:"-"`
  6785  }
  6786  
  6787  func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
  6788  	type NoMethod DirectorySitesListResponse
  6789  	raw := NoMethod(*s)
  6790  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6791  }
  6792  
  6793  // DynamicTargetingKey: Contains properties of a dynamic targeting key.
  6794  // Dynamic targeting keys are unique, user-friendly labels, created at
  6795  // the advertiser level in DCM, that can be assigned to ads, creatives,
  6796  // and placements and used for targeting with Studio dynamic creatives.
  6797  // Use these labels instead of numeric Campaign Manager IDs (such as
  6798  // placement IDs) to save time and avoid errors in your dynamic feeds.
  6799  type DynamicTargetingKey struct {
  6800  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6801  	// string "dfareporting#dynamicTargetingKey".
  6802  	Kind string `json:"kind,omitempty"`
  6803  
  6804  	// Name: Name of this dynamic targeting key. This is a required field.
  6805  	// Must be less than 256 characters long and cannot contain commas. All
  6806  	// characters are converted to lowercase.
  6807  	Name string `json:"name,omitempty"`
  6808  
  6809  	// ObjectId: ID of the object of this dynamic targeting key. This is a
  6810  	// required field.
  6811  	ObjectId int64 `json:"objectId,omitempty,string"`
  6812  
  6813  	// ObjectType: Type of the object of this dynamic targeting key. This is
  6814  	// a required field.
  6815  	//
  6816  	// Possible values:
  6817  	//   "OBJECT_AD"
  6818  	//   "OBJECT_ADVERTISER"
  6819  	//   "OBJECT_CREATIVE"
  6820  	//   "OBJECT_PLACEMENT"
  6821  	ObjectType string `json:"objectType,omitempty"`
  6822  
  6823  	// ServerResponse contains the HTTP response code and headers from the
  6824  	// server.
  6825  	googleapi.ServerResponse `json:"-"`
  6826  
  6827  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6828  	// unconditionally include in API requests. By default, fields with
  6829  	// empty values are omitted from API requests. However, any non-pointer,
  6830  	// non-interface field appearing in ForceSendFields will be sent to the
  6831  	// server regardless of whether the field is empty or not. This may be
  6832  	// used to include empty fields in Patch requests.
  6833  	ForceSendFields []string `json:"-"`
  6834  
  6835  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6836  	// requests with the JSON null value. By default, fields with empty
  6837  	// values are omitted from API requests. However, any field with an
  6838  	// empty value appearing in NullFields will be sent to the server as
  6839  	// null. It is an error if a field in this list has a non-empty value.
  6840  	// This may be used to include null fields in Patch requests.
  6841  	NullFields []string `json:"-"`
  6842  }
  6843  
  6844  func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
  6845  	type NoMethod DynamicTargetingKey
  6846  	raw := NoMethod(*s)
  6847  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6848  }
  6849  
  6850  // DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
  6851  type DynamicTargetingKeysListResponse struct {
  6852  	// DynamicTargetingKeys: Dynamic targeting key collection.
  6853  	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
  6854  
  6855  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6856  	// string "dfareporting#dynamicTargetingKeysListResponse".
  6857  	Kind string `json:"kind,omitempty"`
  6858  
  6859  	// ServerResponse contains the HTTP response code and headers from the
  6860  	// server.
  6861  	googleapi.ServerResponse `json:"-"`
  6862  
  6863  	// ForceSendFields is a list of field names (e.g.
  6864  	// "DynamicTargetingKeys") to unconditionally include in API requests.
  6865  	// By default, fields with empty values are omitted from API requests.
  6866  	// However, any non-pointer, non-interface field appearing in
  6867  	// ForceSendFields will be sent to the server regardless of whether the
  6868  	// field is empty or not. This may be used to include empty fields in
  6869  	// Patch requests.
  6870  	ForceSendFields []string `json:"-"`
  6871  
  6872  	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
  6873  	// include in API requests with the JSON null value. By default, fields
  6874  	// with empty values are omitted from API requests. However, any field
  6875  	// with an empty value appearing in NullFields will be sent to the
  6876  	// server as null. It is an error if a field in this list has a
  6877  	// non-empty value. This may be used to include null fields in Patch
  6878  	// requests.
  6879  	NullFields []string `json:"-"`
  6880  }
  6881  
  6882  func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
  6883  	type NoMethod DynamicTargetingKeysListResponse
  6884  	raw := NoMethod(*s)
  6885  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6886  }
  6887  
  6888  // EncryptionInfo: A description of how user IDs are encrypted.
  6889  type EncryptionInfo struct {
  6890  	// EncryptionEntityId: The encryption entity ID. This should match the
  6891  	// encryption configuration for ad serving or Data Transfer.
  6892  	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
  6893  
  6894  	// EncryptionEntityType: The encryption entity type. This should match
  6895  	// the encryption configuration for ad serving or Data Transfer.
  6896  	//
  6897  	// Possible values:
  6898  	//   "ADWORDS_CUSTOMER"
  6899  	//   "DBM_ADVERTISER"
  6900  	//   "DBM_PARTNER"
  6901  	//   "DCM_ACCOUNT"
  6902  	//   "DCM_ADVERTISER"
  6903  	//   "DFP_NETWORK_CODE"
  6904  	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
  6905  	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
  6906  
  6907  	// EncryptionSource: Describes whether the encrypted cookie was received
  6908  	// from ad serving (the %m macro) or from Data Transfer.
  6909  	//
  6910  	// Possible values:
  6911  	//   "AD_SERVING"
  6912  	//   "DATA_TRANSFER"
  6913  	//   "ENCRYPTION_SCOPE_UNKNOWN"
  6914  	EncryptionSource string `json:"encryptionSource,omitempty"`
  6915  
  6916  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6917  	// string "dfareporting#encryptionInfo".
  6918  	Kind string `json:"kind,omitempty"`
  6919  
  6920  	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
  6921  	// to unconditionally include in API requests. By default, fields with
  6922  	// empty values are omitted from API requests. However, any non-pointer,
  6923  	// non-interface field appearing in ForceSendFields will be sent to the
  6924  	// server regardless of whether the field is empty or not. This may be
  6925  	// used to include empty fields in Patch requests.
  6926  	ForceSendFields []string `json:"-"`
  6927  
  6928  	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
  6929  	// include in API requests with the JSON null value. By default, fields
  6930  	// with empty values are omitted from API requests. However, any field
  6931  	// with an empty value appearing in NullFields will be sent to the
  6932  	// server as null. It is an error if a field in this list has a
  6933  	// non-empty value. This may be used to include null fields in Patch
  6934  	// requests.
  6935  	NullFields []string `json:"-"`
  6936  }
  6937  
  6938  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
  6939  	type NoMethod EncryptionInfo
  6940  	raw := NoMethod(*s)
  6941  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6942  }
  6943  
  6944  // EventTag: Contains properties of an event tag.
  6945  type EventTag struct {
  6946  	// AccountId: Account ID of this event tag. This is a read-only field
  6947  	// that can be left blank.
  6948  	AccountId int64 `json:"accountId,omitempty,string"`
  6949  
  6950  	// AdvertiserId: Advertiser ID of this event tag. This field or the
  6951  	// campaignId field is required on insertion.
  6952  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  6953  
  6954  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  6955  	// advertiser. This is a read-only, auto-generated field.
  6956  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  6957  
  6958  	// CampaignId: Campaign ID of this event tag. This field or the
  6959  	// advertiserId field is required on insertion.
  6960  	CampaignId int64 `json:"campaignId,omitempty,string"`
  6961  
  6962  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  6963  	// This is a read-only, auto-generated field.
  6964  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  6965  
  6966  	// EnabledByDefault: Whether this event tag should be automatically
  6967  	// enabled for all of the advertiser's campaigns and ads.
  6968  	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
  6969  
  6970  	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
  6971  	// that are trafficked through Display & Video 360 to Ad Exchange. This
  6972  	// may be useful if the event tag uses a pixel that is unapproved for Ad
  6973  	// Exchange bids on one or more networks, such as the Google Display
  6974  	// Network.
  6975  	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
  6976  
  6977  	// Id: ID of this event tag. This is a read-only, auto-generated field.
  6978  	Id int64 `json:"id,omitempty,string"`
  6979  
  6980  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6981  	// string "dfareporting#eventTag".
  6982  	Kind string `json:"kind,omitempty"`
  6983  
  6984  	// Name: Name of this event tag. This is a required field and must be
  6985  	// less than 256 characters long.
  6986  	Name string `json:"name,omitempty"`
  6987  
  6988  	// SiteFilterType: Site filter type for this event tag. If no type is
  6989  	// specified then the event tag will be applied to all sites.
  6990  	//
  6991  	// Possible values:
  6992  	//   "BLACKLIST"
  6993  	//   "WHITELIST"
  6994  	SiteFilterType string `json:"siteFilterType,omitempty"`
  6995  
  6996  	// SiteIds: Filter list of site IDs associated with this event tag. The
  6997  	// siteFilterType determines whether this is a whitelist or blacklist
  6998  	// filter.
  6999  	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
  7000  
  7001  	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
  7002  	// read-only field.
  7003  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7004  
  7005  	// Status: Status of this event tag. Must be ENABLED for this event tag
  7006  	// to fire. This is a required field.
  7007  	//
  7008  	// Possible values:
  7009  	//   "DISABLED"
  7010  	//   "ENABLED"
  7011  	Status string `json:"status,omitempty"`
  7012  
  7013  	// SubaccountId: Subaccount ID of this event tag. This is a read-only
  7014  	// field that can be left blank.
  7015  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7016  
  7017  	// Type: Event tag type. Can be used to specify whether to use a
  7018  	// third-party pixel, a third-party JavaScript URL, or a third-party
  7019  	// click-through URL for either impression or click tracking. This is a
  7020  	// required field.
  7021  	//
  7022  	// Possible values:
  7023  	//   "CLICK_THROUGH_EVENT_TAG"
  7024  	//   "IMPRESSION_IMAGE_EVENT_TAG"
  7025  	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
  7026  	Type string `json:"type,omitempty"`
  7027  
  7028  	// Url: Payload URL for this event tag. The URL on a click-through event
  7029  	// tag should have a landing page URL appended to the end of it. This
  7030  	// field is required on insertion.
  7031  	Url string `json:"url,omitempty"`
  7032  
  7033  	// UrlEscapeLevels: Number of times the landing page URL should be
  7034  	// URL-escaped before being appended to the click-through event tag URL.
  7035  	// Only applies to click-through event tags as specified by the event
  7036  	// tag type.
  7037  	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
  7038  
  7039  	// ServerResponse contains the HTTP response code and headers from the
  7040  	// server.
  7041  	googleapi.ServerResponse `json:"-"`
  7042  
  7043  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7044  	// unconditionally include in API requests. By default, fields with
  7045  	// empty values are omitted from API requests. However, any non-pointer,
  7046  	// non-interface field appearing in ForceSendFields will be sent to the
  7047  	// server regardless of whether the field is empty or not. This may be
  7048  	// used to include empty fields in Patch requests.
  7049  	ForceSendFields []string `json:"-"`
  7050  
  7051  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7052  	// API requests with the JSON null value. By default, fields with empty
  7053  	// values are omitted from API requests. However, any field with an
  7054  	// empty value appearing in NullFields will be sent to the server as
  7055  	// null. It is an error if a field in this list has a non-empty value.
  7056  	// This may be used to include null fields in Patch requests.
  7057  	NullFields []string `json:"-"`
  7058  }
  7059  
  7060  func (s *EventTag) MarshalJSON() ([]byte, error) {
  7061  	type NoMethod EventTag
  7062  	raw := NoMethod(*s)
  7063  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7064  }
  7065  
  7066  // EventTagOverride: Event tag override information.
  7067  type EventTagOverride struct {
  7068  	// Enabled: Whether this override is enabled.
  7069  	Enabled bool `json:"enabled,omitempty"`
  7070  
  7071  	// Id: ID of this event tag override. This is a read-only,
  7072  	// auto-generated field.
  7073  	Id int64 `json:"id,omitempty,string"`
  7074  
  7075  	// ForceSendFields is a list of field names (e.g. "Enabled") to
  7076  	// unconditionally include in API requests. By default, fields with
  7077  	// empty values are omitted from API requests. However, any non-pointer,
  7078  	// non-interface field appearing in ForceSendFields will be sent to the
  7079  	// server regardless of whether the field is empty or not. This may be
  7080  	// used to include empty fields in Patch requests.
  7081  	ForceSendFields []string `json:"-"`
  7082  
  7083  	// NullFields is a list of field names (e.g. "Enabled") to include in
  7084  	// API requests with the JSON null value. By default, fields with empty
  7085  	// values are omitted from API requests. However, any field with an
  7086  	// empty value appearing in NullFields will be sent to the server as
  7087  	// null. It is an error if a field in this list has a non-empty value.
  7088  	// This may be used to include null fields in Patch requests.
  7089  	NullFields []string `json:"-"`
  7090  }
  7091  
  7092  func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
  7093  	type NoMethod EventTagOverride
  7094  	raw := NoMethod(*s)
  7095  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7096  }
  7097  
  7098  // EventTagsListResponse: Event Tag List Response
  7099  type EventTagsListResponse struct {
  7100  	// EventTags: Event tag collection.
  7101  	EventTags []*EventTag `json:"eventTags,omitempty"`
  7102  
  7103  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7104  	// string "dfareporting#eventTagsListResponse".
  7105  	Kind string `json:"kind,omitempty"`
  7106  
  7107  	// ServerResponse contains the HTTP response code and headers from the
  7108  	// server.
  7109  	googleapi.ServerResponse `json:"-"`
  7110  
  7111  	// ForceSendFields is a list of field names (e.g. "EventTags") to
  7112  	// unconditionally include in API requests. By default, fields with
  7113  	// empty values are omitted from API requests. However, any non-pointer,
  7114  	// non-interface field appearing in ForceSendFields will be sent to the
  7115  	// server regardless of whether the field is empty or not. This may be
  7116  	// used to include empty fields in Patch requests.
  7117  	ForceSendFields []string `json:"-"`
  7118  
  7119  	// NullFields is a list of field names (e.g. "EventTags") to include in
  7120  	// API requests with the JSON null value. By default, fields with empty
  7121  	// values are omitted from API requests. However, any field with an
  7122  	// empty value appearing in NullFields will be sent to the server as
  7123  	// null. It is an error if a field in this list has a non-empty value.
  7124  	// This may be used to include null fields in Patch requests.
  7125  	NullFields []string `json:"-"`
  7126  }
  7127  
  7128  func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
  7129  	type NoMethod EventTagsListResponse
  7130  	raw := NoMethod(*s)
  7131  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7132  }
  7133  
  7134  // File: Represents a File resource. A file contains the metadata for a
  7135  // report run. It shows the status of the run and holds the URLs to the
  7136  // generated report data if the run is finished and the status is
  7137  // "REPORT_AVAILABLE".
  7138  type File struct {
  7139  	// DateRange: The date range for which the file has report data. The
  7140  	// date range will always be the absolute date range for which the
  7141  	// report is run.
  7142  	DateRange *DateRange `json:"dateRange,omitempty"`
  7143  
  7144  	// Etag: The eTag of this response for caching purposes.
  7145  	Etag string `json:"etag,omitempty"`
  7146  
  7147  	// FileName: The filename of the file.
  7148  	FileName string `json:"fileName,omitempty"`
  7149  
  7150  	// Format: The output format of the report. Only available once the file
  7151  	// is available.
  7152  	//
  7153  	// Possible values:
  7154  	//   "CSV"
  7155  	//   "EXCEL"
  7156  	Format string `json:"format,omitempty"`
  7157  
  7158  	// Id: The unique ID of this report file.
  7159  	Id int64 `json:"id,omitempty,string"`
  7160  
  7161  	// Kind: The kind of resource this is, in this case dfareporting#file.
  7162  	Kind string `json:"kind,omitempty"`
  7163  
  7164  	// LastModifiedTime: The timestamp in milliseconds since epoch when this
  7165  	// file was last modified.
  7166  	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
  7167  
  7168  	// ReportId: The ID of the report this file was generated from.
  7169  	ReportId int64 `json:"reportId,omitempty,string"`
  7170  
  7171  	// Status: The status of the report file.
  7172  	//
  7173  	// Possible values:
  7174  	//   "CANCELLED"
  7175  	//   "FAILED"
  7176  	//   "PROCESSING"
  7177  	//   "REPORT_AVAILABLE"
  7178  	Status string `json:"status,omitempty"`
  7179  
  7180  	// Urls: The URLs where the completed report file can be downloaded.
  7181  	Urls *FileUrls `json:"urls,omitempty"`
  7182  
  7183  	// ServerResponse contains the HTTP response code and headers from the
  7184  	// server.
  7185  	googleapi.ServerResponse `json:"-"`
  7186  
  7187  	// ForceSendFields is a list of field names (e.g. "DateRange") to
  7188  	// unconditionally include in API requests. By default, fields with
  7189  	// empty values are omitted from API requests. However, any non-pointer,
  7190  	// non-interface field appearing in ForceSendFields will be sent to the
  7191  	// server regardless of whether the field is empty or not. This may be
  7192  	// used to include empty fields in Patch requests.
  7193  	ForceSendFields []string `json:"-"`
  7194  
  7195  	// NullFields is a list of field names (e.g. "DateRange") to include in
  7196  	// API requests with the JSON null value. By default, fields with empty
  7197  	// values are omitted from API requests. However, any field with an
  7198  	// empty value appearing in NullFields will be sent to the server as
  7199  	// null. It is an error if a field in this list has a non-empty value.
  7200  	// This may be used to include null fields in Patch requests.
  7201  	NullFields []string `json:"-"`
  7202  }
  7203  
  7204  func (s *File) MarshalJSON() ([]byte, error) {
  7205  	type NoMethod File
  7206  	raw := NoMethod(*s)
  7207  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7208  }
  7209  
  7210  // FileUrls: The URLs where the completed report file can be downloaded.
  7211  type FileUrls struct {
  7212  	// ApiUrl: The URL for downloading the report data through the API.
  7213  	ApiUrl string `json:"apiUrl,omitempty"`
  7214  
  7215  	// BrowserUrl: The URL for downloading the report data through a
  7216  	// browser.
  7217  	BrowserUrl string `json:"browserUrl,omitempty"`
  7218  
  7219  	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
  7220  	// unconditionally include in API requests. By default, fields with
  7221  	// empty values are omitted from API requests. However, any non-pointer,
  7222  	// non-interface field appearing in ForceSendFields will be sent to the
  7223  	// server regardless of whether the field is empty or not. This may be
  7224  	// used to include empty fields in Patch requests.
  7225  	ForceSendFields []string `json:"-"`
  7226  
  7227  	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
  7228  	// requests with the JSON null value. By default, fields with empty
  7229  	// values are omitted from API requests. However, any field with an
  7230  	// empty value appearing in NullFields will be sent to the server as
  7231  	// null. It is an error if a field in this list has a non-empty value.
  7232  	// This may be used to include null fields in Patch requests.
  7233  	NullFields []string `json:"-"`
  7234  }
  7235  
  7236  func (s *FileUrls) MarshalJSON() ([]byte, error) {
  7237  	type NoMethod FileUrls
  7238  	raw := NoMethod(*s)
  7239  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7240  }
  7241  
  7242  // FileList: Represents the list of File resources.
  7243  type FileList struct {
  7244  	// Etag: The eTag of this response for caching purposes.
  7245  	Etag string `json:"etag,omitempty"`
  7246  
  7247  	// Items: The files returned in this response.
  7248  	Items []*File `json:"items,omitempty"`
  7249  
  7250  	// Kind: The kind of list this is, in this case dfareporting#fileList.
  7251  	Kind string `json:"kind,omitempty"`
  7252  
  7253  	// NextPageToken: Continuation token used to page through files. To
  7254  	// retrieve the next page of results, set the next request's "pageToken"
  7255  	// to the value of this field. The page token is only valid for a
  7256  	// limited amount of time and should not be persisted.
  7257  	NextPageToken string `json:"nextPageToken,omitempty"`
  7258  
  7259  	// ServerResponse contains the HTTP response code and headers from the
  7260  	// server.
  7261  	googleapi.ServerResponse `json:"-"`
  7262  
  7263  	// ForceSendFields is a list of field names (e.g. "Etag") to
  7264  	// unconditionally include in API requests. By default, fields with
  7265  	// empty values are omitted from API requests. However, any non-pointer,
  7266  	// non-interface field appearing in ForceSendFields will be sent to the
  7267  	// server regardless of whether the field is empty or not. This may be
  7268  	// used to include empty fields in Patch requests.
  7269  	ForceSendFields []string `json:"-"`
  7270  
  7271  	// NullFields is a list of field names (e.g. "Etag") to include in API
  7272  	// requests with the JSON null value. By default, fields with empty
  7273  	// values are omitted from API requests. However, any field with an
  7274  	// empty value appearing in NullFields will be sent to the server as
  7275  	// null. It is an error if a field in this list has a non-empty value.
  7276  	// This may be used to include null fields in Patch requests.
  7277  	NullFields []string `json:"-"`
  7278  }
  7279  
  7280  func (s *FileList) MarshalJSON() ([]byte, error) {
  7281  	type NoMethod FileList
  7282  	raw := NoMethod(*s)
  7283  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7284  }
  7285  
  7286  // Flight: Flight
  7287  type Flight struct {
  7288  	// EndDate: Inventory item flight end date.
  7289  	EndDate string `json:"endDate,omitempty"`
  7290  
  7291  	// RateOrCost: Rate or cost of this flight.
  7292  	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
  7293  
  7294  	// StartDate: Inventory item flight start date.
  7295  	StartDate string `json:"startDate,omitempty"`
  7296  
  7297  	// Units: Units of this flight.
  7298  	Units int64 `json:"units,omitempty,string"`
  7299  
  7300  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  7301  	// unconditionally include in API requests. By default, fields with
  7302  	// empty values are omitted from API requests. However, any non-pointer,
  7303  	// non-interface field appearing in ForceSendFields will be sent to the
  7304  	// server regardless of whether the field is empty or not. This may be
  7305  	// used to include empty fields in Patch requests.
  7306  	ForceSendFields []string `json:"-"`
  7307  
  7308  	// NullFields is a list of field names (e.g. "EndDate") to include in
  7309  	// API requests with the JSON null value. By default, fields with empty
  7310  	// values are omitted from API requests. However, any field with an
  7311  	// empty value appearing in NullFields will be sent to the server as
  7312  	// null. It is an error if a field in this list has a non-empty value.
  7313  	// This may be used to include null fields in Patch requests.
  7314  	NullFields []string `json:"-"`
  7315  }
  7316  
  7317  func (s *Flight) MarshalJSON() ([]byte, error) {
  7318  	type NoMethod Flight
  7319  	raw := NoMethod(*s)
  7320  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7321  }
  7322  
  7323  // FloodlightActivitiesGenerateTagResponse: Floodlight Activity
  7324  // GenerateTag Response
  7325  type FloodlightActivitiesGenerateTagResponse struct {
  7326  	// FloodlightActivityTag: Generated tag for this Floodlight activity.
  7327  	// For global site tags, this is the event snippet.
  7328  	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
  7329  
  7330  	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
  7331  	// site tag. The global site tag sets new cookies on your domain, which
  7332  	// will store a unique identifier for a user or the ad click that
  7333  	// brought the user to your site. Learn more.
  7334  	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
  7335  
  7336  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7337  	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
  7338  	Kind string `json:"kind,omitempty"`
  7339  
  7340  	// ServerResponse contains the HTTP response code and headers from the
  7341  	// server.
  7342  	googleapi.ServerResponse `json:"-"`
  7343  
  7344  	// ForceSendFields is a list of field names (e.g.
  7345  	// "FloodlightActivityTag") to unconditionally include in API requests.
  7346  	// By default, fields with empty values are omitted from API requests.
  7347  	// However, any non-pointer, non-interface field appearing in
  7348  	// ForceSendFields will be sent to the server regardless of whether the
  7349  	// field is empty or not. This may be used to include empty fields in
  7350  	// Patch requests.
  7351  	ForceSendFields []string `json:"-"`
  7352  
  7353  	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
  7354  	// include in API requests with the JSON null value. By default, fields
  7355  	// with empty values are omitted from API requests. However, any field
  7356  	// with an empty value appearing in NullFields will be sent to the
  7357  	// server as null. It is an error if a field in this list has a
  7358  	// non-empty value. This may be used to include null fields in Patch
  7359  	// requests.
  7360  	NullFields []string `json:"-"`
  7361  }
  7362  
  7363  func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
  7364  	type NoMethod FloodlightActivitiesGenerateTagResponse
  7365  	raw := NoMethod(*s)
  7366  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7367  }
  7368  
  7369  // FloodlightActivitiesListResponse: Floodlight Activity List Response
  7370  type FloodlightActivitiesListResponse struct {
  7371  	// FloodlightActivities: Floodlight activity collection.
  7372  	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
  7373  
  7374  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7375  	// string "dfareporting#floodlightActivitiesListResponse".
  7376  	Kind string `json:"kind,omitempty"`
  7377  
  7378  	// NextPageToken: Pagination token to be used for the next list
  7379  	// operation.
  7380  	NextPageToken string `json:"nextPageToken,omitempty"`
  7381  
  7382  	// ServerResponse contains the HTTP response code and headers from the
  7383  	// server.
  7384  	googleapi.ServerResponse `json:"-"`
  7385  
  7386  	// ForceSendFields is a list of field names (e.g.
  7387  	// "FloodlightActivities") to unconditionally include in API requests.
  7388  	// By default, fields with empty values are omitted from API requests.
  7389  	// However, any non-pointer, non-interface field appearing in
  7390  	// ForceSendFields will be sent to the server regardless of whether the
  7391  	// field is empty or not. This may be used to include empty fields in
  7392  	// Patch requests.
  7393  	ForceSendFields []string `json:"-"`
  7394  
  7395  	// NullFields is a list of field names (e.g. "FloodlightActivities") to
  7396  	// include in API requests with the JSON null value. By default, fields
  7397  	// with empty values are omitted from API requests. However, any field
  7398  	// with an empty value appearing in NullFields will be sent to the
  7399  	// server as null. It is an error if a field in this list has a
  7400  	// non-empty value. This may be used to include null fields in Patch
  7401  	// requests.
  7402  	NullFields []string `json:"-"`
  7403  }
  7404  
  7405  func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
  7406  	type NoMethod FloodlightActivitiesListResponse
  7407  	raw := NoMethod(*s)
  7408  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7409  }
  7410  
  7411  // FloodlightActivity: Contains properties of a Floodlight activity.
  7412  type FloodlightActivity struct {
  7413  	// AccountId: Account ID of this floodlight activity. This is a
  7414  	// read-only field that can be left blank.
  7415  	AccountId int64 `json:"accountId,omitempty,string"`
  7416  
  7417  	// AdvertiserId: Advertiser ID of this floodlight activity. If this
  7418  	// field is left blank, the value will be copied over either from the
  7419  	// activity group's advertiser or the existing activity's advertiser.
  7420  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7421  
  7422  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7423  	// advertiser. This is a read-only, auto-generated field.
  7424  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7425  
  7426  	// CacheBustingType: Code type used for cache busting in the generated
  7427  	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
  7428  	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
  7429  	//
  7430  	// Possible values:
  7431  	//   "ACTIVE_SERVER_PAGE"
  7432  	//   "COLD_FUSION"
  7433  	//   "JAVASCRIPT"
  7434  	//   "JSP"
  7435  	//   "PHP"
  7436  	CacheBustingType string `json:"cacheBustingType,omitempty"`
  7437  
  7438  	// CountingMethod: Counting method for conversions for this floodlight
  7439  	// activity. This is a required field.
  7440  	//
  7441  	// Possible values:
  7442  	//   "ITEMS_SOLD_COUNTING"
  7443  	//   "SESSION_COUNTING"
  7444  	//   "STANDARD_COUNTING"
  7445  	//   "TRANSACTIONS_COUNTING"
  7446  	//   "UNIQUE_COUNTING"
  7447  	CountingMethod string `json:"countingMethod,omitempty"`
  7448  
  7449  	// DefaultTags: Dynamic floodlight tags.
  7450  	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
  7451  
  7452  	// ExpectedUrl: URL where this tag will be deployed. If specified, must
  7453  	// be less than 256 characters long.
  7454  	ExpectedUrl string `json:"expectedUrl,omitempty"`
  7455  
  7456  	// FloodlightActivityGroupId: Floodlight activity group ID of this
  7457  	// floodlight activity. This is a required field.
  7458  	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
  7459  
  7460  	// FloodlightActivityGroupName: Name of the associated floodlight
  7461  	// activity group. This is a read-only field.
  7462  	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
  7463  
  7464  	// FloodlightActivityGroupTagString: Tag string of the associated
  7465  	// floodlight activity group. This is a read-only field.
  7466  	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
  7467  
  7468  	// FloodlightActivityGroupType: Type of the associated floodlight
  7469  	// activity group. This is a read-only field.
  7470  	//
  7471  	// Possible values:
  7472  	//   "COUNTER"
  7473  	//   "SALE"
  7474  	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
  7475  
  7476  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7477  	// floodlight activity. If this field is left blank, the value will be
  7478  	// copied over either from the activity group's floodlight configuration
  7479  	// or from the existing activity's floodlight configuration.
  7480  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7481  
  7482  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7483  	// of the floodlight configuration. This is a read-only, auto-generated
  7484  	// field.
  7485  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7486  
  7487  	// FloodlightTagType: The type of Floodlight tag this activity will
  7488  	// generate. This is a required field.
  7489  	//
  7490  	// Possible values:
  7491  	//   "GLOBAL_SITE_TAG"
  7492  	//   "IFRAME"
  7493  	//   "IMAGE"
  7494  	FloodlightTagType string `json:"floodlightTagType,omitempty"`
  7495  
  7496  	// Hidden: Whether this activity is archived.
  7497  	Hidden bool `json:"hidden,omitempty"`
  7498  
  7499  	// Id: ID of this floodlight activity. This is a read-only,
  7500  	// auto-generated field.
  7501  	Id int64 `json:"id,omitempty,string"`
  7502  
  7503  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7504  	// activity. This is a read-only, auto-generated field.
  7505  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7506  
  7507  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7508  	// string "dfareporting#floodlightActivity".
  7509  	Kind string `json:"kind,omitempty"`
  7510  
  7511  	// Name: Name of this floodlight activity. This is a required field.
  7512  	// Must be less than 129 characters long and cannot contain quotes.
  7513  	Name string `json:"name,omitempty"`
  7514  
  7515  	// Notes: General notes or implementation instructions for the tag.
  7516  	Notes string `json:"notes,omitempty"`
  7517  
  7518  	// PublisherTags: Publisher dynamic floodlight tags.
  7519  	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
  7520  
  7521  	// Secure: Whether this tag should use SSL.
  7522  	Secure bool `json:"secure,omitempty"`
  7523  
  7524  	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
  7525  	// is a read-only field, its value detected by the system from the
  7526  	// floodlight tags.
  7527  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7528  
  7529  	// SslRequired: Whether this floodlight activity must be SSL-compliant.
  7530  	SslRequired bool `json:"sslRequired,omitempty"`
  7531  
  7532  	// SubaccountId: Subaccount ID of this floodlight activity. This is a
  7533  	// read-only field that can be left blank.
  7534  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7535  
  7536  	// TagFormat: Tag format type for the floodlight activity. If left
  7537  	// blank, the tag format will default to HTML.
  7538  	//
  7539  	// Possible values:
  7540  	//   "HTML"
  7541  	//   "XHTML"
  7542  	TagFormat string `json:"tagFormat,omitempty"`
  7543  
  7544  	// TagString: Value of the cat= parameter in the floodlight tag, which
  7545  	// the ad servers use to identify the activity. This is optional: if
  7546  	// empty, a new tag string will be generated for you. This string must
  7547  	// be 1 to 8 characters long, with valid characters being
  7548  	// [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among
  7549  	// activities of the same activity group. This field is read-only after
  7550  	// insertion.
  7551  	TagString string `json:"tagString,omitempty"`
  7552  
  7553  	// UserDefinedVariableTypes: List of the user-defined variables used by
  7554  	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
  7555  	// of these can have a user defined type.
  7556  	// Acceptable values are U1 to U100, inclusive.
  7557  	//
  7558  	// Possible values:
  7559  	//   "U1"
  7560  	//   "U10"
  7561  	//   "U100"
  7562  	//   "U11"
  7563  	//   "U12"
  7564  	//   "U13"
  7565  	//   "U14"
  7566  	//   "U15"
  7567  	//   "U16"
  7568  	//   "U17"
  7569  	//   "U18"
  7570  	//   "U19"
  7571  	//   "U2"
  7572  	//   "U20"
  7573  	//   "U21"
  7574  	//   "U22"
  7575  	//   "U23"
  7576  	//   "U24"
  7577  	//   "U25"
  7578  	//   "U26"
  7579  	//   "U27"
  7580  	//   "U28"
  7581  	//   "U29"
  7582  	//   "U3"
  7583  	//   "U30"
  7584  	//   "U31"
  7585  	//   "U32"
  7586  	//   "U33"
  7587  	//   "U34"
  7588  	//   "U35"
  7589  	//   "U36"
  7590  	//   "U37"
  7591  	//   "U38"
  7592  	//   "U39"
  7593  	//   "U4"
  7594  	//   "U40"
  7595  	//   "U41"
  7596  	//   "U42"
  7597  	//   "U43"
  7598  	//   "U44"
  7599  	//   "U45"
  7600  	//   "U46"
  7601  	//   "U47"
  7602  	//   "U48"
  7603  	//   "U49"
  7604  	//   "U5"
  7605  	//   "U50"
  7606  	//   "U51"
  7607  	//   "U52"
  7608  	//   "U53"
  7609  	//   "U54"
  7610  	//   "U55"
  7611  	//   "U56"
  7612  	//   "U57"
  7613  	//   "U58"
  7614  	//   "U59"
  7615  	//   "U6"
  7616  	//   "U60"
  7617  	//   "U61"
  7618  	//   "U62"
  7619  	//   "U63"
  7620  	//   "U64"
  7621  	//   "U65"
  7622  	//   "U66"
  7623  	//   "U67"
  7624  	//   "U68"
  7625  	//   "U69"
  7626  	//   "U7"
  7627  	//   "U70"
  7628  	//   "U71"
  7629  	//   "U72"
  7630  	//   "U73"
  7631  	//   "U74"
  7632  	//   "U75"
  7633  	//   "U76"
  7634  	//   "U77"
  7635  	//   "U78"
  7636  	//   "U79"
  7637  	//   "U8"
  7638  	//   "U80"
  7639  	//   "U81"
  7640  	//   "U82"
  7641  	//   "U83"
  7642  	//   "U84"
  7643  	//   "U85"
  7644  	//   "U86"
  7645  	//   "U87"
  7646  	//   "U88"
  7647  	//   "U89"
  7648  	//   "U9"
  7649  	//   "U90"
  7650  	//   "U91"
  7651  	//   "U92"
  7652  	//   "U93"
  7653  	//   "U94"
  7654  	//   "U95"
  7655  	//   "U96"
  7656  	//   "U97"
  7657  	//   "U98"
  7658  	//   "U99"
  7659  	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
  7660  
  7661  	// ServerResponse contains the HTTP response code and headers from the
  7662  	// server.
  7663  	googleapi.ServerResponse `json:"-"`
  7664  
  7665  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7666  	// unconditionally include in API requests. By default, fields with
  7667  	// empty values are omitted from API requests. However, any non-pointer,
  7668  	// non-interface field appearing in ForceSendFields will be sent to the
  7669  	// server regardless of whether the field is empty or not. This may be
  7670  	// used to include empty fields in Patch requests.
  7671  	ForceSendFields []string `json:"-"`
  7672  
  7673  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7674  	// API requests with the JSON null value. By default, fields with empty
  7675  	// values are omitted from API requests. However, any field with an
  7676  	// empty value appearing in NullFields will be sent to the server as
  7677  	// null. It is an error if a field in this list has a non-empty value.
  7678  	// This may be used to include null fields in Patch requests.
  7679  	NullFields []string `json:"-"`
  7680  }
  7681  
  7682  func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
  7683  	type NoMethod FloodlightActivity
  7684  	raw := NoMethod(*s)
  7685  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7686  }
  7687  
  7688  // FloodlightActivityDynamicTag: Dynamic Tag
  7689  type FloodlightActivityDynamicTag struct {
  7690  	// Id: ID of this dynamic tag. This is a read-only, auto-generated
  7691  	// field.
  7692  	Id int64 `json:"id,omitempty,string"`
  7693  
  7694  	// Name: Name of this tag.
  7695  	Name string `json:"name,omitempty"`
  7696  
  7697  	// Tag: Tag code.
  7698  	Tag string `json:"tag,omitempty"`
  7699  
  7700  	// ForceSendFields is a list of field names (e.g. "Id") to
  7701  	// unconditionally include in API requests. By default, fields with
  7702  	// empty values are omitted from API requests. However, any non-pointer,
  7703  	// non-interface field appearing in ForceSendFields will be sent to the
  7704  	// server regardless of whether the field is empty or not. This may be
  7705  	// used to include empty fields in Patch requests.
  7706  	ForceSendFields []string `json:"-"`
  7707  
  7708  	// NullFields is a list of field names (e.g. "Id") to include in API
  7709  	// requests with the JSON null value. By default, fields with empty
  7710  	// values are omitted from API requests. However, any field with an
  7711  	// empty value appearing in NullFields will be sent to the server as
  7712  	// null. It is an error if a field in this list has a non-empty value.
  7713  	// This may be used to include null fields in Patch requests.
  7714  	NullFields []string `json:"-"`
  7715  }
  7716  
  7717  func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
  7718  	type NoMethod FloodlightActivityDynamicTag
  7719  	raw := NoMethod(*s)
  7720  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7721  }
  7722  
  7723  // FloodlightActivityGroup: Contains properties of a Floodlight activity
  7724  // group.
  7725  type FloodlightActivityGroup struct {
  7726  	// AccountId: Account ID of this floodlight activity group. This is a
  7727  	// read-only field that can be left blank.
  7728  	AccountId int64 `json:"accountId,omitempty,string"`
  7729  
  7730  	// AdvertiserId: Advertiser ID of this floodlight activity group. If
  7731  	// this field is left blank, the value will be copied over either from
  7732  	// the floodlight configuration's advertiser or from the existing
  7733  	// activity group's advertiser.
  7734  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7735  
  7736  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7737  	// advertiser. This is a read-only, auto-generated field.
  7738  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7739  
  7740  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7741  	// floodlight activity group. This is a required field.
  7742  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7743  
  7744  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7745  	// of the floodlight configuration. This is a read-only, auto-generated
  7746  	// field.
  7747  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7748  
  7749  	// Id: ID of this floodlight activity group. This is a read-only,
  7750  	// auto-generated field.
  7751  	Id int64 `json:"id,omitempty,string"`
  7752  
  7753  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7754  	// activity group. This is a read-only, auto-generated field.
  7755  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7756  
  7757  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7758  	// string "dfareporting#floodlightActivityGroup".
  7759  	Kind string `json:"kind,omitempty"`
  7760  
  7761  	// Name: Name of this floodlight activity group. This is a required
  7762  	// field. Must be less than 65 characters long and cannot contain
  7763  	// quotes.
  7764  	Name string `json:"name,omitempty"`
  7765  
  7766  	// SubaccountId: Subaccount ID of this floodlight activity group. This
  7767  	// is a read-only field that can be left blank.
  7768  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7769  
  7770  	// TagString: Value of the type= parameter in the floodlight tag, which
  7771  	// the ad servers use to identify the activity group that the activity
  7772  	// belongs to. This is optional: if empty, a new tag string will be
  7773  	// generated for you. This string must be 1 to 8 characters long, with
  7774  	// valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must
  7775  	// also be unique among activity groups of the same floodlight
  7776  	// configuration. This field is read-only after insertion.
  7777  	TagString string `json:"tagString,omitempty"`
  7778  
  7779  	// Type: Type of the floodlight activity group. This is a required field
  7780  	// that is read-only after insertion.
  7781  	//
  7782  	// Possible values:
  7783  	//   "COUNTER"
  7784  	//   "SALE"
  7785  	Type string `json:"type,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 *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
  7809  	type NoMethod FloodlightActivityGroup
  7810  	raw := NoMethod(*s)
  7811  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7812  }
  7813  
  7814  // FloodlightActivityGroupsListResponse: Floodlight Activity Group List
  7815  // Response
  7816  type FloodlightActivityGroupsListResponse struct {
  7817  	// FloodlightActivityGroups: Floodlight activity group collection.
  7818  	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
  7819  
  7820  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7821  	// string "dfareporting#floodlightActivityGroupsListResponse".
  7822  	Kind string `json:"kind,omitempty"`
  7823  
  7824  	// NextPageToken: Pagination token to be used for the next list
  7825  	// operation.
  7826  	NextPageToken string `json:"nextPageToken,omitempty"`
  7827  
  7828  	// ServerResponse contains the HTTP response code and headers from the
  7829  	// server.
  7830  	googleapi.ServerResponse `json:"-"`
  7831  
  7832  	// ForceSendFields is a list of field names (e.g.
  7833  	// "FloodlightActivityGroups") to unconditionally include in API
  7834  	// requests. By default, fields with empty values are omitted from API
  7835  	// requests. However, any non-pointer, non-interface field appearing in
  7836  	// ForceSendFields will be sent to the server regardless of whether the
  7837  	// field is empty or not. This may be used to include empty fields in
  7838  	// Patch requests.
  7839  	ForceSendFields []string `json:"-"`
  7840  
  7841  	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
  7842  	// to include in API requests with the JSON null value. By default,
  7843  	// fields with empty values are omitted from API requests. However, any
  7844  	// field with an empty value appearing in NullFields will be sent to the
  7845  	// server as null. It is an error if a field in this list has a
  7846  	// non-empty value. This may be used to include null fields in Patch
  7847  	// requests.
  7848  	NullFields []string `json:"-"`
  7849  }
  7850  
  7851  func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
  7852  	type NoMethod FloodlightActivityGroupsListResponse
  7853  	raw := NoMethod(*s)
  7854  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7855  }
  7856  
  7857  // FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
  7858  type FloodlightActivityPublisherDynamicTag struct {
  7859  	// ClickThrough: Whether this tag is applicable only for click-throughs.
  7860  	ClickThrough bool `json:"clickThrough,omitempty"`
  7861  
  7862  	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
  7863  	// write-only field that can be used as an alternative to the siteId
  7864  	// field. When this resource is retrieved, only the siteId field will be
  7865  	// populated.
  7866  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  7867  
  7868  	// DynamicTag: Dynamic floodlight tag.
  7869  	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
  7870  
  7871  	// SiteId: Site ID of this dynamic tag.
  7872  	SiteId int64 `json:"siteId,omitempty,string"`
  7873  
  7874  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  7875  	// a read-only, auto-generated field.
  7876  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  7877  
  7878  	// ViewThrough: Whether this tag is applicable only for view-throughs.
  7879  	ViewThrough bool `json:"viewThrough,omitempty"`
  7880  
  7881  	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
  7882  	// unconditionally include in API requests. By default, fields with
  7883  	// empty values are omitted from API requests. However, any non-pointer,
  7884  	// non-interface field appearing in ForceSendFields will be sent to the
  7885  	// server regardless of whether the field is empty or not. This may be
  7886  	// used to include empty fields in Patch requests.
  7887  	ForceSendFields []string `json:"-"`
  7888  
  7889  	// NullFields is a list of field names (e.g. "ClickThrough") to include
  7890  	// in API requests with the JSON null value. By default, fields with
  7891  	// empty values are omitted from API requests. However, any field with
  7892  	// an empty value appearing in NullFields will be sent to the server as
  7893  	// null. It is an error if a field in this list has a non-empty value.
  7894  	// This may be used to include null fields in Patch requests.
  7895  	NullFields []string `json:"-"`
  7896  }
  7897  
  7898  func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
  7899  	type NoMethod FloodlightActivityPublisherDynamicTag
  7900  	raw := NoMethod(*s)
  7901  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7902  }
  7903  
  7904  // FloodlightConfiguration: Contains properties of a Floodlight
  7905  // configuration.
  7906  type FloodlightConfiguration struct {
  7907  	// AccountId: Account ID of this floodlight configuration. This is a
  7908  	// read-only field that can be left blank.
  7909  	AccountId int64 `json:"accountId,omitempty,string"`
  7910  
  7911  	// AdvertiserId: Advertiser ID of the parent advertiser of this
  7912  	// floodlight configuration.
  7913  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7914  
  7915  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7916  	// advertiser. This is a read-only, auto-generated field.
  7917  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7918  
  7919  	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
  7920  	// Google Analytics.
  7921  	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
  7922  
  7923  	// ExposureToConversionEnabled: Whether the exposure-to-conversion
  7924  	// report is enabled. This report shows detailed pathway information on
  7925  	// up to 10 of the most recent ad exposures seen by a user before
  7926  	// converting.
  7927  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
  7928  
  7929  	// FirstDayOfWeek: Day that will be counted as the first day of the week
  7930  	// in reports. This is a required field.
  7931  	//
  7932  	// Possible values:
  7933  	//   "MONDAY"
  7934  	//   "SUNDAY"
  7935  	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
  7936  
  7937  	// Id: ID of this floodlight configuration. This is a read-only,
  7938  	// auto-generated field.
  7939  	Id int64 `json:"id,omitempty,string"`
  7940  
  7941  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7942  	// configuration. This is a read-only, auto-generated field.
  7943  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7944  
  7945  	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
  7946  	// is enabled.
  7947  	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
  7948  
  7949  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7950  	// string "dfareporting#floodlightConfiguration".
  7951  	Kind string `json:"kind,omitempty"`
  7952  
  7953  	// LookbackConfiguration: Lookback window settings for this floodlight
  7954  	// configuration.
  7955  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  7956  
  7957  	// NaturalSearchConversionAttributionOption: Types of attribution
  7958  	// options for natural search conversions.
  7959  	//
  7960  	// Possible values:
  7961  	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  7962  	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  7963  	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
  7964  	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
  7965  
  7966  	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
  7967  	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
  7968  
  7969  	// SubaccountId: Subaccount ID of this floodlight configuration. This is
  7970  	// a read-only field that can be left blank.
  7971  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7972  
  7973  	// TagSettings: Configuration settings for dynamic and image floodlight
  7974  	// tags.
  7975  	TagSettings *TagSettings `json:"tagSettings,omitempty"`
  7976  
  7977  	// ThirdPartyAuthenticationTokens: List of third-party authentication
  7978  	// tokens enabled for this configuration.
  7979  	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
  7980  
  7981  	// UserDefinedVariableConfigurations: List of user defined variables
  7982  	// enabled for this configuration.
  7983  	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
  7984  
  7985  	// ServerResponse contains the HTTP response code and headers from the
  7986  	// server.
  7987  	googleapi.ServerResponse `json:"-"`
  7988  
  7989  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7990  	// unconditionally include in API requests. By default, fields with
  7991  	// empty values are omitted from API requests. However, any non-pointer,
  7992  	// non-interface field appearing in ForceSendFields will be sent to the
  7993  	// server regardless of whether the field is empty or not. This may be
  7994  	// used to include empty fields in Patch requests.
  7995  	ForceSendFields []string `json:"-"`
  7996  
  7997  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7998  	// API requests with the JSON null value. By default, fields with empty
  7999  	// values are omitted from API requests. However, any field with an
  8000  	// empty value appearing in NullFields will be sent to the server as
  8001  	// null. It is an error if a field in this list has a non-empty value.
  8002  	// This may be used to include null fields in Patch requests.
  8003  	NullFields []string `json:"-"`
  8004  }
  8005  
  8006  func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
  8007  	type NoMethod FloodlightConfiguration
  8008  	raw := NoMethod(*s)
  8009  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8010  }
  8011  
  8012  // FloodlightConfigurationsListResponse: Floodlight Configuration List
  8013  // Response
  8014  type FloodlightConfigurationsListResponse struct {
  8015  	// FloodlightConfigurations: Floodlight configuration collection.
  8016  	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
  8017  
  8018  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8019  	// string "dfareporting#floodlightConfigurationsListResponse".
  8020  	Kind string `json:"kind,omitempty"`
  8021  
  8022  	// ServerResponse contains the HTTP response code and headers from the
  8023  	// server.
  8024  	googleapi.ServerResponse `json:"-"`
  8025  
  8026  	// ForceSendFields is a list of field names (e.g.
  8027  	// "FloodlightConfigurations") to unconditionally include in API
  8028  	// requests. By default, fields with empty values are omitted from API
  8029  	// requests. However, any non-pointer, non-interface field appearing in
  8030  	// ForceSendFields will be sent to the server regardless of whether the
  8031  	// field is empty or not. This may be used to include empty fields in
  8032  	// Patch requests.
  8033  	ForceSendFields []string `json:"-"`
  8034  
  8035  	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
  8036  	// to include in API requests with the JSON null value. By default,
  8037  	// fields with empty values are omitted from API requests. However, any
  8038  	// field with an empty value appearing in NullFields will be sent to the
  8039  	// server as null. It is an error if a field in this list has a
  8040  	// non-empty value. This may be used to include null fields in Patch
  8041  	// requests.
  8042  	NullFields []string `json:"-"`
  8043  }
  8044  
  8045  func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
  8046  	type NoMethod FloodlightConfigurationsListResponse
  8047  	raw := NoMethod(*s)
  8048  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8049  }
  8050  
  8051  // FloodlightReportCompatibleFields: Represents fields that are
  8052  // compatible to be selected for a report of type "FlOODLIGHT".
  8053  type FloodlightReportCompatibleFields struct {
  8054  	// DimensionFilters: Dimensions which are compatible to be selected in
  8055  	// the "dimensionFilters" section of the report.
  8056  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  8057  
  8058  	// Dimensions: Dimensions which are compatible to be selected in the
  8059  	// "dimensions" section of the report.
  8060  	Dimensions []*Dimension `json:"dimensions,omitempty"`
  8061  
  8062  	// Kind: The kind of resource this is, in this case
  8063  	// dfareporting#floodlightReportCompatibleFields.
  8064  	Kind string `json:"kind,omitempty"`
  8065  
  8066  	// Metrics: Metrics which are compatible to be selected in the
  8067  	// "metricNames" section of the report.
  8068  	Metrics []*Metric `json:"metrics,omitempty"`
  8069  
  8070  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
  8071  	// unconditionally include in API requests. By default, fields with
  8072  	// empty values are omitted from API requests. However, any non-pointer,
  8073  	// non-interface field appearing in ForceSendFields will be sent to the
  8074  	// server regardless of whether the field is empty or not. This may be
  8075  	// used to include empty fields in Patch requests.
  8076  	ForceSendFields []string `json:"-"`
  8077  
  8078  	// NullFields is a list of field names (e.g. "DimensionFilters") to
  8079  	// include in API requests with the JSON null value. By default, fields
  8080  	// with empty values are omitted from API requests. However, any field
  8081  	// with an empty value appearing in NullFields will be sent to the
  8082  	// server as null. It is an error if a field in this list has a
  8083  	// non-empty value. This may be used to include null fields in Patch
  8084  	// requests.
  8085  	NullFields []string `json:"-"`
  8086  }
  8087  
  8088  func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
  8089  	type NoMethod FloodlightReportCompatibleFields
  8090  	raw := NoMethod(*s)
  8091  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8092  }
  8093  
  8094  // FrequencyCap: Frequency Cap.
  8095  type FrequencyCap struct {
  8096  	// Duration: Duration of time, in seconds, for this frequency cap. The
  8097  	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
  8098  	// inclusive.
  8099  	Duration int64 `json:"duration,omitempty,string"`
  8100  
  8101  	// Impressions: Number of times an individual user can be served the ad
  8102  	// within the specified duration. Acceptable values are 1 to 15,
  8103  	// inclusive.
  8104  	Impressions int64 `json:"impressions,omitempty,string"`
  8105  
  8106  	// ForceSendFields is a list of field names (e.g. "Duration") to
  8107  	// unconditionally include in API requests. By default, fields with
  8108  	// empty values are omitted from API requests. However, any non-pointer,
  8109  	// non-interface field appearing in ForceSendFields will be sent to the
  8110  	// server regardless of whether the field is empty or not. This may be
  8111  	// used to include empty fields in Patch requests.
  8112  	ForceSendFields []string `json:"-"`
  8113  
  8114  	// NullFields is a list of field names (e.g. "Duration") to include in
  8115  	// API requests with the JSON null value. By default, fields with empty
  8116  	// values are omitted from API requests. However, any field with an
  8117  	// empty value appearing in NullFields will be sent to the server as
  8118  	// null. It is an error if a field in this list has a non-empty value.
  8119  	// This may be used to include null fields in Patch requests.
  8120  	NullFields []string `json:"-"`
  8121  }
  8122  
  8123  func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
  8124  	type NoMethod FrequencyCap
  8125  	raw := NoMethod(*s)
  8126  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8127  }
  8128  
  8129  // FsCommand: FsCommand.
  8130  type FsCommand struct {
  8131  	// Left: Distance from the left of the browser.Applicable when
  8132  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  8133  	Left int64 `json:"left,omitempty"`
  8134  
  8135  	// PositionOption: Position in the browser where the window will open.
  8136  	//
  8137  	// Possible values:
  8138  	//   "CENTERED"
  8139  	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
  8140  	PositionOption string `json:"positionOption,omitempty"`
  8141  
  8142  	// Top: Distance from the top of the browser. Applicable when
  8143  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  8144  	Top int64 `json:"top,omitempty"`
  8145  
  8146  	// WindowHeight: Height of the window.
  8147  	WindowHeight int64 `json:"windowHeight,omitempty"`
  8148  
  8149  	// WindowWidth: Width of the window.
  8150  	WindowWidth int64 `json:"windowWidth,omitempty"`
  8151  
  8152  	// ForceSendFields is a list of field names (e.g. "Left") to
  8153  	// unconditionally include in API requests. By default, fields with
  8154  	// empty values are omitted from API requests. However, any non-pointer,
  8155  	// non-interface field appearing in ForceSendFields will be sent to the
  8156  	// server regardless of whether the field is empty or not. This may be
  8157  	// used to include empty fields in Patch requests.
  8158  	ForceSendFields []string `json:"-"`
  8159  
  8160  	// NullFields is a list of field names (e.g. "Left") to include in API
  8161  	// requests with the JSON null value. By default, fields with empty
  8162  	// values are omitted from API requests. However, any field with an
  8163  	// empty value appearing in NullFields will be sent to the server as
  8164  	// null. It is an error if a field in this list has a non-empty value.
  8165  	// This may be used to include null fields in Patch requests.
  8166  	NullFields []string `json:"-"`
  8167  }
  8168  
  8169  func (s *FsCommand) MarshalJSON() ([]byte, error) {
  8170  	type NoMethod FsCommand
  8171  	raw := NoMethod(*s)
  8172  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8173  }
  8174  
  8175  // GeoTargeting: Geographical Targeting.
  8176  type GeoTargeting struct {
  8177  	// Cities: Cities to be targeted. For each city only dartId is required.
  8178  	// The other fields are populated automatically when the ad is inserted
  8179  	// or updated. If targeting a city, do not target or exclude the country
  8180  	// of the city, and do not target the metro or region of the city.
  8181  	Cities []*City `json:"cities,omitempty"`
  8182  
  8183  	// Countries: Countries to be targeted or excluded from targeting,
  8184  	// depending on the setting of the excludeCountries field. For each
  8185  	// country only dartId is required. The other fields are populated
  8186  	// automatically when the ad is inserted or updated. If targeting or
  8187  	// excluding a country, do not target regions, cities, metros, or postal
  8188  	// codes in the same country.
  8189  	Countries []*Country `json:"countries,omitempty"`
  8190  
  8191  	// ExcludeCountries: Whether or not to exclude the countries in the
  8192  	// countries field from targeting. If false, the countries field refers
  8193  	// to countries which will be targeted by the ad.
  8194  	ExcludeCountries bool `json:"excludeCountries,omitempty"`
  8195  
  8196  	// Metros: Metros to be targeted. For each metro only dmaId is required.
  8197  	// The other fields are populated automatically when the ad is inserted
  8198  	// or updated. If targeting a metro, do not target or exclude the
  8199  	// country of the metro.
  8200  	Metros []*Metro `json:"metros,omitempty"`
  8201  
  8202  	// PostalCodes: Postal codes to be targeted. For each postal code only
  8203  	// id is required. The other fields are populated automatically when the
  8204  	// ad is inserted or updated. If targeting a postal code, do not target
  8205  	// or exclude the country of the postal code.
  8206  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
  8207  
  8208  	// Regions: Regions to be targeted. For each region only dartId is
  8209  	// required. The other fields are populated automatically when the ad is
  8210  	// inserted or updated. If targeting a region, do not target or exclude
  8211  	// the country of the region.
  8212  	Regions []*Region `json:"regions,omitempty"`
  8213  
  8214  	// ForceSendFields is a list of field names (e.g. "Cities") to
  8215  	// unconditionally include in API requests. By default, fields with
  8216  	// empty values are omitted from API requests. However, any non-pointer,
  8217  	// non-interface field appearing in ForceSendFields will be sent to the
  8218  	// server regardless of whether the field is empty or not. This may be
  8219  	// used to include empty fields in Patch requests.
  8220  	ForceSendFields []string `json:"-"`
  8221  
  8222  	// NullFields is a list of field names (e.g. "Cities") to include in API
  8223  	// requests with the JSON null value. By default, fields with empty
  8224  	// values are omitted from API requests. However, any field with an
  8225  	// empty value appearing in NullFields will be sent to the server as
  8226  	// null. It is an error if a field in this list has a non-empty value.
  8227  	// This may be used to include null fields in Patch requests.
  8228  	NullFields []string `json:"-"`
  8229  }
  8230  
  8231  func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
  8232  	type NoMethod GeoTargeting
  8233  	raw := NoMethod(*s)
  8234  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8235  }
  8236  
  8237  // InventoryItem: Represents a buy from the Planning inventory store.
  8238  type InventoryItem struct {
  8239  	// AccountId: Account ID of this inventory item.
  8240  	AccountId int64 `json:"accountId,omitempty,string"`
  8241  
  8242  	// AdSlots: Ad slots of this inventory item. If this inventory item
  8243  	// represents a standalone placement, there will be exactly one ad slot.
  8244  	// If this inventory item represents a placement group, there will be
  8245  	// more than one ad slot, each representing one child placement in that
  8246  	// placement group.
  8247  	AdSlots []*AdSlot `json:"adSlots,omitempty"`
  8248  
  8249  	// AdvertiserId: Advertiser ID of this inventory item.
  8250  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8251  
  8252  	// ContentCategoryId: Content category ID of this inventory item.
  8253  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  8254  
  8255  	// EstimatedClickThroughRate: Estimated click-through rate of this
  8256  	// inventory item.
  8257  	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
  8258  
  8259  	// EstimatedConversionRate: Estimated conversion rate of this inventory
  8260  	// item.
  8261  	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
  8262  
  8263  	// Id: ID of this inventory item.
  8264  	Id int64 `json:"id,omitempty,string"`
  8265  
  8266  	// InPlan: Whether this inventory item is in plan.
  8267  	InPlan bool `json:"inPlan,omitempty"`
  8268  
  8269  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8270  	// string "dfareporting#inventoryItem".
  8271  	Kind string `json:"kind,omitempty"`
  8272  
  8273  	// LastModifiedInfo: Information about the most recent modification of
  8274  	// this inventory item.
  8275  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  8276  
  8277  	// Name: Name of this inventory item. For standalone inventory items,
  8278  	// this is the same name as that of its only ad slot. For group
  8279  	// inventory items, this can differ from the name of any of its ad
  8280  	// slots.
  8281  	Name string `json:"name,omitempty"`
  8282  
  8283  	// NegotiationChannelId: Negotiation channel ID of this inventory item.
  8284  	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
  8285  
  8286  	// OrderId: Order ID of this inventory item.
  8287  	OrderId int64 `json:"orderId,omitempty,string"`
  8288  
  8289  	// PlacementStrategyId: Placement strategy ID of this inventory item.
  8290  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  8291  
  8292  	// Pricing: Pricing of this inventory item.
  8293  	Pricing *Pricing `json:"pricing,omitempty"`
  8294  
  8295  	// ProjectId: Project ID of this inventory item.
  8296  	ProjectId int64 `json:"projectId,omitempty,string"`
  8297  
  8298  	// RfpId: RFP ID of this inventory item.
  8299  	RfpId int64 `json:"rfpId,omitempty,string"`
  8300  
  8301  	// SiteId: ID of the site this inventory item is associated with.
  8302  	SiteId int64 `json:"siteId,omitempty,string"`
  8303  
  8304  	// SubaccountId: Subaccount ID of this inventory item.
  8305  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8306  
  8307  	// Type: Type of inventory item.
  8308  	//
  8309  	// Possible values:
  8310  	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
  8311  	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
  8312  	Type string `json:"type,omitempty"`
  8313  
  8314  	// ServerResponse contains the HTTP response code and headers from the
  8315  	// server.
  8316  	googleapi.ServerResponse `json:"-"`
  8317  
  8318  	// ForceSendFields is a list of field names (e.g. "AccountId") 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. "AccountId") 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 *InventoryItem) MarshalJSON() ([]byte, error) {
  8336  	type NoMethod InventoryItem
  8337  	raw := NoMethod(*s)
  8338  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8339  }
  8340  
  8341  // InventoryItemsListResponse: Inventory item List Response
  8342  type InventoryItemsListResponse struct {
  8343  	// InventoryItems: Inventory item collection
  8344  	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
  8345  
  8346  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8347  	// string "dfareporting#inventoryItemsListResponse".
  8348  	Kind string `json:"kind,omitempty"`
  8349  
  8350  	// NextPageToken: Pagination token to be used for the next list
  8351  	// operation.
  8352  	NextPageToken string `json:"nextPageToken,omitempty"`
  8353  
  8354  	// ServerResponse contains the HTTP response code and headers from the
  8355  	// server.
  8356  	googleapi.ServerResponse `json:"-"`
  8357  
  8358  	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
  8359  	// unconditionally include in API requests. By default, fields with
  8360  	// empty values are omitted from API requests. However, any non-pointer,
  8361  	// non-interface field appearing in ForceSendFields will be sent to the
  8362  	// server regardless of whether the field is empty or not. This may be
  8363  	// used to include empty fields in Patch requests.
  8364  	ForceSendFields []string `json:"-"`
  8365  
  8366  	// NullFields is a list of field names (e.g. "InventoryItems") to
  8367  	// include in API requests with the JSON null value. By default, fields
  8368  	// with empty values are omitted from API requests. However, any field
  8369  	// with an empty value appearing in NullFields will be sent to the
  8370  	// server as null. It is an error if a field in this list has a
  8371  	// non-empty value. This may be used to include null fields in Patch
  8372  	// requests.
  8373  	NullFields []string `json:"-"`
  8374  }
  8375  
  8376  func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
  8377  	type NoMethod InventoryItemsListResponse
  8378  	raw := NoMethod(*s)
  8379  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8380  }
  8381  
  8382  // KeyValueTargetingExpression: Key Value Targeting Expression.
  8383  type KeyValueTargetingExpression struct {
  8384  	// Expression: Keyword expression being targeted by the ad.
  8385  	Expression string `json:"expression,omitempty"`
  8386  
  8387  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8388  	// unconditionally include in API requests. By default, fields with
  8389  	// empty values are omitted from API requests. However, any non-pointer,
  8390  	// non-interface field appearing in ForceSendFields will be sent to the
  8391  	// server regardless of whether the field is empty or not. This may be
  8392  	// used to include empty fields in Patch requests.
  8393  	ForceSendFields []string `json:"-"`
  8394  
  8395  	// NullFields is a list of field names (e.g. "Expression") to include in
  8396  	// API requests with the JSON null value. By default, fields with empty
  8397  	// values are omitted from API requests. However, any field with an
  8398  	// empty value appearing in NullFields will be sent to the server as
  8399  	// null. It is an error if a field in this list has a non-empty value.
  8400  	// This may be used to include null fields in Patch requests.
  8401  	NullFields []string `json:"-"`
  8402  }
  8403  
  8404  func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
  8405  	type NoMethod KeyValueTargetingExpression
  8406  	raw := NoMethod(*s)
  8407  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8408  }
  8409  
  8410  // LandingPage: Contains information about where a user's browser is
  8411  // taken after the user clicks an ad.
  8412  type LandingPage struct {
  8413  	// AdvertiserId: Advertiser ID of this landing page. This is a required
  8414  	// field.
  8415  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8416  
  8417  	// Archived: Whether this landing page has been archived.
  8418  	Archived bool `json:"archived,omitempty"`
  8419  
  8420  	// Id: ID of this landing page. This is a read-only, auto-generated
  8421  	// field.
  8422  	Id int64 `json:"id,omitempty,string"`
  8423  
  8424  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8425  	// string "dfareporting#landingPage".
  8426  	Kind string `json:"kind,omitempty"`
  8427  
  8428  	// Name: Name of this landing page. This is a required field. It must be
  8429  	// less than 256 characters long.
  8430  	Name string `json:"name,omitempty"`
  8431  
  8432  	// Url: URL of this landing page. This is a required field.
  8433  	Url string `json:"url,omitempty"`
  8434  
  8435  	// ServerResponse contains the HTTP response code and headers from the
  8436  	// server.
  8437  	googleapi.ServerResponse `json:"-"`
  8438  
  8439  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  8440  	// unconditionally include in API requests. By default, fields with
  8441  	// empty values are omitted from API requests. However, any non-pointer,
  8442  	// non-interface field appearing in ForceSendFields will be sent to the
  8443  	// server regardless of whether the field is empty or not. This may be
  8444  	// used to include empty fields in Patch requests.
  8445  	ForceSendFields []string `json:"-"`
  8446  
  8447  	// NullFields is a list of field names (e.g. "AdvertiserId") to include
  8448  	// in API requests with the JSON null value. By default, fields with
  8449  	// empty values are omitted from API requests. However, any field with
  8450  	// an empty value appearing in NullFields will be sent to the server as
  8451  	// null. It is an error if a field in this list has a non-empty value.
  8452  	// This may be used to include null fields in Patch requests.
  8453  	NullFields []string `json:"-"`
  8454  }
  8455  
  8456  func (s *LandingPage) MarshalJSON() ([]byte, error) {
  8457  	type NoMethod LandingPage
  8458  	raw := NoMethod(*s)
  8459  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8460  }
  8461  
  8462  // Language: Contains information about a language that can be targeted
  8463  // by ads.
  8464  type Language struct {
  8465  	// Id: Language ID of this language. This is the ID used for targeting
  8466  	// and generating reports.
  8467  	Id int64 `json:"id,omitempty,string"`
  8468  
  8469  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8470  	// string "dfareporting#language".
  8471  	Kind string `json:"kind,omitempty"`
  8472  
  8473  	// LanguageCode: Format of language code is an ISO 639 two-letter
  8474  	// language code optionally followed by an underscore followed by an ISO
  8475  	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
  8476  	// Chinese.
  8477  	LanguageCode string `json:"languageCode,omitempty"`
  8478  
  8479  	// Name: Name of this language.
  8480  	Name string `json:"name,omitempty"`
  8481  
  8482  	// ForceSendFields is a list of field names (e.g. "Id") to
  8483  	// unconditionally include in API requests. By default, fields with
  8484  	// empty values are omitted from API requests. However, any non-pointer,
  8485  	// non-interface field appearing in ForceSendFields will be sent to the
  8486  	// server regardless of whether the field is empty or not. This may be
  8487  	// used to include empty fields in Patch requests.
  8488  	ForceSendFields []string `json:"-"`
  8489  
  8490  	// NullFields is a list of field names (e.g. "Id") to include in API
  8491  	// requests with the JSON null value. By default, fields with empty
  8492  	// values are omitted from API requests. However, any field with an
  8493  	// empty value appearing in NullFields will be sent to the server as
  8494  	// null. It is an error if a field in this list has a non-empty value.
  8495  	// This may be used to include null fields in Patch requests.
  8496  	NullFields []string `json:"-"`
  8497  }
  8498  
  8499  func (s *Language) MarshalJSON() ([]byte, error) {
  8500  	type NoMethod Language
  8501  	raw := NoMethod(*s)
  8502  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8503  }
  8504  
  8505  // LanguageTargeting: Language Targeting.
  8506  type LanguageTargeting struct {
  8507  	// Languages: Languages that this ad targets. For each language only
  8508  	// languageId is required. The other fields are populated automatically
  8509  	// when the ad is inserted or updated.
  8510  	Languages []*Language `json:"languages,omitempty"`
  8511  
  8512  	// ForceSendFields is a list of field names (e.g. "Languages") to
  8513  	// unconditionally include in API requests. By default, fields with
  8514  	// empty values are omitted from API requests. However, any non-pointer,
  8515  	// non-interface field appearing in ForceSendFields will be sent to the
  8516  	// server regardless of whether the field is empty or not. This may be
  8517  	// used to include empty fields in Patch requests.
  8518  	ForceSendFields []string `json:"-"`
  8519  
  8520  	// NullFields is a list of field names (e.g. "Languages") to include in
  8521  	// API requests with the JSON null value. By default, fields with empty
  8522  	// values are omitted from API requests. However, any field with an
  8523  	// empty value appearing in NullFields will be sent to the server as
  8524  	// null. It is an error if a field in this list has a non-empty value.
  8525  	// This may be used to include null fields in Patch requests.
  8526  	NullFields []string `json:"-"`
  8527  }
  8528  
  8529  func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
  8530  	type NoMethod LanguageTargeting
  8531  	raw := NoMethod(*s)
  8532  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8533  }
  8534  
  8535  // LanguagesListResponse: Language List Response
  8536  type LanguagesListResponse struct {
  8537  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8538  	// string "dfareporting#languagesListResponse".
  8539  	Kind string `json:"kind,omitempty"`
  8540  
  8541  	// Languages: Language collection.
  8542  	Languages []*Language `json:"languages,omitempty"`
  8543  
  8544  	// ServerResponse contains the HTTP response code and headers from the
  8545  	// server.
  8546  	googleapi.ServerResponse `json:"-"`
  8547  
  8548  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8549  	// unconditionally include in API requests. By default, fields with
  8550  	// empty values are omitted from API requests. However, any non-pointer,
  8551  	// non-interface field appearing in ForceSendFields will be sent to the
  8552  	// server regardless of whether the field is empty or not. This may be
  8553  	// used to include empty fields in Patch requests.
  8554  	ForceSendFields []string `json:"-"`
  8555  
  8556  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8557  	// requests with the JSON null value. By default, fields with empty
  8558  	// values are omitted from API requests. However, any field with an
  8559  	// empty value appearing in NullFields will be sent to the server as
  8560  	// null. It is an error if a field in this list has a non-empty value.
  8561  	// This may be used to include null fields in Patch requests.
  8562  	NullFields []string `json:"-"`
  8563  }
  8564  
  8565  func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
  8566  	type NoMethod LanguagesListResponse
  8567  	raw := NoMethod(*s)
  8568  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8569  }
  8570  
  8571  // LastModifiedInfo: Modification timestamp.
  8572  type LastModifiedInfo struct {
  8573  	// Time: Timestamp of the last change in milliseconds since epoch.
  8574  	Time int64 `json:"time,omitempty,string"`
  8575  
  8576  	// ForceSendFields is a list of field names (e.g. "Time") to
  8577  	// unconditionally include in API requests. By default, fields with
  8578  	// empty values are omitted from API requests. However, any non-pointer,
  8579  	// non-interface field appearing in ForceSendFields will be sent to the
  8580  	// server regardless of whether the field is empty or not. This may be
  8581  	// used to include empty fields in Patch requests.
  8582  	ForceSendFields []string `json:"-"`
  8583  
  8584  	// NullFields is a list of field names (e.g. "Time") to include in API
  8585  	// requests with the JSON null value. By default, fields with empty
  8586  	// values are omitted from API requests. However, any field with an
  8587  	// empty value appearing in NullFields will be sent to the server as
  8588  	// null. It is an error if a field in this list has a non-empty value.
  8589  	// This may be used to include null fields in Patch requests.
  8590  	NullFields []string `json:"-"`
  8591  }
  8592  
  8593  func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
  8594  	type NoMethod LastModifiedInfo
  8595  	raw := NoMethod(*s)
  8596  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8597  }
  8598  
  8599  // ListPopulationClause: A group clause made up of list population terms
  8600  // representing constraints joined by ORs.
  8601  type ListPopulationClause struct {
  8602  	// Terms: Terms of this list population clause. Each clause is made up
  8603  	// of list population terms representing constraints and are joined by
  8604  	// ORs.
  8605  	Terms []*ListPopulationTerm `json:"terms,omitempty"`
  8606  
  8607  	// ForceSendFields is a list of field names (e.g. "Terms") to
  8608  	// unconditionally include in API requests. By default, fields with
  8609  	// empty values are omitted from API requests. However, any non-pointer,
  8610  	// non-interface field appearing in ForceSendFields will be sent to the
  8611  	// server regardless of whether the field is empty or not. This may be
  8612  	// used to include empty fields in Patch requests.
  8613  	ForceSendFields []string `json:"-"`
  8614  
  8615  	// NullFields is a list of field names (e.g. "Terms") to include in API
  8616  	// requests with the JSON null value. By default, fields with empty
  8617  	// values are omitted from API requests. However, any field with an
  8618  	// empty value appearing in NullFields will be sent to the server as
  8619  	// null. It is an error if a field in this list has a non-empty value.
  8620  	// This may be used to include null fields in Patch requests.
  8621  	NullFields []string `json:"-"`
  8622  }
  8623  
  8624  func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
  8625  	type NoMethod ListPopulationClause
  8626  	raw := NoMethod(*s)
  8627  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8628  }
  8629  
  8630  // ListPopulationRule: Remarketing List Population Rule.
  8631  type ListPopulationRule struct {
  8632  	// FloodlightActivityId: Floodlight activity ID associated with this
  8633  	// rule. This field can be left blank.
  8634  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  8635  
  8636  	// FloodlightActivityName: Name of floodlight activity associated with
  8637  	// this rule. This is a read-only, auto-generated field.
  8638  	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
  8639  
  8640  	// ListPopulationClauses: Clauses that make up this list population
  8641  	// rule. Clauses are joined by ANDs, and the clauses themselves are made
  8642  	// up of list population terms which are joined by ORs.
  8643  	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
  8644  
  8645  	// ForceSendFields is a list of field names (e.g.
  8646  	// "FloodlightActivityId") to unconditionally include in API requests.
  8647  	// By default, fields with empty values are omitted from API requests.
  8648  	// However, any non-pointer, non-interface field appearing in
  8649  	// ForceSendFields will be sent to the server regardless of whether the
  8650  	// field is empty or not. This may be used to include empty fields in
  8651  	// Patch requests.
  8652  	ForceSendFields []string `json:"-"`
  8653  
  8654  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  8655  	// include in API requests with the JSON null value. By default, fields
  8656  	// with empty values are omitted from API requests. However, any field
  8657  	// with an empty value appearing in NullFields will be sent to the
  8658  	// server as null. It is an error if a field in this list has a
  8659  	// non-empty value. This may be used to include null fields in Patch
  8660  	// requests.
  8661  	NullFields []string `json:"-"`
  8662  }
  8663  
  8664  func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
  8665  	type NoMethod ListPopulationRule
  8666  	raw := NoMethod(*s)
  8667  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8668  }
  8669  
  8670  // ListPopulationTerm: Remarketing List Population Rule Term.
  8671  type ListPopulationTerm struct {
  8672  	// Contains: Will be true if the term should check if the user is in the
  8673  	// list and false if the term should check if the user is not in the
  8674  	// list. This field is only relevant when type is set to
  8675  	// LIST_MEMBERSHIP_TERM. False by default.
  8676  	Contains bool `json:"contains,omitempty"`
  8677  
  8678  	// Negation: Whether to negate the comparison result of this term during
  8679  	// rule evaluation. This field is only relevant when type is left unset
  8680  	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8681  	Negation bool `json:"negation,omitempty"`
  8682  
  8683  	// Operator: Comparison operator of this term. This field is only
  8684  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8685  	// REFERRER_TERM.
  8686  	//
  8687  	// Possible values:
  8688  	//   "NUM_EQUALS"
  8689  	//   "NUM_GREATER_THAN"
  8690  	//   "NUM_GREATER_THAN_EQUAL"
  8691  	//   "NUM_LESS_THAN"
  8692  	//   "NUM_LESS_THAN_EQUAL"
  8693  	//   "STRING_CONTAINS"
  8694  	//   "STRING_EQUALS"
  8695  	Operator string `json:"operator,omitempty"`
  8696  
  8697  	// RemarketingListId: ID of the list in question. This field is only
  8698  	// relevant when type is set to LIST_MEMBERSHIP_TERM.
  8699  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
  8700  
  8701  	// Type: List population term type determines the applicable fields in
  8702  	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
  8703  	// variableName, variableFriendlyName, operator, value, and negation are
  8704  	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
  8705  	// contains are applicable. If set to REFERRER_TERM then operator,
  8706  	// value, and negation are applicable.
  8707  	//
  8708  	// Possible values:
  8709  	//   "CUSTOM_VARIABLE_TERM"
  8710  	//   "LIST_MEMBERSHIP_TERM"
  8711  	//   "REFERRER_TERM"
  8712  	Type string `json:"type,omitempty"`
  8713  
  8714  	// Value: Literal to compare the variable to. This field is only
  8715  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8716  	// REFERRER_TERM.
  8717  	Value string `json:"value,omitempty"`
  8718  
  8719  	// VariableFriendlyName: Friendly name of this term's variable. This is
  8720  	// a read-only, auto-generated field. This field is only relevant when
  8721  	// type is left unset or set to CUSTOM_VARIABLE_TERM.
  8722  	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
  8723  
  8724  	// VariableName: Name of the variable (U1, U2, etc.) being compared in
  8725  	// this term. This field is only relevant when type is set to null,
  8726  	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8727  	VariableName string `json:"variableName,omitempty"`
  8728  
  8729  	// ForceSendFields is a list of field names (e.g. "Contains") to
  8730  	// unconditionally include in API requests. By default, fields with
  8731  	// empty values are omitted from API requests. However, any non-pointer,
  8732  	// non-interface field appearing in ForceSendFields will be sent to the
  8733  	// server regardless of whether the field is empty or not. This may be
  8734  	// used to include empty fields in Patch requests.
  8735  	ForceSendFields []string `json:"-"`
  8736  
  8737  	// NullFields is a list of field names (e.g. "Contains") to include in
  8738  	// API requests with the JSON null value. By default, fields with empty
  8739  	// values are omitted from API requests. However, any field with an
  8740  	// empty value appearing in NullFields will be sent to the server as
  8741  	// null. It is an error if a field in this list has a non-empty value.
  8742  	// This may be used to include null fields in Patch requests.
  8743  	NullFields []string `json:"-"`
  8744  }
  8745  
  8746  func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
  8747  	type NoMethod ListPopulationTerm
  8748  	raw := NoMethod(*s)
  8749  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8750  }
  8751  
  8752  // ListTargetingExpression: Remarketing List Targeting Expression.
  8753  type ListTargetingExpression struct {
  8754  	// Expression: Expression describing which lists are being targeted by
  8755  	// the ad.
  8756  	Expression string `json:"expression,omitempty"`
  8757  
  8758  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8759  	// unconditionally include in API requests. By default, fields with
  8760  	// empty values are omitted from API requests. However, any non-pointer,
  8761  	// non-interface field appearing in ForceSendFields will be sent to the
  8762  	// server regardless of whether the field is empty or not. This may be
  8763  	// used to include empty fields in Patch requests.
  8764  	ForceSendFields []string `json:"-"`
  8765  
  8766  	// NullFields is a list of field names (e.g. "Expression") to include in
  8767  	// API requests with the JSON null value. By default, fields with empty
  8768  	// values are omitted from API requests. However, any field with an
  8769  	// empty value appearing in NullFields will be sent to the server as
  8770  	// null. It is an error if a field in this list has a non-empty value.
  8771  	// This may be used to include null fields in Patch requests.
  8772  	NullFields []string `json:"-"`
  8773  }
  8774  
  8775  func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
  8776  	type NoMethod ListTargetingExpression
  8777  	raw := NoMethod(*s)
  8778  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8779  }
  8780  
  8781  // LookbackConfiguration: Lookback configuration settings.
  8782  type LookbackConfiguration struct {
  8783  	// ClickDuration: Lookback window, in days, from the last time a given
  8784  	// user clicked on one of your ads. If you enter 0, clicks will not be
  8785  	// considered as triggering events for floodlight tracking. If you leave
  8786  	// this field blank, the default value for your account will be used.
  8787  	// Acceptable values are 0 to 90, inclusive.
  8788  	ClickDuration int64 `json:"clickDuration,omitempty"`
  8789  
  8790  	// PostImpressionActivitiesDuration: Lookback window, in days, from the
  8791  	// last time a given user viewed one of your ads. If you enter 0,
  8792  	// impressions will not be considered as triggering events for
  8793  	// floodlight tracking. If you leave this field blank, the default value
  8794  	// for your account will be used. Acceptable values are 0 to 90,
  8795  	// inclusive.
  8796  	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
  8797  
  8798  	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
  8799  	// unconditionally include in API requests. By default, fields with
  8800  	// empty values are omitted from API requests. However, any non-pointer,
  8801  	// non-interface field appearing in ForceSendFields will be sent to the
  8802  	// server regardless of whether the field is empty or not. This may be
  8803  	// used to include empty fields in Patch requests.
  8804  	ForceSendFields []string `json:"-"`
  8805  
  8806  	// NullFields is a list of field names (e.g. "ClickDuration") to include
  8807  	// in API requests with the JSON null value. By default, fields with
  8808  	// empty values are omitted from API requests. However, any field with
  8809  	// an empty value appearing in NullFields will be sent to the server as
  8810  	// null. It is an error if a field in this list has a non-empty value.
  8811  	// This may be used to include null fields in Patch requests.
  8812  	NullFields []string `json:"-"`
  8813  }
  8814  
  8815  func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
  8816  	type NoMethod LookbackConfiguration
  8817  	raw := NoMethod(*s)
  8818  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8819  }
  8820  
  8821  // Metric: Represents a metric.
  8822  type Metric struct {
  8823  	// Kind: The kind of resource this is, in this case dfareporting#metric.
  8824  	Kind string `json:"kind,omitempty"`
  8825  
  8826  	// Name: The metric name, e.g. dfa:impressions
  8827  	Name string `json:"name,omitempty"`
  8828  
  8829  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8830  	// unconditionally include in API requests. By default, fields with
  8831  	// empty values are omitted from API requests. However, any non-pointer,
  8832  	// non-interface field appearing in ForceSendFields will be sent to the
  8833  	// server regardless of whether the field is empty or not. This may be
  8834  	// used to include empty fields in Patch requests.
  8835  	ForceSendFields []string `json:"-"`
  8836  
  8837  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8838  	// requests with the JSON null value. By default, fields with empty
  8839  	// values are omitted from API requests. However, any field with an
  8840  	// empty value appearing in NullFields will be sent to the server as
  8841  	// null. It is an error if a field in this list has a non-empty value.
  8842  	// This may be used to include null fields in Patch requests.
  8843  	NullFields []string `json:"-"`
  8844  }
  8845  
  8846  func (s *Metric) MarshalJSON() ([]byte, error) {
  8847  	type NoMethod Metric
  8848  	raw := NoMethod(*s)
  8849  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8850  }
  8851  
  8852  // Metro: Contains information about a metro region that can be targeted
  8853  // by ads.
  8854  type Metro struct {
  8855  	// CountryCode: Country code of the country to which this metro region
  8856  	// belongs.
  8857  	CountryCode string `json:"countryCode,omitempty"`
  8858  
  8859  	// CountryDartId: DART ID of the country to which this metro region
  8860  	// belongs.
  8861  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8862  
  8863  	// DartId: DART ID of this metro region.
  8864  	DartId int64 `json:"dartId,omitempty,string"`
  8865  
  8866  	// DmaId: DMA ID of this metro region. This is the ID used for targeting
  8867  	// and generating reports, and is equivalent to metro_code.
  8868  	DmaId int64 `json:"dmaId,omitempty,string"`
  8869  
  8870  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8871  	// string "dfareporting#metro".
  8872  	Kind string `json:"kind,omitempty"`
  8873  
  8874  	// MetroCode: Metro code of this metro region. This is equivalent to
  8875  	// dma_id.
  8876  	MetroCode string `json:"metroCode,omitempty"`
  8877  
  8878  	// Name: Name of this metro region.
  8879  	Name string `json:"name,omitempty"`
  8880  
  8881  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8882  	// unconditionally include in API requests. By default, fields with
  8883  	// empty values are omitted from API requests. However, any non-pointer,
  8884  	// non-interface field appearing in ForceSendFields will be sent to the
  8885  	// server regardless of whether the field is empty or not. This may be
  8886  	// used to include empty fields in Patch requests.
  8887  	ForceSendFields []string `json:"-"`
  8888  
  8889  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8890  	// in API requests with the JSON null value. By default, fields with
  8891  	// empty values are omitted from API requests. However, any field with
  8892  	// an empty value appearing in NullFields will be sent to the server as
  8893  	// null. It is an error if a field in this list has a non-empty value.
  8894  	// This may be used to include null fields in Patch requests.
  8895  	NullFields []string `json:"-"`
  8896  }
  8897  
  8898  func (s *Metro) MarshalJSON() ([]byte, error) {
  8899  	type NoMethod Metro
  8900  	raw := NoMethod(*s)
  8901  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8902  }
  8903  
  8904  // MetrosListResponse: Metro List Response
  8905  type MetrosListResponse struct {
  8906  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8907  	// string "dfareporting#metrosListResponse".
  8908  	Kind string `json:"kind,omitempty"`
  8909  
  8910  	// Metros: Metro collection.
  8911  	Metros []*Metro `json:"metros,omitempty"`
  8912  
  8913  	// ServerResponse contains the HTTP response code and headers from the
  8914  	// server.
  8915  	googleapi.ServerResponse `json:"-"`
  8916  
  8917  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8918  	// unconditionally include in API requests. By default, fields with
  8919  	// empty values are omitted from API requests. However, any non-pointer,
  8920  	// non-interface field appearing in ForceSendFields will be sent to the
  8921  	// server regardless of whether the field is empty or not. This may be
  8922  	// used to include empty fields in Patch requests.
  8923  	ForceSendFields []string `json:"-"`
  8924  
  8925  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8926  	// requests with the JSON null value. By default, fields with empty
  8927  	// values are omitted from API requests. However, any field with an
  8928  	// empty value appearing in NullFields will be sent to the server as
  8929  	// null. It is an error if a field in this list has a non-empty value.
  8930  	// This may be used to include null fields in Patch requests.
  8931  	NullFields []string `json:"-"`
  8932  }
  8933  
  8934  func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
  8935  	type NoMethod MetrosListResponse
  8936  	raw := NoMethod(*s)
  8937  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8938  }
  8939  
  8940  // MobileCarrier: Contains information about a mobile carrier that can
  8941  // be targeted by ads.
  8942  type MobileCarrier struct {
  8943  	// CountryCode: Country code of the country to which this mobile carrier
  8944  	// belongs.
  8945  	CountryCode string `json:"countryCode,omitempty"`
  8946  
  8947  	// CountryDartId: DART ID of the country to which this mobile carrier
  8948  	// belongs.
  8949  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8950  
  8951  	// Id: ID of this mobile carrier.
  8952  	Id int64 `json:"id,omitempty,string"`
  8953  
  8954  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8955  	// string "dfareporting#mobileCarrier".
  8956  	Kind string `json:"kind,omitempty"`
  8957  
  8958  	// Name: Name of this mobile carrier.
  8959  	Name string `json:"name,omitempty"`
  8960  
  8961  	// ServerResponse contains the HTTP response code and headers from the
  8962  	// server.
  8963  	googleapi.ServerResponse `json:"-"`
  8964  
  8965  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8966  	// unconditionally include in API requests. By default, fields with
  8967  	// empty values are omitted from API requests. However, any non-pointer,
  8968  	// non-interface field appearing in ForceSendFields will be sent to the
  8969  	// server regardless of whether the field is empty or not. This may be
  8970  	// used to include empty fields in Patch requests.
  8971  	ForceSendFields []string `json:"-"`
  8972  
  8973  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8974  	// in API requests with the JSON null value. By default, fields with
  8975  	// empty values are omitted from API requests. However, any field with
  8976  	// an empty value appearing in NullFields will be sent to the server as
  8977  	// null. It is an error if a field in this list has a non-empty value.
  8978  	// This may be used to include null fields in Patch requests.
  8979  	NullFields []string `json:"-"`
  8980  }
  8981  
  8982  func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
  8983  	type NoMethod MobileCarrier
  8984  	raw := NoMethod(*s)
  8985  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8986  }
  8987  
  8988  // MobileCarriersListResponse: Mobile Carrier List Response
  8989  type MobileCarriersListResponse struct {
  8990  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8991  	// string "dfareporting#mobileCarriersListResponse".
  8992  	Kind string `json:"kind,omitempty"`
  8993  
  8994  	// MobileCarriers: Mobile carrier collection.
  8995  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
  8996  
  8997  	// ServerResponse contains the HTTP response code and headers from the
  8998  	// server.
  8999  	googleapi.ServerResponse `json:"-"`
  9000  
  9001  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9002  	// unconditionally include in API requests. By default, fields with
  9003  	// empty values are omitted from API requests. However, any non-pointer,
  9004  	// non-interface field appearing in ForceSendFields will be sent to the
  9005  	// server regardless of whether the field is empty or not. This may be
  9006  	// used to include empty fields in Patch requests.
  9007  	ForceSendFields []string `json:"-"`
  9008  
  9009  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9010  	// requests with the JSON null value. By default, fields with empty
  9011  	// values are omitted from API requests. However, any field with an
  9012  	// empty value appearing in NullFields will be sent to the server as
  9013  	// null. It is an error if a field in this list has a non-empty value.
  9014  	// This may be used to include null fields in Patch requests.
  9015  	NullFields []string `json:"-"`
  9016  }
  9017  
  9018  func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
  9019  	type NoMethod MobileCarriersListResponse
  9020  	raw := NoMethod(*s)
  9021  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9022  }
  9023  
  9024  // ObjectFilter: Object Filter.
  9025  type ObjectFilter struct {
  9026  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9027  	// string "dfareporting#objectFilter".
  9028  	Kind string `json:"kind,omitempty"`
  9029  
  9030  	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
  9031  	// objects with these object IDs.
  9032  	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
  9033  
  9034  	// Status: Status of the filter. NONE means the user has access to none
  9035  	// of the objects. ALL means the user has access to all objects.
  9036  	// ASSIGNED means the user has access to the objects with IDs in the
  9037  	// objectIds list.
  9038  	//
  9039  	// Possible values:
  9040  	//   "ALL"
  9041  	//   "ASSIGNED"
  9042  	//   "NONE"
  9043  	Status string `json:"status,omitempty"`
  9044  
  9045  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9046  	// unconditionally include in API requests. By default, fields with
  9047  	// empty values are omitted from API requests. However, any non-pointer,
  9048  	// non-interface field appearing in ForceSendFields will be sent to the
  9049  	// server regardless of whether the field is empty or not. This may be
  9050  	// used to include empty fields in Patch requests.
  9051  	ForceSendFields []string `json:"-"`
  9052  
  9053  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9054  	// requests with the JSON null value. By default, fields with empty
  9055  	// values are omitted from API requests. However, any field with an
  9056  	// empty value appearing in NullFields will be sent to the server as
  9057  	// null. It is an error if a field in this list has a non-empty value.
  9058  	// This may be used to include null fields in Patch requests.
  9059  	NullFields []string `json:"-"`
  9060  }
  9061  
  9062  func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
  9063  	type NoMethod ObjectFilter
  9064  	raw := NoMethod(*s)
  9065  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9066  }
  9067  
  9068  // OffsetPosition: Offset Position.
  9069  type OffsetPosition struct {
  9070  	// Left: Offset distance from left side of an asset or a window.
  9071  	Left int64 `json:"left,omitempty"`
  9072  
  9073  	// Top: Offset distance from top side of an asset or a window.
  9074  	Top int64 `json:"top,omitempty"`
  9075  
  9076  	// ForceSendFields is a list of field names (e.g. "Left") to
  9077  	// unconditionally include in API requests. By default, fields with
  9078  	// empty values are omitted from API requests. However, any non-pointer,
  9079  	// non-interface field appearing in ForceSendFields will be sent to the
  9080  	// server regardless of whether the field is empty or not. This may be
  9081  	// used to include empty fields in Patch requests.
  9082  	ForceSendFields []string `json:"-"`
  9083  
  9084  	// NullFields is a list of field names (e.g. "Left") to include in API
  9085  	// requests with the JSON null value. By default, fields with empty
  9086  	// values are omitted from API requests. However, any field with an
  9087  	// empty value appearing in NullFields will be sent to the server as
  9088  	// null. It is an error if a field in this list has a non-empty value.
  9089  	// This may be used to include null fields in Patch requests.
  9090  	NullFields []string `json:"-"`
  9091  }
  9092  
  9093  func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
  9094  	type NoMethod OffsetPosition
  9095  	raw := NoMethod(*s)
  9096  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9097  }
  9098  
  9099  // OmnitureSettings: Omniture Integration Settings.
  9100  type OmnitureSettings struct {
  9101  	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
  9102  	// Omniture. This property can be enabled only if
  9103  	// omnitureIntegrationEnabled is true.
  9104  	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
  9105  
  9106  	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
  9107  	// This property can be enabled only when the "Advanced Ad Serving"
  9108  	// account setting is enabled.
  9109  	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
  9110  
  9111  	// ForceSendFields is a list of field names (e.g.
  9112  	// "OmnitureCostDataEnabled") to unconditionally include in API
  9113  	// requests. By default, fields with empty values are omitted from API
  9114  	// requests. However, any non-pointer, non-interface field appearing in
  9115  	// ForceSendFields will be sent to the server regardless of whether the
  9116  	// field is empty or not. This may be used to include empty fields in
  9117  	// Patch requests.
  9118  	ForceSendFields []string `json:"-"`
  9119  
  9120  	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
  9121  	// to include in API requests with the JSON null value. By default,
  9122  	// fields with empty values are omitted from API requests. However, any
  9123  	// field with an empty value appearing in NullFields will be sent to the
  9124  	// server as null. It is an error if a field in this list has a
  9125  	// non-empty value. This may be used to include null fields in Patch
  9126  	// requests.
  9127  	NullFields []string `json:"-"`
  9128  }
  9129  
  9130  func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
  9131  	type NoMethod OmnitureSettings
  9132  	raw := NoMethod(*s)
  9133  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9134  }
  9135  
  9136  // OperatingSystem: Contains information about an operating system that
  9137  // can be targeted by ads.
  9138  type OperatingSystem struct {
  9139  	// DartId: DART ID of this operating system. This is the ID used for
  9140  	// targeting.
  9141  	DartId int64 `json:"dartId,omitempty,string"`
  9142  
  9143  	// Desktop: Whether this operating system is for desktop.
  9144  	Desktop bool `json:"desktop,omitempty"`
  9145  
  9146  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9147  	// string "dfareporting#operatingSystem".
  9148  	Kind string `json:"kind,omitempty"`
  9149  
  9150  	// Mobile: Whether this operating system is for mobile.
  9151  	Mobile bool `json:"mobile,omitempty"`
  9152  
  9153  	// Name: Name of this operating system.
  9154  	Name string `json:"name,omitempty"`
  9155  
  9156  	// ServerResponse contains the HTTP response code and headers from the
  9157  	// server.
  9158  	googleapi.ServerResponse `json:"-"`
  9159  
  9160  	// ForceSendFields is a list of field names (e.g. "DartId") to
  9161  	// unconditionally include in API requests. By default, fields with
  9162  	// empty values are omitted from API requests. However, any non-pointer,
  9163  	// non-interface field appearing in ForceSendFields will be sent to the
  9164  	// server regardless of whether the field is empty or not. This may be
  9165  	// used to include empty fields in Patch requests.
  9166  	ForceSendFields []string `json:"-"`
  9167  
  9168  	// NullFields is a list of field names (e.g. "DartId") to include in API
  9169  	// requests with the JSON null value. By default, fields with empty
  9170  	// values are omitted from API requests. However, any field with an
  9171  	// empty value appearing in NullFields will be sent to the server as
  9172  	// null. It is an error if a field in this list has a non-empty value.
  9173  	// This may be used to include null fields in Patch requests.
  9174  	NullFields []string `json:"-"`
  9175  }
  9176  
  9177  func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
  9178  	type NoMethod OperatingSystem
  9179  	raw := NoMethod(*s)
  9180  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9181  }
  9182  
  9183  // OperatingSystemVersion: Contains information about a particular
  9184  // version of an operating system that can be targeted by ads.
  9185  type OperatingSystemVersion struct {
  9186  	// Id: ID of this operating system version.
  9187  	Id int64 `json:"id,omitempty,string"`
  9188  
  9189  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9190  	// string "dfareporting#operatingSystemVersion".
  9191  	Kind string `json:"kind,omitempty"`
  9192  
  9193  	// MajorVersion: Major version (leftmost number) of this operating
  9194  	// system version.
  9195  	MajorVersion string `json:"majorVersion,omitempty"`
  9196  
  9197  	// MinorVersion: Minor version (number after the first dot) of this
  9198  	// operating system version.
  9199  	MinorVersion string `json:"minorVersion,omitempty"`
  9200  
  9201  	// Name: Name of this operating system version.
  9202  	Name string `json:"name,omitempty"`
  9203  
  9204  	// OperatingSystem: Operating system of this operating system version.
  9205  	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
  9206  
  9207  	// ServerResponse contains the HTTP response code and headers from the
  9208  	// server.
  9209  	googleapi.ServerResponse `json:"-"`
  9210  
  9211  	// ForceSendFields is a list of field names (e.g. "Id") to
  9212  	// unconditionally include in API requests. By default, fields with
  9213  	// empty values are omitted from API requests. However, any non-pointer,
  9214  	// non-interface field appearing in ForceSendFields will be sent to the
  9215  	// server regardless of whether the field is empty or not. This may be
  9216  	// used to include empty fields in Patch requests.
  9217  	ForceSendFields []string `json:"-"`
  9218  
  9219  	// NullFields is a list of field names (e.g. "Id") to include in API
  9220  	// requests with the JSON null value. By default, fields with empty
  9221  	// values are omitted from API requests. However, any field with an
  9222  	// empty value appearing in NullFields will be sent to the server as
  9223  	// null. It is an error if a field in this list has a non-empty value.
  9224  	// This may be used to include null fields in Patch requests.
  9225  	NullFields []string `json:"-"`
  9226  }
  9227  
  9228  func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
  9229  	type NoMethod OperatingSystemVersion
  9230  	raw := NoMethod(*s)
  9231  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9232  }
  9233  
  9234  // OperatingSystemVersionsListResponse: Operating System Version List
  9235  // Response
  9236  type OperatingSystemVersionsListResponse struct {
  9237  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9238  	// string "dfareporting#operatingSystemVersionsListResponse".
  9239  	Kind string `json:"kind,omitempty"`
  9240  
  9241  	// OperatingSystemVersions: Operating system version collection.
  9242  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
  9243  
  9244  	// ServerResponse contains the HTTP response code and headers from the
  9245  	// server.
  9246  	googleapi.ServerResponse `json:"-"`
  9247  
  9248  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9249  	// unconditionally include in API requests. By default, fields with
  9250  	// empty values are omitted from API requests. However, any non-pointer,
  9251  	// non-interface field appearing in ForceSendFields will be sent to the
  9252  	// server regardless of whether the field is empty or not. This may be
  9253  	// used to include empty fields in Patch requests.
  9254  	ForceSendFields []string `json:"-"`
  9255  
  9256  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9257  	// requests with the JSON null value. By default, fields with empty
  9258  	// values are omitted from API requests. However, any field with an
  9259  	// empty value appearing in NullFields will be sent to the server as
  9260  	// null. It is an error if a field in this list has a non-empty value.
  9261  	// This may be used to include null fields in Patch requests.
  9262  	NullFields []string `json:"-"`
  9263  }
  9264  
  9265  func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
  9266  	type NoMethod OperatingSystemVersionsListResponse
  9267  	raw := NoMethod(*s)
  9268  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9269  }
  9270  
  9271  // OperatingSystemsListResponse: Operating System List Response
  9272  type OperatingSystemsListResponse struct {
  9273  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9274  	// string "dfareporting#operatingSystemsListResponse".
  9275  	Kind string `json:"kind,omitempty"`
  9276  
  9277  	// OperatingSystems: Operating system collection.
  9278  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
  9279  
  9280  	// ServerResponse contains the HTTP response code and headers from the
  9281  	// server.
  9282  	googleapi.ServerResponse `json:"-"`
  9283  
  9284  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9285  	// unconditionally include in API requests. By default, fields with
  9286  	// empty values are omitted from API requests. However, any non-pointer,
  9287  	// non-interface field appearing in ForceSendFields will be sent to the
  9288  	// server regardless of whether the field is empty or not. This may be
  9289  	// used to include empty fields in Patch requests.
  9290  	ForceSendFields []string `json:"-"`
  9291  
  9292  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9293  	// requests with the JSON null value. By default, fields with empty
  9294  	// values are omitted from API requests. However, any field with an
  9295  	// empty value appearing in NullFields will be sent to the server as
  9296  	// null. It is an error if a field in this list has a non-empty value.
  9297  	// This may be used to include null fields in Patch requests.
  9298  	NullFields []string `json:"-"`
  9299  }
  9300  
  9301  func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
  9302  	type NoMethod OperatingSystemsListResponse
  9303  	raw := NoMethod(*s)
  9304  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9305  }
  9306  
  9307  // OptimizationActivity: Creative optimization activity.
  9308  type OptimizationActivity struct {
  9309  	// FloodlightActivityId: Floodlight activity ID of this optimization
  9310  	// activity. This is a required field.
  9311  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  9312  
  9313  	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
  9314  	// floodlight activity. This is a read-only, auto-generated field.
  9315  	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
  9316  
  9317  	// Weight: Weight associated with this optimization. The weight assigned
  9318  	// will be understood in proportion to the weights assigned to the other
  9319  	// optimization activities. Value must be greater than or equal to 1.
  9320  	Weight int64 `json:"weight,omitempty"`
  9321  
  9322  	// ForceSendFields is a list of field names (e.g.
  9323  	// "FloodlightActivityId") to unconditionally include in API requests.
  9324  	// By default, fields with empty values are omitted from API requests.
  9325  	// However, any non-pointer, non-interface field appearing in
  9326  	// ForceSendFields will be sent to the server regardless of whether the
  9327  	// field is empty or not. This may be used to include empty fields in
  9328  	// Patch requests.
  9329  	ForceSendFields []string `json:"-"`
  9330  
  9331  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  9332  	// include in API requests with the JSON null value. By default, fields
  9333  	// with empty values are omitted from API requests. However, any field
  9334  	// with an empty value appearing in NullFields will be sent to the
  9335  	// server as null. It is an error if a field in this list has a
  9336  	// non-empty value. This may be used to include null fields in Patch
  9337  	// requests.
  9338  	NullFields []string `json:"-"`
  9339  }
  9340  
  9341  func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
  9342  	type NoMethod OptimizationActivity
  9343  	raw := NoMethod(*s)
  9344  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9345  }
  9346  
  9347  // Order: Describes properties of a Planning order.
  9348  type Order struct {
  9349  	// AccountId: Account ID of this order.
  9350  	AccountId int64 `json:"accountId,omitempty,string"`
  9351  
  9352  	// AdvertiserId: Advertiser ID of this order.
  9353  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9354  
  9355  	// ApproverUserProfileIds: IDs for users that have to approve documents
  9356  	// created for this order.
  9357  	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
  9358  
  9359  	// BuyerInvoiceId: Buyer invoice ID associated with this order.
  9360  	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
  9361  
  9362  	// BuyerOrganizationName: Name of the buyer organization.
  9363  	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
  9364  
  9365  	// Comments: Comments in this order.
  9366  	Comments string `json:"comments,omitempty"`
  9367  
  9368  	// Contacts: Contacts for this order.
  9369  	Contacts []*OrderContact `json:"contacts,omitempty"`
  9370  
  9371  	// Id: ID of this order. This is a read-only, auto-generated field.
  9372  	Id int64 `json:"id,omitempty,string"`
  9373  
  9374  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9375  	// string "dfareporting#order".
  9376  	Kind string `json:"kind,omitempty"`
  9377  
  9378  	// LastModifiedInfo: Information about the most recent modification of
  9379  	// this order.
  9380  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9381  
  9382  	// Name: Name of this order.
  9383  	Name string `json:"name,omitempty"`
  9384  
  9385  	// Notes: Notes of this order.
  9386  	Notes string `json:"notes,omitempty"`
  9387  
  9388  	// PlanningTermId: ID of the terms and conditions template used in this
  9389  	// order.
  9390  	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
  9391  
  9392  	// ProjectId: Project ID of this order.
  9393  	ProjectId int64 `json:"projectId,omitempty,string"`
  9394  
  9395  	// SellerOrderId: Seller order ID associated with this order.
  9396  	SellerOrderId string `json:"sellerOrderId,omitempty"`
  9397  
  9398  	// SellerOrganizationName: Name of the seller organization.
  9399  	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
  9400  
  9401  	// SiteId: Site IDs this order is associated with.
  9402  	SiteId googleapi.Int64s `json:"siteId,omitempty"`
  9403  
  9404  	// SiteNames: Free-form site names this order is associated with.
  9405  	SiteNames []string `json:"siteNames,omitempty"`
  9406  
  9407  	// SubaccountId: Subaccount ID of this order.
  9408  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9409  
  9410  	// TermsAndConditions: Terms and conditions of this order.
  9411  	TermsAndConditions string `json:"termsAndConditions,omitempty"`
  9412  
  9413  	// ServerResponse contains the HTTP response code and headers from the
  9414  	// server.
  9415  	googleapi.ServerResponse `json:"-"`
  9416  
  9417  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9418  	// unconditionally include in API requests. By default, fields with
  9419  	// empty values are omitted from API requests. However, any non-pointer,
  9420  	// non-interface field appearing in ForceSendFields will be sent to the
  9421  	// server regardless of whether the field is empty or not. This may be
  9422  	// used to include empty fields in Patch requests.
  9423  	ForceSendFields []string `json:"-"`
  9424  
  9425  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9426  	// API requests with the JSON null value. By default, fields with empty
  9427  	// values are omitted from API requests. However, any field with an
  9428  	// empty value appearing in NullFields will be sent to the server as
  9429  	// null. It is an error if a field in this list has a non-empty value.
  9430  	// This may be used to include null fields in Patch requests.
  9431  	NullFields []string `json:"-"`
  9432  }
  9433  
  9434  func (s *Order) MarshalJSON() ([]byte, error) {
  9435  	type NoMethod Order
  9436  	raw := NoMethod(*s)
  9437  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9438  }
  9439  
  9440  // OrderContact: Contact of an order.
  9441  type OrderContact struct {
  9442  	// ContactInfo: Free-form information about this contact. It could be
  9443  	// any information related to this contact in addition to type, title,
  9444  	// name, and signature user profile ID.
  9445  	ContactInfo string `json:"contactInfo,omitempty"`
  9446  
  9447  	// ContactName: Name of this contact.
  9448  	ContactName string `json:"contactName,omitempty"`
  9449  
  9450  	// ContactTitle: Title of this contact.
  9451  	ContactTitle string `json:"contactTitle,omitempty"`
  9452  
  9453  	// ContactType: Type of this contact.
  9454  	//
  9455  	// Possible values:
  9456  	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
  9457  	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
  9458  	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
  9459  	ContactType string `json:"contactType,omitempty"`
  9460  
  9461  	// SignatureUserProfileId: ID of the user profile containing the
  9462  	// signature that will be embedded into order documents.
  9463  	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
  9464  
  9465  	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
  9466  	// unconditionally include in API requests. By default, fields with
  9467  	// empty values are omitted from API requests. However, any non-pointer,
  9468  	// non-interface field appearing in ForceSendFields will be sent to the
  9469  	// server regardless of whether the field is empty or not. This may be
  9470  	// used to include empty fields in Patch requests.
  9471  	ForceSendFields []string `json:"-"`
  9472  
  9473  	// NullFields is a list of field names (e.g. "ContactInfo") to include
  9474  	// in API requests with the JSON null value. By default, fields with
  9475  	// empty values are omitted from API requests. However, any field with
  9476  	// an empty value appearing in NullFields will be sent to the server as
  9477  	// null. It is an error if a field in this list has a non-empty value.
  9478  	// This may be used to include null fields in Patch requests.
  9479  	NullFields []string `json:"-"`
  9480  }
  9481  
  9482  func (s *OrderContact) MarshalJSON() ([]byte, error) {
  9483  	type NoMethod OrderContact
  9484  	raw := NoMethod(*s)
  9485  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9486  }
  9487  
  9488  // OrderDocument: Contains properties of a Planning order document.
  9489  type OrderDocument struct {
  9490  	// AccountId: Account ID of this order document.
  9491  	AccountId int64 `json:"accountId,omitempty,string"`
  9492  
  9493  	// AdvertiserId: Advertiser ID of this order document.
  9494  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9495  
  9496  	// AmendedOrderDocumentId: The amended order document ID of this order
  9497  	// document. An order document can be created by optionally amending
  9498  	// another order document so that the change history can be preserved.
  9499  	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
  9500  
  9501  	// ApprovedByUserProfileIds: IDs of users who have approved this order
  9502  	// document.
  9503  	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
  9504  
  9505  	// Cancelled: Whether this order document is cancelled.
  9506  	Cancelled bool `json:"cancelled,omitempty"`
  9507  
  9508  	// CreatedInfo: Information about the creation of this order document.
  9509  	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
  9510  
  9511  	// EffectiveDate: Effective date of this order document.
  9512  	EffectiveDate string `json:"effectiveDate,omitempty"`
  9513  
  9514  	// Id: ID of this order document.
  9515  	Id int64 `json:"id,omitempty,string"`
  9516  
  9517  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9518  	// string "dfareporting#orderDocument".
  9519  	Kind string `json:"kind,omitempty"`
  9520  
  9521  	// LastSentRecipients: List of email addresses that received the last
  9522  	// sent document.
  9523  	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
  9524  
  9525  	// LastSentTime: Timestamp of the last email sent with this order
  9526  	// document.
  9527  	LastSentTime string `json:"lastSentTime,omitempty"`
  9528  
  9529  	// OrderId: ID of the order from which this order document is created.
  9530  	OrderId int64 `json:"orderId,omitempty,string"`
  9531  
  9532  	// ProjectId: Project ID of this order document.
  9533  	ProjectId int64 `json:"projectId,omitempty,string"`
  9534  
  9535  	// Signed: Whether this order document has been signed.
  9536  	Signed bool `json:"signed,omitempty"`
  9537  
  9538  	// SubaccountId: Subaccount ID of this order document.
  9539  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9540  
  9541  	// Title: Title of this order document.
  9542  	Title string `json:"title,omitempty"`
  9543  
  9544  	// Type: Type of this order document
  9545  	//
  9546  	// Possible values:
  9547  	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
  9548  	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
  9549  	Type string `json:"type,omitempty"`
  9550  
  9551  	// ServerResponse contains the HTTP response code and headers from the
  9552  	// server.
  9553  	googleapi.ServerResponse `json:"-"`
  9554  
  9555  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9556  	// unconditionally include in API requests. By default, fields with
  9557  	// empty values are omitted from API requests. However, any non-pointer,
  9558  	// non-interface field appearing in ForceSendFields will be sent to the
  9559  	// server regardless of whether the field is empty or not. This may be
  9560  	// used to include empty fields in Patch requests.
  9561  	ForceSendFields []string `json:"-"`
  9562  
  9563  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9564  	// API requests with the JSON null value. By default, fields with empty
  9565  	// values are omitted from API requests. However, any field with an
  9566  	// empty value appearing in NullFields will be sent to the server as
  9567  	// null. It is an error if a field in this list has a non-empty value.
  9568  	// This may be used to include null fields in Patch requests.
  9569  	NullFields []string `json:"-"`
  9570  }
  9571  
  9572  func (s *OrderDocument) MarshalJSON() ([]byte, error) {
  9573  	type NoMethod OrderDocument
  9574  	raw := NoMethod(*s)
  9575  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9576  }
  9577  
  9578  // OrderDocumentsListResponse: Order document List Response
  9579  type OrderDocumentsListResponse struct {
  9580  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9581  	// string "dfareporting#orderDocumentsListResponse".
  9582  	Kind string `json:"kind,omitempty"`
  9583  
  9584  	// NextPageToken: Pagination token to be used for the next list
  9585  	// operation.
  9586  	NextPageToken string `json:"nextPageToken,omitempty"`
  9587  
  9588  	// OrderDocuments: Order document collection
  9589  	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
  9590  
  9591  	// ServerResponse contains the HTTP response code and headers from the
  9592  	// server.
  9593  	googleapi.ServerResponse `json:"-"`
  9594  
  9595  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9596  	// unconditionally include in API requests. By default, fields with
  9597  	// empty values are omitted from API requests. However, any non-pointer,
  9598  	// non-interface field appearing in ForceSendFields will be sent to the
  9599  	// server regardless of whether the field is empty or not. This may be
  9600  	// used to include empty fields in Patch requests.
  9601  	ForceSendFields []string `json:"-"`
  9602  
  9603  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9604  	// requests with the JSON null value. By default, fields with empty
  9605  	// values are omitted from API requests. However, any field with an
  9606  	// empty value appearing in NullFields will be sent to the server as
  9607  	// null. It is an error if a field in this list has a non-empty value.
  9608  	// This may be used to include null fields in Patch requests.
  9609  	NullFields []string `json:"-"`
  9610  }
  9611  
  9612  func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
  9613  	type NoMethod OrderDocumentsListResponse
  9614  	raw := NoMethod(*s)
  9615  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9616  }
  9617  
  9618  // OrdersListResponse: Order List Response
  9619  type OrdersListResponse struct {
  9620  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9621  	// string "dfareporting#ordersListResponse".
  9622  	Kind string `json:"kind,omitempty"`
  9623  
  9624  	// NextPageToken: Pagination token to be used for the next list
  9625  	// operation.
  9626  	NextPageToken string `json:"nextPageToken,omitempty"`
  9627  
  9628  	// Orders: Order collection.
  9629  	Orders []*Order `json:"orders,omitempty"`
  9630  
  9631  	// ServerResponse contains the HTTP response code and headers from the
  9632  	// server.
  9633  	googleapi.ServerResponse `json:"-"`
  9634  
  9635  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9636  	// unconditionally include in API requests. By default, fields with
  9637  	// empty values are omitted from API requests. However, any non-pointer,
  9638  	// non-interface field appearing in ForceSendFields will be sent to the
  9639  	// server regardless of whether the field is empty or not. This may be
  9640  	// used to include empty fields in Patch requests.
  9641  	ForceSendFields []string `json:"-"`
  9642  
  9643  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9644  	// requests with the JSON null value. By default, fields with empty
  9645  	// values are omitted from API requests. However, any field with an
  9646  	// empty value appearing in NullFields will be sent to the server as
  9647  	// null. It is an error if a field in this list has a non-empty value.
  9648  	// This may be used to include null fields in Patch requests.
  9649  	NullFields []string `json:"-"`
  9650  }
  9651  
  9652  func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
  9653  	type NoMethod OrdersListResponse
  9654  	raw := NoMethod(*s)
  9655  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9656  }
  9657  
  9658  // PathToConversionReportCompatibleFields: Represents fields that are
  9659  // compatible to be selected for a report of type "PATH_TO_CONVERSION".
  9660  type PathToConversionReportCompatibleFields struct {
  9661  	// ConversionDimensions: Conversion dimensions which are compatible to
  9662  	// be selected in the "conversionDimensions" section of the report.
  9663  	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
  9664  
  9665  	// CustomFloodlightVariables: Custom floodlight variables which are
  9666  	// compatible to be selected in the "customFloodlightVariables" section
  9667  	// of the report.
  9668  	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
  9669  
  9670  	// Kind: The kind of resource this is, in this case
  9671  	// dfareporting#pathToConversionReportCompatibleFields.
  9672  	Kind string `json:"kind,omitempty"`
  9673  
  9674  	// Metrics: Metrics which are compatible to be selected in the
  9675  	// "metricNames" section of the report.
  9676  	Metrics []*Metric `json:"metrics,omitempty"`
  9677  
  9678  	// PerInteractionDimensions: Per-interaction dimensions which are
  9679  	// compatible to be selected in the "perInteractionDimensions" section
  9680  	// of the report.
  9681  	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
  9682  
  9683  	// ForceSendFields is a list of field names (e.g.
  9684  	// "ConversionDimensions") to unconditionally include in API requests.
  9685  	// By default, fields with empty values are omitted from API requests.
  9686  	// However, any non-pointer, non-interface field appearing in
  9687  	// ForceSendFields will be sent to the server regardless of whether the
  9688  	// field is empty or not. This may be used to include empty fields in
  9689  	// Patch requests.
  9690  	ForceSendFields []string `json:"-"`
  9691  
  9692  	// NullFields is a list of field names (e.g. "ConversionDimensions") to
  9693  	// include in API requests with the JSON null value. By default, fields
  9694  	// with empty values are omitted from API requests. However, any field
  9695  	// with an empty value appearing in NullFields will be sent to the
  9696  	// server as null. It is an error if a field in this list has a
  9697  	// non-empty value. This may be used to include null fields in Patch
  9698  	// requests.
  9699  	NullFields []string `json:"-"`
  9700  }
  9701  
  9702  func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
  9703  	type NoMethod PathToConversionReportCompatibleFields
  9704  	raw := NoMethod(*s)
  9705  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9706  }
  9707  
  9708  // Placement: Contains properties of a placement.
  9709  type Placement struct {
  9710  	// AccountId: Account ID of this placement. This field can be left
  9711  	// blank.
  9712  	AccountId int64 `json:"accountId,omitempty,string"`
  9713  
  9714  	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
  9715  	// When true, ad blocking is disabled for this placement. When false,
  9716  	// the campaign and site settings take effect.
  9717  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
  9718  
  9719  	// AdvertiserId: Advertiser ID of this placement. This field can be left
  9720  	// blank.
  9721  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9722  
  9723  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  9724  	// advertiser. This is a read-only, auto-generated field.
  9725  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  9726  
  9727  	// Archived: Whether this placement is archived.
  9728  	Archived bool `json:"archived,omitempty"`
  9729  
  9730  	// CampaignId: Campaign ID of this placement. This field is a required
  9731  	// field on insertion.
  9732  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9733  
  9734  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  9735  	// This is a read-only, auto-generated field.
  9736  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  9737  
  9738  	// Comment: Comments for this placement.
  9739  	Comment string `json:"comment,omitempty"`
  9740  
  9741  	// Compatibility: Placement compatibility. DISPLAY and
  9742  	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
  9743  	// or in mobile apps for regular or interstitial ads respectively. APP
  9744  	// and APP_INTERSTITIAL are no longer allowed for new placement
  9745  	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
  9746  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  9747  	// with the VAST standard. This field is required on insertion.
  9748  	//
  9749  	// Possible values:
  9750  	//   "APP"
  9751  	//   "APP_INTERSTITIAL"
  9752  	//   "DISPLAY"
  9753  	//   "DISPLAY_INTERSTITIAL"
  9754  	//   "IN_STREAM_AUDIO"
  9755  	//   "IN_STREAM_VIDEO"
  9756  	Compatibility string `json:"compatibility,omitempty"`
  9757  
  9758  	// ContentCategoryId: ID of the content category assigned to this
  9759  	// placement.
  9760  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  9761  
  9762  	// CreateInfo: Information about the creation of this placement. This is
  9763  	// a read-only field.
  9764  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  9765  
  9766  	// DirectorySiteId: Directory site ID of this placement. On insert, you
  9767  	// must set either this field or the siteId field to specify the site
  9768  	// associated with this placement. This is a required field that is
  9769  	// read-only after insertion.
  9770  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  9771  
  9772  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
  9773  	// directory site. This is a read-only, auto-generated field.
  9774  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
  9775  
  9776  	// ExternalId: External ID for this placement.
  9777  	ExternalId string `json:"externalId,omitempty"`
  9778  
  9779  	// Id: ID of this placement. This is a read-only, auto-generated field.
  9780  	Id int64 `json:"id,omitempty,string"`
  9781  
  9782  	// IdDimensionValue: Dimension value for the ID of this placement. This
  9783  	// is a read-only, auto-generated field.
  9784  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  9785  
  9786  	// KeyName: Key name of this placement. This is a read-only,
  9787  	// auto-generated field.
  9788  	KeyName string `json:"keyName,omitempty"`
  9789  
  9790  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9791  	// string "dfareporting#placement".
  9792  	Kind string `json:"kind,omitempty"`
  9793  
  9794  	// LastModifiedInfo: Information about the most recent modification of
  9795  	// this placement. This is a read-only field.
  9796  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9797  
  9798  	// LookbackConfiguration: Lookback window settings for this placement.
  9799  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  9800  
  9801  	// Name: Name of this placement.This is a required field and must be
  9802  	// less than 256 characters long.
  9803  	Name string `json:"name,omitempty"`
  9804  
  9805  	// PaymentApproved: Whether payment was approved for this placement.
  9806  	// This is a read-only field relevant only to publisher-paid placements.
  9807  	PaymentApproved bool `json:"paymentApproved,omitempty"`
  9808  
  9809  	// PaymentSource: Payment source for this placement. This is a required
  9810  	// field that is read-only after insertion.
  9811  	//
  9812  	// Possible values:
  9813  	//   "PLACEMENT_AGENCY_PAID"
  9814  	//   "PLACEMENT_PUBLISHER_PAID"
  9815  	PaymentSource string `json:"paymentSource,omitempty"`
  9816  
  9817  	// PlacementGroupId: ID of this placement's group, if applicable.
  9818  	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
  9819  
  9820  	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
  9821  	// placement group. This is a read-only, auto-generated field.
  9822  	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
  9823  
  9824  	// PlacementStrategyId: ID of the placement strategy assigned to this
  9825  	// placement.
  9826  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  9827  
  9828  	// PricingSchedule: Pricing schedule of this placement. This field is
  9829  	// required on insertion, specifically subfields startDate, endDate and
  9830  	// pricingType.
  9831  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
  9832  
  9833  	// Primary: Whether this placement is the primary placement of a
  9834  	// roadblock (placement group). You cannot change this field from true
  9835  	// to false. Setting this field to true will automatically set the
  9836  	// primary field on the original primary placement of the roadblock to
  9837  	// false, and it will automatically set the roadblock's
  9838  	// primaryPlacementId field to the ID of this placement.
  9839  	Primary bool `json:"primary,omitempty"`
  9840  
  9841  	// PublisherUpdateInfo: Information about the last publisher update.
  9842  	// This is a read-only field.
  9843  	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
  9844  
  9845  	// SiteId: Site ID associated with this placement. On insert, you must
  9846  	// set either this field or the directorySiteId field to specify the
  9847  	// site associated with this placement. This is a required field that is
  9848  	// read-only after insertion.
  9849  	SiteId int64 `json:"siteId,omitempty,string"`
  9850  
  9851  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  9852  	// a read-only, auto-generated field.
  9853  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  9854  
  9855  	// Size: Size associated with this placement. When inserting or updating
  9856  	// a placement, only the size ID field is used. This field is required
  9857  	// on insertion.
  9858  	Size *Size `json:"size,omitempty"`
  9859  
  9860  	// SslRequired: Whether creatives assigned to this placement must be
  9861  	// SSL-compliant.
  9862  	SslRequired bool `json:"sslRequired,omitempty"`
  9863  
  9864  	// Status: Third-party placement status.
  9865  	//
  9866  	// Possible values:
  9867  	//   "ACKNOWLEDGE_ACCEPTANCE"
  9868  	//   "ACKNOWLEDGE_REJECTION"
  9869  	//   "DRAFT"
  9870  	//   "PAYMENT_ACCEPTED"
  9871  	//   "PAYMENT_REJECTED"
  9872  	//   "PENDING_REVIEW"
  9873  	Status string `json:"status,omitempty"`
  9874  
  9875  	// SubaccountId: Subaccount ID of this placement. This field can be left
  9876  	// blank.
  9877  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9878  
  9879  	// TagFormats: Tag formats to generate for this placement. This field is
  9880  	// required on insertion.
  9881  	// Acceptable values are:
  9882  	// - "PLACEMENT_TAG_STANDARD"
  9883  	// - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
  9884  	// - "PLACEMENT_TAG_IFRAME_ILAYER"
  9885  	// - "PLACEMENT_TAG_INTERNAL_REDIRECT"
  9886  	// - "PLACEMENT_TAG_JAVASCRIPT"
  9887  	// - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
  9888  	// - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
  9889  	// - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
  9890  	// - "PLACEMENT_TAG_CLICK_COMMANDS"
  9891  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
  9892  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
  9893  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
  9894  	// - "PLACEMENT_TAG_TRACKING"
  9895  	// - "PLACEMENT_TAG_TRACKING_IFRAME"
  9896  	// - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
  9897  	//
  9898  	// Possible values:
  9899  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
  9900  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
  9901  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
  9902  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
  9903  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
  9904  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
  9905  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
  9906  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
  9907  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
  9908  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
  9909  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
  9910  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
  9911  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
  9912  	//   "PLACEMENT_TAG_JAVASCRIPT"
  9913  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
  9914  	//   "PLACEMENT_TAG_STANDARD"
  9915  	//   "PLACEMENT_TAG_TRACKING"
  9916  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
  9917  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
  9918  	TagFormats []string `json:"tagFormats,omitempty"`
  9919  
  9920  	// TagSetting: Tag settings for this placement.
  9921  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
  9922  
  9923  	// VideoActiveViewOptOut: Whether Verification and ActiveView are
  9924  	// disabled for in-stream video creatives for this placement. The same
  9925  	// setting videoActiveViewOptOut exists on the site level -- the opt out
  9926  	// occurs if either of these settings are true. These settings are
  9927  	// distinct from DirectorySites.settings.activeViewOptOut or
  9928  	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
  9929  	// However, Accounts.activeViewOptOut opts out both video traffic, as
  9930  	// well as display ads, from Verification and ActiveView.
  9931  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
  9932  
  9933  	// VideoSettings: A collection of settings which affect video creatives
  9934  	// served through this placement. Applicable to placements with
  9935  	// IN_STREAM_VIDEO compatibility.
  9936  	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
  9937  
  9938  	// VpaidAdapterChoice: VPAID adapter setting for this placement.
  9939  	// Controls which VPAID format the measurement adapter will use for
  9940  	// in-stream video creatives assigned to this placement.
  9941  	//
  9942  	// Note: Flash is no longer supported. This field now defaults to HTML5
  9943  	// when the following values are provided: FLASH, BOTH.
  9944  	//
  9945  	// Possible values:
  9946  	//   "BOTH"
  9947  	//   "DEFAULT"
  9948  	//   "FLASH"
  9949  	//   "HTML5"
  9950  	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
  9951  
  9952  	// ServerResponse contains the HTTP response code and headers from the
  9953  	// server.
  9954  	googleapi.ServerResponse `json:"-"`
  9955  
  9956  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9957  	// unconditionally include in API requests. By default, fields with
  9958  	// empty values are omitted from API requests. However, any non-pointer,
  9959  	// non-interface field appearing in ForceSendFields will be sent to the
  9960  	// server regardless of whether the field is empty or not. This may be
  9961  	// used to include empty fields in Patch requests.
  9962  	ForceSendFields []string `json:"-"`
  9963  
  9964  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9965  	// API requests with the JSON null value. By default, fields with empty
  9966  	// values are omitted from API requests. However, any field with an
  9967  	// empty value appearing in NullFields will be sent to the server as
  9968  	// null. It is an error if a field in this list has a non-empty value.
  9969  	// This may be used to include null fields in Patch requests.
  9970  	NullFields []string `json:"-"`
  9971  }
  9972  
  9973  func (s *Placement) MarshalJSON() ([]byte, error) {
  9974  	type NoMethod Placement
  9975  	raw := NoMethod(*s)
  9976  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9977  }
  9978  
  9979  // PlacementAssignment: Placement Assignment.
  9980  type PlacementAssignment struct {
  9981  	// Active: Whether this placement assignment is active. When true, the
  9982  	// placement will be included in the ad's rotation.
  9983  	Active bool `json:"active,omitempty"`
  9984  
  9985  	// PlacementId: ID of the placement to be assigned. This is a required
  9986  	// field.
  9987  	PlacementId int64 `json:"placementId,omitempty,string"`
  9988  
  9989  	// PlacementIdDimensionValue: Dimension value for the ID of the
  9990  	// placement. This is a read-only, auto-generated field.
  9991  	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
  9992  
  9993  	// SslRequired: Whether the placement to be assigned requires SSL. This
  9994  	// is a read-only field that is auto-generated when the ad is inserted
  9995  	// or updated.
  9996  	SslRequired bool `json:"sslRequired,omitempty"`
  9997  
  9998  	// ForceSendFields is a list of field names (e.g. "Active") to
  9999  	// unconditionally include in API requests. By default, fields with
 10000  	// empty values are omitted from API requests. However, any non-pointer,
 10001  	// non-interface field appearing in ForceSendFields will be sent to the
 10002  	// server regardless of whether the field is empty or not. This may be
 10003  	// used to include empty fields in Patch requests.
 10004  	ForceSendFields []string `json:"-"`
 10005  
 10006  	// NullFields is a list of field names (e.g. "Active") to include in API
 10007  	// requests with the JSON null value. By default, fields with empty
 10008  	// values are omitted from API requests. However, any field with an
 10009  	// empty value appearing in NullFields will be sent to the server as
 10010  	// null. It is an error if a field in this list has a non-empty value.
 10011  	// This may be used to include null fields in Patch requests.
 10012  	NullFields []string `json:"-"`
 10013  }
 10014  
 10015  func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
 10016  	type NoMethod PlacementAssignment
 10017  	raw := NoMethod(*s)
 10018  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10019  }
 10020  
 10021  // PlacementGroup: Contains properties of a package or roadblock.
 10022  type PlacementGroup struct {
 10023  	// AccountId: Account ID of this placement group. This is a read-only
 10024  	// field that can be left blank.
 10025  	AccountId int64 `json:"accountId,omitempty,string"`
 10026  
 10027  	// AdvertiserId: Advertiser ID of this placement group. This is a
 10028  	// required field on insertion.
 10029  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10030  
 10031  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 10032  	// advertiser. This is a read-only, auto-generated field.
 10033  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 10034  
 10035  	// Archived: Whether this placement group is archived.
 10036  	Archived bool `json:"archived,omitempty"`
 10037  
 10038  	// CampaignId: Campaign ID of this placement group. This field is
 10039  	// required on insertion.
 10040  	CampaignId int64 `json:"campaignId,omitempty,string"`
 10041  
 10042  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
 10043  	// This is a read-only, auto-generated field.
 10044  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
 10045  
 10046  	// ChildPlacementIds: IDs of placements which are assigned to this
 10047  	// placement group. This is a read-only, auto-generated field.
 10048  	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
 10049  
 10050  	// Comment: Comments for this placement group.
 10051  	Comment string `json:"comment,omitempty"`
 10052  
 10053  	// ContentCategoryId: ID of the content category assigned to this
 10054  	// placement group.
 10055  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
 10056  
 10057  	// CreateInfo: Information about the creation of this placement group.
 10058  	// This is a read-only field.
 10059  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
 10060  
 10061  	// DirectorySiteId: Directory site ID associated with this placement
 10062  	// group. On insert, you must set either this field or the site_id field
 10063  	// to specify the site associated with this placement group. This is a
 10064  	// required field that is read-only after insertion.
 10065  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 10066  
 10067  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 10068  	// directory site. This is a read-only, auto-generated field.
 10069  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 10070  
 10071  	// ExternalId: External ID for this placement.
 10072  	ExternalId string `json:"externalId,omitempty"`
 10073  
 10074  	// Id: ID of this placement group. This is a read-only, auto-generated
 10075  	// field.
 10076  	Id int64 `json:"id,omitempty,string"`
 10077  
 10078  	// IdDimensionValue: Dimension value for the ID of this placement group.
 10079  	// This is a read-only, auto-generated field.
 10080  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 10081  
 10082  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10083  	// string "dfareporting#placementGroup".
 10084  	Kind string `json:"kind,omitempty"`
 10085  
 10086  	// LastModifiedInfo: Information about the most recent modification of
 10087  	// this placement group. This is a read-only field.
 10088  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 10089  
 10090  	// Name: Name of this placement group. This is a required field and must
 10091  	// be less than 256 characters long.
 10092  	Name string `json:"name,omitempty"`
 10093  
 10094  	// PlacementGroupType: Type of this placement group. A package is a
 10095  	// simple group of placements that acts as a single pricing point for a
 10096  	// group of tags. A roadblock is a group of placements that not only
 10097  	// acts as a single pricing point, but also assumes that all the tags in
 10098  	// it will be served at the same time. A roadblock requires one of its
 10099  	// assigned placements to be marked as primary for reporting. This field
 10100  	// is required on insertion.
 10101  	//
 10102  	// Possible values:
 10103  	//   "PLACEMENT_PACKAGE"
 10104  	//   "PLACEMENT_ROADBLOCK"
 10105  	PlacementGroupType string `json:"placementGroupType,omitempty"`
 10106  
 10107  	// PlacementStrategyId: ID of the placement strategy assigned to this
 10108  	// placement group.
 10109  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
 10110  
 10111  	// PricingSchedule: Pricing schedule of this placement group. This field
 10112  	// is required on insertion.
 10113  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
 10114  
 10115  	// PrimaryPlacementId: ID of the primary placement, used to calculate
 10116  	// the media cost of a roadblock (placement group). Modifying this field
 10117  	// will automatically modify the primary field on all affected roadblock
 10118  	// child placements.
 10119  	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
 10120  
 10121  	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
 10122  	// primary placement. This is a read-only, auto-generated field.
 10123  	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
 10124  
 10125  	// SiteId: Site ID associated with this placement group. On insert, you
 10126  	// must set either this field or the directorySiteId field to specify
 10127  	// the site associated with this placement group. This is a required
 10128  	// field that is read-only after insertion.
 10129  	SiteId int64 `json:"siteId,omitempty,string"`
 10130  
 10131  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
 10132  	// a read-only, auto-generated field.
 10133  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
 10134  
 10135  	// SubaccountId: Subaccount ID of this placement group. This is a
 10136  	// read-only field that can be left blank.
 10137  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10138  
 10139  	// ServerResponse contains the HTTP response code and headers from the
 10140  	// server.
 10141  	googleapi.ServerResponse `json:"-"`
 10142  
 10143  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10144  	// unconditionally include in API requests. By default, fields with
 10145  	// empty values are omitted from API requests. However, any non-pointer,
 10146  	// non-interface field appearing in ForceSendFields will be sent to the
 10147  	// server regardless of whether the field is empty or not. This may be
 10148  	// used to include empty fields in Patch requests.
 10149  	ForceSendFields []string `json:"-"`
 10150  
 10151  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10152  	// API requests with the JSON null value. By default, fields with empty
 10153  	// values are omitted from API requests. However, any field with an
 10154  	// empty value appearing in NullFields will be sent to the server as
 10155  	// null. It is an error if a field in this list has a non-empty value.
 10156  	// This may be used to include null fields in Patch requests.
 10157  	NullFields []string `json:"-"`
 10158  }
 10159  
 10160  func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
 10161  	type NoMethod PlacementGroup
 10162  	raw := NoMethod(*s)
 10163  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10164  }
 10165  
 10166  // PlacementGroupsListResponse: Placement Group List Response
 10167  type PlacementGroupsListResponse struct {
 10168  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10169  	// string "dfareporting#placementGroupsListResponse".
 10170  	Kind string `json:"kind,omitempty"`
 10171  
 10172  	// NextPageToken: Pagination token to be used for the next list
 10173  	// operation.
 10174  	NextPageToken string `json:"nextPageToken,omitempty"`
 10175  
 10176  	// PlacementGroups: Placement group collection.
 10177  	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
 10178  
 10179  	// ServerResponse contains the HTTP response code and headers from the
 10180  	// server.
 10181  	googleapi.ServerResponse `json:"-"`
 10182  
 10183  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10184  	// unconditionally include in API requests. By default, fields with
 10185  	// empty values are omitted from API requests. However, any non-pointer,
 10186  	// non-interface field appearing in ForceSendFields will be sent to the
 10187  	// server regardless of whether the field is empty or not. This may be
 10188  	// used to include empty fields in Patch requests.
 10189  	ForceSendFields []string `json:"-"`
 10190  
 10191  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10192  	// requests with the JSON null value. By default, fields with empty
 10193  	// values are omitted from API requests. However, any field with an
 10194  	// empty value appearing in NullFields will be sent to the server as
 10195  	// null. It is an error if a field in this list has a non-empty value.
 10196  	// This may be used to include null fields in Patch requests.
 10197  	NullFields []string `json:"-"`
 10198  }
 10199  
 10200  func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
 10201  	type NoMethod PlacementGroupsListResponse
 10202  	raw := NoMethod(*s)
 10203  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10204  }
 10205  
 10206  // PlacementStrategiesListResponse: Placement Strategy List Response
 10207  type PlacementStrategiesListResponse struct {
 10208  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10209  	// string "dfareporting#placementStrategiesListResponse".
 10210  	Kind string `json:"kind,omitempty"`
 10211  
 10212  	// NextPageToken: Pagination token to be used for the next list
 10213  	// operation.
 10214  	NextPageToken string `json:"nextPageToken,omitempty"`
 10215  
 10216  	// PlacementStrategies: Placement strategy collection.
 10217  	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
 10218  
 10219  	// ServerResponse contains the HTTP response code and headers from the
 10220  	// server.
 10221  	googleapi.ServerResponse `json:"-"`
 10222  
 10223  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10224  	// unconditionally include in API requests. By default, fields with
 10225  	// empty values are omitted from API requests. However, any non-pointer,
 10226  	// non-interface field appearing in ForceSendFields will be sent to the
 10227  	// server regardless of whether the field is empty or not. This may be
 10228  	// used to include empty fields in Patch requests.
 10229  	ForceSendFields []string `json:"-"`
 10230  
 10231  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10232  	// requests with the JSON null value. By default, fields with empty
 10233  	// values are omitted from API requests. However, any field with an
 10234  	// empty value appearing in NullFields will be sent to the server as
 10235  	// null. It is an error if a field in this list has a non-empty value.
 10236  	// This may be used to include null fields in Patch requests.
 10237  	NullFields []string `json:"-"`
 10238  }
 10239  
 10240  func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
 10241  	type NoMethod PlacementStrategiesListResponse
 10242  	raw := NoMethod(*s)
 10243  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10244  }
 10245  
 10246  // PlacementStrategy: Contains properties of a placement strategy.
 10247  type PlacementStrategy struct {
 10248  	// AccountId: Account ID of this placement strategy.This is a read-only
 10249  	// field that can be left blank.
 10250  	AccountId int64 `json:"accountId,omitempty,string"`
 10251  
 10252  	// Id: ID of this placement strategy. This is a read-only,
 10253  	// auto-generated field.
 10254  	Id int64 `json:"id,omitempty,string"`
 10255  
 10256  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10257  	// string "dfareporting#placementStrategy".
 10258  	Kind string `json:"kind,omitempty"`
 10259  
 10260  	// Name: Name of this placement strategy. This is a required field. It
 10261  	// must be less than 256 characters long and unique among placement
 10262  	// strategies of the same account.
 10263  	Name string `json:"name,omitempty"`
 10264  
 10265  	// ServerResponse contains the HTTP response code and headers from the
 10266  	// server.
 10267  	googleapi.ServerResponse `json:"-"`
 10268  
 10269  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10270  	// unconditionally include in API requests. By default, fields with
 10271  	// empty values are omitted from API requests. However, any non-pointer,
 10272  	// non-interface field appearing in ForceSendFields will be sent to the
 10273  	// server regardless of whether the field is empty or not. This may be
 10274  	// used to include empty fields in Patch requests.
 10275  	ForceSendFields []string `json:"-"`
 10276  
 10277  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10278  	// API requests with the JSON null value. By default, fields with empty
 10279  	// values are omitted from API requests. However, any field with an
 10280  	// empty value appearing in NullFields will be sent to the server as
 10281  	// null. It is an error if a field in this list has a non-empty value.
 10282  	// This may be used to include null fields in Patch requests.
 10283  	NullFields []string `json:"-"`
 10284  }
 10285  
 10286  func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
 10287  	type NoMethod PlacementStrategy
 10288  	raw := NoMethod(*s)
 10289  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10290  }
 10291  
 10292  // PlacementTag: Placement Tag
 10293  type PlacementTag struct {
 10294  	// PlacementId: Placement ID
 10295  	PlacementId int64 `json:"placementId,omitempty,string"`
 10296  
 10297  	// TagDatas: Tags generated for this placement.
 10298  	TagDatas []*TagData `json:"tagDatas,omitempty"`
 10299  
 10300  	// ForceSendFields is a list of field names (e.g. "PlacementId") to
 10301  	// unconditionally include in API requests. By default, fields with
 10302  	// empty values are omitted from API requests. However, any non-pointer,
 10303  	// non-interface field appearing in ForceSendFields will be sent to the
 10304  	// server regardless of whether the field is empty or not. This may be
 10305  	// used to include empty fields in Patch requests.
 10306  	ForceSendFields []string `json:"-"`
 10307  
 10308  	// NullFields is a list of field names (e.g. "PlacementId") to include
 10309  	// in API requests with the JSON null value. By default, fields with
 10310  	// empty values are omitted from API requests. However, any field with
 10311  	// an empty value appearing in NullFields will be sent to the server as
 10312  	// null. It is an error if a field in this list has a non-empty value.
 10313  	// This may be used to include null fields in Patch requests.
 10314  	NullFields []string `json:"-"`
 10315  }
 10316  
 10317  func (s *PlacementTag) MarshalJSON() ([]byte, error) {
 10318  	type NoMethod PlacementTag
 10319  	raw := NoMethod(*s)
 10320  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10321  }
 10322  
 10323  // PlacementsGenerateTagsResponse: Placement GenerateTags Response
 10324  type PlacementsGenerateTagsResponse struct {
 10325  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10326  	// string "dfareporting#placementsGenerateTagsResponse".
 10327  	Kind string `json:"kind,omitempty"`
 10328  
 10329  	// PlacementTags: Set of generated tags for the specified placements.
 10330  	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
 10331  
 10332  	// ServerResponse contains the HTTP response code and headers from the
 10333  	// server.
 10334  	googleapi.ServerResponse `json:"-"`
 10335  
 10336  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10337  	// unconditionally include in API requests. By default, fields with
 10338  	// empty values are omitted from API requests. However, any non-pointer,
 10339  	// non-interface field appearing in ForceSendFields will be sent to the
 10340  	// server regardless of whether the field is empty or not. This may be
 10341  	// used to include empty fields in Patch requests.
 10342  	ForceSendFields []string `json:"-"`
 10343  
 10344  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10345  	// requests with the JSON null value. By default, fields with empty
 10346  	// values are omitted from API requests. However, any field with an
 10347  	// empty value appearing in NullFields will be sent to the server as
 10348  	// null. It is an error if a field in this list has a non-empty value.
 10349  	// This may be used to include null fields in Patch requests.
 10350  	NullFields []string `json:"-"`
 10351  }
 10352  
 10353  func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
 10354  	type NoMethod PlacementsGenerateTagsResponse
 10355  	raw := NoMethod(*s)
 10356  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10357  }
 10358  
 10359  // PlacementsListResponse: Placement List Response
 10360  type PlacementsListResponse struct {
 10361  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10362  	// string "dfareporting#placementsListResponse".
 10363  	Kind string `json:"kind,omitempty"`
 10364  
 10365  	// NextPageToken: Pagination token to be used for the next list
 10366  	// operation.
 10367  	NextPageToken string `json:"nextPageToken,omitempty"`
 10368  
 10369  	// Placements: Placement collection.
 10370  	Placements []*Placement `json:"placements,omitempty"`
 10371  
 10372  	// ServerResponse contains the HTTP response code and headers from the
 10373  	// server.
 10374  	googleapi.ServerResponse `json:"-"`
 10375  
 10376  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10377  	// unconditionally include in API requests. By default, fields with
 10378  	// empty values are omitted from API requests. However, any non-pointer,
 10379  	// non-interface field appearing in ForceSendFields will be sent to the
 10380  	// server regardless of whether the field is empty or not. This may be
 10381  	// used to include empty fields in Patch requests.
 10382  	ForceSendFields []string `json:"-"`
 10383  
 10384  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10385  	// requests with the JSON null value. By default, fields with empty
 10386  	// values are omitted from API requests. However, any field with an
 10387  	// empty value appearing in NullFields will be sent to the server as
 10388  	// null. It is an error if a field in this list has a non-empty value.
 10389  	// This may be used to include null fields in Patch requests.
 10390  	NullFields []string `json:"-"`
 10391  }
 10392  
 10393  func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
 10394  	type NoMethod PlacementsListResponse
 10395  	raw := NoMethod(*s)
 10396  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10397  }
 10398  
 10399  // PlatformType: Contains information about a platform type that can be
 10400  // targeted by ads.
 10401  type PlatformType struct {
 10402  	// Id: ID of this platform type.
 10403  	Id int64 `json:"id,omitempty,string"`
 10404  
 10405  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10406  	// string "dfareporting#platformType".
 10407  	Kind string `json:"kind,omitempty"`
 10408  
 10409  	// Name: Name of this platform type.
 10410  	Name string `json:"name,omitempty"`
 10411  
 10412  	// ServerResponse contains the HTTP response code and headers from the
 10413  	// server.
 10414  	googleapi.ServerResponse `json:"-"`
 10415  
 10416  	// ForceSendFields is a list of field names (e.g. "Id") to
 10417  	// unconditionally include in API requests. By default, fields with
 10418  	// empty values are omitted from API requests. However, any non-pointer,
 10419  	// non-interface field appearing in ForceSendFields will be sent to the
 10420  	// server regardless of whether the field is empty or not. This may be
 10421  	// used to include empty fields in Patch requests.
 10422  	ForceSendFields []string `json:"-"`
 10423  
 10424  	// NullFields is a list of field names (e.g. "Id") to include in API
 10425  	// requests with the JSON null value. By default, fields with empty
 10426  	// values are omitted from API requests. However, any field with an
 10427  	// empty value appearing in NullFields will be sent to the server as
 10428  	// null. It is an error if a field in this list has a non-empty value.
 10429  	// This may be used to include null fields in Patch requests.
 10430  	NullFields []string `json:"-"`
 10431  }
 10432  
 10433  func (s *PlatformType) MarshalJSON() ([]byte, error) {
 10434  	type NoMethod PlatformType
 10435  	raw := NoMethod(*s)
 10436  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10437  }
 10438  
 10439  // PlatformTypesListResponse: Platform Type List Response
 10440  type PlatformTypesListResponse struct {
 10441  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10442  	// string "dfareporting#platformTypesListResponse".
 10443  	Kind string `json:"kind,omitempty"`
 10444  
 10445  	// PlatformTypes: Platform type collection.
 10446  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 10447  
 10448  	// ServerResponse contains the HTTP response code and headers from the
 10449  	// server.
 10450  	googleapi.ServerResponse `json:"-"`
 10451  
 10452  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10453  	// unconditionally include in API requests. By default, fields with
 10454  	// empty values are omitted from API requests. However, any non-pointer,
 10455  	// non-interface field appearing in ForceSendFields will be sent to the
 10456  	// server regardless of whether the field is empty or not. This may be
 10457  	// used to include empty fields in Patch requests.
 10458  	ForceSendFields []string `json:"-"`
 10459  
 10460  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10461  	// requests with the JSON null value. By default, fields with empty
 10462  	// values are omitted from API requests. However, any field with an
 10463  	// empty value appearing in NullFields will be sent to the server as
 10464  	// null. It is an error if a field in this list has a non-empty value.
 10465  	// This may be used to include null fields in Patch requests.
 10466  	NullFields []string `json:"-"`
 10467  }
 10468  
 10469  func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
 10470  	type NoMethod PlatformTypesListResponse
 10471  	raw := NoMethod(*s)
 10472  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10473  }
 10474  
 10475  // PopupWindowProperties: Popup Window Properties.
 10476  type PopupWindowProperties struct {
 10477  	// Dimension: Popup dimension for a creative. This is a read-only field.
 10478  	// Applicable to the following creative types: all RICH_MEDIA and all
 10479  	// VPAID
 10480  	Dimension *Size `json:"dimension,omitempty"`
 10481  
 10482  	// Offset: Upper-left corner coordinates of the popup window. Applicable
 10483  	// if positionType is COORDINATES.
 10484  	Offset *OffsetPosition `json:"offset,omitempty"`
 10485  
 10486  	// PositionType: Popup window position either centered or at specific
 10487  	// coordinate.
 10488  	//
 10489  	// Possible values:
 10490  	//   "CENTER"
 10491  	//   "COORDINATES"
 10492  	PositionType string `json:"positionType,omitempty"`
 10493  
 10494  	// ShowAddressBar: Whether to display the browser address bar.
 10495  	ShowAddressBar bool `json:"showAddressBar,omitempty"`
 10496  
 10497  	// ShowMenuBar: Whether to display the browser menu bar.
 10498  	ShowMenuBar bool `json:"showMenuBar,omitempty"`
 10499  
 10500  	// ShowScrollBar: Whether to display the browser scroll bar.
 10501  	ShowScrollBar bool `json:"showScrollBar,omitempty"`
 10502  
 10503  	// ShowStatusBar: Whether to display the browser status bar.
 10504  	ShowStatusBar bool `json:"showStatusBar,omitempty"`
 10505  
 10506  	// ShowToolBar: Whether to display the browser tool bar.
 10507  	ShowToolBar bool `json:"showToolBar,omitempty"`
 10508  
 10509  	// Title: Title of popup window.
 10510  	Title string `json:"title,omitempty"`
 10511  
 10512  	// ForceSendFields is a list of field names (e.g. "Dimension") to
 10513  	// unconditionally include in API requests. By default, fields with
 10514  	// empty values are omitted from API requests. However, any non-pointer,
 10515  	// non-interface field appearing in ForceSendFields will be sent to the
 10516  	// server regardless of whether the field is empty or not. This may be
 10517  	// used to include empty fields in Patch requests.
 10518  	ForceSendFields []string `json:"-"`
 10519  
 10520  	// NullFields is a list of field names (e.g. "Dimension") to include in
 10521  	// API requests with the JSON null value. By default, fields with empty
 10522  	// values are omitted from API requests. However, any field with an
 10523  	// empty value appearing in NullFields will be sent to the server as
 10524  	// null. It is an error if a field in this list has a non-empty value.
 10525  	// This may be used to include null fields in Patch requests.
 10526  	NullFields []string `json:"-"`
 10527  }
 10528  
 10529  func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
 10530  	type NoMethod PopupWindowProperties
 10531  	raw := NoMethod(*s)
 10532  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10533  }
 10534  
 10535  // PostalCode: Contains information about a postal code that can be
 10536  // targeted by ads.
 10537  type PostalCode struct {
 10538  	// Code: Postal code. This is equivalent to the id field.
 10539  	Code string `json:"code,omitempty"`
 10540  
 10541  	// CountryCode: Country code of the country to which this postal code
 10542  	// belongs.
 10543  	CountryCode string `json:"countryCode,omitempty"`
 10544  
 10545  	// CountryDartId: DART ID of the country to which this postal code
 10546  	// belongs.
 10547  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 10548  
 10549  	// Id: ID of this postal code.
 10550  	Id string `json:"id,omitempty"`
 10551  
 10552  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10553  	// string "dfareporting#postalCode".
 10554  	Kind string `json:"kind,omitempty"`
 10555  
 10556  	// ServerResponse contains the HTTP response code and headers from the
 10557  	// server.
 10558  	googleapi.ServerResponse `json:"-"`
 10559  
 10560  	// ForceSendFields is a list of field names (e.g. "Code") to
 10561  	// unconditionally include in API requests. By default, fields with
 10562  	// empty values are omitted from API requests. However, any non-pointer,
 10563  	// non-interface field appearing in ForceSendFields will be sent to the
 10564  	// server regardless of whether the field is empty or not. This may be
 10565  	// used to include empty fields in Patch requests.
 10566  	ForceSendFields []string `json:"-"`
 10567  
 10568  	// NullFields is a list of field names (e.g. "Code") to include in API
 10569  	// requests with the JSON null value. By default, fields with empty
 10570  	// values are omitted from API requests. However, any field with an
 10571  	// empty value appearing in NullFields will be sent to the server as
 10572  	// null. It is an error if a field in this list has a non-empty value.
 10573  	// This may be used to include null fields in Patch requests.
 10574  	NullFields []string `json:"-"`
 10575  }
 10576  
 10577  func (s *PostalCode) MarshalJSON() ([]byte, error) {
 10578  	type NoMethod PostalCode
 10579  	raw := NoMethod(*s)
 10580  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10581  }
 10582  
 10583  // PostalCodesListResponse: Postal Code List Response
 10584  type PostalCodesListResponse struct {
 10585  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10586  	// string "dfareporting#postalCodesListResponse".
 10587  	Kind string `json:"kind,omitempty"`
 10588  
 10589  	// PostalCodes: Postal code collection.
 10590  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
 10591  
 10592  	// ServerResponse contains the HTTP response code and headers from the
 10593  	// server.
 10594  	googleapi.ServerResponse `json:"-"`
 10595  
 10596  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10597  	// unconditionally include in API requests. By default, fields with
 10598  	// empty values are omitted from API requests. However, any non-pointer,
 10599  	// non-interface field appearing in ForceSendFields will be sent to the
 10600  	// server regardless of whether the field is empty or not. This may be
 10601  	// used to include empty fields in Patch requests.
 10602  	ForceSendFields []string `json:"-"`
 10603  
 10604  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10605  	// requests with the JSON null value. By default, fields with empty
 10606  	// values are omitted from API requests. However, any field with an
 10607  	// empty value appearing in NullFields will be sent to the server as
 10608  	// null. It is an error if a field in this list has a non-empty value.
 10609  	// This may be used to include null fields in Patch requests.
 10610  	NullFields []string `json:"-"`
 10611  }
 10612  
 10613  func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
 10614  	type NoMethod PostalCodesListResponse
 10615  	raw := NoMethod(*s)
 10616  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10617  }
 10618  
 10619  // Pricing: Pricing Information
 10620  type Pricing struct {
 10621  	// CapCostType: Cap cost type of this inventory item.
 10622  	//
 10623  	// Possible values:
 10624  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
 10625  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
 10626  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
 10627  	CapCostType string `json:"capCostType,omitempty"`
 10628  
 10629  	// EndDate: End date of this inventory item.
 10630  	EndDate string `json:"endDate,omitempty"`
 10631  
 10632  	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
 10633  	// period) represents the inventory item pricing information for a
 10634  	// specific period of time.
 10635  	Flights []*Flight `json:"flights,omitempty"`
 10636  
 10637  	// GroupType: Group type of this inventory item if it represents a
 10638  	// placement group. Is null otherwise. There are two type of placement
 10639  	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
 10640  	// inventory items that acts as a single pricing point for a group of
 10641  	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
 10642  	// items that not only acts as a single pricing point, but also assumes
 10643  	// that all the tags in it will be served at the same time. A roadblock
 10644  	// requires one of its assigned inventory items to be marked as primary.
 10645  	//
 10646  	// Possible values:
 10647  	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
 10648  	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
 10649  	GroupType string `json:"groupType,omitempty"`
 10650  
 10651  	// PricingType: Pricing type of this inventory item.
 10652  	//
 10653  	// Possible values:
 10654  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
 10655  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
 10656  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
 10657  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
 10658  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
 10659  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
 10660  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10661  	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
 10662  	PricingType string `json:"pricingType,omitempty"`
 10663  
 10664  	// StartDate: Start date of this inventory item.
 10665  	StartDate string `json:"startDate,omitempty"`
 10666  
 10667  	// ForceSendFields is a list of field names (e.g. "CapCostType") to
 10668  	// unconditionally include in API requests. By default, fields with
 10669  	// empty values are omitted from API requests. However, any non-pointer,
 10670  	// non-interface field appearing in ForceSendFields will be sent to the
 10671  	// server regardless of whether the field is empty or not. This may be
 10672  	// used to include empty fields in Patch requests.
 10673  	ForceSendFields []string `json:"-"`
 10674  
 10675  	// NullFields is a list of field names (e.g. "CapCostType") to include
 10676  	// in API requests with the JSON null value. By default, fields with
 10677  	// empty values are omitted from API requests. However, any field with
 10678  	// an empty value appearing in NullFields will be sent to the server as
 10679  	// null. It is an error if a field in this list has a non-empty value.
 10680  	// This may be used to include null fields in Patch requests.
 10681  	NullFields []string `json:"-"`
 10682  }
 10683  
 10684  func (s *Pricing) MarshalJSON() ([]byte, error) {
 10685  	type NoMethod Pricing
 10686  	raw := NoMethod(*s)
 10687  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10688  }
 10689  
 10690  // PricingSchedule: Pricing Schedule
 10691  type PricingSchedule struct {
 10692  	// CapCostOption: Placement cap cost option.
 10693  	//
 10694  	// Possible values:
 10695  	//   "CAP_COST_CUMULATIVE"
 10696  	//   "CAP_COST_MONTHLY"
 10697  	//   "CAP_COST_NONE"
 10698  	CapCostOption string `json:"capCostOption,omitempty"`
 10699  
 10700  	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
 10701  	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
 10702  
 10703  	// EndDate: Placement end date. This date must be later than, or the
 10704  	// same day as, the placement start date, but not later than the
 10705  	// campaign end date. If, for example, you set 6/25/2015 as both the
 10706  	// start and end dates, the effective placement date is just that day
 10707  	// only, 6/25/2015. The hours, minutes, and seconds of the end date
 10708  	// should not be set, as doing so will result in an error. This field is
 10709  	// required on insertion.
 10710  	EndDate string `json:"endDate,omitempty"`
 10711  
 10712  	// Flighted: Whether this placement is flighted. If true, pricing
 10713  	// periods will be computed automatically.
 10714  	Flighted bool `json:"flighted,omitempty"`
 10715  
 10716  	// FloodlightActivityId: Floodlight activity ID associated with this
 10717  	// placement. This field should be set when placement pricing type is
 10718  	// set to PRICING_TYPE_CPA.
 10719  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
 10720  
 10721  	// PricingPeriods: Pricing periods for this placement.
 10722  	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
 10723  
 10724  	// PricingType: Placement pricing type. This field is required on
 10725  	// insertion.
 10726  	//
 10727  	// Possible values:
 10728  	//   "PRICING_TYPE_CPA"
 10729  	//   "PRICING_TYPE_CPC"
 10730  	//   "PRICING_TYPE_CPM"
 10731  	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 10732  	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
 10733  	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10734  	PricingType string `json:"pricingType,omitempty"`
 10735  
 10736  	// StartDate: Placement start date. This date must be later than, or the
 10737  	// same day as, the campaign start date. The hours, minutes, and seconds
 10738  	// of the start date should not be set, as doing so will result in an
 10739  	// error. This field is required on insertion.
 10740  	StartDate string `json:"startDate,omitempty"`
 10741  
 10742  	// TestingStartDate: Testing start date of this placement. The hours,
 10743  	// minutes, and seconds of the start date should not be set, as doing so
 10744  	// will result in an error.
 10745  	TestingStartDate string `json:"testingStartDate,omitempty"`
 10746  
 10747  	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
 10748  	// unconditionally include in API requests. By default, fields with
 10749  	// empty values are omitted from API requests. However, any non-pointer,
 10750  	// non-interface field appearing in ForceSendFields will be sent to the
 10751  	// server regardless of whether the field is empty or not. This may be
 10752  	// used to include empty fields in Patch requests.
 10753  	ForceSendFields []string `json:"-"`
 10754  
 10755  	// NullFields is a list of field names (e.g. "CapCostOption") to include
 10756  	// in API requests with the JSON null value. By default, fields with
 10757  	// empty values are omitted from API requests. However, any field with
 10758  	// an empty value appearing in NullFields will be sent to the server as
 10759  	// null. It is an error if a field in this list has a non-empty value.
 10760  	// This may be used to include null fields in Patch requests.
 10761  	NullFields []string `json:"-"`
 10762  }
 10763  
 10764  func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
 10765  	type NoMethod PricingSchedule
 10766  	raw := NoMethod(*s)
 10767  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10768  }
 10769  
 10770  // PricingSchedulePricingPeriod: Pricing Period
 10771  type PricingSchedulePricingPeriod struct {
 10772  	// EndDate: Pricing period end date. This date must be later than, or
 10773  	// the same day as, the pricing period start date, but not later than
 10774  	// the placement end date. The period end date can be the same date as
 10775  	// the period start date. If, for example, you set 6/25/2015 as both the
 10776  	// start and end dates, the effective pricing period date is just that
 10777  	// day only, 6/25/2015. The hours, minutes, and seconds of the end date
 10778  	// should not be set, as doing so will result in an error.
 10779  	EndDate string `json:"endDate,omitempty"`
 10780  
 10781  	// PricingComment: Comments for this pricing period.
 10782  	PricingComment string `json:"pricingComment,omitempty"`
 10783  
 10784  	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
 10785  	// multipled by 1000000000). Acceptable values are 0 to
 10786  	// 1000000000000000000, inclusive.
 10787  	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
 10788  
 10789  	// StartDate: Pricing period start date. This date must be later than,
 10790  	// or the same day as, the placement start date. The hours, minutes, and
 10791  	// seconds of the start date should not be set, as doing so will result
 10792  	// in an error.
 10793  	StartDate string `json:"startDate,omitempty"`
 10794  
 10795  	// Units: Units of this pricing period. Acceptable values are 0 to
 10796  	// 10000000000, inclusive.
 10797  	Units int64 `json:"units,omitempty,string"`
 10798  
 10799  	// ForceSendFields is a list of field names (e.g. "EndDate") to
 10800  	// unconditionally include in API requests. By default, fields with
 10801  	// empty values are omitted from API requests. However, any non-pointer,
 10802  	// non-interface field appearing in ForceSendFields will be sent to the
 10803  	// server regardless of whether the field is empty or not. This may be
 10804  	// used to include empty fields in Patch requests.
 10805  	ForceSendFields []string `json:"-"`
 10806  
 10807  	// NullFields is a list of field names (e.g. "EndDate") to include in
 10808  	// API requests with the JSON null value. By default, fields with empty
 10809  	// values are omitted from API requests. However, any field with an
 10810  	// empty value appearing in NullFields will be sent to the server as
 10811  	// null. It is an error if a field in this list has a non-empty value.
 10812  	// This may be used to include null fields in Patch requests.
 10813  	NullFields []string `json:"-"`
 10814  }
 10815  
 10816  func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
 10817  	type NoMethod PricingSchedulePricingPeriod
 10818  	raw := NoMethod(*s)
 10819  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10820  }
 10821  
 10822  // Project: Contains properties of a Planning project.
 10823  type Project struct {
 10824  	// AccountId: Account ID of this project.
 10825  	AccountId int64 `json:"accountId,omitempty,string"`
 10826  
 10827  	// AdvertiserId: Advertiser ID of this project.
 10828  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10829  
 10830  	// AudienceAgeGroup: Audience age group of this project.
 10831  	//
 10832  	// Possible values:
 10833  	//   "PLANNING_AUDIENCE_AGE_18_24"
 10834  	//   "PLANNING_AUDIENCE_AGE_25_34"
 10835  	//   "PLANNING_AUDIENCE_AGE_35_44"
 10836  	//   "PLANNING_AUDIENCE_AGE_45_54"
 10837  	//   "PLANNING_AUDIENCE_AGE_55_64"
 10838  	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
 10839  	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
 10840  	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
 10841  
 10842  	// AudienceGender: Audience gender of this project.
 10843  	//
 10844  	// Possible values:
 10845  	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
 10846  	//   "PLANNING_AUDIENCE_GENDER_MALE"
 10847  	AudienceGender string `json:"audienceGender,omitempty"`
 10848  
 10849  	// Budget: Budget of this project in the currency specified by the
 10850  	// current account. The value stored in this field represents only the
 10851  	// non-fractional amount. For example, for USD, the smallest value that
 10852  	// can be represented by this field is 1 US dollar.
 10853  	Budget int64 `json:"budget,omitempty,string"`
 10854  
 10855  	// ClientBillingCode: Client billing code of this project.
 10856  	ClientBillingCode string `json:"clientBillingCode,omitempty"`
 10857  
 10858  	// ClientName: Name of the project client.
 10859  	ClientName string `json:"clientName,omitempty"`
 10860  
 10861  	// EndDate: End date of the project.
 10862  	EndDate string `json:"endDate,omitempty"`
 10863  
 10864  	// Id: ID of this project. This is a read-only, auto-generated field.
 10865  	Id int64 `json:"id,omitempty,string"`
 10866  
 10867  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10868  	// string "dfareporting#project".
 10869  	Kind string `json:"kind,omitempty"`
 10870  
 10871  	// LastModifiedInfo: Information about the most recent modification of
 10872  	// this project.
 10873  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 10874  
 10875  	// Name: Name of this project.
 10876  	Name string `json:"name,omitempty"`
 10877  
 10878  	// Overview: Overview of this project.
 10879  	Overview string `json:"overview,omitempty"`
 10880  
 10881  	// StartDate: Start date of the project.
 10882  	StartDate string `json:"startDate,omitempty"`
 10883  
 10884  	// SubaccountId: Subaccount ID of this project.
 10885  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10886  
 10887  	// TargetClicks: Number of clicks that the advertiser is targeting.
 10888  	TargetClicks int64 `json:"targetClicks,omitempty,string"`
 10889  
 10890  	// TargetConversions: Number of conversions that the advertiser is
 10891  	// targeting.
 10892  	TargetConversions int64 `json:"targetConversions,omitempty,string"`
 10893  
 10894  	// TargetCpaNanos: CPA that the advertiser is targeting.
 10895  	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
 10896  
 10897  	// TargetCpcNanos: CPC that the advertiser is targeting.
 10898  	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
 10899  
 10900  	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
 10901  	// is targeting.
 10902  	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
 10903  
 10904  	// TargetCpmNanos: CPM that the advertiser is targeting.
 10905  	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
 10906  
 10907  	// TargetImpressions: Number of impressions that the advertiser is
 10908  	// targeting.
 10909  	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
 10910  
 10911  	// ServerResponse contains the HTTP response code and headers from the
 10912  	// server.
 10913  	googleapi.ServerResponse `json:"-"`
 10914  
 10915  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10916  	// unconditionally include in API requests. By default, fields with
 10917  	// empty values are omitted from API requests. However, any non-pointer,
 10918  	// non-interface field appearing in ForceSendFields will be sent to the
 10919  	// server regardless of whether the field is empty or not. This may be
 10920  	// used to include empty fields in Patch requests.
 10921  	ForceSendFields []string `json:"-"`
 10922  
 10923  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10924  	// API requests with the JSON null value. By default, fields with empty
 10925  	// values are omitted from API requests. However, any field with an
 10926  	// empty value appearing in NullFields will be sent to the server as
 10927  	// null. It is an error if a field in this list has a non-empty value.
 10928  	// This may be used to include null fields in Patch requests.
 10929  	NullFields []string `json:"-"`
 10930  }
 10931  
 10932  func (s *Project) MarshalJSON() ([]byte, error) {
 10933  	type NoMethod Project
 10934  	raw := NoMethod(*s)
 10935  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10936  }
 10937  
 10938  // ProjectsListResponse: Project List Response
 10939  type ProjectsListResponse struct {
 10940  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10941  	// string "dfareporting#projectsListResponse".
 10942  	Kind string `json:"kind,omitempty"`
 10943  
 10944  	// NextPageToken: Pagination token to be used for the next list
 10945  	// operation.
 10946  	NextPageToken string `json:"nextPageToken,omitempty"`
 10947  
 10948  	// Projects: Project collection.
 10949  	Projects []*Project `json:"projects,omitempty"`
 10950  
 10951  	// ServerResponse contains the HTTP response code and headers from the
 10952  	// server.
 10953  	googleapi.ServerResponse `json:"-"`
 10954  
 10955  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10956  	// unconditionally include in API requests. By default, fields with
 10957  	// empty values are omitted from API requests. However, any non-pointer,
 10958  	// non-interface field appearing in ForceSendFields will be sent to the
 10959  	// server regardless of whether the field is empty or not. This may be
 10960  	// used to include empty fields in Patch requests.
 10961  	ForceSendFields []string `json:"-"`
 10962  
 10963  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10964  	// requests with the JSON null value. By default, fields with empty
 10965  	// values are omitted from API requests. However, any field with an
 10966  	// empty value appearing in NullFields will be sent to the server as
 10967  	// null. It is an error if a field in this list has a non-empty value.
 10968  	// This may be used to include null fields in Patch requests.
 10969  	NullFields []string `json:"-"`
 10970  }
 10971  
 10972  func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
 10973  	type NoMethod ProjectsListResponse
 10974  	raw := NoMethod(*s)
 10975  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10976  }
 10977  
 10978  // ReachReportCompatibleFields: Represents fields that are compatible to
 10979  // be selected for a report of type "REACH".
 10980  type ReachReportCompatibleFields struct {
 10981  	// DimensionFilters: Dimensions which are compatible to be selected in
 10982  	// the "dimensionFilters" section of the report.
 10983  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 10984  
 10985  	// Dimensions: Dimensions which are compatible to be selected in the
 10986  	// "dimensions" section of the report.
 10987  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 10988  
 10989  	// Kind: The kind of resource this is, in this case
 10990  	// dfareporting#reachReportCompatibleFields.
 10991  	Kind string `json:"kind,omitempty"`
 10992  
 10993  	// Metrics: Metrics which are compatible to be selected in the
 10994  	// "metricNames" section of the report.
 10995  	Metrics []*Metric `json:"metrics,omitempty"`
 10996  
 10997  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 10998  	// as activity metrics to pivot on in the "activities" section of the
 10999  	// report.
 11000  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 11001  
 11002  	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
 11003  	// in the "reachByFrequencyMetricNames" section of the report.
 11004  	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
 11005  
 11006  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 11007  	// unconditionally include in API requests. By default, fields with
 11008  	// empty values are omitted from API requests. However, any non-pointer,
 11009  	// non-interface field appearing in ForceSendFields will be sent to the
 11010  	// server regardless of whether the field is empty or not. This may be
 11011  	// used to include empty fields in Patch requests.
 11012  	ForceSendFields []string `json:"-"`
 11013  
 11014  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 11015  	// include in API requests with the JSON null value. By default, fields
 11016  	// with empty values are omitted from API requests. However, any field
 11017  	// with an empty value appearing in NullFields will be sent to the
 11018  	// server as null. It is an error if a field in this list has a
 11019  	// non-empty value. This may be used to include null fields in Patch
 11020  	// requests.
 11021  	NullFields []string `json:"-"`
 11022  }
 11023  
 11024  func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
 11025  	type NoMethod ReachReportCompatibleFields
 11026  	raw := NoMethod(*s)
 11027  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11028  }
 11029  
 11030  // Recipient: Represents a recipient.
 11031  type Recipient struct {
 11032  	// DeliveryType: The delivery type for the recipient.
 11033  	//
 11034  	// Possible values:
 11035  	//   "ATTACHMENT"
 11036  	//   "LINK"
 11037  	DeliveryType string `json:"deliveryType,omitempty"`
 11038  
 11039  	// Email: The email address of the recipient.
 11040  	Email string `json:"email,omitempty"`
 11041  
 11042  	// Kind: The kind of resource this is, in this case
 11043  	// dfareporting#recipient.
 11044  	Kind string `json:"kind,omitempty"`
 11045  
 11046  	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
 11047  	// unconditionally include in API requests. By default, fields with
 11048  	// empty values are omitted from API requests. However, any non-pointer,
 11049  	// non-interface field appearing in ForceSendFields will be sent to the
 11050  	// server regardless of whether the field is empty or not. This may be
 11051  	// used to include empty fields in Patch requests.
 11052  	ForceSendFields []string `json:"-"`
 11053  
 11054  	// NullFields is a list of field names (e.g. "DeliveryType") to include
 11055  	// in API requests with the JSON null value. By default, fields with
 11056  	// empty values are omitted from API requests. However, any field with
 11057  	// an empty value appearing in NullFields will be sent to the server as
 11058  	// null. It is an error if a field in this list has a non-empty value.
 11059  	// This may be used to include null fields in Patch requests.
 11060  	NullFields []string `json:"-"`
 11061  }
 11062  
 11063  func (s *Recipient) MarshalJSON() ([]byte, error) {
 11064  	type NoMethod Recipient
 11065  	raw := NoMethod(*s)
 11066  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11067  }
 11068  
 11069  // Region: Contains information about a region that can be targeted by
 11070  // ads.
 11071  type Region struct {
 11072  	// CountryCode: Country code of the country to which this region
 11073  	// belongs.
 11074  	CountryCode string `json:"countryCode,omitempty"`
 11075  
 11076  	// CountryDartId: DART ID of the country to which this region belongs.
 11077  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 11078  
 11079  	// DartId: DART ID of this region.
 11080  	DartId int64 `json:"dartId,omitempty,string"`
 11081  
 11082  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11083  	// string "dfareporting#region".
 11084  	Kind string `json:"kind,omitempty"`
 11085  
 11086  	// Name: Name of this region.
 11087  	Name string `json:"name,omitempty"`
 11088  
 11089  	// RegionCode: Region code.
 11090  	RegionCode string `json:"regionCode,omitempty"`
 11091  
 11092  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
 11093  	// unconditionally include in API requests. By default, fields with
 11094  	// empty values are omitted from API requests. However, any non-pointer,
 11095  	// non-interface field appearing in ForceSendFields will be sent to the
 11096  	// server regardless of whether the field is empty or not. This may be
 11097  	// used to include empty fields in Patch requests.
 11098  	ForceSendFields []string `json:"-"`
 11099  
 11100  	// NullFields is a list of field names (e.g. "CountryCode") to include
 11101  	// in API requests with the JSON null value. By default, fields with
 11102  	// empty values are omitted from API requests. However, any field with
 11103  	// an empty value appearing in NullFields will be sent to the server as
 11104  	// null. It is an error if a field in this list has a non-empty value.
 11105  	// This may be used to include null fields in Patch requests.
 11106  	NullFields []string `json:"-"`
 11107  }
 11108  
 11109  func (s *Region) MarshalJSON() ([]byte, error) {
 11110  	type NoMethod Region
 11111  	raw := NoMethod(*s)
 11112  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11113  }
 11114  
 11115  // RegionsListResponse: Region List Response
 11116  type RegionsListResponse struct {
 11117  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11118  	// string "dfareporting#regionsListResponse".
 11119  	Kind string `json:"kind,omitempty"`
 11120  
 11121  	// Regions: Region collection.
 11122  	Regions []*Region `json:"regions,omitempty"`
 11123  
 11124  	// ServerResponse contains the HTTP response code and headers from the
 11125  	// server.
 11126  	googleapi.ServerResponse `json:"-"`
 11127  
 11128  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11129  	// unconditionally include in API requests. By default, fields with
 11130  	// empty values are omitted from API requests. However, any non-pointer,
 11131  	// non-interface field appearing in ForceSendFields will be sent to the
 11132  	// server regardless of whether the field is empty or not. This may be
 11133  	// used to include empty fields in Patch requests.
 11134  	ForceSendFields []string `json:"-"`
 11135  
 11136  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11137  	// requests with the JSON null value. By default, fields with empty
 11138  	// values are omitted from API requests. However, any field with an
 11139  	// empty value appearing in NullFields will be sent to the server as
 11140  	// null. It is an error if a field in this list has a non-empty value.
 11141  	// This may be used to include null fields in Patch requests.
 11142  	NullFields []string `json:"-"`
 11143  }
 11144  
 11145  func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
 11146  	type NoMethod RegionsListResponse
 11147  	raw := NoMethod(*s)
 11148  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11149  }
 11150  
 11151  // RemarketingList: Contains properties of a remarketing list.
 11152  // Remarketing enables you to create lists of users who have performed
 11153  // specific actions on a site, then target ads to members of those
 11154  // lists. This resource can be used to manage remarketing lists that are
 11155  // owned by your advertisers. To see all remarketing lists that are
 11156  // visible to your advertisers, including those that are shared to your
 11157  // advertiser or account, use the TargetableRemarketingLists resource.
 11158  type RemarketingList struct {
 11159  	// AccountId: Account ID of this remarketing list. This is a read-only,
 11160  	// auto-generated field that is only returned in GET requests.
 11161  	AccountId int64 `json:"accountId,omitempty,string"`
 11162  
 11163  	// Active: Whether this remarketing list is active.
 11164  	Active bool `json:"active,omitempty"`
 11165  
 11166  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 11167  	// remarketing list. This is a required field.
 11168  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11169  
 11170  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 11171  	// advertiser. This is a read-only, auto-generated field.
 11172  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 11173  
 11174  	// Description: Remarketing list description.
 11175  	Description string `json:"description,omitempty"`
 11176  
 11177  	// Id: Remarketing list ID. This is a read-only, auto-generated field.
 11178  	Id int64 `json:"id,omitempty,string"`
 11179  
 11180  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11181  	// string "dfareporting#remarketingList".
 11182  	Kind string `json:"kind,omitempty"`
 11183  
 11184  	// LifeSpan: Number of days that a user should remain in the remarketing
 11185  	// list without an impression. Acceptable values are 1 to 540,
 11186  	// inclusive.
 11187  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 11188  
 11189  	// ListPopulationRule: Rule used to populate the remarketing list with
 11190  	// users.
 11191  	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
 11192  
 11193  	// ListSize: Number of users currently in the list. This is a read-only
 11194  	// field.
 11195  	ListSize int64 `json:"listSize,omitempty,string"`
 11196  
 11197  	// ListSource: Product from which this remarketing list was originated.
 11198  	//
 11199  	// Possible values:
 11200  	//   "REMARKETING_LIST_SOURCE_ADX"
 11201  	//   "REMARKETING_LIST_SOURCE_DBM"
 11202  	//   "REMARKETING_LIST_SOURCE_DFA"
 11203  	//   "REMARKETING_LIST_SOURCE_DFP"
 11204  	//   "REMARKETING_LIST_SOURCE_DMP"
 11205  	//   "REMARKETING_LIST_SOURCE_GA"
 11206  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 11207  	//   "REMARKETING_LIST_SOURCE_OTHER"
 11208  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 11209  	//   "REMARKETING_LIST_SOURCE_XFP"
 11210  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 11211  	ListSource string `json:"listSource,omitempty"`
 11212  
 11213  	// Name: Name of the remarketing list. This is a required field. Must be
 11214  	// no greater than 128 characters long.
 11215  	Name string `json:"name,omitempty"`
 11216  
 11217  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 11218  	// read-only, auto-generated field that is only returned in GET
 11219  	// requests.
 11220  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 11221  
 11222  	// ServerResponse contains the HTTP response code and headers from the
 11223  	// server.
 11224  	googleapi.ServerResponse `json:"-"`
 11225  
 11226  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11227  	// unconditionally include in API requests. By default, fields with
 11228  	// empty values are omitted from API requests. However, any non-pointer,
 11229  	// non-interface field appearing in ForceSendFields will be sent to the
 11230  	// server regardless of whether the field is empty or not. This may be
 11231  	// used to include empty fields in Patch requests.
 11232  	ForceSendFields []string `json:"-"`
 11233  
 11234  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11235  	// API requests with the JSON null value. By default, fields with empty
 11236  	// values are omitted from API requests. However, any field with an
 11237  	// empty value appearing in NullFields will be sent to the server as
 11238  	// null. It is an error if a field in this list has a non-empty value.
 11239  	// This may be used to include null fields in Patch requests.
 11240  	NullFields []string `json:"-"`
 11241  }
 11242  
 11243  func (s *RemarketingList) MarshalJSON() ([]byte, error) {
 11244  	type NoMethod RemarketingList
 11245  	raw := NoMethod(*s)
 11246  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11247  }
 11248  
 11249  // RemarketingListShare: Contains properties of a remarketing list's
 11250  // sharing information. Sharing allows other accounts or advertisers to
 11251  // target to your remarketing lists. This resource can be used to manage
 11252  // remarketing list sharing to other accounts and advertisers.
 11253  type RemarketingListShare struct {
 11254  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11255  	// string "dfareporting#remarketingListShare".
 11256  	Kind string `json:"kind,omitempty"`
 11257  
 11258  	// RemarketingListId: Remarketing list ID. This is a read-only,
 11259  	// auto-generated field.
 11260  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
 11261  
 11262  	// SharedAccountIds: Accounts that the remarketing list is shared with.
 11263  	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
 11264  
 11265  	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
 11266  	// with.
 11267  	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
 11268  
 11269  	// ServerResponse contains the HTTP response code and headers from the
 11270  	// server.
 11271  	googleapi.ServerResponse `json:"-"`
 11272  
 11273  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11274  	// unconditionally include in API requests. By default, fields with
 11275  	// empty values are omitted from API requests. However, any non-pointer,
 11276  	// non-interface field appearing in ForceSendFields will be sent to the
 11277  	// server regardless of whether the field is empty or not. This may be
 11278  	// used to include empty fields in Patch requests.
 11279  	ForceSendFields []string `json:"-"`
 11280  
 11281  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11282  	// requests with the JSON null value. By default, fields with empty
 11283  	// values are omitted from API requests. However, any field with an
 11284  	// empty value appearing in NullFields will be sent to the server as
 11285  	// null. It is an error if a field in this list has a non-empty value.
 11286  	// This may be used to include null fields in Patch requests.
 11287  	NullFields []string `json:"-"`
 11288  }
 11289  
 11290  func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
 11291  	type NoMethod RemarketingListShare
 11292  	raw := NoMethod(*s)
 11293  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11294  }
 11295  
 11296  // RemarketingListsListResponse: Remarketing list response
 11297  type RemarketingListsListResponse struct {
 11298  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11299  	// string "dfareporting#remarketingListsListResponse".
 11300  	Kind string `json:"kind,omitempty"`
 11301  
 11302  	// NextPageToken: Pagination token to be used for the next list
 11303  	// operation.
 11304  	NextPageToken string `json:"nextPageToken,omitempty"`
 11305  
 11306  	// RemarketingLists: Remarketing list collection.
 11307  	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
 11308  
 11309  	// ServerResponse contains the HTTP response code and headers from the
 11310  	// server.
 11311  	googleapi.ServerResponse `json:"-"`
 11312  
 11313  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11314  	// unconditionally include in API requests. By default, fields with
 11315  	// empty values are omitted from API requests. However, any non-pointer,
 11316  	// non-interface field appearing in ForceSendFields will be sent to the
 11317  	// server regardless of whether the field is empty or not. This may be
 11318  	// used to include empty fields in Patch requests.
 11319  	ForceSendFields []string `json:"-"`
 11320  
 11321  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11322  	// requests with the JSON null value. By default, fields with empty
 11323  	// values are omitted from API requests. However, any field with an
 11324  	// empty value appearing in NullFields will be sent to the server as
 11325  	// null. It is an error if a field in this list has a non-empty value.
 11326  	// This may be used to include null fields in Patch requests.
 11327  	NullFields []string `json:"-"`
 11328  }
 11329  
 11330  func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 11331  	type NoMethod RemarketingListsListResponse
 11332  	raw := NoMethod(*s)
 11333  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11334  }
 11335  
 11336  // Report: Represents a Report resource.
 11337  type Report struct {
 11338  	// AccountId: The account ID to which this report belongs.
 11339  	AccountId int64 `json:"accountId,omitempty,string"`
 11340  
 11341  	// Criteria: The report criteria for a report of type "STANDARD".
 11342  	Criteria *ReportCriteria `json:"criteria,omitempty"`
 11343  
 11344  	// CrossDimensionReachCriteria: The report criteria for a report of type
 11345  	// "CROSS_DIMENSION_REACH".
 11346  	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
 11347  
 11348  	// Delivery: The report's email delivery settings.
 11349  	Delivery *ReportDelivery `json:"delivery,omitempty"`
 11350  
 11351  	// Etag: The eTag of this response for caching purposes.
 11352  	Etag string `json:"etag,omitempty"`
 11353  
 11354  	// FileName: The filename used when generating report files for this
 11355  	// report.
 11356  	FileName string `json:"fileName,omitempty"`
 11357  
 11358  	// FloodlightCriteria: The report criteria for a report of type
 11359  	// "FLOODLIGHT".
 11360  	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
 11361  
 11362  	// Format: The output format of the report. If not specified, default
 11363  	// format is "CSV". Note that the actual format in the completed report
 11364  	// file might differ if for instance the report's size exceeds the
 11365  	// format's capabilities. "CSV" will then be the fallback format.
 11366  	//
 11367  	// Possible values:
 11368  	//   "CSV"
 11369  	//   "EXCEL"
 11370  	Format string `json:"format,omitempty"`
 11371  
 11372  	// Id: The unique ID identifying this report resource.
 11373  	Id int64 `json:"id,omitempty,string"`
 11374  
 11375  	// Kind: The kind of resource this is, in this case dfareporting#report.
 11376  	Kind string `json:"kind,omitempty"`
 11377  
 11378  	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
 11379  	// this report was last modified.
 11380  	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
 11381  
 11382  	// Name: The name of the report.
 11383  	Name string `json:"name,omitempty"`
 11384  
 11385  	// OwnerProfileId: The user profile id of the owner of this report.
 11386  	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
 11387  
 11388  	// PathToConversionCriteria: The report criteria for a report of type
 11389  	// "PATH_TO_CONVERSION".
 11390  	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
 11391  
 11392  	// ReachCriteria: The report criteria for a report of type "REACH".
 11393  	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
 11394  
 11395  	// Schedule: The report's schedule. Can only be set if the report's
 11396  	// 'dateRange' is a relative date range and the relative date range is
 11397  	// not "TODAY".
 11398  	Schedule *ReportSchedule `json:"schedule,omitempty"`
 11399  
 11400  	// SubAccountId: The subaccount ID to which this report belongs if
 11401  	// applicable.
 11402  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 11403  
 11404  	// Type: The type of the report.
 11405  	//
 11406  	// Possible values:
 11407  	//   "CROSS_DIMENSION_REACH"
 11408  	//   "FLOODLIGHT"
 11409  	//   "PATH_TO_CONVERSION"
 11410  	//   "REACH"
 11411  	//   "STANDARD"
 11412  	Type string `json:"type,omitempty"`
 11413  
 11414  	// ServerResponse contains the HTTP response code and headers from the
 11415  	// server.
 11416  	googleapi.ServerResponse `json:"-"`
 11417  
 11418  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11419  	// unconditionally include in API requests. By default, fields with
 11420  	// empty values are omitted from API requests. However, any non-pointer,
 11421  	// non-interface field appearing in ForceSendFields will be sent to the
 11422  	// server regardless of whether the field is empty or not. This may be
 11423  	// used to include empty fields in Patch requests.
 11424  	ForceSendFields []string `json:"-"`
 11425  
 11426  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11427  	// API requests with the JSON null value. By default, fields with empty
 11428  	// values are omitted from API requests. However, any field with an
 11429  	// empty value appearing in NullFields will be sent to the server as
 11430  	// null. It is an error if a field in this list has a non-empty value.
 11431  	// This may be used to include null fields in Patch requests.
 11432  	NullFields []string `json:"-"`
 11433  }
 11434  
 11435  func (s *Report) MarshalJSON() ([]byte, error) {
 11436  	type NoMethod Report
 11437  	raw := NoMethod(*s)
 11438  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11439  }
 11440  
 11441  // ReportCriteria: The report criteria for a report of type "STANDARD".
 11442  type ReportCriteria struct {
 11443  	// Activities: Activity group.
 11444  	Activities *Activities `json:"activities,omitempty"`
 11445  
 11446  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11447  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11448  
 11449  	// DateRange: The date range for which this report should be run.
 11450  	DateRange *DateRange `json:"dateRange,omitempty"`
 11451  
 11452  	// DimensionFilters: The list of filters on which dimensions are
 11453  	// filtered.
 11454  	// Filters for different dimensions are ANDed, filters for the same
 11455  	// dimension are grouped together and ORed.
 11456  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11457  
 11458  	// Dimensions: The list of standard dimensions the report should
 11459  	// include.
 11460  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11461  
 11462  	// MetricNames: The list of names of metrics the report should include.
 11463  	MetricNames []string `json:"metricNames,omitempty"`
 11464  
 11465  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11466  	// unconditionally include in API requests. By default, fields with
 11467  	// empty values are omitted from API requests. However, any non-pointer,
 11468  	// non-interface field appearing in ForceSendFields will be sent to the
 11469  	// server regardless of whether the field is empty or not. This may be
 11470  	// used to include empty fields in Patch requests.
 11471  	ForceSendFields []string `json:"-"`
 11472  
 11473  	// NullFields is a list of field names (e.g. "Activities") to include in
 11474  	// API requests with the JSON null value. By default, fields with empty
 11475  	// values are omitted from API requests. However, any field with an
 11476  	// empty value appearing in NullFields will be sent to the server as
 11477  	// null. It is an error if a field in this list has a non-empty value.
 11478  	// This may be used to include null fields in Patch requests.
 11479  	NullFields []string `json:"-"`
 11480  }
 11481  
 11482  func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
 11483  	type NoMethod ReportCriteria
 11484  	raw := NoMethod(*s)
 11485  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11486  }
 11487  
 11488  // ReportCrossDimensionReachCriteria: The report criteria for a report
 11489  // of type "CROSS_DIMENSION_REACH".
 11490  type ReportCrossDimensionReachCriteria struct {
 11491  	// Breakdown: The list of dimensions the report should include.
 11492  	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
 11493  
 11494  	// DateRange: The date range this report should be run for.
 11495  	DateRange *DateRange `json:"dateRange,omitempty"`
 11496  
 11497  	// Dimension: The dimension option.
 11498  	//
 11499  	// Possible values:
 11500  	//   "ADVERTISER"
 11501  	//   "CAMPAIGN"
 11502  	//   "SITE_BY_ADVERTISER"
 11503  	//   "SITE_BY_CAMPAIGN"
 11504  	Dimension string `json:"dimension,omitempty"`
 11505  
 11506  	// DimensionFilters: The list of filters on which dimensions are
 11507  	// filtered.
 11508  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11509  
 11510  	// MetricNames: The list of names of metrics the report should include.
 11511  	MetricNames []string `json:"metricNames,omitempty"`
 11512  
 11513  	// OverlapMetricNames: The list of names of overlap metrics the report
 11514  	// should include.
 11515  	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
 11516  
 11517  	// Pivoted: Whether the report is pivoted or not. Defaults to true.
 11518  	Pivoted bool `json:"pivoted,omitempty"`
 11519  
 11520  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
 11521  	// unconditionally include in API requests. By default, fields with
 11522  	// empty values are omitted from API requests. However, any non-pointer,
 11523  	// non-interface field appearing in ForceSendFields will be sent to the
 11524  	// server regardless of whether the field is empty or not. This may be
 11525  	// used to include empty fields in Patch requests.
 11526  	ForceSendFields []string `json:"-"`
 11527  
 11528  	// NullFields is a list of field names (e.g. "Breakdown") to include in
 11529  	// API requests with the JSON null value. By default, fields with empty
 11530  	// values are omitted from API requests. However, any field with an
 11531  	// empty value appearing in NullFields will be sent to the server as
 11532  	// null. It is an error if a field in this list has a non-empty value.
 11533  	// This may be used to include null fields in Patch requests.
 11534  	NullFields []string `json:"-"`
 11535  }
 11536  
 11537  func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
 11538  	type NoMethod ReportCrossDimensionReachCriteria
 11539  	raw := NoMethod(*s)
 11540  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11541  }
 11542  
 11543  // ReportDelivery: The report's email delivery settings.
 11544  type ReportDelivery struct {
 11545  	// EmailOwner: Whether the report should be emailed to the report owner.
 11546  	EmailOwner bool `json:"emailOwner,omitempty"`
 11547  
 11548  	// EmailOwnerDeliveryType: The type of delivery for the owner to
 11549  	// receive, if enabled.
 11550  	//
 11551  	// Possible values:
 11552  	//   "ATTACHMENT"
 11553  	//   "LINK"
 11554  	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
 11555  
 11556  	// Message: The message to be sent with each email.
 11557  	Message string `json:"message,omitempty"`
 11558  
 11559  	// Recipients: The list of recipients to which to email the report.
 11560  	Recipients []*Recipient `json:"recipients,omitempty"`
 11561  
 11562  	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
 11563  	// unconditionally include in API requests. By default, fields with
 11564  	// empty values are omitted from API requests. However, any non-pointer,
 11565  	// non-interface field appearing in ForceSendFields will be sent to the
 11566  	// server regardless of whether the field is empty or not. This may be
 11567  	// used to include empty fields in Patch requests.
 11568  	ForceSendFields []string `json:"-"`
 11569  
 11570  	// NullFields is a list of field names (e.g. "EmailOwner") to include in
 11571  	// API requests with the JSON null value. By default, fields with empty
 11572  	// values are omitted from API requests. However, any field with an
 11573  	// empty value appearing in NullFields will be sent to the server as
 11574  	// null. It is an error if a field in this list has a non-empty value.
 11575  	// This may be used to include null fields in Patch requests.
 11576  	NullFields []string `json:"-"`
 11577  }
 11578  
 11579  func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
 11580  	type NoMethod ReportDelivery
 11581  	raw := NoMethod(*s)
 11582  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11583  }
 11584  
 11585  // ReportFloodlightCriteria: The report criteria for a report of type
 11586  // "FLOODLIGHT".
 11587  type ReportFloodlightCriteria struct {
 11588  	// CustomRichMediaEvents: The list of custom rich media events to
 11589  	// include.
 11590  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11591  
 11592  	// DateRange: The date range this report should be run for.
 11593  	DateRange *DateRange `json:"dateRange,omitempty"`
 11594  
 11595  	// DimensionFilters: The list of filters on which dimensions are
 11596  	// filtered.
 11597  	// Filters for different dimensions are ANDed, filters for the same
 11598  	// dimension are grouped together and ORed.
 11599  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11600  
 11601  	// Dimensions: The list of dimensions the report should include.
 11602  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11603  
 11604  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11605  	// report. All advertisers associated with that ID will automatically be
 11606  	// added. The dimension of the value needs to be
 11607  	// 'dfa:floodlightConfigId'.
 11608  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11609  
 11610  	// MetricNames: The list of names of metrics the report should include.
 11611  	MetricNames []string `json:"metricNames,omitempty"`
 11612  
 11613  	// ReportProperties: The properties of the report.
 11614  	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
 11615  
 11616  	// ForceSendFields is a list of field names (e.g.
 11617  	// "CustomRichMediaEvents") to unconditionally include in API requests.
 11618  	// By default, fields with empty values are omitted from API requests.
 11619  	// However, any non-pointer, non-interface field appearing in
 11620  	// ForceSendFields will be sent to the server regardless of whether the
 11621  	// field is empty or not. This may be used to include empty fields in
 11622  	// Patch requests.
 11623  	ForceSendFields []string `json:"-"`
 11624  
 11625  	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
 11626  	// include in API requests with the JSON null value. By default, fields
 11627  	// with empty values are omitted from API requests. However, any field
 11628  	// with an empty value appearing in NullFields will be sent to the
 11629  	// server as null. It is an error if a field in this list has a
 11630  	// non-empty value. This may be used to include null fields in Patch
 11631  	// requests.
 11632  	NullFields []string `json:"-"`
 11633  }
 11634  
 11635  func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
 11636  	type NoMethod ReportFloodlightCriteria
 11637  	raw := NoMethod(*s)
 11638  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11639  }
 11640  
 11641  // ReportFloodlightCriteriaReportProperties: The properties of the
 11642  // report.
 11643  type ReportFloodlightCriteriaReportProperties struct {
 11644  	// IncludeAttributedIPConversions: Include conversions that have no
 11645  	// cookie, but do have an exposure path.
 11646  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11647  
 11648  	// IncludeUnattributedCookieConversions: Include conversions of users
 11649  	// with a DoubleClick cookie but without an exposure. That means the
 11650  	// user did not click or see an ad from the advertiser within the
 11651  	// Floodlight group, or that the interaction happened outside the
 11652  	// lookback window.
 11653  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11654  
 11655  	// IncludeUnattributedIPConversions: Include conversions that have no
 11656  	// associated cookies and no exposures. It’s therefore impossible to
 11657  	// know how the user was exposed to your ads during the lookback window
 11658  	// prior to a conversion.
 11659  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11660  
 11661  	// ForceSendFields is a list of field names (e.g.
 11662  	// "IncludeAttributedIPConversions") to unconditionally include in API
 11663  	// requests. By default, fields with empty values are omitted from API
 11664  	// requests. However, any non-pointer, non-interface field appearing in
 11665  	// ForceSendFields will be sent to the server regardless of whether the
 11666  	// field is empty or not. This may be used to include empty fields in
 11667  	// Patch requests.
 11668  	ForceSendFields []string `json:"-"`
 11669  
 11670  	// NullFields is a list of field names (e.g.
 11671  	// "IncludeAttributedIPConversions") to include in API requests with the
 11672  	// JSON null value. By default, fields with empty values are omitted
 11673  	// from API requests. However, any field with an empty value appearing
 11674  	// in NullFields will be sent to the server as null. It is an error if a
 11675  	// field in this list has a non-empty value. This may be used to include
 11676  	// null fields in Patch requests.
 11677  	NullFields []string `json:"-"`
 11678  }
 11679  
 11680  func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11681  	type NoMethod ReportFloodlightCriteriaReportProperties
 11682  	raw := NoMethod(*s)
 11683  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11684  }
 11685  
 11686  // ReportPathToConversionCriteria: The report criteria for a report of
 11687  // type "PATH_TO_CONVERSION".
 11688  type ReportPathToConversionCriteria struct {
 11689  	// ActivityFilters: The list of 'dfa:activity' values to filter on.
 11690  	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
 11691  
 11692  	// ConversionDimensions: The list of conversion dimensions the report
 11693  	// should include.
 11694  	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
 11695  
 11696  	// CustomFloodlightVariables: The list of custom floodlight variables
 11697  	// the report should include.
 11698  	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
 11699  
 11700  	// CustomRichMediaEvents: The list of custom rich media events to
 11701  	// include.
 11702  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11703  
 11704  	// DateRange: The date range this report should be run for.
 11705  	DateRange *DateRange `json:"dateRange,omitempty"`
 11706  
 11707  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11708  	// report. All advertisers associated with that ID will automatically be
 11709  	// added. The dimension of the value needs to be
 11710  	// 'dfa:floodlightConfigId'.
 11711  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11712  
 11713  	// MetricNames: The list of names of metrics the report should include.
 11714  	MetricNames []string `json:"metricNames,omitempty"`
 11715  
 11716  	// PerInteractionDimensions: The list of per interaction dimensions the
 11717  	// report should include.
 11718  	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
 11719  
 11720  	// ReportProperties: The properties of the report.
 11721  	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
 11722  
 11723  	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
 11724  	// unconditionally include in API requests. By default, fields with
 11725  	// empty values are omitted from API requests. However, any non-pointer,
 11726  	// non-interface field appearing in ForceSendFields will be sent to the
 11727  	// server regardless of whether the field is empty or not. This may be
 11728  	// used to include empty fields in Patch requests.
 11729  	ForceSendFields []string `json:"-"`
 11730  
 11731  	// NullFields is a list of field names (e.g. "ActivityFilters") to
 11732  	// include in API requests with the JSON null value. By default, fields
 11733  	// with empty values are omitted from API requests. However, any field
 11734  	// with an empty value appearing in NullFields will be sent to the
 11735  	// server as null. It is an error if a field in this list has a
 11736  	// non-empty value. This may be used to include null fields in Patch
 11737  	// requests.
 11738  	NullFields []string `json:"-"`
 11739  }
 11740  
 11741  func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
 11742  	type NoMethod ReportPathToConversionCriteria
 11743  	raw := NoMethod(*s)
 11744  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11745  }
 11746  
 11747  // ReportPathToConversionCriteriaReportProperties: The properties of the
 11748  // report.
 11749  type ReportPathToConversionCriteriaReportProperties struct {
 11750  	// ClicksLookbackWindow: DFA checks to see if a click interaction
 11751  	// occurred within the specified period of time before a conversion. By
 11752  	// default the value is pulled from Floodlight or you can manually enter
 11753  	// a custom value. Valid values: 1-90.
 11754  	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
 11755  
 11756  	// ImpressionsLookbackWindow: DFA checks to see if an impression
 11757  	// interaction occurred within the specified period of time before a
 11758  	// conversion. By default the value is pulled from Floodlight or you can
 11759  	// manually enter a custom value. Valid values: 1-90.
 11760  	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
 11761  
 11762  	// IncludeAttributedIPConversions: Deprecated: has no effect.
 11763  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11764  
 11765  	// IncludeUnattributedCookieConversions: Include conversions of users
 11766  	// with a DoubleClick cookie but without an exposure. That means the
 11767  	// user did not click or see an ad from the advertiser within the
 11768  	// Floodlight group, or that the interaction happened outside the
 11769  	// lookback window.
 11770  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11771  
 11772  	// IncludeUnattributedIPConversions: Include conversions that have no
 11773  	// associated cookies and no exposures. It’s therefore impossible to
 11774  	// know how the user was exposed to your ads during the lookback window
 11775  	// prior to a conversion.
 11776  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11777  
 11778  	// MaximumClickInteractions: The maximum number of click interactions to
 11779  	// include in the report. Advertisers currently paying for E2C reports
 11780  	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
 11781  	// your network is paying for E2C, you can have up to 5 total exposures
 11782  	// per report.
 11783  	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
 11784  
 11785  	// MaximumImpressionInteractions: The maximum number of click
 11786  	// interactions to include in the report. Advertisers currently paying
 11787  	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
 11788  	// another advertiser in your network is paying for E2C, you can have up
 11789  	// to 5 total exposures per report.
 11790  	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
 11791  
 11792  	// MaximumInteractionGap: The maximum amount of time that can take place
 11793  	// between interactions (clicks or impressions) by the same user. Valid
 11794  	// values: 1-90.
 11795  	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
 11796  
 11797  	// PivotOnInteractionPath: Enable pivoting on interaction path.
 11798  	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
 11799  
 11800  	// ForceSendFields is a list of field names (e.g.
 11801  	// "ClicksLookbackWindow") to unconditionally include in API requests.
 11802  	// By default, fields with empty values are omitted from API requests.
 11803  	// However, any non-pointer, non-interface field appearing in
 11804  	// ForceSendFields will be sent to the server regardless of whether the
 11805  	// field is empty or not. This may be used to include empty fields in
 11806  	// Patch requests.
 11807  	ForceSendFields []string `json:"-"`
 11808  
 11809  	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
 11810  	// include in API requests with the JSON null value. By default, fields
 11811  	// with empty values are omitted from API requests. However, any field
 11812  	// with an empty value appearing in NullFields will be sent to the
 11813  	// server as null. It is an error if a field in this list has a
 11814  	// non-empty value. This may be used to include null fields in Patch
 11815  	// requests.
 11816  	NullFields []string `json:"-"`
 11817  }
 11818  
 11819  func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11820  	type NoMethod ReportPathToConversionCriteriaReportProperties
 11821  	raw := NoMethod(*s)
 11822  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11823  }
 11824  
 11825  // ReportReachCriteria: The report criteria for a report of type
 11826  // "REACH".
 11827  type ReportReachCriteria struct {
 11828  	// Activities: Activity group.
 11829  	Activities *Activities `json:"activities,omitempty"`
 11830  
 11831  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11832  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11833  
 11834  	// DateRange: The date range this report should be run for.
 11835  	DateRange *DateRange `json:"dateRange,omitempty"`
 11836  
 11837  	// DimensionFilters: The list of filters on which dimensions are
 11838  	// filtered.
 11839  	// Filters for different dimensions are ANDed, filters for the same
 11840  	// dimension are grouped together and ORed.
 11841  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11842  
 11843  	// Dimensions: The list of dimensions the report should include.
 11844  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11845  
 11846  	// EnableAllDimensionCombinations: Whether to enable all reach dimension
 11847  	// combinations in the report. Defaults to false. If enabled, the date
 11848  	// range of the report should be within the last 42 days.
 11849  	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
 11850  
 11851  	// MetricNames: The list of names of metrics the report should include.
 11852  	MetricNames []string `json:"metricNames,omitempty"`
 11853  
 11854  	// ReachByFrequencyMetricNames: The list of names of  Reach By Frequency
 11855  	// metrics the report should include.
 11856  	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
 11857  
 11858  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11859  	// unconditionally include in API requests. By default, fields with
 11860  	// empty values are omitted from API requests. However, any non-pointer,
 11861  	// non-interface field appearing in ForceSendFields will be sent to the
 11862  	// server regardless of whether the field is empty or not. This may be
 11863  	// used to include empty fields in Patch requests.
 11864  	ForceSendFields []string `json:"-"`
 11865  
 11866  	// NullFields is a list of field names (e.g. "Activities") to include in
 11867  	// API requests with the JSON null value. By default, fields with empty
 11868  	// values are omitted from API requests. However, any field with an
 11869  	// empty value appearing in NullFields will be sent to the server as
 11870  	// null. It is an error if a field in this list has a non-empty value.
 11871  	// This may be used to include null fields in Patch requests.
 11872  	NullFields []string `json:"-"`
 11873  }
 11874  
 11875  func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
 11876  	type NoMethod ReportReachCriteria
 11877  	raw := NoMethod(*s)
 11878  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11879  }
 11880  
 11881  // ReportSchedule: The report's schedule. Can only be set if the
 11882  // report's 'dateRange' is a relative date range and the relative date
 11883  // range is not "TODAY".
 11884  type ReportSchedule struct {
 11885  	// Active: Whether the schedule is active or not. Must be set to either
 11886  	// true or false.
 11887  	Active bool `json:"active,omitempty"`
 11888  
 11889  	// Every: Defines every how many days, weeks or months the report should
 11890  	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
 11891  	// "MONTHLY".
 11892  	Every int64 `json:"every,omitempty"`
 11893  
 11894  	// ExpirationDate: The expiration date when the scheduled report stops
 11895  	// running.
 11896  	ExpirationDate string `json:"expirationDate,omitempty"`
 11897  
 11898  	// Repeats: The interval for which the report is repeated. Note:
 11899  	// - "DAILY" also requires field "every" to be set.
 11900  	// - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be
 11901  	// set.
 11902  	// - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
 11903  	// set.
 11904  	Repeats string `json:"repeats,omitempty"`
 11905  
 11906  	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
 11907  	// reports should run.
 11908  	//
 11909  	// Possible values:
 11910  	//   "FRIDAY"
 11911  	//   "MONDAY"
 11912  	//   "SATURDAY"
 11913  	//   "SUNDAY"
 11914  	//   "THURSDAY"
 11915  	//   "TUESDAY"
 11916  	//   "WEDNESDAY"
 11917  	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
 11918  
 11919  	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
 11920  	// whether reports should be repeated on the same day of the month as
 11921  	// "startDate" or the same day of the week of the month.
 11922  	// Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02),
 11923  	// "DAY_OF_MONTH" would run subsequent reports on the 2nd of every
 11924  	// Month, and "WEEK_OF_MONTH" would run subsequent reports on the first
 11925  	// Monday of the month.
 11926  	//
 11927  	// Possible values:
 11928  	//   "DAY_OF_MONTH"
 11929  	//   "WEEK_OF_MONTH"
 11930  	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
 11931  
 11932  	// StartDate: Start date of date range for which scheduled reports
 11933  	// should be run.
 11934  	StartDate string `json:"startDate,omitempty"`
 11935  
 11936  	// ForceSendFields is a list of field names (e.g. "Active") to
 11937  	// unconditionally include in API requests. By default, fields with
 11938  	// empty values are omitted from API requests. However, any non-pointer,
 11939  	// non-interface field appearing in ForceSendFields will be sent to the
 11940  	// server regardless of whether the field is empty or not. This may be
 11941  	// used to include empty fields in Patch requests.
 11942  	ForceSendFields []string `json:"-"`
 11943  
 11944  	// NullFields is a list of field names (e.g. "Active") to include in API
 11945  	// requests with the JSON null value. By default, fields with empty
 11946  	// values are omitted from API requests. However, any field with an
 11947  	// empty value appearing in NullFields will be sent to the server as
 11948  	// null. It is an error if a field in this list has a non-empty value.
 11949  	// This may be used to include null fields in Patch requests.
 11950  	NullFields []string `json:"-"`
 11951  }
 11952  
 11953  func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
 11954  	type NoMethod ReportSchedule
 11955  	raw := NoMethod(*s)
 11956  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11957  }
 11958  
 11959  // ReportCompatibleFields: Represents fields that are compatible to be
 11960  // selected for a report of type "STANDARD".
 11961  type ReportCompatibleFields struct {
 11962  	// DimensionFilters: Dimensions which are compatible to be selected in
 11963  	// the "dimensionFilters" section of the report.
 11964  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 11965  
 11966  	// Dimensions: Dimensions which are compatible to be selected in the
 11967  	// "dimensions" section of the report.
 11968  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 11969  
 11970  	// Kind: The kind of resource this is, in this case
 11971  	// dfareporting#reportCompatibleFields.
 11972  	Kind string `json:"kind,omitempty"`
 11973  
 11974  	// Metrics: Metrics which are compatible to be selected in the
 11975  	// "metricNames" section of the report.
 11976  	Metrics []*Metric `json:"metrics,omitempty"`
 11977  
 11978  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 11979  	// as activity metrics to pivot on in the "activities" section of the
 11980  	// report.
 11981  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 11982  
 11983  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 11984  	// unconditionally include in API requests. By default, fields with
 11985  	// empty values are omitted from API requests. However, any non-pointer,
 11986  	// non-interface field appearing in ForceSendFields will be sent to the
 11987  	// server regardless of whether the field is empty or not. This may be
 11988  	// used to include empty fields in Patch requests.
 11989  	ForceSendFields []string `json:"-"`
 11990  
 11991  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 11992  	// include in API requests with the JSON null value. By default, fields
 11993  	// with empty values are omitted from API requests. However, any field
 11994  	// with an empty value appearing in NullFields will be sent to the
 11995  	// server as null. It is an error if a field in this list has a
 11996  	// non-empty value. This may be used to include null fields in Patch
 11997  	// requests.
 11998  	NullFields []string `json:"-"`
 11999  }
 12000  
 12001  func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
 12002  	type NoMethod ReportCompatibleFields
 12003  	raw := NoMethod(*s)
 12004  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12005  }
 12006  
 12007  // ReportList: Represents the list of reports.
 12008  type ReportList struct {
 12009  	// Etag: The eTag of this response for caching purposes.
 12010  	Etag string `json:"etag,omitempty"`
 12011  
 12012  	// Items: The reports returned in this response.
 12013  	Items []*Report `json:"items,omitempty"`
 12014  
 12015  	// Kind: The kind of list this is, in this case dfareporting#reportList.
 12016  	Kind string `json:"kind,omitempty"`
 12017  
 12018  	// NextPageToken: Continuation token used to page through reports. To
 12019  	// retrieve the next page of results, set the next request's "pageToken"
 12020  	// to the value of this field. The page token is only valid for a
 12021  	// limited amount of time and should not be persisted.
 12022  	NextPageToken string `json:"nextPageToken,omitempty"`
 12023  
 12024  	// ServerResponse contains the HTTP response code and headers from the
 12025  	// server.
 12026  	googleapi.ServerResponse `json:"-"`
 12027  
 12028  	// ForceSendFields is a list of field names (e.g. "Etag") to
 12029  	// unconditionally include in API requests. By default, fields with
 12030  	// empty values are omitted from API requests. However, any non-pointer,
 12031  	// non-interface field appearing in ForceSendFields will be sent to the
 12032  	// server regardless of whether the field is empty or not. This may be
 12033  	// used to include empty fields in Patch requests.
 12034  	ForceSendFields []string `json:"-"`
 12035  
 12036  	// NullFields is a list of field names (e.g. "Etag") to include in API
 12037  	// requests with the JSON null value. By default, fields with empty
 12038  	// values are omitted from API requests. However, any field with an
 12039  	// empty value appearing in NullFields will be sent to the server as
 12040  	// null. It is an error if a field in this list has a non-empty value.
 12041  	// This may be used to include null fields in Patch requests.
 12042  	NullFields []string `json:"-"`
 12043  }
 12044  
 12045  func (s *ReportList) MarshalJSON() ([]byte, error) {
 12046  	type NoMethod ReportList
 12047  	raw := NoMethod(*s)
 12048  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12049  }
 12050  
 12051  // ReportsConfiguration: Reporting Configuration
 12052  type ReportsConfiguration struct {
 12053  	// ExposureToConversionEnabled: Whether the exposure to conversion
 12054  	// report is enabled. This report shows detailed pathway information on
 12055  	// up to 10 of the most recent ad exposures seen by a user before
 12056  	// converting.
 12057  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
 12058  
 12059  	// LookbackConfiguration: Default lookback windows for new advertisers
 12060  	// in this account.
 12061  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 12062  
 12063  	// ReportGenerationTimeZoneId: Report generation time zone ID of this
 12064  	// account. This is a required field that can only be changed by a
 12065  	// superuser.
 12066  	// Acceptable values are:
 12067  	//
 12068  	// - "1" for "America/New_York"
 12069  	// - "2" for "Europe/London"
 12070  	// - "3" for "Europe/Paris"
 12071  	// - "4" for "Africa/Johannesburg"
 12072  	// - "5" for "Asia/Jerusalem"
 12073  	// - "6" for "Asia/Shanghai"
 12074  	// - "7" for "Asia/Hong_Kong"
 12075  	// - "8" for "Asia/Tokyo"
 12076  	// - "9" for "Australia/Sydney"
 12077  	// - "10" for "Asia/Dubai"
 12078  	// - "11" for "America/Los_Angeles"
 12079  	// - "12" for "Pacific/Auckland"
 12080  	// - "13" for "America/Sao_Paulo"
 12081  	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
 12082  
 12083  	// ForceSendFields is a list of field names (e.g.
 12084  	// "ExposureToConversionEnabled") to unconditionally include in API
 12085  	// requests. By default, fields with empty values are omitted from API
 12086  	// requests. However, any non-pointer, non-interface field appearing in
 12087  	// ForceSendFields will be sent to the server regardless of whether the
 12088  	// field is empty or not. This may be used to include empty fields in
 12089  	// Patch requests.
 12090  	ForceSendFields []string `json:"-"`
 12091  
 12092  	// NullFields is a list of field names (e.g.
 12093  	// "ExposureToConversionEnabled") to include in API requests with the
 12094  	// JSON null value. By default, fields with empty values are omitted
 12095  	// from API requests. However, any field with an empty value appearing
 12096  	// in NullFields will be sent to the server as null. It is an error if a
 12097  	// field in this list has a non-empty value. This may be used to include
 12098  	// null fields in Patch requests.
 12099  	NullFields []string `json:"-"`
 12100  }
 12101  
 12102  func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
 12103  	type NoMethod ReportsConfiguration
 12104  	raw := NoMethod(*s)
 12105  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12106  }
 12107  
 12108  // RichMediaExitOverride: Rich Media Exit Override.
 12109  type RichMediaExitOverride struct {
 12110  	// ClickThroughUrl: Click-through URL of this rich media exit override.
 12111  	// Applicable if the enabled field is set to true.
 12112  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
 12113  
 12114  	// Enabled: Whether to use the clickThroughUrl. If false, the
 12115  	// creative-level exit will be used.
 12116  	Enabled bool `json:"enabled,omitempty"`
 12117  
 12118  	// ExitId: ID for the override to refer to a specific exit in the
 12119  	// creative.
 12120  	ExitId int64 `json:"exitId,omitempty,string"`
 12121  
 12122  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
 12123  	// unconditionally include in API requests. By default, fields with
 12124  	// empty values are omitted from API requests. However, any non-pointer,
 12125  	// non-interface field appearing in ForceSendFields will be sent to the
 12126  	// server regardless of whether the field is empty or not. This may be
 12127  	// used to include empty fields in Patch requests.
 12128  	ForceSendFields []string `json:"-"`
 12129  
 12130  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
 12131  	// include in API requests with the JSON null value. By default, fields
 12132  	// with empty values are omitted from API requests. However, any field
 12133  	// with an empty value appearing in NullFields will be sent to the
 12134  	// server as null. It is an error if a field in this list has a
 12135  	// non-empty value. This may be used to include null fields in Patch
 12136  	// requests.
 12137  	NullFields []string `json:"-"`
 12138  }
 12139  
 12140  func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
 12141  	type NoMethod RichMediaExitOverride
 12142  	raw := NoMethod(*s)
 12143  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12144  }
 12145  
 12146  // Rule: A rule associates an asset with a targeting template for
 12147  // asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
 12148  type Rule struct {
 12149  	// AssetId: A creativeAssets[].id. This should refer to one of the
 12150  	// parent assets in this creative. This is a required field.
 12151  	AssetId int64 `json:"assetId,omitempty,string"`
 12152  
 12153  	// Name: A user-friendly name for this rule. This is a required field.
 12154  	Name string `json:"name,omitempty"`
 12155  
 12156  	// TargetingTemplateId: A targeting template ID. The targeting from the
 12157  	// targeting template will be used to determine whether this asset
 12158  	// should be served. This is a required field.
 12159  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
 12160  
 12161  	// ForceSendFields is a list of field names (e.g. "AssetId") to
 12162  	// unconditionally include in API requests. By default, fields with
 12163  	// empty values are omitted from API requests. However, any non-pointer,
 12164  	// non-interface field appearing in ForceSendFields will be sent to the
 12165  	// server regardless of whether the field is empty or not. This may be
 12166  	// used to include empty fields in Patch requests.
 12167  	ForceSendFields []string `json:"-"`
 12168  
 12169  	// NullFields is a list of field names (e.g. "AssetId") to include in
 12170  	// API requests with the JSON null value. By default, fields with empty
 12171  	// values are omitted from API requests. However, any field with an
 12172  	// empty value appearing in NullFields will be sent to the server as
 12173  	// null. It is an error if a field in this list has a non-empty value.
 12174  	// This may be used to include null fields in Patch requests.
 12175  	NullFields []string `json:"-"`
 12176  }
 12177  
 12178  func (s *Rule) MarshalJSON() ([]byte, error) {
 12179  	type NoMethod Rule
 12180  	raw := NoMethod(*s)
 12181  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12182  }
 12183  
 12184  // Site: Contains properties of a site.
 12185  type Site struct {
 12186  	// AccountId: Account ID of this site. This is a read-only field that
 12187  	// can be left blank.
 12188  	AccountId int64 `json:"accountId,omitempty,string"`
 12189  
 12190  	// Approved: Whether this site is approved.
 12191  	Approved bool `json:"approved,omitempty"`
 12192  
 12193  	// DirectorySiteId: Directory site associated with this site. This is a
 12194  	// required field that is read-only after insertion.
 12195  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 12196  
 12197  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 12198  	// directory site. This is a read-only, auto-generated field.
 12199  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 12200  
 12201  	// Id: ID of this site. This is a read-only, auto-generated field.
 12202  	Id int64 `json:"id,omitempty,string"`
 12203  
 12204  	// IdDimensionValue: Dimension value for the ID of this site. This is a
 12205  	// read-only, auto-generated field.
 12206  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 12207  
 12208  	// KeyName: Key name of this site. This is a read-only, auto-generated
 12209  	// field.
 12210  	KeyName string `json:"keyName,omitempty"`
 12211  
 12212  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12213  	// string "dfareporting#site".
 12214  	Kind string `json:"kind,omitempty"`
 12215  
 12216  	// Name: Name of this site.This is a required field. Must be less than
 12217  	// 128 characters long. If this site is under a subaccount, the name
 12218  	// must be unique among sites of the same subaccount. Otherwise, this
 12219  	// site is a top-level site, and the name must be unique among top-level
 12220  	// sites of the same account.
 12221  	Name string `json:"name,omitempty"`
 12222  
 12223  	// SiteContacts: Site contacts.
 12224  	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
 12225  
 12226  	// SiteSettings: Site-wide settings.
 12227  	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
 12228  
 12229  	// SubaccountId: Subaccount ID of this site. This is a read-only field
 12230  	// that can be left blank.
 12231  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12232  
 12233  	// ServerResponse contains the HTTP response code and headers from the
 12234  	// server.
 12235  	googleapi.ServerResponse `json:"-"`
 12236  
 12237  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12238  	// unconditionally include in API requests. By default, fields with
 12239  	// empty values are omitted from API requests. However, any non-pointer,
 12240  	// non-interface field appearing in ForceSendFields will be sent to the
 12241  	// server regardless of whether the field is empty or not. This may be
 12242  	// used to include empty fields in Patch requests.
 12243  	ForceSendFields []string `json:"-"`
 12244  
 12245  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12246  	// API requests with the JSON null value. By default, fields with empty
 12247  	// values are omitted from API requests. However, any field with an
 12248  	// empty value appearing in NullFields will be sent to the server as
 12249  	// null. It is an error if a field in this list has a non-empty value.
 12250  	// This may be used to include null fields in Patch requests.
 12251  	NullFields []string `json:"-"`
 12252  }
 12253  
 12254  func (s *Site) MarshalJSON() ([]byte, error) {
 12255  	type NoMethod Site
 12256  	raw := NoMethod(*s)
 12257  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12258  }
 12259  
 12260  // SiteContact: Site Contact
 12261  type SiteContact struct {
 12262  	// Address: Address of this site contact.
 12263  	Address string `json:"address,omitempty"`
 12264  
 12265  	// ContactType: Site contact type.
 12266  	//
 12267  	// Possible values:
 12268  	//   "SALES_PERSON"
 12269  	//   "TRAFFICKER"
 12270  	ContactType string `json:"contactType,omitempty"`
 12271  
 12272  	// Email: Email address of this site contact. This is a required field.
 12273  	Email string `json:"email,omitempty"`
 12274  
 12275  	// FirstName: First name of this site contact.
 12276  	FirstName string `json:"firstName,omitempty"`
 12277  
 12278  	// Id: ID of this site contact. This is a read-only, auto-generated
 12279  	// field.
 12280  	Id int64 `json:"id,omitempty,string"`
 12281  
 12282  	// LastName: Last name of this site contact.
 12283  	LastName string `json:"lastName,omitempty"`
 12284  
 12285  	// Phone: Primary phone number of this site contact.
 12286  	Phone string `json:"phone,omitempty"`
 12287  
 12288  	// Title: Title or designation of this site contact.
 12289  	Title string `json:"title,omitempty"`
 12290  
 12291  	// ForceSendFields is a list of field names (e.g. "Address") to
 12292  	// unconditionally include in API requests. By default, fields with
 12293  	// empty values are omitted from API requests. However, any non-pointer,
 12294  	// non-interface field appearing in ForceSendFields will be sent to the
 12295  	// server regardless of whether the field is empty or not. This may be
 12296  	// used to include empty fields in Patch requests.
 12297  	ForceSendFields []string `json:"-"`
 12298  
 12299  	// NullFields is a list of field names (e.g. "Address") to include in
 12300  	// API requests with the JSON null value. By default, fields with empty
 12301  	// values are omitted from API requests. However, any field with an
 12302  	// empty value appearing in NullFields will be sent to the server as
 12303  	// null. It is an error if a field in this list has a non-empty value.
 12304  	// This may be used to include null fields in Patch requests.
 12305  	NullFields []string `json:"-"`
 12306  }
 12307  
 12308  func (s *SiteContact) MarshalJSON() ([]byte, error) {
 12309  	type NoMethod SiteContact
 12310  	raw := NoMethod(*s)
 12311  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12312  }
 12313  
 12314  // SiteSettings: Site Settings
 12315  type SiteSettings struct {
 12316  	// ActiveViewOptOut: Whether active view creatives are disabled for this
 12317  	// site.
 12318  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
 12319  
 12320  	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
 12321  	// true, ad blocking is disabled for all placements under the site,
 12322  	// regardless of the individual placement settings. When false, the
 12323  	// campaign and placement settings take effect.
 12324  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
 12325  
 12326  	// CreativeSettings: Site-wide creative settings.
 12327  	CreativeSettings *CreativeSettings `json:"creativeSettings,omitempty"`
 12328  
 12329  	// DisableNewCookie: Whether new cookies are disabled for this site.
 12330  	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
 12331  
 12332  	// LookbackConfiguration: Lookback window settings for this site.
 12333  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 12334  
 12335  	// TagSetting: Configuration settings for dynamic and image floodlight
 12336  	// tags.
 12337  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
 12338  
 12339  	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
 12340  	// for in-stream video creatives are disabled by default for new
 12341  	// placements created under this site. This value will be used to
 12342  	// populate the placement.videoActiveViewOptOut field, when no value is
 12343  	// specified for the new placement.
 12344  	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
 12345  
 12346  	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
 12347  	// placements created under this site. This value will be used to
 12348  	// populate the placements.vpaidAdapterChoice field, when no value is
 12349  	// specified for the new placement. Controls which VPAID format the
 12350  	// measurement adapter will use for in-stream video creatives assigned
 12351  	// to the placement. The publisher's specifications will typically
 12352  	// determine this setting. For VPAID creatives, the adapter format will
 12353  	// match the VPAID format (HTML5 VPAID creatives use the HTML5
 12354  	// adapter).
 12355  	//
 12356  	// Note: Flash is no longer supported. This field now defaults to HTML5
 12357  	// when the following values are provided: FLASH, BOTH.
 12358  	//
 12359  	// Possible values:
 12360  	//   "BOTH"
 12361  	//   "DEFAULT"
 12362  	//   "FLASH"
 12363  	//   "HTML5"
 12364  	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
 12365  
 12366  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
 12367  	// unconditionally include in API requests. By default, fields with
 12368  	// empty values are omitted from API requests. However, any non-pointer,
 12369  	// non-interface field appearing in ForceSendFields will be sent to the
 12370  	// server regardless of whether the field is empty or not. This may be
 12371  	// used to include empty fields in Patch requests.
 12372  	ForceSendFields []string `json:"-"`
 12373  
 12374  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
 12375  	// include in API requests with the JSON null value. By default, fields
 12376  	// with empty values are omitted from API requests. However, any field
 12377  	// with an empty value appearing in NullFields will be sent to the
 12378  	// server as null. It is an error if a field in this list has a
 12379  	// non-empty value. This may be used to include null fields in Patch
 12380  	// requests.
 12381  	NullFields []string `json:"-"`
 12382  }
 12383  
 12384  func (s *SiteSettings) MarshalJSON() ([]byte, error) {
 12385  	type NoMethod SiteSettings
 12386  	raw := NoMethod(*s)
 12387  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12388  }
 12389  
 12390  // SitesListResponse: Site List Response
 12391  type SitesListResponse struct {
 12392  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12393  	// string "dfareporting#sitesListResponse".
 12394  	Kind string `json:"kind,omitempty"`
 12395  
 12396  	// NextPageToken: Pagination token to be used for the next list
 12397  	// operation.
 12398  	NextPageToken string `json:"nextPageToken,omitempty"`
 12399  
 12400  	// Sites: Site collection.
 12401  	Sites []*Site `json:"sites,omitempty"`
 12402  
 12403  	// ServerResponse contains the HTTP response code and headers from the
 12404  	// server.
 12405  	googleapi.ServerResponse `json:"-"`
 12406  
 12407  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12408  	// unconditionally include in API requests. By default, fields with
 12409  	// empty values are omitted from API requests. However, any non-pointer,
 12410  	// non-interface field appearing in ForceSendFields will be sent to the
 12411  	// server regardless of whether the field is empty or not. This may be
 12412  	// used to include empty fields in Patch requests.
 12413  	ForceSendFields []string `json:"-"`
 12414  
 12415  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12416  	// requests with the JSON null value. By default, fields with empty
 12417  	// values are omitted from API requests. However, any field with an
 12418  	// empty value appearing in NullFields will be sent to the server as
 12419  	// null. It is an error if a field in this list has a non-empty value.
 12420  	// This may be used to include null fields in Patch requests.
 12421  	NullFields []string `json:"-"`
 12422  }
 12423  
 12424  func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
 12425  	type NoMethod SitesListResponse
 12426  	raw := NoMethod(*s)
 12427  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12428  }
 12429  
 12430  // Size: Represents the dimensions of ads, placements, creatives, or
 12431  // creative assets.
 12432  type Size struct {
 12433  	// Height: Height of this size. Acceptable values are 0 to 32767,
 12434  	// inclusive.
 12435  	Height int64 `json:"height,omitempty"`
 12436  
 12437  	// Iab: IAB standard size. This is a read-only, auto-generated field.
 12438  	Iab bool `json:"iab,omitempty"`
 12439  
 12440  	// Id: ID of this size. This is a read-only, auto-generated field.
 12441  	Id int64 `json:"id,omitempty,string"`
 12442  
 12443  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12444  	// string "dfareporting#size".
 12445  	Kind string `json:"kind,omitempty"`
 12446  
 12447  	// Width: Width of this size. Acceptable values are 0 to 32767,
 12448  	// inclusive.
 12449  	Width int64 `json:"width,omitempty"`
 12450  
 12451  	// ServerResponse contains the HTTP response code and headers from the
 12452  	// server.
 12453  	googleapi.ServerResponse `json:"-"`
 12454  
 12455  	// ForceSendFields is a list of field names (e.g. "Height") to
 12456  	// unconditionally include in API requests. By default, fields with
 12457  	// empty values are omitted from API requests. However, any non-pointer,
 12458  	// non-interface field appearing in ForceSendFields will be sent to the
 12459  	// server regardless of whether the field is empty or not. This may be
 12460  	// used to include empty fields in Patch requests.
 12461  	ForceSendFields []string `json:"-"`
 12462  
 12463  	// NullFields is a list of field names (e.g. "Height") to include in API
 12464  	// requests with the JSON null value. By default, fields with empty
 12465  	// values are omitted from API requests. However, any field with an
 12466  	// empty value appearing in NullFields will be sent to the server as
 12467  	// null. It is an error if a field in this list has a non-empty value.
 12468  	// This may be used to include null fields in Patch requests.
 12469  	NullFields []string `json:"-"`
 12470  }
 12471  
 12472  func (s *Size) MarshalJSON() ([]byte, error) {
 12473  	type NoMethod Size
 12474  	raw := NoMethod(*s)
 12475  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12476  }
 12477  
 12478  // SizesListResponse: Size List Response
 12479  type SizesListResponse struct {
 12480  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12481  	// string "dfareporting#sizesListResponse".
 12482  	Kind string `json:"kind,omitempty"`
 12483  
 12484  	// Sizes: Size collection.
 12485  	Sizes []*Size `json:"sizes,omitempty"`
 12486  
 12487  	// ServerResponse contains the HTTP response code and headers from the
 12488  	// server.
 12489  	googleapi.ServerResponse `json:"-"`
 12490  
 12491  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12492  	// unconditionally include in API requests. By default, fields with
 12493  	// empty values are omitted from API requests. However, any non-pointer,
 12494  	// non-interface field appearing in ForceSendFields will be sent to the
 12495  	// server regardless of whether the field is empty or not. This may be
 12496  	// used to include empty fields in Patch requests.
 12497  	ForceSendFields []string `json:"-"`
 12498  
 12499  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12500  	// requests with the JSON null value. By default, fields with empty
 12501  	// values are omitted from API requests. However, any field with an
 12502  	// empty value appearing in NullFields will be sent to the server as
 12503  	// null. It is an error if a field in this list has a non-empty value.
 12504  	// This may be used to include null fields in Patch requests.
 12505  	NullFields []string `json:"-"`
 12506  }
 12507  
 12508  func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
 12509  	type NoMethod SizesListResponse
 12510  	raw := NoMethod(*s)
 12511  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12512  }
 12513  
 12514  // SkippableSetting: Skippable Settings
 12515  type SkippableSetting struct {
 12516  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12517  	// string "dfareporting#skippableSetting".
 12518  	Kind string `json:"kind,omitempty"`
 12519  
 12520  	// ProgressOffset: Amount of time to play videos served to this
 12521  	// placement before counting a view. Applicable when skippable is true.
 12522  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
 12523  
 12524  	// SkipOffset: Amount of time to play videos served to this placement
 12525  	// before the skip button should appear. Applicable when skippable is
 12526  	// true.
 12527  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
 12528  
 12529  	// Skippable: Whether the user can skip creatives served to this
 12530  	// placement.
 12531  	Skippable bool `json:"skippable,omitempty"`
 12532  
 12533  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12534  	// unconditionally include in API requests. By default, fields with
 12535  	// empty values are omitted from API requests. However, any non-pointer,
 12536  	// non-interface field appearing in ForceSendFields will be sent to the
 12537  	// server regardless of whether the field is empty or not. This may be
 12538  	// used to include empty fields in Patch requests.
 12539  	ForceSendFields []string `json:"-"`
 12540  
 12541  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12542  	// requests with the JSON null value. By default, fields with empty
 12543  	// values are omitted from API requests. However, any field with an
 12544  	// empty value appearing in NullFields will be sent to the server as
 12545  	// null. It is an error if a field in this list has a non-empty value.
 12546  	// This may be used to include null fields in Patch requests.
 12547  	NullFields []string `json:"-"`
 12548  }
 12549  
 12550  func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
 12551  	type NoMethod SkippableSetting
 12552  	raw := NoMethod(*s)
 12553  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12554  }
 12555  
 12556  // SortedDimension: Represents a sorted dimension.
 12557  type SortedDimension struct {
 12558  	// Kind: The kind of resource this is, in this case
 12559  	// dfareporting#sortedDimension.
 12560  	Kind string `json:"kind,omitempty"`
 12561  
 12562  	// Name: The name of the dimension.
 12563  	Name string `json:"name,omitempty"`
 12564  
 12565  	// SortOrder: An optional sort order for the dimension column.
 12566  	//
 12567  	// Possible values:
 12568  	//   "ASCENDING"
 12569  	//   "DESCENDING"
 12570  	SortOrder string `json:"sortOrder,omitempty"`
 12571  
 12572  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12573  	// unconditionally include in API requests. By default, fields with
 12574  	// empty values are omitted from API requests. However, any non-pointer,
 12575  	// non-interface field appearing in ForceSendFields will be sent to the
 12576  	// server regardless of whether the field is empty or not. This may be
 12577  	// used to include empty fields in Patch requests.
 12578  	ForceSendFields []string `json:"-"`
 12579  
 12580  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12581  	// requests with the JSON null value. By default, fields with empty
 12582  	// values are omitted from API requests. However, any field with an
 12583  	// empty value appearing in NullFields will be sent to the server as
 12584  	// null. It is an error if a field in this list has a non-empty value.
 12585  	// This may be used to include null fields in Patch requests.
 12586  	NullFields []string `json:"-"`
 12587  }
 12588  
 12589  func (s *SortedDimension) MarshalJSON() ([]byte, error) {
 12590  	type NoMethod SortedDimension
 12591  	raw := NoMethod(*s)
 12592  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12593  }
 12594  
 12595  // Subaccount: Contains properties of a Campaign Manager subaccount.
 12596  type Subaccount struct {
 12597  	// AccountId: ID of the account that contains this subaccount. This is a
 12598  	// read-only field that can be left blank.
 12599  	AccountId int64 `json:"accountId,omitempty,string"`
 12600  
 12601  	// AvailablePermissionIds: IDs of the available user role permissions
 12602  	// for this subaccount.
 12603  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
 12604  
 12605  	// Id: ID of this subaccount. This is a read-only, auto-generated field.
 12606  	Id int64 `json:"id,omitempty,string"`
 12607  
 12608  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12609  	// string "dfareporting#subaccount".
 12610  	Kind string `json:"kind,omitempty"`
 12611  
 12612  	// Name: Name of this subaccount. This is a required field. Must be less
 12613  	// than 128 characters long and be unique among subaccounts of the same
 12614  	// account.
 12615  	Name string `json:"name,omitempty"`
 12616  
 12617  	// ServerResponse contains the HTTP response code and headers from the
 12618  	// server.
 12619  	googleapi.ServerResponse `json:"-"`
 12620  
 12621  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12622  	// unconditionally include in API requests. By default, fields with
 12623  	// empty values are omitted from API requests. However, any non-pointer,
 12624  	// non-interface field appearing in ForceSendFields will be sent to the
 12625  	// server regardless of whether the field is empty or not. This may be
 12626  	// used to include empty fields in Patch requests.
 12627  	ForceSendFields []string `json:"-"`
 12628  
 12629  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12630  	// API requests with the JSON null value. By default, fields with empty
 12631  	// values are omitted from API requests. However, any field with an
 12632  	// empty value appearing in NullFields will be sent to the server as
 12633  	// null. It is an error if a field in this list has a non-empty value.
 12634  	// This may be used to include null fields in Patch requests.
 12635  	NullFields []string `json:"-"`
 12636  }
 12637  
 12638  func (s *Subaccount) MarshalJSON() ([]byte, error) {
 12639  	type NoMethod Subaccount
 12640  	raw := NoMethod(*s)
 12641  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12642  }
 12643  
 12644  // SubaccountsListResponse: Subaccount List Response
 12645  type SubaccountsListResponse struct {
 12646  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12647  	// string "dfareporting#subaccountsListResponse".
 12648  	Kind string `json:"kind,omitempty"`
 12649  
 12650  	// NextPageToken: Pagination token to be used for the next list
 12651  	// operation.
 12652  	NextPageToken string `json:"nextPageToken,omitempty"`
 12653  
 12654  	// Subaccounts: Subaccount collection.
 12655  	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
 12656  
 12657  	// ServerResponse contains the HTTP response code and headers from the
 12658  	// server.
 12659  	googleapi.ServerResponse `json:"-"`
 12660  
 12661  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12662  	// unconditionally include in API requests. By default, fields with
 12663  	// empty values are omitted from API requests. However, any non-pointer,
 12664  	// non-interface field appearing in ForceSendFields will be sent to the
 12665  	// server regardless of whether the field is empty or not. This may be
 12666  	// used to include empty fields in Patch requests.
 12667  	ForceSendFields []string `json:"-"`
 12668  
 12669  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12670  	// requests with the JSON null value. By default, fields with empty
 12671  	// values are omitted from API requests. However, any field with an
 12672  	// empty value appearing in NullFields will be sent to the server as
 12673  	// null. It is an error if a field in this list has a non-empty value.
 12674  	// This may be used to include null fields in Patch requests.
 12675  	NullFields []string `json:"-"`
 12676  }
 12677  
 12678  func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
 12679  	type NoMethod SubaccountsListResponse
 12680  	raw := NoMethod(*s)
 12681  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12682  }
 12683  
 12684  // TagData: Placement Tag Data
 12685  type TagData struct {
 12686  	// AdId: Ad associated with this placement tag. Applicable only when
 12687  	// format is PLACEMENT_TAG_TRACKING.
 12688  	AdId int64 `json:"adId,omitempty,string"`
 12689  
 12690  	// ClickTag: Tag string to record a click.
 12691  	ClickTag string `json:"clickTag,omitempty"`
 12692  
 12693  	// CreativeId: Creative associated with this placement tag. Applicable
 12694  	// only when format is PLACEMENT_TAG_TRACKING.
 12695  	CreativeId int64 `json:"creativeId,omitempty,string"`
 12696  
 12697  	// Format: TagData tag format of this tag.
 12698  	//
 12699  	// Possible values:
 12700  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
 12701  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 12702  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 12703  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 12704  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 12705  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 12706  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 12707  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
 12708  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 12709  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 12710  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 12711  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 12712  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 12713  	//   "PLACEMENT_TAG_JAVASCRIPT"
 12714  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 12715  	//   "PLACEMENT_TAG_STANDARD"
 12716  	//   "PLACEMENT_TAG_TRACKING"
 12717  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 12718  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 12719  	Format string `json:"format,omitempty"`
 12720  
 12721  	// ImpressionTag: Tag string for serving an ad.
 12722  	ImpressionTag string `json:"impressionTag,omitempty"`
 12723  
 12724  	// ForceSendFields is a list of field names (e.g. "AdId") to
 12725  	// unconditionally include in API requests. By default, fields with
 12726  	// empty values are omitted from API requests. However, any non-pointer,
 12727  	// non-interface field appearing in ForceSendFields will be sent to the
 12728  	// server regardless of whether the field is empty or not. This may be
 12729  	// used to include empty fields in Patch requests.
 12730  	ForceSendFields []string `json:"-"`
 12731  
 12732  	// NullFields is a list of field names (e.g. "AdId") to include in API
 12733  	// requests with the JSON null value. By default, fields with empty
 12734  	// values are omitted from API requests. However, any field with an
 12735  	// empty value appearing in NullFields will be sent to the server as
 12736  	// null. It is an error if a field in this list has a non-empty value.
 12737  	// This may be used to include null fields in Patch requests.
 12738  	NullFields []string `json:"-"`
 12739  }
 12740  
 12741  func (s *TagData) MarshalJSON() ([]byte, error) {
 12742  	type NoMethod TagData
 12743  	raw := NoMethod(*s)
 12744  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12745  }
 12746  
 12747  // TagSetting: Tag Settings
 12748  type TagSetting struct {
 12749  	// AdditionalKeyValues: Additional key-values to be included in tags.
 12750  	// Each key-value pair must be of the form key=value, and pairs must be
 12751  	// separated by a semicolon (;). Keys and values must not contain
 12752  	// commas. For example, id=2;color=red is a valid value for this field.
 12753  	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
 12754  
 12755  	// IncludeClickThroughUrls: Whether static landing page URLs should be
 12756  	// included in the tags. This setting applies only to placements.
 12757  	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
 12758  
 12759  	// IncludeClickTracking: Whether click-tracking string should be
 12760  	// included in the tags.
 12761  	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
 12762  
 12763  	// KeywordOption: Option specifying how keywords are embedded in ad
 12764  	// tags. This setting can be used to specify whether keyword
 12765  	// placeholders are inserted in placement tags for this site. Publishers
 12766  	// can then add keywords to those placeholders.
 12767  	//
 12768  	// Possible values:
 12769  	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
 12770  	//   "IGNORE"
 12771  	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
 12772  	KeywordOption string `json:"keywordOption,omitempty"`
 12773  
 12774  	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
 12775  	// to unconditionally include in API requests. By default, fields with
 12776  	// empty values are omitted from API requests. However, any non-pointer,
 12777  	// non-interface field appearing in ForceSendFields will be sent to the
 12778  	// server regardless of whether the field is empty or not. This may be
 12779  	// used to include empty fields in Patch requests.
 12780  	ForceSendFields []string `json:"-"`
 12781  
 12782  	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
 12783  	// include in API requests with the JSON null value. By default, fields
 12784  	// with empty values are omitted from API requests. However, any field
 12785  	// with an empty value appearing in NullFields will be sent to the
 12786  	// server as null. It is an error if a field in this list has a
 12787  	// non-empty value. This may be used to include null fields in Patch
 12788  	// requests.
 12789  	NullFields []string `json:"-"`
 12790  }
 12791  
 12792  func (s *TagSetting) MarshalJSON() ([]byte, error) {
 12793  	type NoMethod TagSetting
 12794  	raw := NoMethod(*s)
 12795  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12796  }
 12797  
 12798  // TagSettings: Dynamic and Image Tag Settings.
 12799  type TagSettings struct {
 12800  	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
 12801  	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
 12802  
 12803  	// ImageTagEnabled: Whether image tags are enabled.
 12804  	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
 12805  
 12806  	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
 12807  	// to unconditionally include in API requests. By default, fields with
 12808  	// empty values are omitted from API requests. However, any non-pointer,
 12809  	// non-interface field appearing in ForceSendFields will be sent to the
 12810  	// server regardless of whether the field is empty or not. This may be
 12811  	// used to include empty fields in Patch requests.
 12812  	ForceSendFields []string `json:"-"`
 12813  
 12814  	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
 12815  	// include in API requests with the JSON null value. By default, fields
 12816  	// with empty values are omitted from API requests. However, any field
 12817  	// with an empty value appearing in NullFields will be sent to the
 12818  	// server as null. It is an error if a field in this list has a
 12819  	// non-empty value. This may be used to include null fields in Patch
 12820  	// requests.
 12821  	NullFields []string `json:"-"`
 12822  }
 12823  
 12824  func (s *TagSettings) MarshalJSON() ([]byte, error) {
 12825  	type NoMethod TagSettings
 12826  	raw := NoMethod(*s)
 12827  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12828  }
 12829  
 12830  // TargetWindow: Target Window.
 12831  type TargetWindow struct {
 12832  	// CustomHtml: User-entered value.
 12833  	CustomHtml string `json:"customHtml,omitempty"`
 12834  
 12835  	// TargetWindowOption: Type of browser window for which the backup image
 12836  	// of the flash creative can be displayed.
 12837  	//
 12838  	// Possible values:
 12839  	//   "CURRENT_WINDOW"
 12840  	//   "CUSTOM"
 12841  	//   "NEW_WINDOW"
 12842  	TargetWindowOption string `json:"targetWindowOption,omitempty"`
 12843  
 12844  	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
 12845  	// unconditionally include in API requests. By default, fields with
 12846  	// empty values are omitted from API requests. However, any non-pointer,
 12847  	// non-interface field appearing in ForceSendFields will be sent to the
 12848  	// server regardless of whether the field is empty or not. This may be
 12849  	// used to include empty fields in Patch requests.
 12850  	ForceSendFields []string `json:"-"`
 12851  
 12852  	// NullFields is a list of field names (e.g. "CustomHtml") to include in
 12853  	// API requests with the JSON null value. By default, fields with empty
 12854  	// values are omitted from API requests. However, any field with an
 12855  	// empty value appearing in NullFields will be sent to the server as
 12856  	// null. It is an error if a field in this list has a non-empty value.
 12857  	// This may be used to include null fields in Patch requests.
 12858  	NullFields []string `json:"-"`
 12859  }
 12860  
 12861  func (s *TargetWindow) MarshalJSON() ([]byte, error) {
 12862  	type NoMethod TargetWindow
 12863  	raw := NoMethod(*s)
 12864  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12865  }
 12866  
 12867  // TargetableRemarketingList: Contains properties of a targetable
 12868  // remarketing list. Remarketing enables you to create lists of users
 12869  // who have performed specific actions on a site, then target ads to
 12870  // members of those lists. This resource is a read-only view of a
 12871  // remarketing list to be used to faciliate targeting ads to specific
 12872  // lists. Remarketing lists that are owned by your advertisers and those
 12873  // that are shared to your advertisers or account are accessible via
 12874  // this resource. To manage remarketing lists that are owned by your
 12875  // advertisers, use the RemarketingLists resource.
 12876  type TargetableRemarketingList struct {
 12877  	// AccountId: Account ID of this remarketing list. This is a read-only,
 12878  	// auto-generated field that is only returned in GET requests.
 12879  	AccountId int64 `json:"accountId,omitempty,string"`
 12880  
 12881  	// Active: Whether this targetable remarketing list is active.
 12882  	Active bool `json:"active,omitempty"`
 12883  
 12884  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 12885  	// targetable remarketing list.
 12886  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 12887  
 12888  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 12889  	// advertiser.
 12890  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 12891  
 12892  	// Description: Targetable remarketing list description.
 12893  	Description string `json:"description,omitempty"`
 12894  
 12895  	// Id: Targetable remarketing list ID.
 12896  	Id int64 `json:"id,omitempty,string"`
 12897  
 12898  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12899  	// string "dfareporting#targetableRemarketingList".
 12900  	Kind string `json:"kind,omitempty"`
 12901  
 12902  	// LifeSpan: Number of days that a user should remain in the targetable
 12903  	// remarketing list without an impression.
 12904  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 12905  
 12906  	// ListSize: Number of users currently in the list. This is a read-only
 12907  	// field.
 12908  	ListSize int64 `json:"listSize,omitempty,string"`
 12909  
 12910  	// ListSource: Product from which this targetable remarketing list was
 12911  	// originated.
 12912  	//
 12913  	// Possible values:
 12914  	//   "REMARKETING_LIST_SOURCE_ADX"
 12915  	//   "REMARKETING_LIST_SOURCE_DBM"
 12916  	//   "REMARKETING_LIST_SOURCE_DFA"
 12917  	//   "REMARKETING_LIST_SOURCE_DFP"
 12918  	//   "REMARKETING_LIST_SOURCE_DMP"
 12919  	//   "REMARKETING_LIST_SOURCE_GA"
 12920  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 12921  	//   "REMARKETING_LIST_SOURCE_OTHER"
 12922  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 12923  	//   "REMARKETING_LIST_SOURCE_XFP"
 12924  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 12925  	ListSource string `json:"listSource,omitempty"`
 12926  
 12927  	// Name: Name of the targetable remarketing list. Is no greater than 128
 12928  	// characters long.
 12929  	Name string `json:"name,omitempty"`
 12930  
 12931  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 12932  	// read-only, auto-generated field that is only returned in GET
 12933  	// requests.
 12934  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12935  
 12936  	// ServerResponse contains the HTTP response code and headers from the
 12937  	// server.
 12938  	googleapi.ServerResponse `json:"-"`
 12939  
 12940  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12941  	// unconditionally include in API requests. By default, fields with
 12942  	// empty values are omitted from API requests. However, any non-pointer,
 12943  	// non-interface field appearing in ForceSendFields will be sent to the
 12944  	// server regardless of whether the field is empty or not. This may be
 12945  	// used to include empty fields in Patch requests.
 12946  	ForceSendFields []string `json:"-"`
 12947  
 12948  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12949  	// API requests with the JSON null value. By default, fields with empty
 12950  	// values are omitted from API requests. However, any field with an
 12951  	// empty value appearing in NullFields will be sent to the server as
 12952  	// null. It is an error if a field in this list has a non-empty value.
 12953  	// This may be used to include null fields in Patch requests.
 12954  	NullFields []string `json:"-"`
 12955  }
 12956  
 12957  func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
 12958  	type NoMethod TargetableRemarketingList
 12959  	raw := NoMethod(*s)
 12960  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12961  }
 12962  
 12963  // TargetableRemarketingListsListResponse: Targetable remarketing list
 12964  // response
 12965  type TargetableRemarketingListsListResponse struct {
 12966  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12967  	// string "dfareporting#targetableRemarketingListsListResponse".
 12968  	Kind string `json:"kind,omitempty"`
 12969  
 12970  	// NextPageToken: Pagination token to be used for the next list
 12971  	// operation.
 12972  	NextPageToken string `json:"nextPageToken,omitempty"`
 12973  
 12974  	// TargetableRemarketingLists: Targetable remarketing list collection.
 12975  	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
 12976  
 12977  	// ServerResponse contains the HTTP response code and headers from the
 12978  	// server.
 12979  	googleapi.ServerResponse `json:"-"`
 12980  
 12981  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12982  	// unconditionally include in API requests. By default, fields with
 12983  	// empty values are omitted from API requests. However, any non-pointer,
 12984  	// non-interface field appearing in ForceSendFields will be sent to the
 12985  	// server regardless of whether the field is empty or not. This may be
 12986  	// used to include empty fields in Patch requests.
 12987  	ForceSendFields []string `json:"-"`
 12988  
 12989  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12990  	// requests with the JSON null value. By default, fields with empty
 12991  	// values are omitted from API requests. However, any field with an
 12992  	// empty value appearing in NullFields will be sent to the server as
 12993  	// null. It is an error if a field in this list has a non-empty value.
 12994  	// This may be used to include null fields in Patch requests.
 12995  	NullFields []string `json:"-"`
 12996  }
 12997  
 12998  func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 12999  	type NoMethod TargetableRemarketingListsListResponse
 13000  	raw := NoMethod(*s)
 13001  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13002  }
 13003  
 13004  // TargetingTemplate: Contains properties of a targeting template. A
 13005  // targeting template encapsulates targeting information which can be
 13006  // reused across multiple ads.
 13007  type TargetingTemplate struct {
 13008  	// AccountId: Account ID of this targeting template. This field, if left
 13009  	// unset, will be auto-generated on insert and is read-only after
 13010  	// insert.
 13011  	AccountId int64 `json:"accountId,omitempty,string"`
 13012  
 13013  	// AdvertiserId: Advertiser ID of this targeting template. This is a
 13014  	// required field on insert and is read-only after insert.
 13015  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13016  
 13017  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 13018  	// advertiser. This is a read-only, auto-generated field.
 13019  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 13020  
 13021  	// DayPartTargeting: Time and day targeting criteria.
 13022  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
 13023  
 13024  	// GeoTargeting: Geographical targeting criteria.
 13025  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
 13026  
 13027  	// Id: ID of this targeting template. This is a read-only,
 13028  	// auto-generated field.
 13029  	Id int64 `json:"id,omitempty,string"`
 13030  
 13031  	// KeyValueTargetingExpression: Key-value targeting criteria.
 13032  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
 13033  
 13034  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13035  	// string "dfareporting#targetingTemplate".
 13036  	Kind string `json:"kind,omitempty"`
 13037  
 13038  	// LanguageTargeting: Language targeting criteria.
 13039  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
 13040  
 13041  	// ListTargetingExpression: Remarketing list targeting criteria.
 13042  	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
 13043  
 13044  	// Name: Name of this targeting template. This field is required. It
 13045  	// must be less than 256 characters long and unique within an
 13046  	// advertiser.
 13047  	Name string `json:"name,omitempty"`
 13048  
 13049  	// SubaccountId: Subaccount ID of this targeting template. This field,
 13050  	// if left unset, will be auto-generated on insert and is read-only
 13051  	// after insert.
 13052  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13053  
 13054  	// TechnologyTargeting: Technology platform targeting criteria.
 13055  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
 13056  
 13057  	// ServerResponse contains the HTTP response code and headers from the
 13058  	// server.
 13059  	googleapi.ServerResponse `json:"-"`
 13060  
 13061  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13062  	// unconditionally include in API requests. By default, fields with
 13063  	// empty values are omitted from API requests. However, any non-pointer,
 13064  	// non-interface field appearing in ForceSendFields will be sent to the
 13065  	// server regardless of whether the field is empty or not. This may be
 13066  	// used to include empty fields in Patch requests.
 13067  	ForceSendFields []string `json:"-"`
 13068  
 13069  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13070  	// API requests with the JSON null value. By default, fields with empty
 13071  	// values are omitted from API requests. However, any field with an
 13072  	// empty value appearing in NullFields will be sent to the server as
 13073  	// null. It is an error if a field in this list has a non-empty value.
 13074  	// This may be used to include null fields in Patch requests.
 13075  	NullFields []string `json:"-"`
 13076  }
 13077  
 13078  func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
 13079  	type NoMethod TargetingTemplate
 13080  	raw := NoMethod(*s)
 13081  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13082  }
 13083  
 13084  // TargetingTemplatesListResponse: Targeting Template List Response
 13085  type TargetingTemplatesListResponse struct {
 13086  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13087  	// string "dfareporting#targetingTemplatesListResponse".
 13088  	Kind string `json:"kind,omitempty"`
 13089  
 13090  	// NextPageToken: Pagination token to be used for the next list
 13091  	// operation.
 13092  	NextPageToken string `json:"nextPageToken,omitempty"`
 13093  
 13094  	// TargetingTemplates: Targeting template collection.
 13095  	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
 13096  
 13097  	// ServerResponse contains the HTTP response code and headers from the
 13098  	// server.
 13099  	googleapi.ServerResponse `json:"-"`
 13100  
 13101  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13102  	// unconditionally include in API requests. By default, fields with
 13103  	// empty values are omitted from API requests. However, any non-pointer,
 13104  	// non-interface field appearing in ForceSendFields will be sent to the
 13105  	// server regardless of whether the field is empty or not. This may be
 13106  	// used to include empty fields in Patch requests.
 13107  	ForceSendFields []string `json:"-"`
 13108  
 13109  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13110  	// requests with the JSON null value. By default, fields with empty
 13111  	// values are omitted from API requests. However, any field with an
 13112  	// empty value appearing in NullFields will be sent to the server as
 13113  	// null. It is an error if a field in this list has a non-empty value.
 13114  	// This may be used to include null fields in Patch requests.
 13115  	NullFields []string `json:"-"`
 13116  }
 13117  
 13118  func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
 13119  	type NoMethod TargetingTemplatesListResponse
 13120  	raw := NoMethod(*s)
 13121  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13122  }
 13123  
 13124  // TechnologyTargeting: Technology Targeting.
 13125  type TechnologyTargeting struct {
 13126  	// Browsers: Browsers that this ad targets. For each browser either set
 13127  	// browserVersionId or dartId along with the version numbers. If both
 13128  	// are specified, only browserVersionId will be used. The other fields
 13129  	// are populated automatically when the ad is inserted or updated.
 13130  	Browsers []*Browser `json:"browsers,omitempty"`
 13131  
 13132  	// ConnectionTypes: Connection types that this ad targets. For each
 13133  	// connection type only id is required. The other fields are populated
 13134  	// automatically when the ad is inserted or updated.
 13135  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
 13136  
 13137  	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
 13138  	// carrier only id is required, and the other fields are populated
 13139  	// automatically when the ad is inserted or updated. If targeting a
 13140  	// mobile carrier, do not set targeting for any zip codes.
 13141  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
 13142  
 13143  	// OperatingSystemVersions: Operating system versions that this ad
 13144  	// targets. To target all versions, use operatingSystems. For each
 13145  	// operating system version, only id is required. The other fields are
 13146  	// populated automatically when the ad is inserted or updated. If
 13147  	// targeting an operating system version, do not set targeting for the
 13148  	// corresponding operating system in operatingSystems.
 13149  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
 13150  
 13151  	// OperatingSystems: Operating systems that this ad targets. To target
 13152  	// specific versions, use operatingSystemVersions. For each operating
 13153  	// system only dartId is required. The other fields are populated
 13154  	// automatically when the ad is inserted or updated. If targeting an
 13155  	// operating system, do not set targeting for operating system versions
 13156  	// for the same operating system.
 13157  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
 13158  
 13159  	// PlatformTypes: Platform types that this ad targets. For example,
 13160  	// desktop, mobile, or tablet. For each platform type, only id is
 13161  	// required, and the other fields are populated automatically when the
 13162  	// ad is inserted or updated.
 13163  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 13164  
 13165  	// ForceSendFields is a list of field names (e.g. "Browsers") to
 13166  	// unconditionally include in API requests. By default, fields with
 13167  	// empty values are omitted from API requests. However, any non-pointer,
 13168  	// non-interface field appearing in ForceSendFields will be sent to the
 13169  	// server regardless of whether the field is empty or not. This may be
 13170  	// used to include empty fields in Patch requests.
 13171  	ForceSendFields []string `json:"-"`
 13172  
 13173  	// NullFields is a list of field names (e.g. "Browsers") to include in
 13174  	// API requests with the JSON null value. By default, fields with empty
 13175  	// values are omitted from API requests. However, any field with an
 13176  	// empty value appearing in NullFields will be sent to the server as
 13177  	// null. It is an error if a field in this list has a non-empty value.
 13178  	// This may be used to include null fields in Patch requests.
 13179  	NullFields []string `json:"-"`
 13180  }
 13181  
 13182  func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
 13183  	type NoMethod TechnologyTargeting
 13184  	raw := NoMethod(*s)
 13185  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13186  }
 13187  
 13188  // ThirdPartyAuthenticationToken: Third Party Authentication Token
 13189  type ThirdPartyAuthenticationToken struct {
 13190  	// Name: Name of the third-party authentication token.
 13191  	Name string `json:"name,omitempty"`
 13192  
 13193  	// Value: Value of the third-party authentication token. This is a
 13194  	// read-only, auto-generated field.
 13195  	Value string `json:"value,omitempty"`
 13196  
 13197  	// ForceSendFields is a list of field names (e.g. "Name") to
 13198  	// unconditionally include in API requests. By default, fields with
 13199  	// empty values are omitted from API requests. However, any non-pointer,
 13200  	// non-interface field appearing in ForceSendFields will be sent to the
 13201  	// server regardless of whether the field is empty or not. This may be
 13202  	// used to include empty fields in Patch requests.
 13203  	ForceSendFields []string `json:"-"`
 13204  
 13205  	// NullFields is a list of field names (e.g. "Name") to include in API
 13206  	// requests with the JSON null value. By default, fields with empty
 13207  	// values are omitted from API requests. However, any field with an
 13208  	// empty value appearing in NullFields will be sent to the server as
 13209  	// null. It is an error if a field in this list has a non-empty value.
 13210  	// This may be used to include null fields in Patch requests.
 13211  	NullFields []string `json:"-"`
 13212  }
 13213  
 13214  func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
 13215  	type NoMethod ThirdPartyAuthenticationToken
 13216  	raw := NoMethod(*s)
 13217  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13218  }
 13219  
 13220  // ThirdPartyTrackingUrl: Third-party Tracking URL.
 13221  type ThirdPartyTrackingUrl struct {
 13222  	// ThirdPartyUrlType: Third-party URL type for in-stream video
 13223  	// creatives.
 13224  	//
 13225  	// Possible values:
 13226  	//   "CLICK_TRACKING"
 13227  	//   "IMPRESSION"
 13228  	//   "RICH_MEDIA_BACKUP_IMPRESSION"
 13229  	//   "RICH_MEDIA_IMPRESSION"
 13230  	//   "RICH_MEDIA_RM_IMPRESSION"
 13231  	//   "SURVEY"
 13232  	//   "VIDEO_COMPLETE"
 13233  	//   "VIDEO_CUSTOM"
 13234  	//   "VIDEO_FIRST_QUARTILE"
 13235  	//   "VIDEO_FULLSCREEN"
 13236  	//   "VIDEO_MIDPOINT"
 13237  	//   "VIDEO_MUTE"
 13238  	//   "VIDEO_PAUSE"
 13239  	//   "VIDEO_PROGRESS"
 13240  	//   "VIDEO_REWIND"
 13241  	//   "VIDEO_SKIP"
 13242  	//   "VIDEO_START"
 13243  	//   "VIDEO_STOP"
 13244  	//   "VIDEO_THIRD_QUARTILE"
 13245  	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
 13246  
 13247  	// Url: URL for the specified third-party URL type.
 13248  	Url string `json:"url,omitempty"`
 13249  
 13250  	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
 13251  	// to unconditionally include in API requests. By default, fields with
 13252  	// empty values are omitted from API requests. However, any non-pointer,
 13253  	// non-interface field appearing in ForceSendFields will be sent to the
 13254  	// server regardless of whether the field is empty or not. This may be
 13255  	// used to include empty fields in Patch requests.
 13256  	ForceSendFields []string `json:"-"`
 13257  
 13258  	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
 13259  	// include in API requests with the JSON null value. By default, fields
 13260  	// with empty values are omitted from API requests. However, any field
 13261  	// with an empty value appearing in NullFields will be sent to the
 13262  	// server as null. It is an error if a field in this list has a
 13263  	// non-empty value. This may be used to include null fields in Patch
 13264  	// requests.
 13265  	NullFields []string `json:"-"`
 13266  }
 13267  
 13268  func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
 13269  	type NoMethod ThirdPartyTrackingUrl
 13270  	raw := NoMethod(*s)
 13271  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13272  }
 13273  
 13274  // TranscodeSetting: Transcode Settings
 13275  type TranscodeSetting struct {
 13276  	// EnabledVideoFormats: Whitelist of video formats to be served to this
 13277  	// placement. Set this list to null or empty to serve all video formats.
 13278  	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
 13279  
 13280  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13281  	// string "dfareporting#transcodeSetting".
 13282  	Kind string `json:"kind,omitempty"`
 13283  
 13284  	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
 13285  	// to unconditionally include in API requests. By default, fields with
 13286  	// empty values are omitted from API requests. However, any non-pointer,
 13287  	// non-interface field appearing in ForceSendFields will be sent to the
 13288  	// server regardless of whether the field is empty or not. This may be
 13289  	// used to include empty fields in Patch requests.
 13290  	ForceSendFields []string `json:"-"`
 13291  
 13292  	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
 13293  	// include in API requests with the JSON null value. By default, fields
 13294  	// with empty values are omitted from API requests. However, any field
 13295  	// with an empty value appearing in NullFields will be sent to the
 13296  	// server as null. It is an error if a field in this list has a
 13297  	// non-empty value. This may be used to include null fields in Patch
 13298  	// requests.
 13299  	NullFields []string `json:"-"`
 13300  }
 13301  
 13302  func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
 13303  	type NoMethod TranscodeSetting
 13304  	raw := NoMethod(*s)
 13305  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13306  }
 13307  
 13308  // UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
 13309  // to the following creative types: INSTREAM_VIDEO and VPAID.
 13310  type UniversalAdId struct {
 13311  	// Registry: Registry used for the Ad ID value.
 13312  	//
 13313  	// Possible values:
 13314  	//   "AD_ID.ORG"
 13315  	//   "CLEARCAST"
 13316  	//   "DCM"
 13317  	//   "OTHER"
 13318  	Registry string `json:"registry,omitempty"`
 13319  
 13320  	// Value: ID value for this creative. Only alphanumeric characters and
 13321  	// the following symbols are valid: "_/\-". Maximum length is 64
 13322  	// characters. Read only when registry is DCM.
 13323  	Value string `json:"value,omitempty"`
 13324  
 13325  	// ForceSendFields is a list of field names (e.g. "Registry") to
 13326  	// unconditionally include in API requests. By default, fields with
 13327  	// empty values are omitted from API requests. However, any non-pointer,
 13328  	// non-interface field appearing in ForceSendFields will be sent to the
 13329  	// server regardless of whether the field is empty or not. This may be
 13330  	// used to include empty fields in Patch requests.
 13331  	ForceSendFields []string `json:"-"`
 13332  
 13333  	// NullFields is a list of field names (e.g. "Registry") to include in
 13334  	// API requests with the JSON null value. By default, fields with empty
 13335  	// values are omitted from API requests. However, any field with an
 13336  	// empty value appearing in NullFields will be sent to the server as
 13337  	// null. It is an error if a field in this list has a non-empty value.
 13338  	// This may be used to include null fields in Patch requests.
 13339  	NullFields []string `json:"-"`
 13340  }
 13341  
 13342  func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
 13343  	type NoMethod UniversalAdId
 13344  	raw := NoMethod(*s)
 13345  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13346  }
 13347  
 13348  // UserDefinedVariableConfiguration: User Defined Variable
 13349  // configuration.
 13350  type UserDefinedVariableConfiguration struct {
 13351  	// DataType: Data type for the variable. This is a required field.
 13352  	//
 13353  	// Possible values:
 13354  	//   "NUMBER"
 13355  	//   "STRING"
 13356  	DataType string `json:"dataType,omitempty"`
 13357  
 13358  	// ReportName: User-friendly name for the variable which will appear in
 13359  	// reports. This is a required field, must be less than 64 characters
 13360  	// long, and cannot contain the following characters: ""<>".
 13361  	ReportName string `json:"reportName,omitempty"`
 13362  
 13363  	// VariableType: Variable name in the tag. This is a required field.
 13364  	//
 13365  	// Possible values:
 13366  	//   "U1"
 13367  	//   "U10"
 13368  	//   "U100"
 13369  	//   "U11"
 13370  	//   "U12"
 13371  	//   "U13"
 13372  	//   "U14"
 13373  	//   "U15"
 13374  	//   "U16"
 13375  	//   "U17"
 13376  	//   "U18"
 13377  	//   "U19"
 13378  	//   "U2"
 13379  	//   "U20"
 13380  	//   "U21"
 13381  	//   "U22"
 13382  	//   "U23"
 13383  	//   "U24"
 13384  	//   "U25"
 13385  	//   "U26"
 13386  	//   "U27"
 13387  	//   "U28"
 13388  	//   "U29"
 13389  	//   "U3"
 13390  	//   "U30"
 13391  	//   "U31"
 13392  	//   "U32"
 13393  	//   "U33"
 13394  	//   "U34"
 13395  	//   "U35"
 13396  	//   "U36"
 13397  	//   "U37"
 13398  	//   "U38"
 13399  	//   "U39"
 13400  	//   "U4"
 13401  	//   "U40"
 13402  	//   "U41"
 13403  	//   "U42"
 13404  	//   "U43"
 13405  	//   "U44"
 13406  	//   "U45"
 13407  	//   "U46"
 13408  	//   "U47"
 13409  	//   "U48"
 13410  	//   "U49"
 13411  	//   "U5"
 13412  	//   "U50"
 13413  	//   "U51"
 13414  	//   "U52"
 13415  	//   "U53"
 13416  	//   "U54"
 13417  	//   "U55"
 13418  	//   "U56"
 13419  	//   "U57"
 13420  	//   "U58"
 13421  	//   "U59"
 13422  	//   "U6"
 13423  	//   "U60"
 13424  	//   "U61"
 13425  	//   "U62"
 13426  	//   "U63"
 13427  	//   "U64"
 13428  	//   "U65"
 13429  	//   "U66"
 13430  	//   "U67"
 13431  	//   "U68"
 13432  	//   "U69"
 13433  	//   "U7"
 13434  	//   "U70"
 13435  	//   "U71"
 13436  	//   "U72"
 13437  	//   "U73"
 13438  	//   "U74"
 13439  	//   "U75"
 13440  	//   "U76"
 13441  	//   "U77"
 13442  	//   "U78"
 13443  	//   "U79"
 13444  	//   "U8"
 13445  	//   "U80"
 13446  	//   "U81"
 13447  	//   "U82"
 13448  	//   "U83"
 13449  	//   "U84"
 13450  	//   "U85"
 13451  	//   "U86"
 13452  	//   "U87"
 13453  	//   "U88"
 13454  	//   "U89"
 13455  	//   "U9"
 13456  	//   "U90"
 13457  	//   "U91"
 13458  	//   "U92"
 13459  	//   "U93"
 13460  	//   "U94"
 13461  	//   "U95"
 13462  	//   "U96"
 13463  	//   "U97"
 13464  	//   "U98"
 13465  	//   "U99"
 13466  	VariableType string `json:"variableType,omitempty"`
 13467  
 13468  	// ForceSendFields is a list of field names (e.g. "DataType") to
 13469  	// unconditionally include in API requests. By default, fields with
 13470  	// empty values are omitted from API requests. However, any non-pointer,
 13471  	// non-interface field appearing in ForceSendFields will be sent to the
 13472  	// server regardless of whether the field is empty or not. This may be
 13473  	// used to include empty fields in Patch requests.
 13474  	ForceSendFields []string `json:"-"`
 13475  
 13476  	// NullFields is a list of field names (e.g. "DataType") to include in
 13477  	// API requests with the JSON null value. By default, fields with empty
 13478  	// values are omitted from API requests. However, any field with an
 13479  	// empty value appearing in NullFields will be sent to the server as
 13480  	// null. It is an error if a field in this list has a non-empty value.
 13481  	// This may be used to include null fields in Patch requests.
 13482  	NullFields []string `json:"-"`
 13483  }
 13484  
 13485  func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
 13486  	type NoMethod UserDefinedVariableConfiguration
 13487  	raw := NoMethod(*s)
 13488  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13489  }
 13490  
 13491  // UserProfile: Represents a UserProfile resource.
 13492  type UserProfile struct {
 13493  	// AccountId: The account ID to which this profile belongs.
 13494  	AccountId int64 `json:"accountId,omitempty,string"`
 13495  
 13496  	// AccountName: The account name this profile belongs to.
 13497  	AccountName string `json:"accountName,omitempty"`
 13498  
 13499  	// Etag: The eTag of this response for caching purposes.
 13500  	Etag string `json:"etag,omitempty"`
 13501  
 13502  	// Kind: The kind of resource this is, in this case
 13503  	// dfareporting#userProfile.
 13504  	Kind string `json:"kind,omitempty"`
 13505  
 13506  	// ProfileId: The unique ID of the user profile.
 13507  	ProfileId int64 `json:"profileId,omitempty,string"`
 13508  
 13509  	// SubAccountId: The sub account ID this profile belongs to if
 13510  	// applicable.
 13511  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 13512  
 13513  	// SubAccountName: The sub account name this profile belongs to if
 13514  	// applicable.
 13515  	SubAccountName string `json:"subAccountName,omitempty"`
 13516  
 13517  	// UserName: The user name.
 13518  	UserName string `json:"userName,omitempty"`
 13519  
 13520  	// ServerResponse contains the HTTP response code and headers from the
 13521  	// server.
 13522  	googleapi.ServerResponse `json:"-"`
 13523  
 13524  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13525  	// unconditionally include in API requests. By default, fields with
 13526  	// empty values are omitted from API requests. However, any non-pointer,
 13527  	// non-interface field appearing in ForceSendFields will be sent to the
 13528  	// server regardless of whether the field is empty or not. This may be
 13529  	// used to include empty fields in Patch requests.
 13530  	ForceSendFields []string `json:"-"`
 13531  
 13532  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13533  	// API requests with the JSON null value. By default, fields with empty
 13534  	// values are omitted from API requests. However, any field with an
 13535  	// empty value appearing in NullFields will be sent to the server as
 13536  	// null. It is an error if a field in this list has a non-empty value.
 13537  	// This may be used to include null fields in Patch requests.
 13538  	NullFields []string `json:"-"`
 13539  }
 13540  
 13541  func (s *UserProfile) MarshalJSON() ([]byte, error) {
 13542  	type NoMethod UserProfile
 13543  	raw := NoMethod(*s)
 13544  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13545  }
 13546  
 13547  // UserProfileList: Represents the list of user profiles.
 13548  type UserProfileList struct {
 13549  	// Etag: The eTag of this response for caching purposes.
 13550  	Etag string `json:"etag,omitempty"`
 13551  
 13552  	// Items: The user profiles returned in this response.
 13553  	Items []*UserProfile `json:"items,omitempty"`
 13554  
 13555  	// Kind: The kind of list this is, in this case
 13556  	// dfareporting#userProfileList.
 13557  	Kind string `json:"kind,omitempty"`
 13558  
 13559  	// ServerResponse contains the HTTP response code and headers from the
 13560  	// server.
 13561  	googleapi.ServerResponse `json:"-"`
 13562  
 13563  	// ForceSendFields is a list of field names (e.g. "Etag") to
 13564  	// unconditionally include in API requests. By default, fields with
 13565  	// empty values are omitted from API requests. However, any non-pointer,
 13566  	// non-interface field appearing in ForceSendFields will be sent to the
 13567  	// server regardless of whether the field is empty or not. This may be
 13568  	// used to include empty fields in Patch requests.
 13569  	ForceSendFields []string `json:"-"`
 13570  
 13571  	// NullFields is a list of field names (e.g. "Etag") to include in API
 13572  	// requests with the JSON null value. By default, fields with empty
 13573  	// values are omitted from API requests. However, any field with an
 13574  	// empty value appearing in NullFields will be sent to the server as
 13575  	// null. It is an error if a field in this list has a non-empty value.
 13576  	// This may be used to include null fields in Patch requests.
 13577  	NullFields []string `json:"-"`
 13578  }
 13579  
 13580  func (s *UserProfileList) MarshalJSON() ([]byte, error) {
 13581  	type NoMethod UserProfileList
 13582  	raw := NoMethod(*s)
 13583  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13584  }
 13585  
 13586  // UserRole: Contains properties of auser role, which is used to manage
 13587  // user access.
 13588  type UserRole struct {
 13589  	// AccountId: Account ID of this user role. This is a read-only field
 13590  	// that can be left blank.
 13591  	AccountId int64 `json:"accountId,omitempty,string"`
 13592  
 13593  	// DefaultUserRole: Whether this is a default user role. Default user
 13594  	// roles are created by the system for the account/subaccount and cannot
 13595  	// be modified or deleted. Each default user role comes with a basic set
 13596  	// of preassigned permissions.
 13597  	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
 13598  
 13599  	// Id: ID of this user role. This is a read-only, auto-generated field.
 13600  	Id int64 `json:"id,omitempty,string"`
 13601  
 13602  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13603  	// string "dfareporting#userRole".
 13604  	Kind string `json:"kind,omitempty"`
 13605  
 13606  	// Name: Name of this user role. This is a required field. Must be less
 13607  	// than 256 characters long. If this user role is under a subaccount,
 13608  	// the name must be unique among sites of the same subaccount.
 13609  	// Otherwise, this user role is a top-level user role, and the name must
 13610  	// be unique among top-level user roles of the same account.
 13611  	Name string `json:"name,omitempty"`
 13612  
 13613  	// ParentUserRoleId: ID of the user role that this user role is based on
 13614  	// or copied from. This is a required field.
 13615  	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
 13616  
 13617  	// Permissions: List of permissions associated with this user role.
 13618  	Permissions []*UserRolePermission `json:"permissions,omitempty"`
 13619  
 13620  	// SubaccountId: Subaccount ID of this user role. This is a read-only
 13621  	// field that can be left blank.
 13622  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13623  
 13624  	// ServerResponse contains the HTTP response code and headers from the
 13625  	// server.
 13626  	googleapi.ServerResponse `json:"-"`
 13627  
 13628  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13629  	// unconditionally include in API requests. By default, fields with
 13630  	// empty values are omitted from API requests. However, any non-pointer,
 13631  	// non-interface field appearing in ForceSendFields will be sent to the
 13632  	// server regardless of whether the field is empty or not. This may be
 13633  	// used to include empty fields in Patch requests.
 13634  	ForceSendFields []string `json:"-"`
 13635  
 13636  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13637  	// API requests with the JSON null value. By default, fields with empty
 13638  	// values are omitted from API requests. However, any field with an
 13639  	// empty value appearing in NullFields will be sent to the server as
 13640  	// null. It is an error if a field in this list has a non-empty value.
 13641  	// This may be used to include null fields in Patch requests.
 13642  	NullFields []string `json:"-"`
 13643  }
 13644  
 13645  func (s *UserRole) MarshalJSON() ([]byte, error) {
 13646  	type NoMethod UserRole
 13647  	raw := NoMethod(*s)
 13648  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13649  }
 13650  
 13651  // UserRolePermission: Contains properties of a user role permission.
 13652  type UserRolePermission struct {
 13653  	// Availability: Levels of availability for a user role permission.
 13654  	//
 13655  	// Possible values:
 13656  	//   "ACCOUNT_ALWAYS"
 13657  	//   "ACCOUNT_BY_DEFAULT"
 13658  	//   "NOT_AVAILABLE_BY_DEFAULT"
 13659  	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
 13660  	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
 13661  	Availability string `json:"availability,omitempty"`
 13662  
 13663  	// Id: ID of this user role permission.
 13664  	Id int64 `json:"id,omitempty,string"`
 13665  
 13666  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13667  	// string "dfareporting#userRolePermission".
 13668  	Kind string `json:"kind,omitempty"`
 13669  
 13670  	// Name: Name of this user role permission.
 13671  	Name string `json:"name,omitempty"`
 13672  
 13673  	// PermissionGroupId: ID of the permission group that this user role
 13674  	// permission belongs to.
 13675  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
 13676  
 13677  	// ServerResponse contains the HTTP response code and headers from the
 13678  	// server.
 13679  	googleapi.ServerResponse `json:"-"`
 13680  
 13681  	// ForceSendFields is a list of field names (e.g. "Availability") to
 13682  	// unconditionally include in API requests. By default, fields with
 13683  	// empty values are omitted from API requests. However, any non-pointer,
 13684  	// non-interface field appearing in ForceSendFields will be sent to the
 13685  	// server regardless of whether the field is empty or not. This may be
 13686  	// used to include empty fields in Patch requests.
 13687  	ForceSendFields []string `json:"-"`
 13688  
 13689  	// NullFields is a list of field names (e.g. "Availability") to include
 13690  	// in API requests with the JSON null value. By default, fields with
 13691  	// empty values are omitted from API requests. However, any field with
 13692  	// an empty value appearing in NullFields will be sent to the server as
 13693  	// null. It is an error if a field in this list has a non-empty value.
 13694  	// This may be used to include null fields in Patch requests.
 13695  	NullFields []string `json:"-"`
 13696  }
 13697  
 13698  func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
 13699  	type NoMethod UserRolePermission
 13700  	raw := NoMethod(*s)
 13701  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13702  }
 13703  
 13704  // UserRolePermissionGroup: Represents a grouping of related user role
 13705  // permissions.
 13706  type UserRolePermissionGroup struct {
 13707  	// Id: ID of this user role permission.
 13708  	Id int64 `json:"id,omitempty,string"`
 13709  
 13710  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13711  	// string "dfareporting#userRolePermissionGroup".
 13712  	Kind string `json:"kind,omitempty"`
 13713  
 13714  	// Name: Name of this user role permission group.
 13715  	Name string `json:"name,omitempty"`
 13716  
 13717  	// ServerResponse contains the HTTP response code and headers from the
 13718  	// server.
 13719  	googleapi.ServerResponse `json:"-"`
 13720  
 13721  	// ForceSendFields is a list of field names (e.g. "Id") to
 13722  	// unconditionally include in API requests. By default, fields with
 13723  	// empty values are omitted from API requests. However, any non-pointer,
 13724  	// non-interface field appearing in ForceSendFields will be sent to the
 13725  	// server regardless of whether the field is empty or not. This may be
 13726  	// used to include empty fields in Patch requests.
 13727  	ForceSendFields []string `json:"-"`
 13728  
 13729  	// NullFields is a list of field names (e.g. "Id") to include in API
 13730  	// requests with the JSON null value. By default, fields with empty
 13731  	// values are omitted from API requests. However, any field with an
 13732  	// empty value appearing in NullFields will be sent to the server as
 13733  	// null. It is an error if a field in this list has a non-empty value.
 13734  	// This may be used to include null fields in Patch requests.
 13735  	NullFields []string `json:"-"`
 13736  }
 13737  
 13738  func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
 13739  	type NoMethod UserRolePermissionGroup
 13740  	raw := NoMethod(*s)
 13741  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13742  }
 13743  
 13744  // UserRolePermissionGroupsListResponse: User Role Permission Group List
 13745  // Response
 13746  type UserRolePermissionGroupsListResponse struct {
 13747  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13748  	// string "dfareporting#userRolePermissionGroupsListResponse".
 13749  	Kind string `json:"kind,omitempty"`
 13750  
 13751  	// UserRolePermissionGroups: User role permission group collection.
 13752  	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
 13753  
 13754  	// ServerResponse contains the HTTP response code and headers from the
 13755  	// server.
 13756  	googleapi.ServerResponse `json:"-"`
 13757  
 13758  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13759  	// unconditionally include in API requests. By default, fields with
 13760  	// empty values are omitted from API requests. However, any non-pointer,
 13761  	// non-interface field appearing in ForceSendFields will be sent to the
 13762  	// server regardless of whether the field is empty or not. This may be
 13763  	// used to include empty fields in Patch requests.
 13764  	ForceSendFields []string `json:"-"`
 13765  
 13766  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13767  	// requests with the JSON null value. By default, fields with empty
 13768  	// values are omitted from API requests. However, any field with an
 13769  	// empty value appearing in NullFields will be sent to the server as
 13770  	// null. It is an error if a field in this list has a non-empty value.
 13771  	// This may be used to include null fields in Patch requests.
 13772  	NullFields []string `json:"-"`
 13773  }
 13774  
 13775  func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
 13776  	type NoMethod UserRolePermissionGroupsListResponse
 13777  	raw := NoMethod(*s)
 13778  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13779  }
 13780  
 13781  // UserRolePermissionsListResponse: User Role Permission List Response
 13782  type UserRolePermissionsListResponse struct {
 13783  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13784  	// string "dfareporting#userRolePermissionsListResponse".
 13785  	Kind string `json:"kind,omitempty"`
 13786  
 13787  	// UserRolePermissions: User role permission collection.
 13788  	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
 13789  
 13790  	// ServerResponse contains the HTTP response code and headers from the
 13791  	// server.
 13792  	googleapi.ServerResponse `json:"-"`
 13793  
 13794  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13795  	// unconditionally include in API requests. By default, fields with
 13796  	// empty values are omitted from API requests. However, any non-pointer,
 13797  	// non-interface field appearing in ForceSendFields will be sent to the
 13798  	// server regardless of whether the field is empty or not. This may be
 13799  	// used to include empty fields in Patch requests.
 13800  	ForceSendFields []string `json:"-"`
 13801  
 13802  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13803  	// requests with the JSON null value. By default, fields with empty
 13804  	// values are omitted from API requests. However, any field with an
 13805  	// empty value appearing in NullFields will be sent to the server as
 13806  	// null. It is an error if a field in this list has a non-empty value.
 13807  	// This may be used to include null fields in Patch requests.
 13808  	NullFields []string `json:"-"`
 13809  }
 13810  
 13811  func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
 13812  	type NoMethod UserRolePermissionsListResponse
 13813  	raw := NoMethod(*s)
 13814  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13815  }
 13816  
 13817  // UserRolesListResponse: User Role List Response
 13818  type UserRolesListResponse struct {
 13819  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13820  	// string "dfareporting#userRolesListResponse".
 13821  	Kind string `json:"kind,omitempty"`
 13822  
 13823  	// NextPageToken: Pagination token to be used for the next list
 13824  	// operation.
 13825  	NextPageToken string `json:"nextPageToken,omitempty"`
 13826  
 13827  	// UserRoles: User role collection.
 13828  	UserRoles []*UserRole `json:"userRoles,omitempty"`
 13829  
 13830  	// ServerResponse contains the HTTP response code and headers from the
 13831  	// server.
 13832  	googleapi.ServerResponse `json:"-"`
 13833  
 13834  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13835  	// unconditionally include in API requests. By default, fields with
 13836  	// empty values are omitted from API requests. However, any non-pointer,
 13837  	// non-interface field appearing in ForceSendFields will be sent to the
 13838  	// server regardless of whether the field is empty or not. This may be
 13839  	// used to include empty fields in Patch requests.
 13840  	ForceSendFields []string `json:"-"`
 13841  
 13842  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13843  	// requests with the JSON null value. By default, fields with empty
 13844  	// values are omitted from API requests. However, any field with an
 13845  	// empty value appearing in NullFields will be sent to the server as
 13846  	// null. It is an error if a field in this list has a non-empty value.
 13847  	// This may be used to include null fields in Patch requests.
 13848  	NullFields []string `json:"-"`
 13849  }
 13850  
 13851  func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
 13852  	type NoMethod UserRolesListResponse
 13853  	raw := NoMethod(*s)
 13854  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13855  }
 13856  
 13857  // VideoFormat: Contains information about supported video formats.
 13858  type VideoFormat struct {
 13859  	// FileType: File type of the video format.
 13860  	//
 13861  	// Possible values:
 13862  	//   "FLV"
 13863  	//   "M3U8"
 13864  	//   "MP4"
 13865  	//   "THREEGPP"
 13866  	//   "WEBM"
 13867  	FileType string `json:"fileType,omitempty"`
 13868  
 13869  	// Id: ID of the video format.
 13870  	Id int64 `json:"id,omitempty"`
 13871  
 13872  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13873  	// string "dfareporting#videoFormat".
 13874  	Kind string `json:"kind,omitempty"`
 13875  
 13876  	// Resolution: The resolution of this video format.
 13877  	Resolution *Size `json:"resolution,omitempty"`
 13878  
 13879  	// TargetBitRate: The target bit rate of this video format.
 13880  	TargetBitRate int64 `json:"targetBitRate,omitempty"`
 13881  
 13882  	// ServerResponse contains the HTTP response code and headers from the
 13883  	// server.
 13884  	googleapi.ServerResponse `json:"-"`
 13885  
 13886  	// ForceSendFields is a list of field names (e.g. "FileType") to
 13887  	// unconditionally include in API requests. By default, fields with
 13888  	// empty values are omitted from API requests. However, any non-pointer,
 13889  	// non-interface field appearing in ForceSendFields will be sent to the
 13890  	// server regardless of whether the field is empty or not. This may be
 13891  	// used to include empty fields in Patch requests.
 13892  	ForceSendFields []string `json:"-"`
 13893  
 13894  	// NullFields is a list of field names (e.g. "FileType") to include in
 13895  	// API requests with the JSON null value. By default, fields with empty
 13896  	// values are omitted from API requests. However, any field with an
 13897  	// empty value appearing in NullFields will be sent to the server as
 13898  	// null. It is an error if a field in this list has a non-empty value.
 13899  	// This may be used to include null fields in Patch requests.
 13900  	NullFields []string `json:"-"`
 13901  }
 13902  
 13903  func (s *VideoFormat) MarshalJSON() ([]byte, error) {
 13904  	type NoMethod VideoFormat
 13905  	raw := NoMethod(*s)
 13906  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13907  }
 13908  
 13909  // VideoFormatsListResponse: Video Format List Response
 13910  type VideoFormatsListResponse struct {
 13911  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13912  	// string "dfareporting#videoFormatsListResponse".
 13913  	Kind string `json:"kind,omitempty"`
 13914  
 13915  	// VideoFormats: Video format collection.
 13916  	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
 13917  
 13918  	// ServerResponse contains the HTTP response code and headers from the
 13919  	// server.
 13920  	googleapi.ServerResponse `json:"-"`
 13921  
 13922  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13923  	// unconditionally include in API requests. By default, fields with
 13924  	// empty values are omitted from API requests. However, any non-pointer,
 13925  	// non-interface field appearing in ForceSendFields will be sent to the
 13926  	// server regardless of whether the field is empty or not. This may be
 13927  	// used to include empty fields in Patch requests.
 13928  	ForceSendFields []string `json:"-"`
 13929  
 13930  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13931  	// requests with the JSON null value. By default, fields with empty
 13932  	// values are omitted from API requests. However, any field with an
 13933  	// empty value appearing in NullFields will be sent to the server as
 13934  	// null. It is an error if a field in this list has a non-empty value.
 13935  	// This may be used to include null fields in Patch requests.
 13936  	NullFields []string `json:"-"`
 13937  }
 13938  
 13939  func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
 13940  	type NoMethod VideoFormatsListResponse
 13941  	raw := NoMethod(*s)
 13942  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13943  }
 13944  
 13945  // VideoOffset: Video Offset
 13946  type VideoOffset struct {
 13947  	// OffsetPercentage: Duration, as a percentage of video duration. Do not
 13948  	// set when offsetSeconds is set. Acceptable values are 0 to 100,
 13949  	// inclusive.
 13950  	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
 13951  
 13952  	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
 13953  	// is set. Acceptable values are 0 to 86399, inclusive.
 13954  	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
 13955  
 13956  	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
 13957  	// unconditionally include in API requests. By default, fields with
 13958  	// empty values are omitted from API requests. However, any non-pointer,
 13959  	// non-interface field appearing in ForceSendFields will be sent to the
 13960  	// server regardless of whether the field is empty or not. This may be
 13961  	// used to include empty fields in Patch requests.
 13962  	ForceSendFields []string `json:"-"`
 13963  
 13964  	// NullFields is a list of field names (e.g. "OffsetPercentage") to
 13965  	// include in API requests with the JSON null value. By default, fields
 13966  	// with empty values are omitted from API requests. However, any field
 13967  	// with an empty value appearing in NullFields will be sent to the
 13968  	// server as null. It is an error if a field in this list has a
 13969  	// non-empty value. This may be used to include null fields in Patch
 13970  	// requests.
 13971  	NullFields []string `json:"-"`
 13972  }
 13973  
 13974  func (s *VideoOffset) MarshalJSON() ([]byte, error) {
 13975  	type NoMethod VideoOffset
 13976  	raw := NoMethod(*s)
 13977  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13978  }
 13979  
 13980  // VideoSettings: Video Settings
 13981  type VideoSettings struct {
 13982  	// CompanionSettings: Settings for the companion creatives of video
 13983  	// creatives served to this placement.
 13984  	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
 13985  
 13986  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13987  	// string "dfareporting#videoSettings".
 13988  	Kind string `json:"kind,omitempty"`
 13989  
 13990  	// Orientation: Orientation of a video placement. If this value is set,
 13991  	// placement will return assets matching the specified orientation.
 13992  	//
 13993  	// Possible values:
 13994  	//   "ANY"
 13995  	//   "LANDSCAPE"
 13996  	//   "PORTRAIT"
 13997  	Orientation string `json:"orientation,omitempty"`
 13998  
 13999  	// SkippableSettings: Settings for the skippability of video creatives
 14000  	// served to this placement. If this object is provided, the
 14001  	// creative-level skippable settings will be overridden.
 14002  	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
 14003  
 14004  	// TranscodeSettings: Settings for the transcodes of video creatives
 14005  	// served to this placement. If this object is provided, the
 14006  	// creative-level transcode settings will be overridden.
 14007  	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
 14008  
 14009  	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
 14010  	// to unconditionally include in API requests. By default, fields with
 14011  	// empty values are omitted from API requests. However, any non-pointer,
 14012  	// non-interface field appearing in ForceSendFields will be sent to the
 14013  	// server regardless of whether the field is empty or not. This may be
 14014  	// used to include empty fields in Patch requests.
 14015  	ForceSendFields []string `json:"-"`
 14016  
 14017  	// NullFields is a list of field names (e.g. "CompanionSettings") to
 14018  	// include in API requests with the JSON null value. By default, fields
 14019  	// with empty values are omitted from API requests. However, any field
 14020  	// with an empty value appearing in NullFields will be sent to the
 14021  	// server as null. It is an error if a field in this list has a
 14022  	// non-empty value. This may be used to include null fields in Patch
 14023  	// requests.
 14024  	NullFields []string `json:"-"`
 14025  }
 14026  
 14027  func (s *VideoSettings) MarshalJSON() ([]byte, error) {
 14028  	type NoMethod VideoSettings
 14029  	raw := NoMethod(*s)
 14030  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14031  }
 14032  
 14033  // method id "dfareporting.accountActiveAdSummaries.get":
 14034  
 14035  type AccountActiveAdSummariesGetCall struct {
 14036  	s                *Service
 14037  	profileId        int64
 14038  	summaryAccountId int64
 14039  	urlParams_       gensupport.URLParams
 14040  	ifNoneMatch_     string
 14041  	ctx_             context.Context
 14042  	header_          http.Header
 14043  }
 14044  
 14045  // Get: Gets the account's active ad summary by account ID.
 14046  func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
 14047  	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14048  	c.profileId = profileId
 14049  	c.summaryAccountId = summaryAccountId
 14050  	return c
 14051  }
 14052  
 14053  // Fields allows partial responses to be retrieved. See
 14054  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14055  // for more information.
 14056  func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
 14057  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14058  	return c
 14059  }
 14060  
 14061  // IfNoneMatch sets the optional parameter which makes the operation
 14062  // fail if the object's ETag matches the given value. This is useful for
 14063  // getting updates only after the object has changed since the last
 14064  // request. Use googleapi.IsNotModified to check whether the response
 14065  // error from Do is the result of In-None-Match.
 14066  func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
 14067  	c.ifNoneMatch_ = entityTag
 14068  	return c
 14069  }
 14070  
 14071  // Context sets the context to be used in this call's Do method. Any
 14072  // pending HTTP request will be aborted if the provided context is
 14073  // canceled.
 14074  func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 14075  	c.ctx_ = ctx
 14076  	return c
 14077  }
 14078  
 14079  // Header returns an http.Header that can be modified by the caller to
 14080  // add HTTP headers to the request.
 14081  func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
 14082  	if c.header_ == nil {
 14083  		c.header_ = make(http.Header)
 14084  	}
 14085  	return c.header_
 14086  }
 14087  
 14088  func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 14089  	reqHeaders := make(http.Header)
 14090  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14091  	for k, v := range c.header_ {
 14092  		reqHeaders[k] = v
 14093  	}
 14094  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14095  	if c.ifNoneMatch_ != "" {
 14096  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14097  	}
 14098  	var body io.Reader = nil
 14099  	c.urlParams_.Set("alt", alt)
 14100  	c.urlParams_.Set("prettyPrint", "false")
 14101  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
 14102  	urls += "?" + c.urlParams_.Encode()
 14103  	req, err := http.NewRequest("GET", urls, body)
 14104  	if err != nil {
 14105  		return nil, err
 14106  	}
 14107  	req.Header = reqHeaders
 14108  	googleapi.Expand(req.URL, map[string]string{
 14109  		"profileId":        strconv.FormatInt(c.profileId, 10),
 14110  		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 14111  	})
 14112  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14113  }
 14114  
 14115  // Do executes the "dfareporting.accountActiveAdSummaries.get" call.
 14116  // Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
 14117  // non-2xx status code is an error. Response headers are in either
 14118  // *AccountActiveAdSummary.ServerResponse.Header or (if a response was
 14119  // returned at all) in error.(*googleapi.Error).Header. Use
 14120  // googleapi.IsNotModified to check whether the returned error was
 14121  // because http.StatusNotModified was returned.
 14122  func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
 14123  	gensupport.SetOptions(c.urlParams_, opts...)
 14124  	res, err := c.doRequest("json")
 14125  	if res != nil && res.StatusCode == http.StatusNotModified {
 14126  		if res.Body != nil {
 14127  			res.Body.Close()
 14128  		}
 14129  		return nil, &googleapi.Error{
 14130  			Code:   res.StatusCode,
 14131  			Header: res.Header,
 14132  		}
 14133  	}
 14134  	if err != nil {
 14135  		return nil, err
 14136  	}
 14137  	defer googleapi.CloseBody(res)
 14138  	if err := googleapi.CheckResponse(res); err != nil {
 14139  		return nil, err
 14140  	}
 14141  	ret := &AccountActiveAdSummary{
 14142  		ServerResponse: googleapi.ServerResponse{
 14143  			Header:         res.Header,
 14144  			HTTPStatusCode: res.StatusCode,
 14145  		},
 14146  	}
 14147  	target := &ret
 14148  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14149  		return nil, err
 14150  	}
 14151  	return ret, nil
 14152  	// {
 14153  	//   "description": "Gets the account's active ad summary by account ID.",
 14154  	//   "httpMethod": "GET",
 14155  	//   "id": "dfareporting.accountActiveAdSummaries.get",
 14156  	//   "parameterOrder": [
 14157  	//     "profileId",
 14158  	//     "summaryAccountId"
 14159  	//   ],
 14160  	//   "parameters": {
 14161  	//     "profileId": {
 14162  	//       "description": "User profile ID associated with this request.",
 14163  	//       "format": "int64",
 14164  	//       "location": "path",
 14165  	//       "required": true,
 14166  	//       "type": "string"
 14167  	//     },
 14168  	//     "summaryAccountId": {
 14169  	//       "description": "Account ID.",
 14170  	//       "format": "int64",
 14171  	//       "location": "path",
 14172  	//       "required": true,
 14173  	//       "type": "string"
 14174  	//     }
 14175  	//   },
 14176  	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 14177  	//   "response": {
 14178  	//     "$ref": "AccountActiveAdSummary"
 14179  	//   },
 14180  	//   "scopes": [
 14181  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14182  	//   ]
 14183  	// }
 14184  
 14185  }
 14186  
 14187  // method id "dfareporting.accountPermissionGroups.get":
 14188  
 14189  type AccountPermissionGroupsGetCall struct {
 14190  	s            *Service
 14191  	profileId    int64
 14192  	id           int64
 14193  	urlParams_   gensupport.URLParams
 14194  	ifNoneMatch_ string
 14195  	ctx_         context.Context
 14196  	header_      http.Header
 14197  }
 14198  
 14199  // Get: Gets one account permission group by ID.
 14200  func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
 14201  	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14202  	c.profileId = profileId
 14203  	c.id = id
 14204  	return c
 14205  }
 14206  
 14207  // Fields allows partial responses to be retrieved. See
 14208  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14209  // for more information.
 14210  func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
 14211  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14212  	return c
 14213  }
 14214  
 14215  // IfNoneMatch sets the optional parameter which makes the operation
 14216  // fail if the object's ETag matches the given value. This is useful for
 14217  // getting updates only after the object has changed since the last
 14218  // request. Use googleapi.IsNotModified to check whether the response
 14219  // error from Do is the result of In-None-Match.
 14220  func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
 14221  	c.ifNoneMatch_ = entityTag
 14222  	return c
 14223  }
 14224  
 14225  // Context sets the context to be used in this call's Do method. Any
 14226  // pending HTTP request will be aborted if the provided context is
 14227  // canceled.
 14228  func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 14229  	c.ctx_ = ctx
 14230  	return c
 14231  }
 14232  
 14233  // Header returns an http.Header that can be modified by the caller to
 14234  // add HTTP headers to the request.
 14235  func (c *AccountPermissionGroupsGetCall) Header() http.Header {
 14236  	if c.header_ == nil {
 14237  		c.header_ = make(http.Header)
 14238  	}
 14239  	return c.header_
 14240  }
 14241  
 14242  func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 14243  	reqHeaders := make(http.Header)
 14244  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14245  	for k, v := range c.header_ {
 14246  		reqHeaders[k] = v
 14247  	}
 14248  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14249  	if c.ifNoneMatch_ != "" {
 14250  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14251  	}
 14252  	var body io.Reader = nil
 14253  	c.urlParams_.Set("alt", alt)
 14254  	c.urlParams_.Set("prettyPrint", "false")
 14255  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
 14256  	urls += "?" + c.urlParams_.Encode()
 14257  	req, err := http.NewRequest("GET", urls, body)
 14258  	if err != nil {
 14259  		return nil, err
 14260  	}
 14261  	req.Header = reqHeaders
 14262  	googleapi.Expand(req.URL, map[string]string{
 14263  		"profileId": strconv.FormatInt(c.profileId, 10),
 14264  		"id":        strconv.FormatInt(c.id, 10),
 14265  	})
 14266  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14267  }
 14268  
 14269  // Do executes the "dfareporting.accountPermissionGroups.get" call.
 14270  // Exactly one of *AccountPermissionGroup or error will be non-nil. Any
 14271  // non-2xx status code is an error. Response headers are in either
 14272  // *AccountPermissionGroup.ServerResponse.Header or (if a response was
 14273  // returned at all) in error.(*googleapi.Error).Header. Use
 14274  // googleapi.IsNotModified to check whether the returned error was
 14275  // because http.StatusNotModified was returned.
 14276  func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
 14277  	gensupport.SetOptions(c.urlParams_, opts...)
 14278  	res, err := c.doRequest("json")
 14279  	if res != nil && res.StatusCode == http.StatusNotModified {
 14280  		if res.Body != nil {
 14281  			res.Body.Close()
 14282  		}
 14283  		return nil, &googleapi.Error{
 14284  			Code:   res.StatusCode,
 14285  			Header: res.Header,
 14286  		}
 14287  	}
 14288  	if err != nil {
 14289  		return nil, err
 14290  	}
 14291  	defer googleapi.CloseBody(res)
 14292  	if err := googleapi.CheckResponse(res); err != nil {
 14293  		return nil, err
 14294  	}
 14295  	ret := &AccountPermissionGroup{
 14296  		ServerResponse: googleapi.ServerResponse{
 14297  			Header:         res.Header,
 14298  			HTTPStatusCode: res.StatusCode,
 14299  		},
 14300  	}
 14301  	target := &ret
 14302  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14303  		return nil, err
 14304  	}
 14305  	return ret, nil
 14306  	// {
 14307  	//   "description": "Gets one account permission group by ID.",
 14308  	//   "httpMethod": "GET",
 14309  	//   "id": "dfareporting.accountPermissionGroups.get",
 14310  	//   "parameterOrder": [
 14311  	//     "profileId",
 14312  	//     "id"
 14313  	//   ],
 14314  	//   "parameters": {
 14315  	//     "id": {
 14316  	//       "description": "Account permission group ID.",
 14317  	//       "format": "int64",
 14318  	//       "location": "path",
 14319  	//       "required": true,
 14320  	//       "type": "string"
 14321  	//     },
 14322  	//     "profileId": {
 14323  	//       "description": "User profile ID associated with this request.",
 14324  	//       "format": "int64",
 14325  	//       "location": "path",
 14326  	//       "required": true,
 14327  	//       "type": "string"
 14328  	//     }
 14329  	//   },
 14330  	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 14331  	//   "response": {
 14332  	//     "$ref": "AccountPermissionGroup"
 14333  	//   },
 14334  	//   "scopes": [
 14335  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14336  	//   ]
 14337  	// }
 14338  
 14339  }
 14340  
 14341  // method id "dfareporting.accountPermissionGroups.list":
 14342  
 14343  type AccountPermissionGroupsListCall struct {
 14344  	s            *Service
 14345  	profileId    int64
 14346  	urlParams_   gensupport.URLParams
 14347  	ifNoneMatch_ string
 14348  	ctx_         context.Context
 14349  	header_      http.Header
 14350  }
 14351  
 14352  // List: Retrieves the list of account permission groups.
 14353  func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
 14354  	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14355  	c.profileId = profileId
 14356  	return c
 14357  }
 14358  
 14359  // Fields allows partial responses to be retrieved. See
 14360  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14361  // for more information.
 14362  func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
 14363  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14364  	return c
 14365  }
 14366  
 14367  // IfNoneMatch sets the optional parameter which makes the operation
 14368  // fail if the object's ETag matches the given value. This is useful for
 14369  // getting updates only after the object has changed since the last
 14370  // request. Use googleapi.IsNotModified to check whether the response
 14371  // error from Do is the result of In-None-Match.
 14372  func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
 14373  	c.ifNoneMatch_ = entityTag
 14374  	return c
 14375  }
 14376  
 14377  // Context sets the context to be used in this call's Do method. Any
 14378  // pending HTTP request will be aborted if the provided context is
 14379  // canceled.
 14380  func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 14381  	c.ctx_ = ctx
 14382  	return c
 14383  }
 14384  
 14385  // Header returns an http.Header that can be modified by the caller to
 14386  // add HTTP headers to the request.
 14387  func (c *AccountPermissionGroupsListCall) Header() http.Header {
 14388  	if c.header_ == nil {
 14389  		c.header_ = make(http.Header)
 14390  	}
 14391  	return c.header_
 14392  }
 14393  
 14394  func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 14395  	reqHeaders := make(http.Header)
 14396  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14397  	for k, v := range c.header_ {
 14398  		reqHeaders[k] = v
 14399  	}
 14400  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14401  	if c.ifNoneMatch_ != "" {
 14402  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14403  	}
 14404  	var body io.Reader = nil
 14405  	c.urlParams_.Set("alt", alt)
 14406  	c.urlParams_.Set("prettyPrint", "false")
 14407  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
 14408  	urls += "?" + c.urlParams_.Encode()
 14409  	req, err := http.NewRequest("GET", urls, body)
 14410  	if err != nil {
 14411  		return nil, err
 14412  	}
 14413  	req.Header = reqHeaders
 14414  	googleapi.Expand(req.URL, map[string]string{
 14415  		"profileId": strconv.FormatInt(c.profileId, 10),
 14416  	})
 14417  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14418  }
 14419  
 14420  // Do executes the "dfareporting.accountPermissionGroups.list" call.
 14421  // Exactly one of *AccountPermissionGroupsListResponse or error will be
 14422  // non-nil. Any non-2xx status code is an error. Response headers are in
 14423  // either *AccountPermissionGroupsListResponse.ServerResponse.Header or
 14424  // (if a response was returned at all) in
 14425  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14426  // whether the returned error was because http.StatusNotModified was
 14427  // returned.
 14428  func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
 14429  	gensupport.SetOptions(c.urlParams_, opts...)
 14430  	res, err := c.doRequest("json")
 14431  	if res != nil && res.StatusCode == http.StatusNotModified {
 14432  		if res.Body != nil {
 14433  			res.Body.Close()
 14434  		}
 14435  		return nil, &googleapi.Error{
 14436  			Code:   res.StatusCode,
 14437  			Header: res.Header,
 14438  		}
 14439  	}
 14440  	if err != nil {
 14441  		return nil, err
 14442  	}
 14443  	defer googleapi.CloseBody(res)
 14444  	if err := googleapi.CheckResponse(res); err != nil {
 14445  		return nil, err
 14446  	}
 14447  	ret := &AccountPermissionGroupsListResponse{
 14448  		ServerResponse: googleapi.ServerResponse{
 14449  			Header:         res.Header,
 14450  			HTTPStatusCode: res.StatusCode,
 14451  		},
 14452  	}
 14453  	target := &ret
 14454  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14455  		return nil, err
 14456  	}
 14457  	return ret, nil
 14458  	// {
 14459  	//   "description": "Retrieves the list of account permission groups.",
 14460  	//   "httpMethod": "GET",
 14461  	//   "id": "dfareporting.accountPermissionGroups.list",
 14462  	//   "parameterOrder": [
 14463  	//     "profileId"
 14464  	//   ],
 14465  	//   "parameters": {
 14466  	//     "profileId": {
 14467  	//       "description": "User profile ID associated with this request.",
 14468  	//       "format": "int64",
 14469  	//       "location": "path",
 14470  	//       "required": true,
 14471  	//       "type": "string"
 14472  	//     }
 14473  	//   },
 14474  	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
 14475  	//   "response": {
 14476  	//     "$ref": "AccountPermissionGroupsListResponse"
 14477  	//   },
 14478  	//   "scopes": [
 14479  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14480  	//   ]
 14481  	// }
 14482  
 14483  }
 14484  
 14485  // method id "dfareporting.accountPermissions.get":
 14486  
 14487  type AccountPermissionsGetCall struct {
 14488  	s            *Service
 14489  	profileId    int64
 14490  	id           int64
 14491  	urlParams_   gensupport.URLParams
 14492  	ifNoneMatch_ string
 14493  	ctx_         context.Context
 14494  	header_      http.Header
 14495  }
 14496  
 14497  // Get: Gets one account permission by ID.
 14498  func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
 14499  	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14500  	c.profileId = profileId
 14501  	c.id = id
 14502  	return c
 14503  }
 14504  
 14505  // Fields allows partial responses to be retrieved. See
 14506  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14507  // for more information.
 14508  func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
 14509  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14510  	return c
 14511  }
 14512  
 14513  // IfNoneMatch sets the optional parameter which makes the operation
 14514  // fail if the object's ETag matches the given value. This is useful for
 14515  // getting updates only after the object has changed since the last
 14516  // request. Use googleapi.IsNotModified to check whether the response
 14517  // error from Do is the result of In-None-Match.
 14518  func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
 14519  	c.ifNoneMatch_ = entityTag
 14520  	return c
 14521  }
 14522  
 14523  // Context sets the context to be used in this call's Do method. Any
 14524  // pending HTTP request will be aborted if the provided context is
 14525  // canceled.
 14526  func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 14527  	c.ctx_ = ctx
 14528  	return c
 14529  }
 14530  
 14531  // Header returns an http.Header that can be modified by the caller to
 14532  // add HTTP headers to the request.
 14533  func (c *AccountPermissionsGetCall) Header() http.Header {
 14534  	if c.header_ == nil {
 14535  		c.header_ = make(http.Header)
 14536  	}
 14537  	return c.header_
 14538  }
 14539  
 14540  func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 14541  	reqHeaders := make(http.Header)
 14542  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14543  	for k, v := range c.header_ {
 14544  		reqHeaders[k] = v
 14545  	}
 14546  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14547  	if c.ifNoneMatch_ != "" {
 14548  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14549  	}
 14550  	var body io.Reader = nil
 14551  	c.urlParams_.Set("alt", alt)
 14552  	c.urlParams_.Set("prettyPrint", "false")
 14553  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
 14554  	urls += "?" + c.urlParams_.Encode()
 14555  	req, err := http.NewRequest("GET", urls, body)
 14556  	if err != nil {
 14557  		return nil, err
 14558  	}
 14559  	req.Header = reqHeaders
 14560  	googleapi.Expand(req.URL, map[string]string{
 14561  		"profileId": strconv.FormatInt(c.profileId, 10),
 14562  		"id":        strconv.FormatInt(c.id, 10),
 14563  	})
 14564  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14565  }
 14566  
 14567  // Do executes the "dfareporting.accountPermissions.get" call.
 14568  // Exactly one of *AccountPermission or error will be non-nil. Any
 14569  // non-2xx status code is an error. Response headers are in either
 14570  // *AccountPermission.ServerResponse.Header or (if a response was
 14571  // returned at all) in error.(*googleapi.Error).Header. Use
 14572  // googleapi.IsNotModified to check whether the returned error was
 14573  // because http.StatusNotModified was returned.
 14574  func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
 14575  	gensupport.SetOptions(c.urlParams_, opts...)
 14576  	res, err := c.doRequest("json")
 14577  	if res != nil && res.StatusCode == http.StatusNotModified {
 14578  		if res.Body != nil {
 14579  			res.Body.Close()
 14580  		}
 14581  		return nil, &googleapi.Error{
 14582  			Code:   res.StatusCode,
 14583  			Header: res.Header,
 14584  		}
 14585  	}
 14586  	if err != nil {
 14587  		return nil, err
 14588  	}
 14589  	defer googleapi.CloseBody(res)
 14590  	if err := googleapi.CheckResponse(res); err != nil {
 14591  		return nil, err
 14592  	}
 14593  	ret := &AccountPermission{
 14594  		ServerResponse: googleapi.ServerResponse{
 14595  			Header:         res.Header,
 14596  			HTTPStatusCode: res.StatusCode,
 14597  		},
 14598  	}
 14599  	target := &ret
 14600  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14601  		return nil, err
 14602  	}
 14603  	return ret, nil
 14604  	// {
 14605  	//   "description": "Gets one account permission by ID.",
 14606  	//   "httpMethod": "GET",
 14607  	//   "id": "dfareporting.accountPermissions.get",
 14608  	//   "parameterOrder": [
 14609  	//     "profileId",
 14610  	//     "id"
 14611  	//   ],
 14612  	//   "parameters": {
 14613  	//     "id": {
 14614  	//       "description": "Account permission ID.",
 14615  	//       "format": "int64",
 14616  	//       "location": "path",
 14617  	//       "required": true,
 14618  	//       "type": "string"
 14619  	//     },
 14620  	//     "profileId": {
 14621  	//       "description": "User profile ID associated with this request.",
 14622  	//       "format": "int64",
 14623  	//       "location": "path",
 14624  	//       "required": true,
 14625  	//       "type": "string"
 14626  	//     }
 14627  	//   },
 14628  	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
 14629  	//   "response": {
 14630  	//     "$ref": "AccountPermission"
 14631  	//   },
 14632  	//   "scopes": [
 14633  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14634  	//   ]
 14635  	// }
 14636  
 14637  }
 14638  
 14639  // method id "dfareporting.accountPermissions.list":
 14640  
 14641  type AccountPermissionsListCall struct {
 14642  	s            *Service
 14643  	profileId    int64
 14644  	urlParams_   gensupport.URLParams
 14645  	ifNoneMatch_ string
 14646  	ctx_         context.Context
 14647  	header_      http.Header
 14648  }
 14649  
 14650  // List: Retrieves the list of account permissions.
 14651  func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
 14652  	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14653  	c.profileId = profileId
 14654  	return c
 14655  }
 14656  
 14657  // Fields allows partial responses to be retrieved. See
 14658  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14659  // for more information.
 14660  func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
 14661  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14662  	return c
 14663  }
 14664  
 14665  // IfNoneMatch sets the optional parameter which makes the operation
 14666  // fail if the object's ETag matches the given value. This is useful for
 14667  // getting updates only after the object has changed since the last
 14668  // request. Use googleapi.IsNotModified to check whether the response
 14669  // error from Do is the result of In-None-Match.
 14670  func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
 14671  	c.ifNoneMatch_ = entityTag
 14672  	return c
 14673  }
 14674  
 14675  // Context sets the context to be used in this call's Do method. Any
 14676  // pending HTTP request will be aborted if the provided context is
 14677  // canceled.
 14678  func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 14679  	c.ctx_ = ctx
 14680  	return c
 14681  }
 14682  
 14683  // Header returns an http.Header that can be modified by the caller to
 14684  // add HTTP headers to the request.
 14685  func (c *AccountPermissionsListCall) Header() http.Header {
 14686  	if c.header_ == nil {
 14687  		c.header_ = make(http.Header)
 14688  	}
 14689  	return c.header_
 14690  }
 14691  
 14692  func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 14693  	reqHeaders := make(http.Header)
 14694  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14695  	for k, v := range c.header_ {
 14696  		reqHeaders[k] = v
 14697  	}
 14698  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14699  	if c.ifNoneMatch_ != "" {
 14700  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14701  	}
 14702  	var body io.Reader = nil
 14703  	c.urlParams_.Set("alt", alt)
 14704  	c.urlParams_.Set("prettyPrint", "false")
 14705  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
 14706  	urls += "?" + c.urlParams_.Encode()
 14707  	req, err := http.NewRequest("GET", urls, body)
 14708  	if err != nil {
 14709  		return nil, err
 14710  	}
 14711  	req.Header = reqHeaders
 14712  	googleapi.Expand(req.URL, map[string]string{
 14713  		"profileId": strconv.FormatInt(c.profileId, 10),
 14714  	})
 14715  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14716  }
 14717  
 14718  // Do executes the "dfareporting.accountPermissions.list" call.
 14719  // Exactly one of *AccountPermissionsListResponse or error will be
 14720  // non-nil. Any non-2xx status code is an error. Response headers are in
 14721  // either *AccountPermissionsListResponse.ServerResponse.Header or (if a
 14722  // response was returned at all) in error.(*googleapi.Error).Header. Use
 14723  // googleapi.IsNotModified to check whether the returned error was
 14724  // because http.StatusNotModified was returned.
 14725  func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
 14726  	gensupport.SetOptions(c.urlParams_, opts...)
 14727  	res, err := c.doRequest("json")
 14728  	if res != nil && res.StatusCode == http.StatusNotModified {
 14729  		if res.Body != nil {
 14730  			res.Body.Close()
 14731  		}
 14732  		return nil, &googleapi.Error{
 14733  			Code:   res.StatusCode,
 14734  			Header: res.Header,
 14735  		}
 14736  	}
 14737  	if err != nil {
 14738  		return nil, err
 14739  	}
 14740  	defer googleapi.CloseBody(res)
 14741  	if err := googleapi.CheckResponse(res); err != nil {
 14742  		return nil, err
 14743  	}
 14744  	ret := &AccountPermissionsListResponse{
 14745  		ServerResponse: googleapi.ServerResponse{
 14746  			Header:         res.Header,
 14747  			HTTPStatusCode: res.StatusCode,
 14748  		},
 14749  	}
 14750  	target := &ret
 14751  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14752  		return nil, err
 14753  	}
 14754  	return ret, nil
 14755  	// {
 14756  	//   "description": "Retrieves the list of account permissions.",
 14757  	//   "httpMethod": "GET",
 14758  	//   "id": "dfareporting.accountPermissions.list",
 14759  	//   "parameterOrder": [
 14760  	//     "profileId"
 14761  	//   ],
 14762  	//   "parameters": {
 14763  	//     "profileId": {
 14764  	//       "description": "User profile ID associated with this request.",
 14765  	//       "format": "int64",
 14766  	//       "location": "path",
 14767  	//       "required": true,
 14768  	//       "type": "string"
 14769  	//     }
 14770  	//   },
 14771  	//   "path": "userprofiles/{profileId}/accountPermissions",
 14772  	//   "response": {
 14773  	//     "$ref": "AccountPermissionsListResponse"
 14774  	//   },
 14775  	//   "scopes": [
 14776  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14777  	//   ]
 14778  	// }
 14779  
 14780  }
 14781  
 14782  // method id "dfareporting.accountUserProfiles.get":
 14783  
 14784  type AccountUserProfilesGetCall struct {
 14785  	s            *Service
 14786  	profileId    int64
 14787  	id           int64
 14788  	urlParams_   gensupport.URLParams
 14789  	ifNoneMatch_ string
 14790  	ctx_         context.Context
 14791  	header_      http.Header
 14792  }
 14793  
 14794  // Get: Gets one account user profile by ID.
 14795  func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
 14796  	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14797  	c.profileId = profileId
 14798  	c.id = id
 14799  	return c
 14800  }
 14801  
 14802  // Fields allows partial responses to be retrieved. See
 14803  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14804  // for more information.
 14805  func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
 14806  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14807  	return c
 14808  }
 14809  
 14810  // IfNoneMatch sets the optional parameter which makes the operation
 14811  // fail if the object's ETag matches the given value. This is useful for
 14812  // getting updates only after the object has changed since the last
 14813  // request. Use googleapi.IsNotModified to check whether the response
 14814  // error from Do is the result of In-None-Match.
 14815  func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
 14816  	c.ifNoneMatch_ = entityTag
 14817  	return c
 14818  }
 14819  
 14820  // Context sets the context to be used in this call's Do method. Any
 14821  // pending HTTP request will be aborted if the provided context is
 14822  // canceled.
 14823  func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 14824  	c.ctx_ = ctx
 14825  	return c
 14826  }
 14827  
 14828  // Header returns an http.Header that can be modified by the caller to
 14829  // add HTTP headers to the request.
 14830  func (c *AccountUserProfilesGetCall) Header() http.Header {
 14831  	if c.header_ == nil {
 14832  		c.header_ = make(http.Header)
 14833  	}
 14834  	return c.header_
 14835  }
 14836  
 14837  func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 14838  	reqHeaders := make(http.Header)
 14839  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14840  	for k, v := range c.header_ {
 14841  		reqHeaders[k] = v
 14842  	}
 14843  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14844  	if c.ifNoneMatch_ != "" {
 14845  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14846  	}
 14847  	var body io.Reader = nil
 14848  	c.urlParams_.Set("alt", alt)
 14849  	c.urlParams_.Set("prettyPrint", "false")
 14850  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
 14851  	urls += "?" + c.urlParams_.Encode()
 14852  	req, err := http.NewRequest("GET", urls, body)
 14853  	if err != nil {
 14854  		return nil, err
 14855  	}
 14856  	req.Header = reqHeaders
 14857  	googleapi.Expand(req.URL, map[string]string{
 14858  		"profileId": strconv.FormatInt(c.profileId, 10),
 14859  		"id":        strconv.FormatInt(c.id, 10),
 14860  	})
 14861  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14862  }
 14863  
 14864  // Do executes the "dfareporting.accountUserProfiles.get" call.
 14865  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 14866  // non-2xx status code is an error. Response headers are in either
 14867  // *AccountUserProfile.ServerResponse.Header or (if a response was
 14868  // returned at all) in error.(*googleapi.Error).Header. Use
 14869  // googleapi.IsNotModified to check whether the returned error was
 14870  // because http.StatusNotModified was returned.
 14871  func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 14872  	gensupport.SetOptions(c.urlParams_, opts...)
 14873  	res, err := c.doRequest("json")
 14874  	if res != nil && res.StatusCode == http.StatusNotModified {
 14875  		if res.Body != nil {
 14876  			res.Body.Close()
 14877  		}
 14878  		return nil, &googleapi.Error{
 14879  			Code:   res.StatusCode,
 14880  			Header: res.Header,
 14881  		}
 14882  	}
 14883  	if err != nil {
 14884  		return nil, err
 14885  	}
 14886  	defer googleapi.CloseBody(res)
 14887  	if err := googleapi.CheckResponse(res); err != nil {
 14888  		return nil, err
 14889  	}
 14890  	ret := &AccountUserProfile{
 14891  		ServerResponse: googleapi.ServerResponse{
 14892  			Header:         res.Header,
 14893  			HTTPStatusCode: res.StatusCode,
 14894  		},
 14895  	}
 14896  	target := &ret
 14897  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14898  		return nil, err
 14899  	}
 14900  	return ret, nil
 14901  	// {
 14902  	//   "description": "Gets one account user profile by ID.",
 14903  	//   "httpMethod": "GET",
 14904  	//   "id": "dfareporting.accountUserProfiles.get",
 14905  	//   "parameterOrder": [
 14906  	//     "profileId",
 14907  	//     "id"
 14908  	//   ],
 14909  	//   "parameters": {
 14910  	//     "id": {
 14911  	//       "description": "User profile ID.",
 14912  	//       "format": "int64",
 14913  	//       "location": "path",
 14914  	//       "required": true,
 14915  	//       "type": "string"
 14916  	//     },
 14917  	//     "profileId": {
 14918  	//       "description": "User profile ID associated with this request.",
 14919  	//       "format": "int64",
 14920  	//       "location": "path",
 14921  	//       "required": true,
 14922  	//       "type": "string"
 14923  	//     }
 14924  	//   },
 14925  	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
 14926  	//   "response": {
 14927  	//     "$ref": "AccountUserProfile"
 14928  	//   },
 14929  	//   "scopes": [
 14930  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14931  	//   ]
 14932  	// }
 14933  
 14934  }
 14935  
 14936  // method id "dfareporting.accountUserProfiles.insert":
 14937  
 14938  type AccountUserProfilesInsertCall struct {
 14939  	s                  *Service
 14940  	profileId          int64
 14941  	accountuserprofile *AccountUserProfile
 14942  	urlParams_         gensupport.URLParams
 14943  	ctx_               context.Context
 14944  	header_            http.Header
 14945  }
 14946  
 14947  // Insert: Inserts a new account user profile.
 14948  func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
 14949  	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14950  	c.profileId = profileId
 14951  	c.accountuserprofile = accountuserprofile
 14952  	return c
 14953  }
 14954  
 14955  // Fields allows partial responses to be retrieved. See
 14956  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14957  // for more information.
 14958  func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
 14959  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14960  	return c
 14961  }
 14962  
 14963  // Context sets the context to be used in this call's Do method. Any
 14964  // pending HTTP request will be aborted if the provided context is
 14965  // canceled.
 14966  func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
 14967  	c.ctx_ = ctx
 14968  	return c
 14969  }
 14970  
 14971  // Header returns an http.Header that can be modified by the caller to
 14972  // add HTTP headers to the request.
 14973  func (c *AccountUserProfilesInsertCall) Header() http.Header {
 14974  	if c.header_ == nil {
 14975  		c.header_ = make(http.Header)
 14976  	}
 14977  	return c.header_
 14978  }
 14979  
 14980  func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 14981  	reqHeaders := make(http.Header)
 14982  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14983  	for k, v := range c.header_ {
 14984  		reqHeaders[k] = v
 14985  	}
 14986  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14987  	var body io.Reader = nil
 14988  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 14989  	if err != nil {
 14990  		return nil, err
 14991  	}
 14992  	reqHeaders.Set("Content-Type", "application/json")
 14993  	c.urlParams_.Set("alt", alt)
 14994  	c.urlParams_.Set("prettyPrint", "false")
 14995  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 14996  	urls += "?" + c.urlParams_.Encode()
 14997  	req, err := http.NewRequest("POST", urls, body)
 14998  	if err != nil {
 14999  		return nil, err
 15000  	}
 15001  	req.Header = reqHeaders
 15002  	googleapi.Expand(req.URL, map[string]string{
 15003  		"profileId": strconv.FormatInt(c.profileId, 10),
 15004  	})
 15005  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15006  }
 15007  
 15008  // Do executes the "dfareporting.accountUserProfiles.insert" call.
 15009  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15010  // non-2xx status code is an error. Response headers are in either
 15011  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15012  // returned at all) in error.(*googleapi.Error).Header. Use
 15013  // googleapi.IsNotModified to check whether the returned error was
 15014  // because http.StatusNotModified was returned.
 15015  func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15016  	gensupport.SetOptions(c.urlParams_, opts...)
 15017  	res, err := c.doRequest("json")
 15018  	if res != nil && res.StatusCode == http.StatusNotModified {
 15019  		if res.Body != nil {
 15020  			res.Body.Close()
 15021  		}
 15022  		return nil, &googleapi.Error{
 15023  			Code:   res.StatusCode,
 15024  			Header: res.Header,
 15025  		}
 15026  	}
 15027  	if err != nil {
 15028  		return nil, err
 15029  	}
 15030  	defer googleapi.CloseBody(res)
 15031  	if err := googleapi.CheckResponse(res); err != nil {
 15032  		return nil, err
 15033  	}
 15034  	ret := &AccountUserProfile{
 15035  		ServerResponse: googleapi.ServerResponse{
 15036  			Header:         res.Header,
 15037  			HTTPStatusCode: res.StatusCode,
 15038  		},
 15039  	}
 15040  	target := &ret
 15041  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15042  		return nil, err
 15043  	}
 15044  	return ret, nil
 15045  	// {
 15046  	//   "description": "Inserts a new account user profile.",
 15047  	//   "httpMethod": "POST",
 15048  	//   "id": "dfareporting.accountUserProfiles.insert",
 15049  	//   "parameterOrder": [
 15050  	//     "profileId"
 15051  	//   ],
 15052  	//   "parameters": {
 15053  	//     "profileId": {
 15054  	//       "description": "User profile ID associated with this request.",
 15055  	//       "format": "int64",
 15056  	//       "location": "path",
 15057  	//       "required": true,
 15058  	//       "type": "string"
 15059  	//     }
 15060  	//   },
 15061  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15062  	//   "request": {
 15063  	//     "$ref": "AccountUserProfile"
 15064  	//   },
 15065  	//   "response": {
 15066  	//     "$ref": "AccountUserProfile"
 15067  	//   },
 15068  	//   "scopes": [
 15069  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15070  	//   ]
 15071  	// }
 15072  
 15073  }
 15074  
 15075  // method id "dfareporting.accountUserProfiles.list":
 15076  
 15077  type AccountUserProfilesListCall struct {
 15078  	s            *Service
 15079  	profileId    int64
 15080  	urlParams_   gensupport.URLParams
 15081  	ifNoneMatch_ string
 15082  	ctx_         context.Context
 15083  	header_      http.Header
 15084  }
 15085  
 15086  // List: Retrieves a list of account user profiles, possibly filtered.
 15087  // This method supports paging.
 15088  func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
 15089  	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15090  	c.profileId = profileId
 15091  	return c
 15092  }
 15093  
 15094  // Active sets the optional parameter "active": Select only active user
 15095  // profiles.
 15096  func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
 15097  	c.urlParams_.Set("active", fmt.Sprint(active))
 15098  	return c
 15099  }
 15100  
 15101  // Ids sets the optional parameter "ids": Select only user profiles with
 15102  // these IDs.
 15103  func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
 15104  	var ids_ []string
 15105  	for _, v := range ids {
 15106  		ids_ = append(ids_, fmt.Sprint(v))
 15107  	}
 15108  	c.urlParams_.SetMulti("ids", ids_)
 15109  	return c
 15110  }
 15111  
 15112  // MaxResults sets the optional parameter "maxResults": Maximum number
 15113  // of results to return.
 15114  func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
 15115  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15116  	return c
 15117  }
 15118  
 15119  // PageToken sets the optional parameter "pageToken": Value of the
 15120  // nextPageToken from the previous result page.
 15121  func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
 15122  	c.urlParams_.Set("pageToken", pageToken)
 15123  	return c
 15124  }
 15125  
 15126  // SearchString sets the optional parameter "searchString": Allows
 15127  // searching for objects by name, ID or email. Wildcards (*) are
 15128  // allowed. For example, "user profile*2015" will return objects with
 15129  // names like "user profile June 2015", "user profile April 2015", or
 15130  // simply "user profile 2015". Most of the searches also add wildcards
 15131  // implicitly at the start and the end of the search string. For
 15132  // example, a search string of "user profile" will match objects with
 15133  // name "my user profile", "user profile 2015", or simply "user
 15134  // profile".
 15135  func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
 15136  	c.urlParams_.Set("searchString", searchString)
 15137  	return c
 15138  }
 15139  
 15140  // SortField sets the optional parameter "sortField": Field by which to
 15141  // sort the list.
 15142  //
 15143  // Possible values:
 15144  //
 15145  //	"ID" (default)
 15146  //	"NAME"
 15147  func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
 15148  	c.urlParams_.Set("sortField", sortField)
 15149  	return c
 15150  }
 15151  
 15152  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 15153  // results.
 15154  //
 15155  // Possible values:
 15156  //
 15157  //	"ASCENDING" (default)
 15158  //	"DESCENDING"
 15159  func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
 15160  	c.urlParams_.Set("sortOrder", sortOrder)
 15161  	return c
 15162  }
 15163  
 15164  // SubaccountId sets the optional parameter "subaccountId": Select only
 15165  // user profiles with the specified subaccount ID.
 15166  func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
 15167  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 15168  	return c
 15169  }
 15170  
 15171  // UserRoleId sets the optional parameter "userRoleId": Select only user
 15172  // profiles with the specified user role ID.
 15173  func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
 15174  	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
 15175  	return c
 15176  }
 15177  
 15178  // Fields allows partial responses to be retrieved. See
 15179  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15180  // for more information.
 15181  func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
 15182  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15183  	return c
 15184  }
 15185  
 15186  // IfNoneMatch sets the optional parameter which makes the operation
 15187  // fail if the object's ETag matches the given value. This is useful for
 15188  // getting updates only after the object has changed since the last
 15189  // request. Use googleapi.IsNotModified to check whether the response
 15190  // error from Do is the result of In-None-Match.
 15191  func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
 15192  	c.ifNoneMatch_ = entityTag
 15193  	return c
 15194  }
 15195  
 15196  // Context sets the context to be used in this call's Do method. Any
 15197  // pending HTTP request will be aborted if the provided context is
 15198  // canceled.
 15199  func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 15200  	c.ctx_ = ctx
 15201  	return c
 15202  }
 15203  
 15204  // Header returns an http.Header that can be modified by the caller to
 15205  // add HTTP headers to the request.
 15206  func (c *AccountUserProfilesListCall) Header() http.Header {
 15207  	if c.header_ == nil {
 15208  		c.header_ = make(http.Header)
 15209  	}
 15210  	return c.header_
 15211  }
 15212  
 15213  func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 15214  	reqHeaders := make(http.Header)
 15215  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15216  	for k, v := range c.header_ {
 15217  		reqHeaders[k] = v
 15218  	}
 15219  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15220  	if c.ifNoneMatch_ != "" {
 15221  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15222  	}
 15223  	var body io.Reader = nil
 15224  	c.urlParams_.Set("alt", alt)
 15225  	c.urlParams_.Set("prettyPrint", "false")
 15226  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15227  	urls += "?" + c.urlParams_.Encode()
 15228  	req, err := http.NewRequest("GET", urls, body)
 15229  	if err != nil {
 15230  		return nil, err
 15231  	}
 15232  	req.Header = reqHeaders
 15233  	googleapi.Expand(req.URL, map[string]string{
 15234  		"profileId": strconv.FormatInt(c.profileId, 10),
 15235  	})
 15236  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15237  }
 15238  
 15239  // Do executes the "dfareporting.accountUserProfiles.list" call.
 15240  // Exactly one of *AccountUserProfilesListResponse or error will be
 15241  // non-nil. Any non-2xx status code is an error. Response headers are in
 15242  // either *AccountUserProfilesListResponse.ServerResponse.Header or (if
 15243  // a response was returned at all) in error.(*googleapi.Error).Header.
 15244  // Use googleapi.IsNotModified to check whether the returned error was
 15245  // because http.StatusNotModified was returned.
 15246  func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
 15247  	gensupport.SetOptions(c.urlParams_, opts...)
 15248  	res, err := c.doRequest("json")
 15249  	if res != nil && res.StatusCode == http.StatusNotModified {
 15250  		if res.Body != nil {
 15251  			res.Body.Close()
 15252  		}
 15253  		return nil, &googleapi.Error{
 15254  			Code:   res.StatusCode,
 15255  			Header: res.Header,
 15256  		}
 15257  	}
 15258  	if err != nil {
 15259  		return nil, err
 15260  	}
 15261  	defer googleapi.CloseBody(res)
 15262  	if err := googleapi.CheckResponse(res); err != nil {
 15263  		return nil, err
 15264  	}
 15265  	ret := &AccountUserProfilesListResponse{
 15266  		ServerResponse: googleapi.ServerResponse{
 15267  			Header:         res.Header,
 15268  			HTTPStatusCode: res.StatusCode,
 15269  		},
 15270  	}
 15271  	target := &ret
 15272  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15273  		return nil, err
 15274  	}
 15275  	return ret, nil
 15276  	// {
 15277  	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
 15278  	//   "httpMethod": "GET",
 15279  	//   "id": "dfareporting.accountUserProfiles.list",
 15280  	//   "parameterOrder": [
 15281  	//     "profileId"
 15282  	//   ],
 15283  	//   "parameters": {
 15284  	//     "active": {
 15285  	//       "description": "Select only active user profiles.",
 15286  	//       "location": "query",
 15287  	//       "type": "boolean"
 15288  	//     },
 15289  	//     "ids": {
 15290  	//       "description": "Select only user profiles with these IDs.",
 15291  	//       "format": "int64",
 15292  	//       "location": "query",
 15293  	//       "repeated": true,
 15294  	//       "type": "string"
 15295  	//     },
 15296  	//     "maxResults": {
 15297  	//       "default": "1000",
 15298  	//       "description": "Maximum number of results to return.",
 15299  	//       "format": "int32",
 15300  	//       "location": "query",
 15301  	//       "maximum": "1000",
 15302  	//       "minimum": "0",
 15303  	//       "type": "integer"
 15304  	//     },
 15305  	//     "pageToken": {
 15306  	//       "description": "Value of the nextPageToken from the previous result page.",
 15307  	//       "location": "query",
 15308  	//       "type": "string"
 15309  	//     },
 15310  	//     "profileId": {
 15311  	//       "description": "User profile ID associated with this request.",
 15312  	//       "format": "int64",
 15313  	//       "location": "path",
 15314  	//       "required": true,
 15315  	//       "type": "string"
 15316  	//     },
 15317  	//     "searchString": {
 15318  	//       "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\".",
 15319  	//       "location": "query",
 15320  	//       "type": "string"
 15321  	//     },
 15322  	//     "sortField": {
 15323  	//       "default": "ID",
 15324  	//       "description": "Field by which to sort the list.",
 15325  	//       "enum": [
 15326  	//         "ID",
 15327  	//         "NAME"
 15328  	//       ],
 15329  	//       "enumDescriptions": [
 15330  	//         "",
 15331  	//         ""
 15332  	//       ],
 15333  	//       "location": "query",
 15334  	//       "type": "string"
 15335  	//     },
 15336  	//     "sortOrder": {
 15337  	//       "default": "ASCENDING",
 15338  	//       "description": "Order of sorted results.",
 15339  	//       "enum": [
 15340  	//         "ASCENDING",
 15341  	//         "DESCENDING"
 15342  	//       ],
 15343  	//       "enumDescriptions": [
 15344  	//         "",
 15345  	//         ""
 15346  	//       ],
 15347  	//       "location": "query",
 15348  	//       "type": "string"
 15349  	//     },
 15350  	//     "subaccountId": {
 15351  	//       "description": "Select only user profiles with the specified subaccount ID.",
 15352  	//       "format": "int64",
 15353  	//       "location": "query",
 15354  	//       "type": "string"
 15355  	//     },
 15356  	//     "userRoleId": {
 15357  	//       "description": "Select only user profiles with the specified user role ID.",
 15358  	//       "format": "int64",
 15359  	//       "location": "query",
 15360  	//       "type": "string"
 15361  	//     }
 15362  	//   },
 15363  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15364  	//   "response": {
 15365  	//     "$ref": "AccountUserProfilesListResponse"
 15366  	//   },
 15367  	//   "scopes": [
 15368  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15369  	//   ]
 15370  	// }
 15371  
 15372  }
 15373  
 15374  // Pages invokes f for each page of results.
 15375  // A non-nil error returned from f will halt the iteration.
 15376  // The provided context supersedes any context provided to the Context method.
 15377  func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
 15378  	c.ctx_ = ctx
 15379  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 15380  	for {
 15381  		x, err := c.Do()
 15382  		if err != nil {
 15383  			return err
 15384  		}
 15385  		if err := f(x); err != nil {
 15386  			return err
 15387  		}
 15388  		if x.NextPageToken == "" {
 15389  			return nil
 15390  		}
 15391  		c.PageToken(x.NextPageToken)
 15392  	}
 15393  }
 15394  
 15395  // method id "dfareporting.accountUserProfiles.patch":
 15396  
 15397  type AccountUserProfilesPatchCall struct {
 15398  	s                  *Service
 15399  	profileId          int64
 15400  	accountuserprofile *AccountUserProfile
 15401  	urlParams_         gensupport.URLParams
 15402  	ctx_               context.Context
 15403  	header_            http.Header
 15404  }
 15405  
 15406  // Patch: Updates an existing account user profile. This method supports
 15407  // patch semantics.
 15408  func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
 15409  	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15410  	c.profileId = profileId
 15411  	c.urlParams_.Set("id", fmt.Sprint(id))
 15412  	c.accountuserprofile = accountuserprofile
 15413  	return c
 15414  }
 15415  
 15416  // Fields allows partial responses to be retrieved. See
 15417  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15418  // for more information.
 15419  func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
 15420  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15421  	return c
 15422  }
 15423  
 15424  // Context sets the context to be used in this call's Do method. Any
 15425  // pending HTTP request will be aborted if the provided context is
 15426  // canceled.
 15427  func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 15428  	c.ctx_ = ctx
 15429  	return c
 15430  }
 15431  
 15432  // Header returns an http.Header that can be modified by the caller to
 15433  // add HTTP headers to the request.
 15434  func (c *AccountUserProfilesPatchCall) Header() http.Header {
 15435  	if c.header_ == nil {
 15436  		c.header_ = make(http.Header)
 15437  	}
 15438  	return c.header_
 15439  }
 15440  
 15441  func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 15442  	reqHeaders := make(http.Header)
 15443  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15444  	for k, v := range c.header_ {
 15445  		reqHeaders[k] = v
 15446  	}
 15447  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15448  	var body io.Reader = nil
 15449  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15450  	if err != nil {
 15451  		return nil, err
 15452  	}
 15453  	reqHeaders.Set("Content-Type", "application/json")
 15454  	c.urlParams_.Set("alt", alt)
 15455  	c.urlParams_.Set("prettyPrint", "false")
 15456  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15457  	urls += "?" + c.urlParams_.Encode()
 15458  	req, err := http.NewRequest("PATCH", urls, body)
 15459  	if err != nil {
 15460  		return nil, err
 15461  	}
 15462  	req.Header = reqHeaders
 15463  	googleapi.Expand(req.URL, map[string]string{
 15464  		"profileId": strconv.FormatInt(c.profileId, 10),
 15465  	})
 15466  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15467  }
 15468  
 15469  // Do executes the "dfareporting.accountUserProfiles.patch" call.
 15470  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15471  // non-2xx status code is an error. Response headers are in either
 15472  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15473  // returned at all) in error.(*googleapi.Error).Header. Use
 15474  // googleapi.IsNotModified to check whether the returned error was
 15475  // because http.StatusNotModified was returned.
 15476  func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15477  	gensupport.SetOptions(c.urlParams_, opts...)
 15478  	res, err := c.doRequest("json")
 15479  	if res != nil && res.StatusCode == http.StatusNotModified {
 15480  		if res.Body != nil {
 15481  			res.Body.Close()
 15482  		}
 15483  		return nil, &googleapi.Error{
 15484  			Code:   res.StatusCode,
 15485  			Header: res.Header,
 15486  		}
 15487  	}
 15488  	if err != nil {
 15489  		return nil, err
 15490  	}
 15491  	defer googleapi.CloseBody(res)
 15492  	if err := googleapi.CheckResponse(res); err != nil {
 15493  		return nil, err
 15494  	}
 15495  	ret := &AccountUserProfile{
 15496  		ServerResponse: googleapi.ServerResponse{
 15497  			Header:         res.Header,
 15498  			HTTPStatusCode: res.StatusCode,
 15499  		},
 15500  	}
 15501  	target := &ret
 15502  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15503  		return nil, err
 15504  	}
 15505  	return ret, nil
 15506  	// {
 15507  	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
 15508  	//   "httpMethod": "PATCH",
 15509  	//   "id": "dfareporting.accountUserProfiles.patch",
 15510  	//   "parameterOrder": [
 15511  	//     "profileId",
 15512  	//     "id"
 15513  	//   ],
 15514  	//   "parameters": {
 15515  	//     "id": {
 15516  	//       "description": "User profile ID.",
 15517  	//       "format": "int64",
 15518  	//       "location": "query",
 15519  	//       "required": true,
 15520  	//       "type": "string"
 15521  	//     },
 15522  	//     "profileId": {
 15523  	//       "description": "User profile ID associated with this request.",
 15524  	//       "format": "int64",
 15525  	//       "location": "path",
 15526  	//       "required": true,
 15527  	//       "type": "string"
 15528  	//     }
 15529  	//   },
 15530  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15531  	//   "request": {
 15532  	//     "$ref": "AccountUserProfile"
 15533  	//   },
 15534  	//   "response": {
 15535  	//     "$ref": "AccountUserProfile"
 15536  	//   },
 15537  	//   "scopes": [
 15538  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15539  	//   ]
 15540  	// }
 15541  
 15542  }
 15543  
 15544  // method id "dfareporting.accountUserProfiles.update":
 15545  
 15546  type AccountUserProfilesUpdateCall struct {
 15547  	s                  *Service
 15548  	profileId          int64
 15549  	accountuserprofile *AccountUserProfile
 15550  	urlParams_         gensupport.URLParams
 15551  	ctx_               context.Context
 15552  	header_            http.Header
 15553  }
 15554  
 15555  // Update: Updates an existing account user profile.
 15556  func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
 15557  	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15558  	c.profileId = profileId
 15559  	c.accountuserprofile = accountuserprofile
 15560  	return c
 15561  }
 15562  
 15563  // Fields allows partial responses to be retrieved. See
 15564  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15565  // for more information.
 15566  func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
 15567  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15568  	return c
 15569  }
 15570  
 15571  // Context sets the context to be used in this call's Do method. Any
 15572  // pending HTTP request will be aborted if the provided context is
 15573  // canceled.
 15574  func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 15575  	c.ctx_ = ctx
 15576  	return c
 15577  }
 15578  
 15579  // Header returns an http.Header that can be modified by the caller to
 15580  // add HTTP headers to the request.
 15581  func (c *AccountUserProfilesUpdateCall) Header() http.Header {
 15582  	if c.header_ == nil {
 15583  		c.header_ = make(http.Header)
 15584  	}
 15585  	return c.header_
 15586  }
 15587  
 15588  func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 15589  	reqHeaders := make(http.Header)
 15590  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15591  	for k, v := range c.header_ {
 15592  		reqHeaders[k] = v
 15593  	}
 15594  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15595  	var body io.Reader = nil
 15596  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15597  	if err != nil {
 15598  		return nil, err
 15599  	}
 15600  	reqHeaders.Set("Content-Type", "application/json")
 15601  	c.urlParams_.Set("alt", alt)
 15602  	c.urlParams_.Set("prettyPrint", "false")
 15603  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15604  	urls += "?" + c.urlParams_.Encode()
 15605  	req, err := http.NewRequest("PUT", urls, body)
 15606  	if err != nil {
 15607  		return nil, err
 15608  	}
 15609  	req.Header = reqHeaders
 15610  	googleapi.Expand(req.URL, map[string]string{
 15611  		"profileId": strconv.FormatInt(c.profileId, 10),
 15612  	})
 15613  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15614  }
 15615  
 15616  // Do executes the "dfareporting.accountUserProfiles.update" call.
 15617  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15618  // non-2xx status code is an error. Response headers are in either
 15619  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15620  // returned at all) in error.(*googleapi.Error).Header. Use
 15621  // googleapi.IsNotModified to check whether the returned error was
 15622  // because http.StatusNotModified was returned.
 15623  func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15624  	gensupport.SetOptions(c.urlParams_, opts...)
 15625  	res, err := c.doRequest("json")
 15626  	if res != nil && res.StatusCode == http.StatusNotModified {
 15627  		if res.Body != nil {
 15628  			res.Body.Close()
 15629  		}
 15630  		return nil, &googleapi.Error{
 15631  			Code:   res.StatusCode,
 15632  			Header: res.Header,
 15633  		}
 15634  	}
 15635  	if err != nil {
 15636  		return nil, err
 15637  	}
 15638  	defer googleapi.CloseBody(res)
 15639  	if err := googleapi.CheckResponse(res); err != nil {
 15640  		return nil, err
 15641  	}
 15642  	ret := &AccountUserProfile{
 15643  		ServerResponse: googleapi.ServerResponse{
 15644  			Header:         res.Header,
 15645  			HTTPStatusCode: res.StatusCode,
 15646  		},
 15647  	}
 15648  	target := &ret
 15649  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15650  		return nil, err
 15651  	}
 15652  	return ret, nil
 15653  	// {
 15654  	//   "description": "Updates an existing account user profile.",
 15655  	//   "httpMethod": "PUT",
 15656  	//   "id": "dfareporting.accountUserProfiles.update",
 15657  	//   "parameterOrder": [
 15658  	//     "profileId"
 15659  	//   ],
 15660  	//   "parameters": {
 15661  	//     "profileId": {
 15662  	//       "description": "User profile ID associated with this request.",
 15663  	//       "format": "int64",
 15664  	//       "location": "path",
 15665  	//       "required": true,
 15666  	//       "type": "string"
 15667  	//     }
 15668  	//   },
 15669  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15670  	//   "request": {
 15671  	//     "$ref": "AccountUserProfile"
 15672  	//   },
 15673  	//   "response": {
 15674  	//     "$ref": "AccountUserProfile"
 15675  	//   },
 15676  	//   "scopes": [
 15677  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15678  	//   ]
 15679  	// }
 15680  
 15681  }
 15682  
 15683  // method id "dfareporting.accounts.get":
 15684  
 15685  type AccountsGetCall struct {
 15686  	s            *Service
 15687  	profileId    int64
 15688  	id           int64
 15689  	urlParams_   gensupport.URLParams
 15690  	ifNoneMatch_ string
 15691  	ctx_         context.Context
 15692  	header_      http.Header
 15693  }
 15694  
 15695  // Get: Gets one account by ID.
 15696  func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
 15697  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15698  	c.profileId = profileId
 15699  	c.id = id
 15700  	return c
 15701  }
 15702  
 15703  // Fields allows partial responses to be retrieved. See
 15704  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15705  // for more information.
 15706  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
 15707  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15708  	return c
 15709  }
 15710  
 15711  // IfNoneMatch sets the optional parameter which makes the operation
 15712  // fail if the object's ETag matches the given value. This is useful for
 15713  // getting updates only after the object has changed since the last
 15714  // request. Use googleapi.IsNotModified to check whether the response
 15715  // error from Do is the result of In-None-Match.
 15716  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
 15717  	c.ifNoneMatch_ = entityTag
 15718  	return c
 15719  }
 15720  
 15721  // Context sets the context to be used in this call's Do method. Any
 15722  // pending HTTP request will be aborted if the provided context is
 15723  // canceled.
 15724  func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 15725  	c.ctx_ = ctx
 15726  	return c
 15727  }
 15728  
 15729  // Header returns an http.Header that can be modified by the caller to
 15730  // add HTTP headers to the request.
 15731  func (c *AccountsGetCall) Header() http.Header {
 15732  	if c.header_ == nil {
 15733  		c.header_ = make(http.Header)
 15734  	}
 15735  	return c.header_
 15736  }
 15737  
 15738  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 15739  	reqHeaders := make(http.Header)
 15740  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15741  	for k, v := range c.header_ {
 15742  		reqHeaders[k] = v
 15743  	}
 15744  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15745  	if c.ifNoneMatch_ != "" {
 15746  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15747  	}
 15748  	var body io.Reader = nil
 15749  	c.urlParams_.Set("alt", alt)
 15750  	c.urlParams_.Set("prettyPrint", "false")
 15751  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
 15752  	urls += "?" + c.urlParams_.Encode()
 15753  	req, err := http.NewRequest("GET", urls, body)
 15754  	if err != nil {
 15755  		return nil, err
 15756  	}
 15757  	req.Header = reqHeaders
 15758  	googleapi.Expand(req.URL, map[string]string{
 15759  		"profileId": strconv.FormatInt(c.profileId, 10),
 15760  		"id":        strconv.FormatInt(c.id, 10),
 15761  	})
 15762  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15763  }
 15764  
 15765  // Do executes the "dfareporting.accounts.get" call.
 15766  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 15767  // code is an error. Response headers are in either
 15768  // *Account.ServerResponse.Header or (if a response was returned at all)
 15769  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15770  // check whether the returned error was because http.StatusNotModified
 15771  // was returned.
 15772  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 15773  	gensupport.SetOptions(c.urlParams_, opts...)
 15774  	res, err := c.doRequest("json")
 15775  	if res != nil && res.StatusCode == http.StatusNotModified {
 15776  		if res.Body != nil {
 15777  			res.Body.Close()
 15778  		}
 15779  		return nil, &googleapi.Error{
 15780  			Code:   res.StatusCode,
 15781  			Header: res.Header,
 15782  		}
 15783  	}
 15784  	if err != nil {
 15785  		return nil, err
 15786  	}
 15787  	defer googleapi.CloseBody(res)
 15788  	if err := googleapi.CheckResponse(res); err != nil {
 15789  		return nil, err
 15790  	}
 15791  	ret := &Account{
 15792  		ServerResponse: googleapi.ServerResponse{
 15793  			Header:         res.Header,
 15794  			HTTPStatusCode: res.StatusCode,
 15795  		},
 15796  	}
 15797  	target := &ret
 15798  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15799  		return nil, err
 15800  	}
 15801  	return ret, nil
 15802  	// {
 15803  	//   "description": "Gets one account by ID.",
 15804  	//   "httpMethod": "GET",
 15805  	//   "id": "dfareporting.accounts.get",
 15806  	//   "parameterOrder": [
 15807  	//     "profileId",
 15808  	//     "id"
 15809  	//   ],
 15810  	//   "parameters": {
 15811  	//     "id": {
 15812  	//       "description": "Account ID.",
 15813  	//       "format": "int64",
 15814  	//       "location": "path",
 15815  	//       "required": true,
 15816  	//       "type": "string"
 15817  	//     },
 15818  	//     "profileId": {
 15819  	//       "description": "User profile ID associated with this request.",
 15820  	//       "format": "int64",
 15821  	//       "location": "path",
 15822  	//       "required": true,
 15823  	//       "type": "string"
 15824  	//     }
 15825  	//   },
 15826  	//   "path": "userprofiles/{profileId}/accounts/{id}",
 15827  	//   "response": {
 15828  	//     "$ref": "Account"
 15829  	//   },
 15830  	//   "scopes": [
 15831  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15832  	//   ]
 15833  	// }
 15834  
 15835  }
 15836  
 15837  // method id "dfareporting.accounts.list":
 15838  
 15839  type AccountsListCall struct {
 15840  	s            *Service
 15841  	profileId    int64
 15842  	urlParams_   gensupport.URLParams
 15843  	ifNoneMatch_ string
 15844  	ctx_         context.Context
 15845  	header_      http.Header
 15846  }
 15847  
 15848  // List: Retrieves the list of accounts, possibly filtered. This method
 15849  // supports paging.
 15850  func (r *AccountsService) List(profileId int64) *AccountsListCall {
 15851  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15852  	c.profileId = profileId
 15853  	return c
 15854  }
 15855  
 15856  // Active sets the optional parameter "active": Select only active
 15857  // accounts. Don't set this field to select both active and non-active
 15858  // accounts.
 15859  func (c *AccountsListCall) Active(active bool) *AccountsListCall {
 15860  	c.urlParams_.Set("active", fmt.Sprint(active))
 15861  	return c
 15862  }
 15863  
 15864  // Ids sets the optional parameter "ids": Select only accounts with
 15865  // these IDs.
 15866  func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
 15867  	var ids_ []string
 15868  	for _, v := range ids {
 15869  		ids_ = append(ids_, fmt.Sprint(v))
 15870  	}
 15871  	c.urlParams_.SetMulti("ids", ids_)
 15872  	return c
 15873  }
 15874  
 15875  // MaxResults sets the optional parameter "maxResults": Maximum number
 15876  // of results to return.
 15877  func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
 15878  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15879  	return c
 15880  }
 15881  
 15882  // PageToken sets the optional parameter "pageToken": Value of the
 15883  // nextPageToken from the previous result page.
 15884  func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
 15885  	c.urlParams_.Set("pageToken", pageToken)
 15886  	return c
 15887  }
 15888  
 15889  // SearchString sets the optional parameter "searchString": Allows
 15890  // searching for objects by name or ID. Wildcards (*) are allowed. For
 15891  // example, "account*2015" will return objects with names like "account
 15892  // June 2015", "account April 2015", or simply "account 2015". Most of
 15893  // the searches also add wildcards implicitly at the start and the end
 15894  // of the search string. For example, a search string of "account" will
 15895  // match objects with name "my account", "account 2015", or simply
 15896  // "account".
 15897  func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
 15898  	c.urlParams_.Set("searchString", searchString)
 15899  	return c
 15900  }
 15901  
 15902  // SortField sets the optional parameter "sortField": Field by which to
 15903  // sort the list.
 15904  //
 15905  // Possible values:
 15906  //
 15907  //	"ID" (default)
 15908  //	"NAME"
 15909  func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
 15910  	c.urlParams_.Set("sortField", sortField)
 15911  	return c
 15912  }
 15913  
 15914  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 15915  // results.
 15916  //
 15917  // Possible values:
 15918  //
 15919  //	"ASCENDING" (default)
 15920  //	"DESCENDING"
 15921  func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
 15922  	c.urlParams_.Set("sortOrder", sortOrder)
 15923  	return c
 15924  }
 15925  
 15926  // Fields allows partial responses to be retrieved. See
 15927  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15928  // for more information.
 15929  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
 15930  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15931  	return c
 15932  }
 15933  
 15934  // IfNoneMatch sets the optional parameter which makes the operation
 15935  // fail if the object's ETag matches the given value. This is useful for
 15936  // getting updates only after the object has changed since the last
 15937  // request. Use googleapi.IsNotModified to check whether the response
 15938  // error from Do is the result of In-None-Match.
 15939  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
 15940  	c.ifNoneMatch_ = entityTag
 15941  	return c
 15942  }
 15943  
 15944  // Context sets the context to be used in this call's Do method. Any
 15945  // pending HTTP request will be aborted if the provided context is
 15946  // canceled.
 15947  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 15948  	c.ctx_ = ctx
 15949  	return c
 15950  }
 15951  
 15952  // Header returns an http.Header that can be modified by the caller to
 15953  // add HTTP headers to the request.
 15954  func (c *AccountsListCall) Header() http.Header {
 15955  	if c.header_ == nil {
 15956  		c.header_ = make(http.Header)
 15957  	}
 15958  	return c.header_
 15959  }
 15960  
 15961  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 15962  	reqHeaders := make(http.Header)
 15963  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15964  	for k, v := range c.header_ {
 15965  		reqHeaders[k] = v
 15966  	}
 15967  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15968  	if c.ifNoneMatch_ != "" {
 15969  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15970  	}
 15971  	var body io.Reader = nil
 15972  	c.urlParams_.Set("alt", alt)
 15973  	c.urlParams_.Set("prettyPrint", "false")
 15974  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 15975  	urls += "?" + c.urlParams_.Encode()
 15976  	req, err := http.NewRequest("GET", urls, body)
 15977  	if err != nil {
 15978  		return nil, err
 15979  	}
 15980  	req.Header = reqHeaders
 15981  	googleapi.Expand(req.URL, map[string]string{
 15982  		"profileId": strconv.FormatInt(c.profileId, 10),
 15983  	})
 15984  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15985  }
 15986  
 15987  // Do executes the "dfareporting.accounts.list" call.
 15988  // Exactly one of *AccountsListResponse or error will be non-nil. Any
 15989  // non-2xx status code is an error. Response headers are in either
 15990  // *AccountsListResponse.ServerResponse.Header or (if a response was
 15991  // returned at all) in error.(*googleapi.Error).Header. Use
 15992  // googleapi.IsNotModified to check whether the returned error was
 15993  // because http.StatusNotModified was returned.
 15994  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
 15995  	gensupport.SetOptions(c.urlParams_, opts...)
 15996  	res, err := c.doRequest("json")
 15997  	if res != nil && res.StatusCode == http.StatusNotModified {
 15998  		if res.Body != nil {
 15999  			res.Body.Close()
 16000  		}
 16001  		return nil, &googleapi.Error{
 16002  			Code:   res.StatusCode,
 16003  			Header: res.Header,
 16004  		}
 16005  	}
 16006  	if err != nil {
 16007  		return nil, err
 16008  	}
 16009  	defer googleapi.CloseBody(res)
 16010  	if err := googleapi.CheckResponse(res); err != nil {
 16011  		return nil, err
 16012  	}
 16013  	ret := &AccountsListResponse{
 16014  		ServerResponse: googleapi.ServerResponse{
 16015  			Header:         res.Header,
 16016  			HTTPStatusCode: res.StatusCode,
 16017  		},
 16018  	}
 16019  	target := &ret
 16020  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16021  		return nil, err
 16022  	}
 16023  	return ret, nil
 16024  	// {
 16025  	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
 16026  	//   "httpMethod": "GET",
 16027  	//   "id": "dfareporting.accounts.list",
 16028  	//   "parameterOrder": [
 16029  	//     "profileId"
 16030  	//   ],
 16031  	//   "parameters": {
 16032  	//     "active": {
 16033  	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
 16034  	//       "location": "query",
 16035  	//       "type": "boolean"
 16036  	//     },
 16037  	//     "ids": {
 16038  	//       "description": "Select only accounts with these IDs.",
 16039  	//       "format": "int64",
 16040  	//       "location": "query",
 16041  	//       "repeated": true,
 16042  	//       "type": "string"
 16043  	//     },
 16044  	//     "maxResults": {
 16045  	//       "default": "1000",
 16046  	//       "description": "Maximum number of results to return.",
 16047  	//       "format": "int32",
 16048  	//       "location": "query",
 16049  	//       "maximum": "1000",
 16050  	//       "minimum": "0",
 16051  	//       "type": "integer"
 16052  	//     },
 16053  	//     "pageToken": {
 16054  	//       "description": "Value of the nextPageToken from the previous result page.",
 16055  	//       "location": "query",
 16056  	//       "type": "string"
 16057  	//     },
 16058  	//     "profileId": {
 16059  	//       "description": "User profile ID associated with this request.",
 16060  	//       "format": "int64",
 16061  	//       "location": "path",
 16062  	//       "required": true,
 16063  	//       "type": "string"
 16064  	//     },
 16065  	//     "searchString": {
 16066  	//       "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\".",
 16067  	//       "location": "query",
 16068  	//       "type": "string"
 16069  	//     },
 16070  	//     "sortField": {
 16071  	//       "default": "ID",
 16072  	//       "description": "Field by which to sort the list.",
 16073  	//       "enum": [
 16074  	//         "ID",
 16075  	//         "NAME"
 16076  	//       ],
 16077  	//       "enumDescriptions": [
 16078  	//         "",
 16079  	//         ""
 16080  	//       ],
 16081  	//       "location": "query",
 16082  	//       "type": "string"
 16083  	//     },
 16084  	//     "sortOrder": {
 16085  	//       "default": "ASCENDING",
 16086  	//       "description": "Order of sorted results.",
 16087  	//       "enum": [
 16088  	//         "ASCENDING",
 16089  	//         "DESCENDING"
 16090  	//       ],
 16091  	//       "enumDescriptions": [
 16092  	//         "",
 16093  	//         ""
 16094  	//       ],
 16095  	//       "location": "query",
 16096  	//       "type": "string"
 16097  	//     }
 16098  	//   },
 16099  	//   "path": "userprofiles/{profileId}/accounts",
 16100  	//   "response": {
 16101  	//     "$ref": "AccountsListResponse"
 16102  	//   },
 16103  	//   "scopes": [
 16104  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16105  	//   ]
 16106  	// }
 16107  
 16108  }
 16109  
 16110  // Pages invokes f for each page of results.
 16111  // A non-nil error returned from f will halt the iteration.
 16112  // The provided context supersedes any context provided to the Context method.
 16113  func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
 16114  	c.ctx_ = ctx
 16115  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 16116  	for {
 16117  		x, err := c.Do()
 16118  		if err != nil {
 16119  			return err
 16120  		}
 16121  		if err := f(x); err != nil {
 16122  			return err
 16123  		}
 16124  		if x.NextPageToken == "" {
 16125  			return nil
 16126  		}
 16127  		c.PageToken(x.NextPageToken)
 16128  	}
 16129  }
 16130  
 16131  // method id "dfareporting.accounts.patch":
 16132  
 16133  type AccountsPatchCall struct {
 16134  	s          *Service
 16135  	profileId  int64
 16136  	account    *Account
 16137  	urlParams_ gensupport.URLParams
 16138  	ctx_       context.Context
 16139  	header_    http.Header
 16140  }
 16141  
 16142  // Patch: Updates an existing account. This method supports patch
 16143  // semantics.
 16144  func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
 16145  	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16146  	c.profileId = profileId
 16147  	c.urlParams_.Set("id", fmt.Sprint(id))
 16148  	c.account = account
 16149  	return c
 16150  }
 16151  
 16152  // Fields allows partial responses to be retrieved. See
 16153  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16154  // for more information.
 16155  func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
 16156  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16157  	return c
 16158  }
 16159  
 16160  // Context sets the context to be used in this call's Do method. Any
 16161  // pending HTTP request will be aborted if the provided context is
 16162  // canceled.
 16163  func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 16164  	c.ctx_ = ctx
 16165  	return c
 16166  }
 16167  
 16168  // Header returns an http.Header that can be modified by the caller to
 16169  // add HTTP headers to the request.
 16170  func (c *AccountsPatchCall) Header() http.Header {
 16171  	if c.header_ == nil {
 16172  		c.header_ = make(http.Header)
 16173  	}
 16174  	return c.header_
 16175  }
 16176  
 16177  func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 16178  	reqHeaders := make(http.Header)
 16179  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16180  	for k, v := range c.header_ {
 16181  		reqHeaders[k] = v
 16182  	}
 16183  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16184  	var body io.Reader = nil
 16185  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16186  	if err != nil {
 16187  		return nil, err
 16188  	}
 16189  	reqHeaders.Set("Content-Type", "application/json")
 16190  	c.urlParams_.Set("alt", alt)
 16191  	c.urlParams_.Set("prettyPrint", "false")
 16192  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16193  	urls += "?" + c.urlParams_.Encode()
 16194  	req, err := http.NewRequest("PATCH", urls, body)
 16195  	if err != nil {
 16196  		return nil, err
 16197  	}
 16198  	req.Header = reqHeaders
 16199  	googleapi.Expand(req.URL, map[string]string{
 16200  		"profileId": strconv.FormatInt(c.profileId, 10),
 16201  	})
 16202  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16203  }
 16204  
 16205  // Do executes the "dfareporting.accounts.patch" call.
 16206  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16207  // code is an error. Response headers are in either
 16208  // *Account.ServerResponse.Header or (if a response was returned at all)
 16209  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16210  // check whether the returned error was because http.StatusNotModified
 16211  // was returned.
 16212  func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16213  	gensupport.SetOptions(c.urlParams_, opts...)
 16214  	res, err := c.doRequest("json")
 16215  	if res != nil && res.StatusCode == http.StatusNotModified {
 16216  		if res.Body != nil {
 16217  			res.Body.Close()
 16218  		}
 16219  		return nil, &googleapi.Error{
 16220  			Code:   res.StatusCode,
 16221  			Header: res.Header,
 16222  		}
 16223  	}
 16224  	if err != nil {
 16225  		return nil, err
 16226  	}
 16227  	defer googleapi.CloseBody(res)
 16228  	if err := googleapi.CheckResponse(res); err != nil {
 16229  		return nil, err
 16230  	}
 16231  	ret := &Account{
 16232  		ServerResponse: googleapi.ServerResponse{
 16233  			Header:         res.Header,
 16234  			HTTPStatusCode: res.StatusCode,
 16235  		},
 16236  	}
 16237  	target := &ret
 16238  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16239  		return nil, err
 16240  	}
 16241  	return ret, nil
 16242  	// {
 16243  	//   "description": "Updates an existing account. This method supports patch semantics.",
 16244  	//   "httpMethod": "PATCH",
 16245  	//   "id": "dfareporting.accounts.patch",
 16246  	//   "parameterOrder": [
 16247  	//     "profileId",
 16248  	//     "id"
 16249  	//   ],
 16250  	//   "parameters": {
 16251  	//     "id": {
 16252  	//       "description": "Account ID.",
 16253  	//       "format": "int64",
 16254  	//       "location": "query",
 16255  	//       "required": true,
 16256  	//       "type": "string"
 16257  	//     },
 16258  	//     "profileId": {
 16259  	//       "description": "User profile ID associated with this request.",
 16260  	//       "format": "int64",
 16261  	//       "location": "path",
 16262  	//       "required": true,
 16263  	//       "type": "string"
 16264  	//     }
 16265  	//   },
 16266  	//   "path": "userprofiles/{profileId}/accounts",
 16267  	//   "request": {
 16268  	//     "$ref": "Account"
 16269  	//   },
 16270  	//   "response": {
 16271  	//     "$ref": "Account"
 16272  	//   },
 16273  	//   "scopes": [
 16274  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16275  	//   ]
 16276  	// }
 16277  
 16278  }
 16279  
 16280  // method id "dfareporting.accounts.update":
 16281  
 16282  type AccountsUpdateCall struct {
 16283  	s          *Service
 16284  	profileId  int64
 16285  	account    *Account
 16286  	urlParams_ gensupport.URLParams
 16287  	ctx_       context.Context
 16288  	header_    http.Header
 16289  }
 16290  
 16291  // Update: Updates an existing account.
 16292  func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
 16293  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16294  	c.profileId = profileId
 16295  	c.account = account
 16296  	return c
 16297  }
 16298  
 16299  // Fields allows partial responses to be retrieved. See
 16300  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16301  // for more information.
 16302  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
 16303  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16304  	return c
 16305  }
 16306  
 16307  // Context sets the context to be used in this call's Do method. Any
 16308  // pending HTTP request will be aborted if the provided context is
 16309  // canceled.
 16310  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 16311  	c.ctx_ = ctx
 16312  	return c
 16313  }
 16314  
 16315  // Header returns an http.Header that can be modified by the caller to
 16316  // add HTTP headers to the request.
 16317  func (c *AccountsUpdateCall) Header() http.Header {
 16318  	if c.header_ == nil {
 16319  		c.header_ = make(http.Header)
 16320  	}
 16321  	return c.header_
 16322  }
 16323  
 16324  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 16325  	reqHeaders := make(http.Header)
 16326  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16327  	for k, v := range c.header_ {
 16328  		reqHeaders[k] = v
 16329  	}
 16330  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16331  	var body io.Reader = nil
 16332  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16333  	if err != nil {
 16334  		return nil, err
 16335  	}
 16336  	reqHeaders.Set("Content-Type", "application/json")
 16337  	c.urlParams_.Set("alt", alt)
 16338  	c.urlParams_.Set("prettyPrint", "false")
 16339  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16340  	urls += "?" + c.urlParams_.Encode()
 16341  	req, err := http.NewRequest("PUT", urls, body)
 16342  	if err != nil {
 16343  		return nil, err
 16344  	}
 16345  	req.Header = reqHeaders
 16346  	googleapi.Expand(req.URL, map[string]string{
 16347  		"profileId": strconv.FormatInt(c.profileId, 10),
 16348  	})
 16349  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16350  }
 16351  
 16352  // Do executes the "dfareporting.accounts.update" call.
 16353  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16354  // code is an error. Response headers are in either
 16355  // *Account.ServerResponse.Header or (if a response was returned at all)
 16356  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16357  // check whether the returned error was because http.StatusNotModified
 16358  // was returned.
 16359  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16360  	gensupport.SetOptions(c.urlParams_, opts...)
 16361  	res, err := c.doRequest("json")
 16362  	if res != nil && res.StatusCode == http.StatusNotModified {
 16363  		if res.Body != nil {
 16364  			res.Body.Close()
 16365  		}
 16366  		return nil, &googleapi.Error{
 16367  			Code:   res.StatusCode,
 16368  			Header: res.Header,
 16369  		}
 16370  	}
 16371  	if err != nil {
 16372  		return nil, err
 16373  	}
 16374  	defer googleapi.CloseBody(res)
 16375  	if err := googleapi.CheckResponse(res); err != nil {
 16376  		return nil, err
 16377  	}
 16378  	ret := &Account{
 16379  		ServerResponse: googleapi.ServerResponse{
 16380  			Header:         res.Header,
 16381  			HTTPStatusCode: res.StatusCode,
 16382  		},
 16383  	}
 16384  	target := &ret
 16385  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16386  		return nil, err
 16387  	}
 16388  	return ret, nil
 16389  	// {
 16390  	//   "description": "Updates an existing account.",
 16391  	//   "httpMethod": "PUT",
 16392  	//   "id": "dfareporting.accounts.update",
 16393  	//   "parameterOrder": [
 16394  	//     "profileId"
 16395  	//   ],
 16396  	//   "parameters": {
 16397  	//     "profileId": {
 16398  	//       "description": "User profile ID associated with this request.",
 16399  	//       "format": "int64",
 16400  	//       "location": "path",
 16401  	//       "required": true,
 16402  	//       "type": "string"
 16403  	//     }
 16404  	//   },
 16405  	//   "path": "userprofiles/{profileId}/accounts",
 16406  	//   "request": {
 16407  	//     "$ref": "Account"
 16408  	//   },
 16409  	//   "response": {
 16410  	//     "$ref": "Account"
 16411  	//   },
 16412  	//   "scopes": [
 16413  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16414  	//   ]
 16415  	// }
 16416  
 16417  }
 16418  
 16419  // method id "dfareporting.ads.get":
 16420  
 16421  type AdsGetCall struct {
 16422  	s            *Service
 16423  	profileId    int64
 16424  	id           int64
 16425  	urlParams_   gensupport.URLParams
 16426  	ifNoneMatch_ string
 16427  	ctx_         context.Context
 16428  	header_      http.Header
 16429  }
 16430  
 16431  // Get: Gets one ad by ID.
 16432  func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
 16433  	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16434  	c.profileId = profileId
 16435  	c.id = id
 16436  	return c
 16437  }
 16438  
 16439  // Fields allows partial responses to be retrieved. See
 16440  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16441  // for more information.
 16442  func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
 16443  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16444  	return c
 16445  }
 16446  
 16447  // IfNoneMatch sets the optional parameter which makes the operation
 16448  // fail if the object's ETag matches the given value. This is useful for
 16449  // getting updates only after the object has changed since the last
 16450  // request. Use googleapi.IsNotModified to check whether the response
 16451  // error from Do is the result of In-None-Match.
 16452  func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
 16453  	c.ifNoneMatch_ = entityTag
 16454  	return c
 16455  }
 16456  
 16457  // Context sets the context to be used in this call's Do method. Any
 16458  // pending HTTP request will be aborted if the provided context is
 16459  // canceled.
 16460  func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 16461  	c.ctx_ = ctx
 16462  	return c
 16463  }
 16464  
 16465  // Header returns an http.Header that can be modified by the caller to
 16466  // add HTTP headers to the request.
 16467  func (c *AdsGetCall) Header() http.Header {
 16468  	if c.header_ == nil {
 16469  		c.header_ = make(http.Header)
 16470  	}
 16471  	return c.header_
 16472  }
 16473  
 16474  func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 16475  	reqHeaders := make(http.Header)
 16476  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16477  	for k, v := range c.header_ {
 16478  		reqHeaders[k] = v
 16479  	}
 16480  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16481  	if c.ifNoneMatch_ != "" {
 16482  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16483  	}
 16484  	var body io.Reader = nil
 16485  	c.urlParams_.Set("alt", alt)
 16486  	c.urlParams_.Set("prettyPrint", "false")
 16487  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
 16488  	urls += "?" + c.urlParams_.Encode()
 16489  	req, err := http.NewRequest("GET", urls, body)
 16490  	if err != nil {
 16491  		return nil, err
 16492  	}
 16493  	req.Header = reqHeaders
 16494  	googleapi.Expand(req.URL, map[string]string{
 16495  		"profileId": strconv.FormatInt(c.profileId, 10),
 16496  		"id":        strconv.FormatInt(c.id, 10),
 16497  	})
 16498  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16499  }
 16500  
 16501  // Do executes the "dfareporting.ads.get" call.
 16502  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16503  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16504  // or (if a response was returned at all) in
 16505  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16506  // whether the returned error was because http.StatusNotModified was
 16507  // returned.
 16508  func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16509  	gensupport.SetOptions(c.urlParams_, opts...)
 16510  	res, err := c.doRequest("json")
 16511  	if res != nil && res.StatusCode == http.StatusNotModified {
 16512  		if res.Body != nil {
 16513  			res.Body.Close()
 16514  		}
 16515  		return nil, &googleapi.Error{
 16516  			Code:   res.StatusCode,
 16517  			Header: res.Header,
 16518  		}
 16519  	}
 16520  	if err != nil {
 16521  		return nil, err
 16522  	}
 16523  	defer googleapi.CloseBody(res)
 16524  	if err := googleapi.CheckResponse(res); err != nil {
 16525  		return nil, err
 16526  	}
 16527  	ret := &Ad{
 16528  		ServerResponse: googleapi.ServerResponse{
 16529  			Header:         res.Header,
 16530  			HTTPStatusCode: res.StatusCode,
 16531  		},
 16532  	}
 16533  	target := &ret
 16534  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16535  		return nil, err
 16536  	}
 16537  	return ret, nil
 16538  	// {
 16539  	//   "description": "Gets one ad by ID.",
 16540  	//   "httpMethod": "GET",
 16541  	//   "id": "dfareporting.ads.get",
 16542  	//   "parameterOrder": [
 16543  	//     "profileId",
 16544  	//     "id"
 16545  	//   ],
 16546  	//   "parameters": {
 16547  	//     "id": {
 16548  	//       "description": "Ad ID.",
 16549  	//       "format": "int64",
 16550  	//       "location": "path",
 16551  	//       "required": true,
 16552  	//       "type": "string"
 16553  	//     },
 16554  	//     "profileId": {
 16555  	//       "description": "User profile ID associated with this request.",
 16556  	//       "format": "int64",
 16557  	//       "location": "path",
 16558  	//       "required": true,
 16559  	//       "type": "string"
 16560  	//     }
 16561  	//   },
 16562  	//   "path": "userprofiles/{profileId}/ads/{id}",
 16563  	//   "response": {
 16564  	//     "$ref": "Ad"
 16565  	//   },
 16566  	//   "scopes": [
 16567  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16568  	//   ]
 16569  	// }
 16570  
 16571  }
 16572  
 16573  // method id "dfareporting.ads.insert":
 16574  
 16575  type AdsInsertCall struct {
 16576  	s          *Service
 16577  	profileId  int64
 16578  	ad         *Ad
 16579  	urlParams_ gensupport.URLParams
 16580  	ctx_       context.Context
 16581  	header_    http.Header
 16582  }
 16583  
 16584  // Insert: Inserts a new ad.
 16585  func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
 16586  	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16587  	c.profileId = profileId
 16588  	c.ad = ad
 16589  	return c
 16590  }
 16591  
 16592  // Fields allows partial responses to be retrieved. See
 16593  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16594  // for more information.
 16595  func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
 16596  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16597  	return c
 16598  }
 16599  
 16600  // Context sets the context to be used in this call's Do method. Any
 16601  // pending HTTP request will be aborted if the provided context is
 16602  // canceled.
 16603  func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 16604  	c.ctx_ = ctx
 16605  	return c
 16606  }
 16607  
 16608  // Header returns an http.Header that can be modified by the caller to
 16609  // add HTTP headers to the request.
 16610  func (c *AdsInsertCall) Header() http.Header {
 16611  	if c.header_ == nil {
 16612  		c.header_ = make(http.Header)
 16613  	}
 16614  	return c.header_
 16615  }
 16616  
 16617  func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
 16618  	reqHeaders := make(http.Header)
 16619  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16620  	for k, v := range c.header_ {
 16621  		reqHeaders[k] = v
 16622  	}
 16623  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16624  	var body io.Reader = nil
 16625  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 16626  	if err != nil {
 16627  		return nil, err
 16628  	}
 16629  	reqHeaders.Set("Content-Type", "application/json")
 16630  	c.urlParams_.Set("alt", alt)
 16631  	c.urlParams_.Set("prettyPrint", "false")
 16632  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 16633  	urls += "?" + c.urlParams_.Encode()
 16634  	req, err := http.NewRequest("POST", urls, body)
 16635  	if err != nil {
 16636  		return nil, err
 16637  	}
 16638  	req.Header = reqHeaders
 16639  	googleapi.Expand(req.URL, map[string]string{
 16640  		"profileId": strconv.FormatInt(c.profileId, 10),
 16641  	})
 16642  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16643  }
 16644  
 16645  // Do executes the "dfareporting.ads.insert" call.
 16646  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16647  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16648  // or (if a response was returned at all) in
 16649  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16650  // whether the returned error was because http.StatusNotModified was
 16651  // returned.
 16652  func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16653  	gensupport.SetOptions(c.urlParams_, opts...)
 16654  	res, err := c.doRequest("json")
 16655  	if res != nil && res.StatusCode == http.StatusNotModified {
 16656  		if res.Body != nil {
 16657  			res.Body.Close()
 16658  		}
 16659  		return nil, &googleapi.Error{
 16660  			Code:   res.StatusCode,
 16661  			Header: res.Header,
 16662  		}
 16663  	}
 16664  	if err != nil {
 16665  		return nil, err
 16666  	}
 16667  	defer googleapi.CloseBody(res)
 16668  	if err := googleapi.CheckResponse(res); err != nil {
 16669  		return nil, err
 16670  	}
 16671  	ret := &Ad{
 16672  		ServerResponse: googleapi.ServerResponse{
 16673  			Header:         res.Header,
 16674  			HTTPStatusCode: res.StatusCode,
 16675  		},
 16676  	}
 16677  	target := &ret
 16678  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16679  		return nil, err
 16680  	}
 16681  	return ret, nil
 16682  	// {
 16683  	//   "description": "Inserts a new ad.",
 16684  	//   "httpMethod": "POST",
 16685  	//   "id": "dfareporting.ads.insert",
 16686  	//   "parameterOrder": [
 16687  	//     "profileId"
 16688  	//   ],
 16689  	//   "parameters": {
 16690  	//     "profileId": {
 16691  	//       "description": "User profile ID associated with this request.",
 16692  	//       "format": "int64",
 16693  	//       "location": "path",
 16694  	//       "required": true,
 16695  	//       "type": "string"
 16696  	//     }
 16697  	//   },
 16698  	//   "path": "userprofiles/{profileId}/ads",
 16699  	//   "request": {
 16700  	//     "$ref": "Ad"
 16701  	//   },
 16702  	//   "response": {
 16703  	//     "$ref": "Ad"
 16704  	//   },
 16705  	//   "scopes": [
 16706  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16707  	//   ]
 16708  	// }
 16709  
 16710  }
 16711  
 16712  // method id "dfareporting.ads.list":
 16713  
 16714  type AdsListCall struct {
 16715  	s            *Service
 16716  	profileId    int64
 16717  	urlParams_   gensupport.URLParams
 16718  	ifNoneMatch_ string
 16719  	ctx_         context.Context
 16720  	header_      http.Header
 16721  }
 16722  
 16723  // List: Retrieves a list of ads, possibly filtered. This method
 16724  // supports paging.
 16725  func (r *AdsService) List(profileId int64) *AdsListCall {
 16726  	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16727  	c.profileId = profileId
 16728  	return c
 16729  }
 16730  
 16731  // Active sets the optional parameter "active": Select only active ads.
 16732  func (c *AdsListCall) Active(active bool) *AdsListCall {
 16733  	c.urlParams_.Set("active", fmt.Sprint(active))
 16734  	return c
 16735  }
 16736  
 16737  // AdvertiserId sets the optional parameter "advertiserId": Select only
 16738  // ads with this advertiser ID.
 16739  func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
 16740  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 16741  	return c
 16742  }
 16743  
 16744  // Archived sets the optional parameter "archived": Select only archived
 16745  // ads.
 16746  func (c *AdsListCall) Archived(archived bool) *AdsListCall {
 16747  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 16748  	return c
 16749  }
 16750  
 16751  // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 16752  // Select only ads with these audience segment IDs.
 16753  func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
 16754  	var audienceSegmentIds_ []string
 16755  	for _, v := range audienceSegmentIds {
 16756  		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
 16757  	}
 16758  	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
 16759  	return c
 16760  }
 16761  
 16762  // CampaignIds sets the optional parameter "campaignIds": Select only
 16763  // ads with these campaign IDs.
 16764  func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
 16765  	var campaignIds_ []string
 16766  	for _, v := range campaignIds {
 16767  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 16768  	}
 16769  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 16770  	return c
 16771  }
 16772  
 16773  // Compatibility sets the optional parameter "compatibility": Select
 16774  // default ads with the specified compatibility. Applicable when type is
 16775  // AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
 16776  // rendering either on desktop or on mobile devices for regular or
 16777  // interstitial ads, respectively. APP and APP_INTERSTITIAL are for
 16778  // rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
 16779  // in-stream video ads developed with the VAST standard.
 16780  //
 16781  // Possible values:
 16782  //
 16783  //	"APP"
 16784  //	"APP_INTERSTITIAL"
 16785  //	"DISPLAY"
 16786  //	"DISPLAY_INTERSTITIAL"
 16787  //	"IN_STREAM_AUDIO"
 16788  //	"IN_STREAM_VIDEO"
 16789  func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
 16790  	c.urlParams_.Set("compatibility", compatibility)
 16791  	return c
 16792  }
 16793  
 16794  // CreativeIds sets the optional parameter "creativeIds": Select only
 16795  // ads with these creative IDs assigned.
 16796  func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
 16797  	var creativeIds_ []string
 16798  	for _, v := range creativeIds {
 16799  		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
 16800  	}
 16801  	c.urlParams_.SetMulti("creativeIds", creativeIds_)
 16802  	return c
 16803  }
 16804  
 16805  // CreativeOptimizationConfigurationIds sets the optional parameter
 16806  // "creativeOptimizationConfigurationIds": Select only ads with these
 16807  // creative optimization configuration IDs.
 16808  func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
 16809  	var creativeOptimizationConfigurationIds_ []string
 16810  	for _, v := range creativeOptimizationConfigurationIds {
 16811  		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
 16812  	}
 16813  	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
 16814  	return c
 16815  }
 16816  
 16817  // DynamicClickTracker sets the optional parameter
 16818  // "dynamicClickTracker": Select only dynamic click trackers. Applicable
 16819  // when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
 16820  // trackers. If false, select static click trackers. Leave unset to
 16821  // select both.
 16822  func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
 16823  	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
 16824  	return c
 16825  }
 16826  
 16827  // Ids sets the optional parameter "ids": Select only ads with these
 16828  // IDs.
 16829  func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
 16830  	var ids_ []string
 16831  	for _, v := range ids {
 16832  		ids_ = append(ids_, fmt.Sprint(v))
 16833  	}
 16834  	c.urlParams_.SetMulti("ids", ids_)
 16835  	return c
 16836  }
 16837  
 16838  // LandingPageIds sets the optional parameter "landingPageIds": Select
 16839  // only ads with these landing page IDs.
 16840  func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
 16841  	var landingPageIds_ []string
 16842  	for _, v := range landingPageIds {
 16843  		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
 16844  	}
 16845  	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
 16846  	return c
 16847  }
 16848  
 16849  // MaxResults sets the optional parameter "maxResults": Maximum number
 16850  // of results to return.
 16851  func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
 16852  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 16853  	return c
 16854  }
 16855  
 16856  // OverriddenEventTagId sets the optional parameter
 16857  // "overriddenEventTagId": Select only ads with this event tag override
 16858  // ID.
 16859  func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
 16860  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 16861  	return c
 16862  }
 16863  
 16864  // PageToken sets the optional parameter "pageToken": Value of the
 16865  // nextPageToken from the previous result page.
 16866  func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
 16867  	c.urlParams_.Set("pageToken", pageToken)
 16868  	return c
 16869  }
 16870  
 16871  // PlacementIds sets the optional parameter "placementIds": Select only
 16872  // ads with these placement IDs assigned.
 16873  func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
 16874  	var placementIds_ []string
 16875  	for _, v := range placementIds {
 16876  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 16877  	}
 16878  	c.urlParams_.SetMulti("placementIds", placementIds_)
 16879  	return c
 16880  }
 16881  
 16882  // RemarketingListIds sets the optional parameter "remarketingListIds":
 16883  // Select only ads whose list targeting expression use these remarketing
 16884  // list IDs.
 16885  func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
 16886  	var remarketingListIds_ []string
 16887  	for _, v := range remarketingListIds {
 16888  		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
 16889  	}
 16890  	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
 16891  	return c
 16892  }
 16893  
 16894  // SearchString sets the optional parameter "searchString": Allows
 16895  // searching for objects by name or ID. Wildcards (*) are allowed. For
 16896  // example, "ad*2015" will return objects with names like "ad June
 16897  // 2015", "ad April 2015", or simply "ad 2015". Most of the searches
 16898  // also add wildcards implicitly at the start and the end of the search
 16899  // string. For example, a search string of "ad" will match objects with
 16900  // name "my ad", "ad 2015", or simply "ad".
 16901  func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
 16902  	c.urlParams_.Set("searchString", searchString)
 16903  	return c
 16904  }
 16905  
 16906  // SizeIds sets the optional parameter "sizeIds": Select only ads with
 16907  // these size IDs.
 16908  func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
 16909  	var sizeIds_ []string
 16910  	for _, v := range sizeIds {
 16911  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 16912  	}
 16913  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 16914  	return c
 16915  }
 16916  
 16917  // SortField sets the optional parameter "sortField": Field by which to
 16918  // sort the list.
 16919  //
 16920  // Possible values:
 16921  //
 16922  //	"ID" (default)
 16923  //	"NAME"
 16924  func (c *AdsListCall) SortField(sortField string) *AdsListCall {
 16925  	c.urlParams_.Set("sortField", sortField)
 16926  	return c
 16927  }
 16928  
 16929  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 16930  // results.
 16931  //
 16932  // Possible values:
 16933  //
 16934  //	"ASCENDING" (default)
 16935  //	"DESCENDING"
 16936  func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
 16937  	c.urlParams_.Set("sortOrder", sortOrder)
 16938  	return c
 16939  }
 16940  
 16941  // SslCompliant sets the optional parameter "sslCompliant": Select only
 16942  // ads that are SSL-compliant.
 16943  func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
 16944  	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
 16945  	return c
 16946  }
 16947  
 16948  // SslRequired sets the optional parameter "sslRequired": Select only
 16949  // ads that require SSL.
 16950  func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
 16951  	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
 16952  	return c
 16953  }
 16954  
 16955  // Type sets the optional parameter "type": Select only ads with these
 16956  // types.
 16957  //
 16958  // Possible values:
 16959  //
 16960  //	"AD_SERVING_CLICK_TRACKER"
 16961  //	"AD_SERVING_DEFAULT_AD"
 16962  //	"AD_SERVING_STANDARD_AD"
 16963  //	"AD_SERVING_TRACKING"
 16964  func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
 16965  	c.urlParams_.SetMulti("type", append([]string{}, type_...))
 16966  	return c
 16967  }
 16968  
 16969  // Fields allows partial responses to be retrieved. See
 16970  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16971  // for more information.
 16972  func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
 16973  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16974  	return c
 16975  }
 16976  
 16977  // IfNoneMatch sets the optional parameter which makes the operation
 16978  // fail if the object's ETag matches the given value. This is useful for
 16979  // getting updates only after the object has changed since the last
 16980  // request. Use googleapi.IsNotModified to check whether the response
 16981  // error from Do is the result of In-None-Match.
 16982  func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
 16983  	c.ifNoneMatch_ = entityTag
 16984  	return c
 16985  }
 16986  
 16987  // Context sets the context to be used in this call's Do method. Any
 16988  // pending HTTP request will be aborted if the provided context is
 16989  // canceled.
 16990  func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 16991  	c.ctx_ = ctx
 16992  	return c
 16993  }
 16994  
 16995  // Header returns an http.Header that can be modified by the caller to
 16996  // add HTTP headers to the request.
 16997  func (c *AdsListCall) Header() http.Header {
 16998  	if c.header_ == nil {
 16999  		c.header_ = make(http.Header)
 17000  	}
 17001  	return c.header_
 17002  }
 17003  
 17004  func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 17005  	reqHeaders := make(http.Header)
 17006  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17007  	for k, v := range c.header_ {
 17008  		reqHeaders[k] = v
 17009  	}
 17010  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17011  	if c.ifNoneMatch_ != "" {
 17012  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17013  	}
 17014  	var body io.Reader = nil
 17015  	c.urlParams_.Set("alt", alt)
 17016  	c.urlParams_.Set("prettyPrint", "false")
 17017  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17018  	urls += "?" + c.urlParams_.Encode()
 17019  	req, err := http.NewRequest("GET", urls, body)
 17020  	if err != nil {
 17021  		return nil, err
 17022  	}
 17023  	req.Header = reqHeaders
 17024  	googleapi.Expand(req.URL, map[string]string{
 17025  		"profileId": strconv.FormatInt(c.profileId, 10),
 17026  	})
 17027  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17028  }
 17029  
 17030  // Do executes the "dfareporting.ads.list" call.
 17031  // Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
 17032  // status code is an error. Response headers are in either
 17033  // *AdsListResponse.ServerResponse.Header or (if a response was returned
 17034  // at all) in error.(*googleapi.Error).Header. Use
 17035  // googleapi.IsNotModified to check whether the returned error was
 17036  // because http.StatusNotModified was returned.
 17037  func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
 17038  	gensupport.SetOptions(c.urlParams_, opts...)
 17039  	res, err := c.doRequest("json")
 17040  	if res != nil && res.StatusCode == http.StatusNotModified {
 17041  		if res.Body != nil {
 17042  			res.Body.Close()
 17043  		}
 17044  		return nil, &googleapi.Error{
 17045  			Code:   res.StatusCode,
 17046  			Header: res.Header,
 17047  		}
 17048  	}
 17049  	if err != nil {
 17050  		return nil, err
 17051  	}
 17052  	defer googleapi.CloseBody(res)
 17053  	if err := googleapi.CheckResponse(res); err != nil {
 17054  		return nil, err
 17055  	}
 17056  	ret := &AdsListResponse{
 17057  		ServerResponse: googleapi.ServerResponse{
 17058  			Header:         res.Header,
 17059  			HTTPStatusCode: res.StatusCode,
 17060  		},
 17061  	}
 17062  	target := &ret
 17063  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17064  		return nil, err
 17065  	}
 17066  	return ret, nil
 17067  	// {
 17068  	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
 17069  	//   "httpMethod": "GET",
 17070  	//   "id": "dfareporting.ads.list",
 17071  	//   "parameterOrder": [
 17072  	//     "profileId"
 17073  	//   ],
 17074  	//   "parameters": {
 17075  	//     "active": {
 17076  	//       "description": "Select only active ads.",
 17077  	//       "location": "query",
 17078  	//       "type": "boolean"
 17079  	//     },
 17080  	//     "advertiserId": {
 17081  	//       "description": "Select only ads with this advertiser ID.",
 17082  	//       "format": "int64",
 17083  	//       "location": "query",
 17084  	//       "type": "string"
 17085  	//     },
 17086  	//     "archived": {
 17087  	//       "description": "Select only archived ads.",
 17088  	//       "location": "query",
 17089  	//       "type": "boolean"
 17090  	//     },
 17091  	//     "audienceSegmentIds": {
 17092  	//       "description": "Select only ads with these audience segment IDs.",
 17093  	//       "format": "int64",
 17094  	//       "location": "query",
 17095  	//       "repeated": true,
 17096  	//       "type": "string"
 17097  	//     },
 17098  	//     "campaignIds": {
 17099  	//       "description": "Select only ads with these campaign IDs.",
 17100  	//       "format": "int64",
 17101  	//       "location": "query",
 17102  	//       "repeated": true,
 17103  	//       "type": "string"
 17104  	//     },
 17105  	//     "compatibility": {
 17106  	//       "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.",
 17107  	//       "enum": [
 17108  	//         "APP",
 17109  	//         "APP_INTERSTITIAL",
 17110  	//         "DISPLAY",
 17111  	//         "DISPLAY_INTERSTITIAL",
 17112  	//         "IN_STREAM_AUDIO",
 17113  	//         "IN_STREAM_VIDEO"
 17114  	//       ],
 17115  	//       "enumDescriptions": [
 17116  	//         "",
 17117  	//         "",
 17118  	//         "",
 17119  	//         "",
 17120  	//         "",
 17121  	//         ""
 17122  	//       ],
 17123  	//       "location": "query",
 17124  	//       "type": "string"
 17125  	//     },
 17126  	//     "creativeIds": {
 17127  	//       "description": "Select only ads with these creative IDs assigned.",
 17128  	//       "format": "int64",
 17129  	//       "location": "query",
 17130  	//       "repeated": true,
 17131  	//       "type": "string"
 17132  	//     },
 17133  	//     "creativeOptimizationConfigurationIds": {
 17134  	//       "description": "Select only ads with these creative optimization configuration IDs.",
 17135  	//       "format": "int64",
 17136  	//       "location": "query",
 17137  	//       "repeated": true,
 17138  	//       "type": "string"
 17139  	//     },
 17140  	//     "dynamicClickTracker": {
 17141  	//       "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.",
 17142  	//       "location": "query",
 17143  	//       "type": "boolean"
 17144  	//     },
 17145  	//     "ids": {
 17146  	//       "description": "Select only ads with these IDs.",
 17147  	//       "format": "int64",
 17148  	//       "location": "query",
 17149  	//       "repeated": true,
 17150  	//       "type": "string"
 17151  	//     },
 17152  	//     "landingPageIds": {
 17153  	//       "description": "Select only ads with these landing page IDs.",
 17154  	//       "format": "int64",
 17155  	//       "location": "query",
 17156  	//       "repeated": true,
 17157  	//       "type": "string"
 17158  	//     },
 17159  	//     "maxResults": {
 17160  	//       "default": "1000",
 17161  	//       "description": "Maximum number of results to return.",
 17162  	//       "format": "int32",
 17163  	//       "location": "query",
 17164  	//       "maximum": "1000",
 17165  	//       "minimum": "0",
 17166  	//       "type": "integer"
 17167  	//     },
 17168  	//     "overriddenEventTagId": {
 17169  	//       "description": "Select only ads with this event tag override ID.",
 17170  	//       "format": "int64",
 17171  	//       "location": "query",
 17172  	//       "type": "string"
 17173  	//     },
 17174  	//     "pageToken": {
 17175  	//       "description": "Value of the nextPageToken from the previous result page.",
 17176  	//       "location": "query",
 17177  	//       "type": "string"
 17178  	//     },
 17179  	//     "placementIds": {
 17180  	//       "description": "Select only ads with these placement IDs assigned.",
 17181  	//       "format": "int64",
 17182  	//       "location": "query",
 17183  	//       "repeated": true,
 17184  	//       "type": "string"
 17185  	//     },
 17186  	//     "profileId": {
 17187  	//       "description": "User profile ID associated with this request.",
 17188  	//       "format": "int64",
 17189  	//       "location": "path",
 17190  	//       "required": true,
 17191  	//       "type": "string"
 17192  	//     },
 17193  	//     "remarketingListIds": {
 17194  	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
 17195  	//       "format": "int64",
 17196  	//       "location": "query",
 17197  	//       "repeated": true,
 17198  	//       "type": "string"
 17199  	//     },
 17200  	//     "searchString": {
 17201  	//       "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\".",
 17202  	//       "location": "query",
 17203  	//       "type": "string"
 17204  	//     },
 17205  	//     "sizeIds": {
 17206  	//       "description": "Select only ads with these size IDs.",
 17207  	//       "format": "int64",
 17208  	//       "location": "query",
 17209  	//       "repeated": true,
 17210  	//       "type": "string"
 17211  	//     },
 17212  	//     "sortField": {
 17213  	//       "default": "ID",
 17214  	//       "description": "Field by which to sort the list.",
 17215  	//       "enum": [
 17216  	//         "ID",
 17217  	//         "NAME"
 17218  	//       ],
 17219  	//       "enumDescriptions": [
 17220  	//         "",
 17221  	//         ""
 17222  	//       ],
 17223  	//       "location": "query",
 17224  	//       "type": "string"
 17225  	//     },
 17226  	//     "sortOrder": {
 17227  	//       "default": "ASCENDING",
 17228  	//       "description": "Order of sorted results.",
 17229  	//       "enum": [
 17230  	//         "ASCENDING",
 17231  	//         "DESCENDING"
 17232  	//       ],
 17233  	//       "enumDescriptions": [
 17234  	//         "",
 17235  	//         ""
 17236  	//       ],
 17237  	//       "location": "query",
 17238  	//       "type": "string"
 17239  	//     },
 17240  	//     "sslCompliant": {
 17241  	//       "description": "Select only ads that are SSL-compliant.",
 17242  	//       "location": "query",
 17243  	//       "type": "boolean"
 17244  	//     },
 17245  	//     "sslRequired": {
 17246  	//       "description": "Select only ads that require SSL.",
 17247  	//       "location": "query",
 17248  	//       "type": "boolean"
 17249  	//     },
 17250  	//     "type": {
 17251  	//       "description": "Select only ads with these types.",
 17252  	//       "enum": [
 17253  	//         "AD_SERVING_CLICK_TRACKER",
 17254  	//         "AD_SERVING_DEFAULT_AD",
 17255  	//         "AD_SERVING_STANDARD_AD",
 17256  	//         "AD_SERVING_TRACKING"
 17257  	//       ],
 17258  	//       "enumDescriptions": [
 17259  	//         "",
 17260  	//         "",
 17261  	//         "",
 17262  	//         ""
 17263  	//       ],
 17264  	//       "location": "query",
 17265  	//       "repeated": true,
 17266  	//       "type": "string"
 17267  	//     }
 17268  	//   },
 17269  	//   "path": "userprofiles/{profileId}/ads",
 17270  	//   "response": {
 17271  	//     "$ref": "AdsListResponse"
 17272  	//   },
 17273  	//   "scopes": [
 17274  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17275  	//   ]
 17276  	// }
 17277  
 17278  }
 17279  
 17280  // Pages invokes f for each page of results.
 17281  // A non-nil error returned from f will halt the iteration.
 17282  // The provided context supersedes any context provided to the Context method.
 17283  func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
 17284  	c.ctx_ = ctx
 17285  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 17286  	for {
 17287  		x, err := c.Do()
 17288  		if err != nil {
 17289  			return err
 17290  		}
 17291  		if err := f(x); err != nil {
 17292  			return err
 17293  		}
 17294  		if x.NextPageToken == "" {
 17295  			return nil
 17296  		}
 17297  		c.PageToken(x.NextPageToken)
 17298  	}
 17299  }
 17300  
 17301  // method id "dfareporting.ads.patch":
 17302  
 17303  type AdsPatchCall struct {
 17304  	s          *Service
 17305  	profileId  int64
 17306  	ad         *Ad
 17307  	urlParams_ gensupport.URLParams
 17308  	ctx_       context.Context
 17309  	header_    http.Header
 17310  }
 17311  
 17312  // Patch: Updates an existing ad. This method supports patch semantics.
 17313  func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
 17314  	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17315  	c.profileId = profileId
 17316  	c.urlParams_.Set("id", fmt.Sprint(id))
 17317  	c.ad = ad
 17318  	return c
 17319  }
 17320  
 17321  // Fields allows partial responses to be retrieved. See
 17322  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17323  // for more information.
 17324  func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
 17325  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17326  	return c
 17327  }
 17328  
 17329  // Context sets the context to be used in this call's Do method. Any
 17330  // pending HTTP request will be aborted if the provided context is
 17331  // canceled.
 17332  func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 17333  	c.ctx_ = ctx
 17334  	return c
 17335  }
 17336  
 17337  // Header returns an http.Header that can be modified by the caller to
 17338  // add HTTP headers to the request.
 17339  func (c *AdsPatchCall) Header() http.Header {
 17340  	if c.header_ == nil {
 17341  		c.header_ = make(http.Header)
 17342  	}
 17343  	return c.header_
 17344  }
 17345  
 17346  func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
 17347  	reqHeaders := make(http.Header)
 17348  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17349  	for k, v := range c.header_ {
 17350  		reqHeaders[k] = v
 17351  	}
 17352  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17353  	var body io.Reader = nil
 17354  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17355  	if err != nil {
 17356  		return nil, err
 17357  	}
 17358  	reqHeaders.Set("Content-Type", "application/json")
 17359  	c.urlParams_.Set("alt", alt)
 17360  	c.urlParams_.Set("prettyPrint", "false")
 17361  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17362  	urls += "?" + c.urlParams_.Encode()
 17363  	req, err := http.NewRequest("PATCH", urls, body)
 17364  	if err != nil {
 17365  		return nil, err
 17366  	}
 17367  	req.Header = reqHeaders
 17368  	googleapi.Expand(req.URL, map[string]string{
 17369  		"profileId": strconv.FormatInt(c.profileId, 10),
 17370  	})
 17371  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17372  }
 17373  
 17374  // Do executes the "dfareporting.ads.patch" call.
 17375  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17376  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17377  // or (if a response was returned at all) in
 17378  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17379  // whether the returned error was because http.StatusNotModified was
 17380  // returned.
 17381  func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17382  	gensupport.SetOptions(c.urlParams_, opts...)
 17383  	res, err := c.doRequest("json")
 17384  	if res != nil && res.StatusCode == http.StatusNotModified {
 17385  		if res.Body != nil {
 17386  			res.Body.Close()
 17387  		}
 17388  		return nil, &googleapi.Error{
 17389  			Code:   res.StatusCode,
 17390  			Header: res.Header,
 17391  		}
 17392  	}
 17393  	if err != nil {
 17394  		return nil, err
 17395  	}
 17396  	defer googleapi.CloseBody(res)
 17397  	if err := googleapi.CheckResponse(res); err != nil {
 17398  		return nil, err
 17399  	}
 17400  	ret := &Ad{
 17401  		ServerResponse: googleapi.ServerResponse{
 17402  			Header:         res.Header,
 17403  			HTTPStatusCode: res.StatusCode,
 17404  		},
 17405  	}
 17406  	target := &ret
 17407  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17408  		return nil, err
 17409  	}
 17410  	return ret, nil
 17411  	// {
 17412  	//   "description": "Updates an existing ad. This method supports patch semantics.",
 17413  	//   "httpMethod": "PATCH",
 17414  	//   "id": "dfareporting.ads.patch",
 17415  	//   "parameterOrder": [
 17416  	//     "profileId",
 17417  	//     "id"
 17418  	//   ],
 17419  	//   "parameters": {
 17420  	//     "id": {
 17421  	//       "description": "Ad ID.",
 17422  	//       "format": "int64",
 17423  	//       "location": "query",
 17424  	//       "required": true,
 17425  	//       "type": "string"
 17426  	//     },
 17427  	//     "profileId": {
 17428  	//       "description": "User profile ID associated with this request.",
 17429  	//       "format": "int64",
 17430  	//       "location": "path",
 17431  	//       "required": true,
 17432  	//       "type": "string"
 17433  	//     }
 17434  	//   },
 17435  	//   "path": "userprofiles/{profileId}/ads",
 17436  	//   "request": {
 17437  	//     "$ref": "Ad"
 17438  	//   },
 17439  	//   "response": {
 17440  	//     "$ref": "Ad"
 17441  	//   },
 17442  	//   "scopes": [
 17443  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17444  	//   ]
 17445  	// }
 17446  
 17447  }
 17448  
 17449  // method id "dfareporting.ads.update":
 17450  
 17451  type AdsUpdateCall struct {
 17452  	s          *Service
 17453  	profileId  int64
 17454  	ad         *Ad
 17455  	urlParams_ gensupport.URLParams
 17456  	ctx_       context.Context
 17457  	header_    http.Header
 17458  }
 17459  
 17460  // Update: Updates an existing ad.
 17461  func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
 17462  	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17463  	c.profileId = profileId
 17464  	c.ad = ad
 17465  	return c
 17466  }
 17467  
 17468  // Fields allows partial responses to be retrieved. See
 17469  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17470  // for more information.
 17471  func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
 17472  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17473  	return c
 17474  }
 17475  
 17476  // Context sets the context to be used in this call's Do method. Any
 17477  // pending HTTP request will be aborted if the provided context is
 17478  // canceled.
 17479  func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 17480  	c.ctx_ = ctx
 17481  	return c
 17482  }
 17483  
 17484  // Header returns an http.Header that can be modified by the caller to
 17485  // add HTTP headers to the request.
 17486  func (c *AdsUpdateCall) Header() http.Header {
 17487  	if c.header_ == nil {
 17488  		c.header_ = make(http.Header)
 17489  	}
 17490  	return c.header_
 17491  }
 17492  
 17493  func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
 17494  	reqHeaders := make(http.Header)
 17495  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17496  	for k, v := range c.header_ {
 17497  		reqHeaders[k] = v
 17498  	}
 17499  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17500  	var body io.Reader = nil
 17501  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17502  	if err != nil {
 17503  		return nil, err
 17504  	}
 17505  	reqHeaders.Set("Content-Type", "application/json")
 17506  	c.urlParams_.Set("alt", alt)
 17507  	c.urlParams_.Set("prettyPrint", "false")
 17508  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17509  	urls += "?" + c.urlParams_.Encode()
 17510  	req, err := http.NewRequest("PUT", urls, body)
 17511  	if err != nil {
 17512  		return nil, err
 17513  	}
 17514  	req.Header = reqHeaders
 17515  	googleapi.Expand(req.URL, map[string]string{
 17516  		"profileId": strconv.FormatInt(c.profileId, 10),
 17517  	})
 17518  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17519  }
 17520  
 17521  // Do executes the "dfareporting.ads.update" call.
 17522  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17523  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17524  // or (if a response was returned at all) in
 17525  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17526  // whether the returned error was because http.StatusNotModified was
 17527  // returned.
 17528  func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17529  	gensupport.SetOptions(c.urlParams_, opts...)
 17530  	res, err := c.doRequest("json")
 17531  	if res != nil && res.StatusCode == http.StatusNotModified {
 17532  		if res.Body != nil {
 17533  			res.Body.Close()
 17534  		}
 17535  		return nil, &googleapi.Error{
 17536  			Code:   res.StatusCode,
 17537  			Header: res.Header,
 17538  		}
 17539  	}
 17540  	if err != nil {
 17541  		return nil, err
 17542  	}
 17543  	defer googleapi.CloseBody(res)
 17544  	if err := googleapi.CheckResponse(res); err != nil {
 17545  		return nil, err
 17546  	}
 17547  	ret := &Ad{
 17548  		ServerResponse: googleapi.ServerResponse{
 17549  			Header:         res.Header,
 17550  			HTTPStatusCode: res.StatusCode,
 17551  		},
 17552  	}
 17553  	target := &ret
 17554  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17555  		return nil, err
 17556  	}
 17557  	return ret, nil
 17558  	// {
 17559  	//   "description": "Updates an existing ad.",
 17560  	//   "httpMethod": "PUT",
 17561  	//   "id": "dfareporting.ads.update",
 17562  	//   "parameterOrder": [
 17563  	//     "profileId"
 17564  	//   ],
 17565  	//   "parameters": {
 17566  	//     "profileId": {
 17567  	//       "description": "User profile ID associated with this request.",
 17568  	//       "format": "int64",
 17569  	//       "location": "path",
 17570  	//       "required": true,
 17571  	//       "type": "string"
 17572  	//     }
 17573  	//   },
 17574  	//   "path": "userprofiles/{profileId}/ads",
 17575  	//   "request": {
 17576  	//     "$ref": "Ad"
 17577  	//   },
 17578  	//   "response": {
 17579  	//     "$ref": "Ad"
 17580  	//   },
 17581  	//   "scopes": [
 17582  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17583  	//   ]
 17584  	// }
 17585  
 17586  }
 17587  
 17588  // method id "dfareporting.advertiserGroups.delete":
 17589  
 17590  type AdvertiserGroupsDeleteCall struct {
 17591  	s          *Service
 17592  	profileId  int64
 17593  	id         int64
 17594  	urlParams_ gensupport.URLParams
 17595  	ctx_       context.Context
 17596  	header_    http.Header
 17597  }
 17598  
 17599  // Delete: Deletes an existing advertiser group.
 17600  func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
 17601  	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17602  	c.profileId = profileId
 17603  	c.id = id
 17604  	return c
 17605  }
 17606  
 17607  // Fields allows partial responses to be retrieved. See
 17608  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17609  // for more information.
 17610  func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
 17611  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17612  	return c
 17613  }
 17614  
 17615  // Context sets the context to be used in this call's Do method. Any
 17616  // pending HTTP request will be aborted if the provided context is
 17617  // canceled.
 17618  func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 17619  	c.ctx_ = ctx
 17620  	return c
 17621  }
 17622  
 17623  // Header returns an http.Header that can be modified by the caller to
 17624  // add HTTP headers to the request.
 17625  func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
 17626  	if c.header_ == nil {
 17627  		c.header_ = make(http.Header)
 17628  	}
 17629  	return c.header_
 17630  }
 17631  
 17632  func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 17633  	reqHeaders := make(http.Header)
 17634  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17635  	for k, v := range c.header_ {
 17636  		reqHeaders[k] = v
 17637  	}
 17638  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17639  	var body io.Reader = nil
 17640  	c.urlParams_.Set("alt", alt)
 17641  	c.urlParams_.Set("prettyPrint", "false")
 17642  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17643  	urls += "?" + c.urlParams_.Encode()
 17644  	req, err := http.NewRequest("DELETE", urls, body)
 17645  	if err != nil {
 17646  		return nil, err
 17647  	}
 17648  	req.Header = reqHeaders
 17649  	googleapi.Expand(req.URL, map[string]string{
 17650  		"profileId": strconv.FormatInt(c.profileId, 10),
 17651  		"id":        strconv.FormatInt(c.id, 10),
 17652  	})
 17653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17654  }
 17655  
 17656  // Do executes the "dfareporting.advertiserGroups.delete" call.
 17657  func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
 17658  	gensupport.SetOptions(c.urlParams_, opts...)
 17659  	res, err := c.doRequest("json")
 17660  	if err != nil {
 17661  		return err
 17662  	}
 17663  	defer googleapi.CloseBody(res)
 17664  	if err := googleapi.CheckResponse(res); err != nil {
 17665  		return err
 17666  	}
 17667  	return nil
 17668  	// {
 17669  	//   "description": "Deletes an existing advertiser group.",
 17670  	//   "httpMethod": "DELETE",
 17671  	//   "id": "dfareporting.advertiserGroups.delete",
 17672  	//   "parameterOrder": [
 17673  	//     "profileId",
 17674  	//     "id"
 17675  	//   ],
 17676  	//   "parameters": {
 17677  	//     "id": {
 17678  	//       "description": "Advertiser group ID.",
 17679  	//       "format": "int64",
 17680  	//       "location": "path",
 17681  	//       "required": true,
 17682  	//       "type": "string"
 17683  	//     },
 17684  	//     "profileId": {
 17685  	//       "description": "User profile ID associated with this request.",
 17686  	//       "format": "int64",
 17687  	//       "location": "path",
 17688  	//       "required": true,
 17689  	//       "type": "string"
 17690  	//     }
 17691  	//   },
 17692  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17693  	//   "scopes": [
 17694  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17695  	//   ]
 17696  	// }
 17697  
 17698  }
 17699  
 17700  // method id "dfareporting.advertiserGroups.get":
 17701  
 17702  type AdvertiserGroupsGetCall struct {
 17703  	s            *Service
 17704  	profileId    int64
 17705  	id           int64
 17706  	urlParams_   gensupport.URLParams
 17707  	ifNoneMatch_ string
 17708  	ctx_         context.Context
 17709  	header_      http.Header
 17710  }
 17711  
 17712  // Get: Gets one advertiser group by ID.
 17713  func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
 17714  	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17715  	c.profileId = profileId
 17716  	c.id = id
 17717  	return c
 17718  }
 17719  
 17720  // Fields allows partial responses to be retrieved. See
 17721  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17722  // for more information.
 17723  func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
 17724  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17725  	return c
 17726  }
 17727  
 17728  // IfNoneMatch sets the optional parameter which makes the operation
 17729  // fail if the object's ETag matches the given value. This is useful for
 17730  // getting updates only after the object has changed since the last
 17731  // request. Use googleapi.IsNotModified to check whether the response
 17732  // error from Do is the result of In-None-Match.
 17733  func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
 17734  	c.ifNoneMatch_ = entityTag
 17735  	return c
 17736  }
 17737  
 17738  // Context sets the context to be used in this call's Do method. Any
 17739  // pending HTTP request will be aborted if the provided context is
 17740  // canceled.
 17741  func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 17742  	c.ctx_ = ctx
 17743  	return c
 17744  }
 17745  
 17746  // Header returns an http.Header that can be modified by the caller to
 17747  // add HTTP headers to the request.
 17748  func (c *AdvertiserGroupsGetCall) Header() http.Header {
 17749  	if c.header_ == nil {
 17750  		c.header_ = make(http.Header)
 17751  	}
 17752  	return c.header_
 17753  }
 17754  
 17755  func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 17756  	reqHeaders := make(http.Header)
 17757  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17758  	for k, v := range c.header_ {
 17759  		reqHeaders[k] = v
 17760  	}
 17761  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17762  	if c.ifNoneMatch_ != "" {
 17763  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17764  	}
 17765  	var body io.Reader = nil
 17766  	c.urlParams_.Set("alt", alt)
 17767  	c.urlParams_.Set("prettyPrint", "false")
 17768  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17769  	urls += "?" + c.urlParams_.Encode()
 17770  	req, err := http.NewRequest("GET", urls, body)
 17771  	if err != nil {
 17772  		return nil, err
 17773  	}
 17774  	req.Header = reqHeaders
 17775  	googleapi.Expand(req.URL, map[string]string{
 17776  		"profileId": strconv.FormatInt(c.profileId, 10),
 17777  		"id":        strconv.FormatInt(c.id, 10),
 17778  	})
 17779  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17780  }
 17781  
 17782  // Do executes the "dfareporting.advertiserGroups.get" call.
 17783  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 17784  // status code is an error. Response headers are in either
 17785  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 17786  // at all) in error.(*googleapi.Error).Header. Use
 17787  // googleapi.IsNotModified to check whether the returned error was
 17788  // because http.StatusNotModified was returned.
 17789  func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 17790  	gensupport.SetOptions(c.urlParams_, opts...)
 17791  	res, err := c.doRequest("json")
 17792  	if res != nil && res.StatusCode == http.StatusNotModified {
 17793  		if res.Body != nil {
 17794  			res.Body.Close()
 17795  		}
 17796  		return nil, &googleapi.Error{
 17797  			Code:   res.StatusCode,
 17798  			Header: res.Header,
 17799  		}
 17800  	}
 17801  	if err != nil {
 17802  		return nil, err
 17803  	}
 17804  	defer googleapi.CloseBody(res)
 17805  	if err := googleapi.CheckResponse(res); err != nil {
 17806  		return nil, err
 17807  	}
 17808  	ret := &AdvertiserGroup{
 17809  		ServerResponse: googleapi.ServerResponse{
 17810  			Header:         res.Header,
 17811  			HTTPStatusCode: res.StatusCode,
 17812  		},
 17813  	}
 17814  	target := &ret
 17815  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17816  		return nil, err
 17817  	}
 17818  	return ret, nil
 17819  	// {
 17820  	//   "description": "Gets one advertiser group by ID.",
 17821  	//   "httpMethod": "GET",
 17822  	//   "id": "dfareporting.advertiserGroups.get",
 17823  	//   "parameterOrder": [
 17824  	//     "profileId",
 17825  	//     "id"
 17826  	//   ],
 17827  	//   "parameters": {
 17828  	//     "id": {
 17829  	//       "description": "Advertiser group ID.",
 17830  	//       "format": "int64",
 17831  	//       "location": "path",
 17832  	//       "required": true,
 17833  	//       "type": "string"
 17834  	//     },
 17835  	//     "profileId": {
 17836  	//       "description": "User profile ID associated with this request.",
 17837  	//       "format": "int64",
 17838  	//       "location": "path",
 17839  	//       "required": true,
 17840  	//       "type": "string"
 17841  	//     }
 17842  	//   },
 17843  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17844  	//   "response": {
 17845  	//     "$ref": "AdvertiserGroup"
 17846  	//   },
 17847  	//   "scopes": [
 17848  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17849  	//   ]
 17850  	// }
 17851  
 17852  }
 17853  
 17854  // method id "dfareporting.advertiserGroups.insert":
 17855  
 17856  type AdvertiserGroupsInsertCall struct {
 17857  	s               *Service
 17858  	profileId       int64
 17859  	advertisergroup *AdvertiserGroup
 17860  	urlParams_      gensupport.URLParams
 17861  	ctx_            context.Context
 17862  	header_         http.Header
 17863  }
 17864  
 17865  // Insert: Inserts a new advertiser group.
 17866  func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
 17867  	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17868  	c.profileId = profileId
 17869  	c.advertisergroup = advertisergroup
 17870  	return c
 17871  }
 17872  
 17873  // Fields allows partial responses to be retrieved. See
 17874  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17875  // for more information.
 17876  func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
 17877  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17878  	return c
 17879  }
 17880  
 17881  // Context sets the context to be used in this call's Do method. Any
 17882  // pending HTTP request will be aborted if the provided context is
 17883  // canceled.
 17884  func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 17885  	c.ctx_ = ctx
 17886  	return c
 17887  }
 17888  
 17889  // Header returns an http.Header that can be modified by the caller to
 17890  // add HTTP headers to the request.
 17891  func (c *AdvertiserGroupsInsertCall) Header() http.Header {
 17892  	if c.header_ == nil {
 17893  		c.header_ = make(http.Header)
 17894  	}
 17895  	return c.header_
 17896  }
 17897  
 17898  func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 17899  	reqHeaders := make(http.Header)
 17900  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17901  	for k, v := range c.header_ {
 17902  		reqHeaders[k] = v
 17903  	}
 17904  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17905  	var body io.Reader = nil
 17906  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 17907  	if err != nil {
 17908  		return nil, err
 17909  	}
 17910  	reqHeaders.Set("Content-Type", "application/json")
 17911  	c.urlParams_.Set("alt", alt)
 17912  	c.urlParams_.Set("prettyPrint", "false")
 17913  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 17914  	urls += "?" + c.urlParams_.Encode()
 17915  	req, err := http.NewRequest("POST", urls, body)
 17916  	if err != nil {
 17917  		return nil, err
 17918  	}
 17919  	req.Header = reqHeaders
 17920  	googleapi.Expand(req.URL, map[string]string{
 17921  		"profileId": strconv.FormatInt(c.profileId, 10),
 17922  	})
 17923  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17924  }
 17925  
 17926  // Do executes the "dfareporting.advertiserGroups.insert" call.
 17927  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 17928  // status code is an error. Response headers are in either
 17929  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 17930  // at all) in error.(*googleapi.Error).Header. Use
 17931  // googleapi.IsNotModified to check whether the returned error was
 17932  // because http.StatusNotModified was returned.
 17933  func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 17934  	gensupport.SetOptions(c.urlParams_, opts...)
 17935  	res, err := c.doRequest("json")
 17936  	if res != nil && res.StatusCode == http.StatusNotModified {
 17937  		if res.Body != nil {
 17938  			res.Body.Close()
 17939  		}
 17940  		return nil, &googleapi.Error{
 17941  			Code:   res.StatusCode,
 17942  			Header: res.Header,
 17943  		}
 17944  	}
 17945  	if err != nil {
 17946  		return nil, err
 17947  	}
 17948  	defer googleapi.CloseBody(res)
 17949  	if err := googleapi.CheckResponse(res); err != nil {
 17950  		return nil, err
 17951  	}
 17952  	ret := &AdvertiserGroup{
 17953  		ServerResponse: googleapi.ServerResponse{
 17954  			Header:         res.Header,
 17955  			HTTPStatusCode: res.StatusCode,
 17956  		},
 17957  	}
 17958  	target := &ret
 17959  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17960  		return nil, err
 17961  	}
 17962  	return ret, nil
 17963  	// {
 17964  	//   "description": "Inserts a new advertiser group.",
 17965  	//   "httpMethod": "POST",
 17966  	//   "id": "dfareporting.advertiserGroups.insert",
 17967  	//   "parameterOrder": [
 17968  	//     "profileId"
 17969  	//   ],
 17970  	//   "parameters": {
 17971  	//     "profileId": {
 17972  	//       "description": "User profile ID associated with this request.",
 17973  	//       "format": "int64",
 17974  	//       "location": "path",
 17975  	//       "required": true,
 17976  	//       "type": "string"
 17977  	//     }
 17978  	//   },
 17979  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 17980  	//   "request": {
 17981  	//     "$ref": "AdvertiserGroup"
 17982  	//   },
 17983  	//   "response": {
 17984  	//     "$ref": "AdvertiserGroup"
 17985  	//   },
 17986  	//   "scopes": [
 17987  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17988  	//   ]
 17989  	// }
 17990  
 17991  }
 17992  
 17993  // method id "dfareporting.advertiserGroups.list":
 17994  
 17995  type AdvertiserGroupsListCall struct {
 17996  	s            *Service
 17997  	profileId    int64
 17998  	urlParams_   gensupport.URLParams
 17999  	ifNoneMatch_ string
 18000  	ctx_         context.Context
 18001  	header_      http.Header
 18002  }
 18003  
 18004  // List: Retrieves a list of advertiser groups, possibly filtered. This
 18005  // method supports paging.
 18006  func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
 18007  	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18008  	c.profileId = profileId
 18009  	return c
 18010  }
 18011  
 18012  // Ids sets the optional parameter "ids": Select only advertiser groups
 18013  // with these IDs.
 18014  func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
 18015  	var ids_ []string
 18016  	for _, v := range ids {
 18017  		ids_ = append(ids_, fmt.Sprint(v))
 18018  	}
 18019  	c.urlParams_.SetMulti("ids", ids_)
 18020  	return c
 18021  }
 18022  
 18023  // MaxResults sets the optional parameter "maxResults": Maximum number
 18024  // of results to return.
 18025  func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
 18026  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 18027  	return c
 18028  }
 18029  
 18030  // PageToken sets the optional parameter "pageToken": Value of the
 18031  // nextPageToken from the previous result page.
 18032  func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
 18033  	c.urlParams_.Set("pageToken", pageToken)
 18034  	return c
 18035  }
 18036  
 18037  // SearchString sets the optional parameter "searchString": Allows
 18038  // searching for objects by name or ID. Wildcards (*) are allowed. For
 18039  // example, "advertiser*2015" will return objects with names like
 18040  // "advertiser group June 2015", "advertiser group April 2015", or
 18041  // simply "advertiser group 2015". Most of the searches also add
 18042  // wildcards implicitly at the start and the end of the search string.
 18043  // For example, a search string of "advertisergroup" will match objects
 18044  // with name "my advertisergroup", "advertisergroup 2015", or simply
 18045  // "advertisergroup".
 18046  func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
 18047  	c.urlParams_.Set("searchString", searchString)
 18048  	return c
 18049  }
 18050  
 18051  // SortField sets the optional parameter "sortField": Field by which to
 18052  // sort the list.
 18053  //
 18054  // Possible values:
 18055  //
 18056  //	"ID" (default)
 18057  //	"NAME"
 18058  func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
 18059  	c.urlParams_.Set("sortField", sortField)
 18060  	return c
 18061  }
 18062  
 18063  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 18064  // results.
 18065  //
 18066  // Possible values:
 18067  //
 18068  //	"ASCENDING" (default)
 18069  //	"DESCENDING"
 18070  func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
 18071  	c.urlParams_.Set("sortOrder", sortOrder)
 18072  	return c
 18073  }
 18074  
 18075  // Fields allows partial responses to be retrieved. See
 18076  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18077  // for more information.
 18078  func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
 18079  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18080  	return c
 18081  }
 18082  
 18083  // IfNoneMatch sets the optional parameter which makes the operation
 18084  // fail if the object's ETag matches the given value. This is useful for
 18085  // getting updates only after the object has changed since the last
 18086  // request. Use googleapi.IsNotModified to check whether the response
 18087  // error from Do is the result of In-None-Match.
 18088  func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
 18089  	c.ifNoneMatch_ = entityTag
 18090  	return c
 18091  }
 18092  
 18093  // Context sets the context to be used in this call's Do method. Any
 18094  // pending HTTP request will be aborted if the provided context is
 18095  // canceled.
 18096  func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 18097  	c.ctx_ = ctx
 18098  	return c
 18099  }
 18100  
 18101  // Header returns an http.Header that can be modified by the caller to
 18102  // add HTTP headers to the request.
 18103  func (c *AdvertiserGroupsListCall) Header() http.Header {
 18104  	if c.header_ == nil {
 18105  		c.header_ = make(http.Header)
 18106  	}
 18107  	return c.header_
 18108  }
 18109  
 18110  func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 18111  	reqHeaders := make(http.Header)
 18112  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18113  	for k, v := range c.header_ {
 18114  		reqHeaders[k] = v
 18115  	}
 18116  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18117  	if c.ifNoneMatch_ != "" {
 18118  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18119  	}
 18120  	var body io.Reader = nil
 18121  	c.urlParams_.Set("alt", alt)
 18122  	c.urlParams_.Set("prettyPrint", "false")
 18123  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18124  	urls += "?" + c.urlParams_.Encode()
 18125  	req, err := http.NewRequest("GET", urls, body)
 18126  	if err != nil {
 18127  		return nil, err
 18128  	}
 18129  	req.Header = reqHeaders
 18130  	googleapi.Expand(req.URL, map[string]string{
 18131  		"profileId": strconv.FormatInt(c.profileId, 10),
 18132  	})
 18133  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18134  }
 18135  
 18136  // Do executes the "dfareporting.advertiserGroups.list" call.
 18137  // Exactly one of *AdvertiserGroupsListResponse or error will be
 18138  // non-nil. Any non-2xx status code is an error. Response headers are in
 18139  // either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
 18140  // response was returned at all) in error.(*googleapi.Error).Header. Use
 18141  // googleapi.IsNotModified to check whether the returned error was
 18142  // because http.StatusNotModified was returned.
 18143  func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
 18144  	gensupport.SetOptions(c.urlParams_, opts...)
 18145  	res, err := c.doRequest("json")
 18146  	if res != nil && res.StatusCode == http.StatusNotModified {
 18147  		if res.Body != nil {
 18148  			res.Body.Close()
 18149  		}
 18150  		return nil, &googleapi.Error{
 18151  			Code:   res.StatusCode,
 18152  			Header: res.Header,
 18153  		}
 18154  	}
 18155  	if err != nil {
 18156  		return nil, err
 18157  	}
 18158  	defer googleapi.CloseBody(res)
 18159  	if err := googleapi.CheckResponse(res); err != nil {
 18160  		return nil, err
 18161  	}
 18162  	ret := &AdvertiserGroupsListResponse{
 18163  		ServerResponse: googleapi.ServerResponse{
 18164  			Header:         res.Header,
 18165  			HTTPStatusCode: res.StatusCode,
 18166  		},
 18167  	}
 18168  	target := &ret
 18169  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18170  		return nil, err
 18171  	}
 18172  	return ret, nil
 18173  	// {
 18174  	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
 18175  	//   "httpMethod": "GET",
 18176  	//   "id": "dfareporting.advertiserGroups.list",
 18177  	//   "parameterOrder": [
 18178  	//     "profileId"
 18179  	//   ],
 18180  	//   "parameters": {
 18181  	//     "ids": {
 18182  	//       "description": "Select only advertiser groups with these IDs.",
 18183  	//       "format": "int64",
 18184  	//       "location": "query",
 18185  	//       "repeated": true,
 18186  	//       "type": "string"
 18187  	//     },
 18188  	//     "maxResults": {
 18189  	//       "default": "1000",
 18190  	//       "description": "Maximum number of results to return.",
 18191  	//       "format": "int32",
 18192  	//       "location": "query",
 18193  	//       "maximum": "1000",
 18194  	//       "minimum": "0",
 18195  	//       "type": "integer"
 18196  	//     },
 18197  	//     "pageToken": {
 18198  	//       "description": "Value of the nextPageToken from the previous result page.",
 18199  	//       "location": "query",
 18200  	//       "type": "string"
 18201  	//     },
 18202  	//     "profileId": {
 18203  	//       "description": "User profile ID associated with this request.",
 18204  	//       "format": "int64",
 18205  	//       "location": "path",
 18206  	//       "required": true,
 18207  	//       "type": "string"
 18208  	//     },
 18209  	//     "searchString": {
 18210  	//       "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\".",
 18211  	//       "location": "query",
 18212  	//       "type": "string"
 18213  	//     },
 18214  	//     "sortField": {
 18215  	//       "default": "ID",
 18216  	//       "description": "Field by which to sort the list.",
 18217  	//       "enum": [
 18218  	//         "ID",
 18219  	//         "NAME"
 18220  	//       ],
 18221  	//       "enumDescriptions": [
 18222  	//         "",
 18223  	//         ""
 18224  	//       ],
 18225  	//       "location": "query",
 18226  	//       "type": "string"
 18227  	//     },
 18228  	//     "sortOrder": {
 18229  	//       "default": "ASCENDING",
 18230  	//       "description": "Order of sorted results.",
 18231  	//       "enum": [
 18232  	//         "ASCENDING",
 18233  	//         "DESCENDING"
 18234  	//       ],
 18235  	//       "enumDescriptions": [
 18236  	//         "",
 18237  	//         ""
 18238  	//       ],
 18239  	//       "location": "query",
 18240  	//       "type": "string"
 18241  	//     }
 18242  	//   },
 18243  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18244  	//   "response": {
 18245  	//     "$ref": "AdvertiserGroupsListResponse"
 18246  	//   },
 18247  	//   "scopes": [
 18248  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18249  	//   ]
 18250  	// }
 18251  
 18252  }
 18253  
 18254  // Pages invokes f for each page of results.
 18255  // A non-nil error returned from f will halt the iteration.
 18256  // The provided context supersedes any context provided to the Context method.
 18257  func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
 18258  	c.ctx_ = ctx
 18259  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 18260  	for {
 18261  		x, err := c.Do()
 18262  		if err != nil {
 18263  			return err
 18264  		}
 18265  		if err := f(x); err != nil {
 18266  			return err
 18267  		}
 18268  		if x.NextPageToken == "" {
 18269  			return nil
 18270  		}
 18271  		c.PageToken(x.NextPageToken)
 18272  	}
 18273  }
 18274  
 18275  // method id "dfareporting.advertiserGroups.patch":
 18276  
 18277  type AdvertiserGroupsPatchCall struct {
 18278  	s               *Service
 18279  	profileId       int64
 18280  	advertisergroup *AdvertiserGroup
 18281  	urlParams_      gensupport.URLParams
 18282  	ctx_            context.Context
 18283  	header_         http.Header
 18284  }
 18285  
 18286  // Patch: Updates an existing advertiser group. This method supports
 18287  // patch semantics.
 18288  func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
 18289  	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18290  	c.profileId = profileId
 18291  	c.urlParams_.Set("id", fmt.Sprint(id))
 18292  	c.advertisergroup = advertisergroup
 18293  	return c
 18294  }
 18295  
 18296  // Fields allows partial responses to be retrieved. See
 18297  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18298  // for more information.
 18299  func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
 18300  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18301  	return c
 18302  }
 18303  
 18304  // Context sets the context to be used in this call's Do method. Any
 18305  // pending HTTP request will be aborted if the provided context is
 18306  // canceled.
 18307  func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 18308  	c.ctx_ = ctx
 18309  	return c
 18310  }
 18311  
 18312  // Header returns an http.Header that can be modified by the caller to
 18313  // add HTTP headers to the request.
 18314  func (c *AdvertiserGroupsPatchCall) Header() http.Header {
 18315  	if c.header_ == nil {
 18316  		c.header_ = make(http.Header)
 18317  	}
 18318  	return c.header_
 18319  }
 18320  
 18321  func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 18322  	reqHeaders := make(http.Header)
 18323  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18324  	for k, v := range c.header_ {
 18325  		reqHeaders[k] = v
 18326  	}
 18327  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18328  	var body io.Reader = nil
 18329  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18330  	if err != nil {
 18331  		return nil, err
 18332  	}
 18333  	reqHeaders.Set("Content-Type", "application/json")
 18334  	c.urlParams_.Set("alt", alt)
 18335  	c.urlParams_.Set("prettyPrint", "false")
 18336  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18337  	urls += "?" + c.urlParams_.Encode()
 18338  	req, err := http.NewRequest("PATCH", urls, body)
 18339  	if err != nil {
 18340  		return nil, err
 18341  	}
 18342  	req.Header = reqHeaders
 18343  	googleapi.Expand(req.URL, map[string]string{
 18344  		"profileId": strconv.FormatInt(c.profileId, 10),
 18345  	})
 18346  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18347  }
 18348  
 18349  // Do executes the "dfareporting.advertiserGroups.patch" call.
 18350  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18351  // status code is an error. Response headers are in either
 18352  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18353  // at all) in error.(*googleapi.Error).Header. Use
 18354  // googleapi.IsNotModified to check whether the returned error was
 18355  // because http.StatusNotModified was returned.
 18356  func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18357  	gensupport.SetOptions(c.urlParams_, opts...)
 18358  	res, err := c.doRequest("json")
 18359  	if res != nil && res.StatusCode == http.StatusNotModified {
 18360  		if res.Body != nil {
 18361  			res.Body.Close()
 18362  		}
 18363  		return nil, &googleapi.Error{
 18364  			Code:   res.StatusCode,
 18365  			Header: res.Header,
 18366  		}
 18367  	}
 18368  	if err != nil {
 18369  		return nil, err
 18370  	}
 18371  	defer googleapi.CloseBody(res)
 18372  	if err := googleapi.CheckResponse(res); err != nil {
 18373  		return nil, err
 18374  	}
 18375  	ret := &AdvertiserGroup{
 18376  		ServerResponse: googleapi.ServerResponse{
 18377  			Header:         res.Header,
 18378  			HTTPStatusCode: res.StatusCode,
 18379  		},
 18380  	}
 18381  	target := &ret
 18382  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18383  		return nil, err
 18384  	}
 18385  	return ret, nil
 18386  	// {
 18387  	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
 18388  	//   "httpMethod": "PATCH",
 18389  	//   "id": "dfareporting.advertiserGroups.patch",
 18390  	//   "parameterOrder": [
 18391  	//     "profileId",
 18392  	//     "id"
 18393  	//   ],
 18394  	//   "parameters": {
 18395  	//     "id": {
 18396  	//       "description": "Advertiser group ID.",
 18397  	//       "format": "int64",
 18398  	//       "location": "query",
 18399  	//       "required": true,
 18400  	//       "type": "string"
 18401  	//     },
 18402  	//     "profileId": {
 18403  	//       "description": "User profile ID associated with this request.",
 18404  	//       "format": "int64",
 18405  	//       "location": "path",
 18406  	//       "required": true,
 18407  	//       "type": "string"
 18408  	//     }
 18409  	//   },
 18410  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18411  	//   "request": {
 18412  	//     "$ref": "AdvertiserGroup"
 18413  	//   },
 18414  	//   "response": {
 18415  	//     "$ref": "AdvertiserGroup"
 18416  	//   },
 18417  	//   "scopes": [
 18418  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18419  	//   ]
 18420  	// }
 18421  
 18422  }
 18423  
 18424  // method id "dfareporting.advertiserGroups.update":
 18425  
 18426  type AdvertiserGroupsUpdateCall struct {
 18427  	s               *Service
 18428  	profileId       int64
 18429  	advertisergroup *AdvertiserGroup
 18430  	urlParams_      gensupport.URLParams
 18431  	ctx_            context.Context
 18432  	header_         http.Header
 18433  }
 18434  
 18435  // Update: Updates an existing advertiser group.
 18436  func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
 18437  	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18438  	c.profileId = profileId
 18439  	c.advertisergroup = advertisergroup
 18440  	return c
 18441  }
 18442  
 18443  // Fields allows partial responses to be retrieved. See
 18444  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18445  // for more information.
 18446  func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
 18447  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18448  	return c
 18449  }
 18450  
 18451  // Context sets the context to be used in this call's Do method. Any
 18452  // pending HTTP request will be aborted if the provided context is
 18453  // canceled.
 18454  func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 18455  	c.ctx_ = ctx
 18456  	return c
 18457  }
 18458  
 18459  // Header returns an http.Header that can be modified by the caller to
 18460  // add HTTP headers to the request.
 18461  func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
 18462  	if c.header_ == nil {
 18463  		c.header_ = make(http.Header)
 18464  	}
 18465  	return c.header_
 18466  }
 18467  
 18468  func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 18469  	reqHeaders := make(http.Header)
 18470  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18471  	for k, v := range c.header_ {
 18472  		reqHeaders[k] = v
 18473  	}
 18474  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18475  	var body io.Reader = nil
 18476  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18477  	if err != nil {
 18478  		return nil, err
 18479  	}
 18480  	reqHeaders.Set("Content-Type", "application/json")
 18481  	c.urlParams_.Set("alt", alt)
 18482  	c.urlParams_.Set("prettyPrint", "false")
 18483  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18484  	urls += "?" + c.urlParams_.Encode()
 18485  	req, err := http.NewRequest("PUT", urls, body)
 18486  	if err != nil {
 18487  		return nil, err
 18488  	}
 18489  	req.Header = reqHeaders
 18490  	googleapi.Expand(req.URL, map[string]string{
 18491  		"profileId": strconv.FormatInt(c.profileId, 10),
 18492  	})
 18493  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18494  }
 18495  
 18496  // Do executes the "dfareporting.advertiserGroups.update" call.
 18497  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18498  // status code is an error. Response headers are in either
 18499  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18500  // at all) in error.(*googleapi.Error).Header. Use
 18501  // googleapi.IsNotModified to check whether the returned error was
 18502  // because http.StatusNotModified was returned.
 18503  func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18504  	gensupport.SetOptions(c.urlParams_, opts...)
 18505  	res, err := c.doRequest("json")
 18506  	if res != nil && res.StatusCode == http.StatusNotModified {
 18507  		if res.Body != nil {
 18508  			res.Body.Close()
 18509  		}
 18510  		return nil, &googleapi.Error{
 18511  			Code:   res.StatusCode,
 18512  			Header: res.Header,
 18513  		}
 18514  	}
 18515  	if err != nil {
 18516  		return nil, err
 18517  	}
 18518  	defer googleapi.CloseBody(res)
 18519  	if err := googleapi.CheckResponse(res); err != nil {
 18520  		return nil, err
 18521  	}
 18522  	ret := &AdvertiserGroup{
 18523  		ServerResponse: googleapi.ServerResponse{
 18524  			Header:         res.Header,
 18525  			HTTPStatusCode: res.StatusCode,
 18526  		},
 18527  	}
 18528  	target := &ret
 18529  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18530  		return nil, err
 18531  	}
 18532  	return ret, nil
 18533  	// {
 18534  	//   "description": "Updates an existing advertiser group.",
 18535  	//   "httpMethod": "PUT",
 18536  	//   "id": "dfareporting.advertiserGroups.update",
 18537  	//   "parameterOrder": [
 18538  	//     "profileId"
 18539  	//   ],
 18540  	//   "parameters": {
 18541  	//     "profileId": {
 18542  	//       "description": "User profile ID associated with this request.",
 18543  	//       "format": "int64",
 18544  	//       "location": "path",
 18545  	//       "required": true,
 18546  	//       "type": "string"
 18547  	//     }
 18548  	//   },
 18549  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18550  	//   "request": {
 18551  	//     "$ref": "AdvertiserGroup"
 18552  	//   },
 18553  	//   "response": {
 18554  	//     "$ref": "AdvertiserGroup"
 18555  	//   },
 18556  	//   "scopes": [
 18557  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18558  	//   ]
 18559  	// }
 18560  
 18561  }
 18562  
 18563  // method id "dfareporting.advertiserLandingPages.get":
 18564  
 18565  type AdvertiserLandingPagesGetCall struct {
 18566  	s            *Service
 18567  	profileId    int64
 18568  	id           int64
 18569  	urlParams_   gensupport.URLParams
 18570  	ifNoneMatch_ string
 18571  	ctx_         context.Context
 18572  	header_      http.Header
 18573  }
 18574  
 18575  // Get: Gets one landing page by ID.
 18576  func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
 18577  	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18578  	c.profileId = profileId
 18579  	c.id = id
 18580  	return c
 18581  }
 18582  
 18583  // Fields allows partial responses to be retrieved. See
 18584  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18585  // for more information.
 18586  func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
 18587  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18588  	return c
 18589  }
 18590  
 18591  // IfNoneMatch sets the optional parameter which makes the operation
 18592  // fail if the object's ETag matches the given value. This is useful for
 18593  // getting updates only after the object has changed since the last
 18594  // request. Use googleapi.IsNotModified to check whether the response
 18595  // error from Do is the result of In-None-Match.
 18596  func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
 18597  	c.ifNoneMatch_ = entityTag
 18598  	return c
 18599  }
 18600  
 18601  // Context sets the context to be used in this call's Do method. Any
 18602  // pending HTTP request will be aborted if the provided context is
 18603  // canceled.
 18604  func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
 18605  	c.ctx_ = ctx
 18606  	return c
 18607  }
 18608  
 18609  // Header returns an http.Header that can be modified by the caller to
 18610  // add HTTP headers to the request.
 18611  func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
 18612  	if c.header_ == nil {
 18613  		c.header_ = make(http.Header)
 18614  	}
 18615  	return c.header_
 18616  }
 18617  
 18618  func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 18619  	reqHeaders := make(http.Header)
 18620  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18621  	for k, v := range c.header_ {
 18622  		reqHeaders[k] = v
 18623  	}
 18624  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18625  	if c.ifNoneMatch_ != "" {
 18626  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18627  	}
 18628  	var body io.Reader = nil
 18629  	c.urlParams_.Set("alt", alt)
 18630  	c.urlParams_.Set("prettyPrint", "false")
 18631  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
 18632  	urls += "?" + c.urlParams_.Encode()
 18633  	req, err := http.NewRequest("GET", urls, body)
 18634  	if err != nil {
 18635  		return nil, err
 18636  	}
 18637  	req.Header = reqHeaders
 18638  	googleapi.Expand(req.URL, map[string]string{
 18639  		"profileId": strconv.FormatInt(c.profileId, 10),
 18640  		"id":        strconv.FormatInt(c.id, 10),
 18641  	})
 18642  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18643  }
 18644  
 18645  // Do executes the "dfareporting.advertiserLandingPages.get" call.
 18646  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 18647  // status code is an error. Response headers are in either
 18648  // *LandingPage.ServerResponse.Header or (if a response was returned at
 18649  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18650  // to check whether the returned error was because
 18651  // http.StatusNotModified was returned.
 18652  func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 18653  	gensupport.SetOptions(c.urlParams_, opts...)
 18654  	res, err := c.doRequest("json")
 18655  	if res != nil && res.StatusCode == http.StatusNotModified {
 18656  		if res.Body != nil {
 18657  			res.Body.Close()
 18658  		}
 18659  		return nil, &googleapi.Error{
 18660  			Code:   res.StatusCode,
 18661  			Header: res.Header,
 18662  		}
 18663  	}
 18664  	if err != nil {
 18665  		return nil, err
 18666  	}
 18667  	defer googleapi.CloseBody(res)
 18668  	if err := googleapi.CheckResponse(res); err != nil {
 18669  		return nil, err
 18670  	}
 18671  	ret := &LandingPage{
 18672  		ServerResponse: googleapi.ServerResponse{
 18673  			Header:         res.Header,
 18674  			HTTPStatusCode: res.StatusCode,
 18675  		},
 18676  	}
 18677  	target := &ret
 18678  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18679  		return nil, err
 18680  	}
 18681  	return ret, nil
 18682  	// {
 18683  	//   "description": "Gets one landing page by ID.",
 18684  	//   "httpMethod": "GET",
 18685  	//   "id": "dfareporting.advertiserLandingPages.get",
 18686  	//   "parameterOrder": [
 18687  	//     "profileId",
 18688  	//     "id"
 18689  	//   ],
 18690  	//   "parameters": {
 18691  	//     "id": {
 18692  	//       "description": "Landing page ID.",
 18693  	//       "format": "int64",
 18694  	//       "location": "path",
 18695  	//       "required": true,
 18696  	//       "type": "string"
 18697  	//     },
 18698  	//     "profileId": {
 18699  	//       "description": "User profile ID associated with this request.",
 18700  	//       "format": "int64",
 18701  	//       "location": "path",
 18702  	//       "required": true,
 18703  	//       "type": "string"
 18704  	//     }
 18705  	//   },
 18706  	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
 18707  	//   "response": {
 18708  	//     "$ref": "LandingPage"
 18709  	//   },
 18710  	//   "scopes": [
 18711  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18712  	//   ]
 18713  	// }
 18714  
 18715  }
 18716  
 18717  // method id "dfareporting.advertiserLandingPages.insert":
 18718  
 18719  type AdvertiserLandingPagesInsertCall struct {
 18720  	s           *Service
 18721  	profileId   int64
 18722  	landingpage *LandingPage
 18723  	urlParams_  gensupport.URLParams
 18724  	ctx_        context.Context
 18725  	header_     http.Header
 18726  }
 18727  
 18728  // Insert: Inserts a new landing page.
 18729  func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
 18730  	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18731  	c.profileId = profileId
 18732  	c.landingpage = landingpage
 18733  	return c
 18734  }
 18735  
 18736  // Fields allows partial responses to be retrieved. See
 18737  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18738  // for more information.
 18739  func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
 18740  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18741  	return c
 18742  }
 18743  
 18744  // Context sets the context to be used in this call's Do method. Any
 18745  // pending HTTP request will be aborted if the provided context is
 18746  // canceled.
 18747  func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
 18748  	c.ctx_ = ctx
 18749  	return c
 18750  }
 18751  
 18752  // Header returns an http.Header that can be modified by the caller to
 18753  // add HTTP headers to the request.
 18754  func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
 18755  	if c.header_ == nil {
 18756  		c.header_ = make(http.Header)
 18757  	}
 18758  	return c.header_
 18759  }
 18760  
 18761  func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
 18762  	reqHeaders := make(http.Header)
 18763  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18764  	for k, v := range c.header_ {
 18765  		reqHeaders[k] = v
 18766  	}
 18767  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18768  	var body io.Reader = nil
 18769  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 18770  	if err != nil {
 18771  		return nil, err
 18772  	}
 18773  	reqHeaders.Set("Content-Type", "application/json")
 18774  	c.urlParams_.Set("alt", alt)
 18775  	c.urlParams_.Set("prettyPrint", "false")
 18776  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 18777  	urls += "?" + c.urlParams_.Encode()
 18778  	req, err := http.NewRequest("POST", urls, body)
 18779  	if err != nil {
 18780  		return nil, err
 18781  	}
 18782  	req.Header = reqHeaders
 18783  	googleapi.Expand(req.URL, map[string]string{
 18784  		"profileId": strconv.FormatInt(c.profileId, 10),
 18785  	})
 18786  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18787  }
 18788  
 18789  // Do executes the "dfareporting.advertiserLandingPages.insert" call.
 18790  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 18791  // status code is an error. Response headers are in either
 18792  // *LandingPage.ServerResponse.Header or (if a response was returned at
 18793  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18794  // to check whether the returned error was because
 18795  // http.StatusNotModified was returned.
 18796  func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 18797  	gensupport.SetOptions(c.urlParams_, opts...)
 18798  	res, err := c.doRequest("json")
 18799  	if res != nil && res.StatusCode == http.StatusNotModified {
 18800  		if res.Body != nil {
 18801  			res.Body.Close()
 18802  		}
 18803  		return nil, &googleapi.Error{
 18804  			Code:   res.StatusCode,
 18805  			Header: res.Header,
 18806  		}
 18807  	}
 18808  	if err != nil {
 18809  		return nil, err
 18810  	}
 18811  	defer googleapi.CloseBody(res)
 18812  	if err := googleapi.CheckResponse(res); err != nil {
 18813  		return nil, err
 18814  	}
 18815  	ret := &LandingPage{
 18816  		ServerResponse: googleapi.ServerResponse{
 18817  			Header:         res.Header,
 18818  			HTTPStatusCode: res.StatusCode,
 18819  		},
 18820  	}
 18821  	target := &ret
 18822  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18823  		return nil, err
 18824  	}
 18825  	return ret, nil
 18826  	// {
 18827  	//   "description": "Inserts a new landing page.",
 18828  	//   "httpMethod": "POST",
 18829  	//   "id": "dfareporting.advertiserLandingPages.insert",
 18830  	//   "parameterOrder": [
 18831  	//     "profileId"
 18832  	//   ],
 18833  	//   "parameters": {
 18834  	//     "profileId": {
 18835  	//       "description": "User profile ID associated with this request.",
 18836  	//       "format": "int64",
 18837  	//       "location": "path",
 18838  	//       "required": true,
 18839  	//       "type": "string"
 18840  	//     }
 18841  	//   },
 18842  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 18843  	//   "request": {
 18844  	//     "$ref": "LandingPage"
 18845  	//   },
 18846  	//   "response": {
 18847  	//     "$ref": "LandingPage"
 18848  	//   },
 18849  	//   "scopes": [
 18850  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18851  	//   ]
 18852  	// }
 18853  
 18854  }
 18855  
 18856  // method id "dfareporting.advertiserLandingPages.list":
 18857  
 18858  type AdvertiserLandingPagesListCall struct {
 18859  	s            *Service
 18860  	profileId    int64
 18861  	urlParams_   gensupport.URLParams
 18862  	ifNoneMatch_ string
 18863  	ctx_         context.Context
 18864  	header_      http.Header
 18865  }
 18866  
 18867  // List: Retrieves a list of landing pages.
 18868  func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
 18869  	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18870  	c.profileId = profileId
 18871  	return c
 18872  }
 18873  
 18874  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 18875  // only landing pages that belong to these advertisers.
 18876  func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
 18877  	var advertiserIds_ []string
 18878  	for _, v := range advertiserIds {
 18879  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 18880  	}
 18881  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 18882  	return c
 18883  }
 18884  
 18885  // Archived sets the optional parameter "archived": Select only archived
 18886  // landing pages. Don't set this field to select both archived and
 18887  // non-archived landing pages.
 18888  func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
 18889  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 18890  	return c
 18891  }
 18892  
 18893  // Ids sets the optional parameter "ids": Select only landing pages with
 18894  // these IDs.
 18895  func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
 18896  	var ids_ []string
 18897  	for _, v := range ids {
 18898  		ids_ = append(ids_, fmt.Sprint(v))
 18899  	}
 18900  	c.urlParams_.SetMulti("ids", ids_)
 18901  	return c
 18902  }
 18903  
 18904  // MaxResults sets the optional parameter "maxResults": Maximum number
 18905  // of results to return.
 18906  func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
 18907  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 18908  	return c
 18909  }
 18910  
 18911  // PageToken sets the optional parameter "pageToken": Value of the
 18912  // nextPageToken from the previous result page.
 18913  func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
 18914  	c.urlParams_.Set("pageToken", pageToken)
 18915  	return c
 18916  }
 18917  
 18918  // SearchString sets the optional parameter "searchString": Allows
 18919  // searching for landing pages by name or ID. Wildcards (*) are allowed.
 18920  // For example, "landingpage*2017" will return landing pages with names
 18921  // like "landingpage July 2017", "landingpage March 2017", or simply
 18922  // "landingpage 2017". Most of the searches also add wildcards
 18923  // implicitly at the start and the end of the search string. For
 18924  // example, a search string of "landingpage" will match campaigns with
 18925  // name "my landingpage", "landingpage 2015", or simply "landingpage".
 18926  func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
 18927  	c.urlParams_.Set("searchString", searchString)
 18928  	return c
 18929  }
 18930  
 18931  // SortField sets the optional parameter "sortField": Field by which to
 18932  // sort the list.
 18933  //
 18934  // Possible values:
 18935  //
 18936  //	"ID" (default)
 18937  //	"NAME"
 18938  func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
 18939  	c.urlParams_.Set("sortField", sortField)
 18940  	return c
 18941  }
 18942  
 18943  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 18944  // results.
 18945  //
 18946  // Possible values:
 18947  //
 18948  //	"ASCENDING" (default)
 18949  //	"DESCENDING"
 18950  func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
 18951  	c.urlParams_.Set("sortOrder", sortOrder)
 18952  	return c
 18953  }
 18954  
 18955  // SubaccountId sets the optional parameter "subaccountId": Select only
 18956  // landing pages that belong to this subaccount.
 18957  func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
 18958  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 18959  	return c
 18960  }
 18961  
 18962  // Fields allows partial responses to be retrieved. See
 18963  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18964  // for more information.
 18965  func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
 18966  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18967  	return c
 18968  }
 18969  
 18970  // IfNoneMatch sets the optional parameter which makes the operation
 18971  // fail if the object's ETag matches the given value. This is useful for
 18972  // getting updates only after the object has changed since the last
 18973  // request. Use googleapi.IsNotModified to check whether the response
 18974  // error from Do is the result of In-None-Match.
 18975  func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
 18976  	c.ifNoneMatch_ = entityTag
 18977  	return c
 18978  }
 18979  
 18980  // Context sets the context to be used in this call's Do method. Any
 18981  // pending HTTP request will be aborted if the provided context is
 18982  // canceled.
 18983  func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
 18984  	c.ctx_ = ctx
 18985  	return c
 18986  }
 18987  
 18988  // Header returns an http.Header that can be modified by the caller to
 18989  // add HTTP headers to the request.
 18990  func (c *AdvertiserLandingPagesListCall) Header() http.Header {
 18991  	if c.header_ == nil {
 18992  		c.header_ = make(http.Header)
 18993  	}
 18994  	return c.header_
 18995  }
 18996  
 18997  func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 18998  	reqHeaders := make(http.Header)
 18999  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19000  	for k, v := range c.header_ {
 19001  		reqHeaders[k] = v
 19002  	}
 19003  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19004  	if c.ifNoneMatch_ != "" {
 19005  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19006  	}
 19007  	var body io.Reader = nil
 19008  	c.urlParams_.Set("alt", alt)
 19009  	c.urlParams_.Set("prettyPrint", "false")
 19010  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19011  	urls += "?" + c.urlParams_.Encode()
 19012  	req, err := http.NewRequest("GET", urls, body)
 19013  	if err != nil {
 19014  		return nil, err
 19015  	}
 19016  	req.Header = reqHeaders
 19017  	googleapi.Expand(req.URL, map[string]string{
 19018  		"profileId": strconv.FormatInt(c.profileId, 10),
 19019  	})
 19020  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19021  }
 19022  
 19023  // Do executes the "dfareporting.advertiserLandingPages.list" call.
 19024  // Exactly one of *AdvertiserLandingPagesListResponse or error will be
 19025  // non-nil. Any non-2xx status code is an error. Response headers are in
 19026  // either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
 19027  // (if a response was returned at all) in
 19028  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19029  // whether the returned error was because http.StatusNotModified was
 19030  // returned.
 19031  func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
 19032  	gensupport.SetOptions(c.urlParams_, opts...)
 19033  	res, err := c.doRequest("json")
 19034  	if res != nil && res.StatusCode == http.StatusNotModified {
 19035  		if res.Body != nil {
 19036  			res.Body.Close()
 19037  		}
 19038  		return nil, &googleapi.Error{
 19039  			Code:   res.StatusCode,
 19040  			Header: res.Header,
 19041  		}
 19042  	}
 19043  	if err != nil {
 19044  		return nil, err
 19045  	}
 19046  	defer googleapi.CloseBody(res)
 19047  	if err := googleapi.CheckResponse(res); err != nil {
 19048  		return nil, err
 19049  	}
 19050  	ret := &AdvertiserLandingPagesListResponse{
 19051  		ServerResponse: googleapi.ServerResponse{
 19052  			Header:         res.Header,
 19053  			HTTPStatusCode: res.StatusCode,
 19054  		},
 19055  	}
 19056  	target := &ret
 19057  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19058  		return nil, err
 19059  	}
 19060  	return ret, nil
 19061  	// {
 19062  	//   "description": "Retrieves a list of landing pages.",
 19063  	//   "httpMethod": "GET",
 19064  	//   "id": "dfareporting.advertiserLandingPages.list",
 19065  	//   "parameterOrder": [
 19066  	//     "profileId"
 19067  	//   ],
 19068  	//   "parameters": {
 19069  	//     "advertiserIds": {
 19070  	//       "description": "Select only landing pages that belong to these advertisers.",
 19071  	//       "format": "int64",
 19072  	//       "location": "query",
 19073  	//       "repeated": true,
 19074  	//       "type": "string"
 19075  	//     },
 19076  	//     "archived": {
 19077  	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
 19078  	//       "location": "query",
 19079  	//       "type": "boolean"
 19080  	//     },
 19081  	//     "ids": {
 19082  	//       "description": "Select only landing pages with these IDs.",
 19083  	//       "format": "int64",
 19084  	//       "location": "query",
 19085  	//       "repeated": true,
 19086  	//       "type": "string"
 19087  	//     },
 19088  	//     "maxResults": {
 19089  	//       "default": "1000",
 19090  	//       "description": "Maximum number of results to return.",
 19091  	//       "format": "int32",
 19092  	//       "location": "query",
 19093  	//       "maximum": "1000",
 19094  	//       "minimum": "0",
 19095  	//       "type": "integer"
 19096  	//     },
 19097  	//     "pageToken": {
 19098  	//       "description": "Value of the nextPageToken from the previous result page.",
 19099  	//       "location": "query",
 19100  	//       "type": "string"
 19101  	//     },
 19102  	//     "profileId": {
 19103  	//       "description": "User profile ID associated with this request.",
 19104  	//       "format": "int64",
 19105  	//       "location": "path",
 19106  	//       "required": true,
 19107  	//       "type": "string"
 19108  	//     },
 19109  	//     "searchString": {
 19110  	//       "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\".",
 19111  	//       "location": "query",
 19112  	//       "type": "string"
 19113  	//     },
 19114  	//     "sortField": {
 19115  	//       "default": "ID",
 19116  	//       "description": "Field by which to sort the list.",
 19117  	//       "enum": [
 19118  	//         "ID",
 19119  	//         "NAME"
 19120  	//       ],
 19121  	//       "enumDescriptions": [
 19122  	//         "",
 19123  	//         ""
 19124  	//       ],
 19125  	//       "location": "query",
 19126  	//       "type": "string"
 19127  	//     },
 19128  	//     "sortOrder": {
 19129  	//       "default": "ASCENDING",
 19130  	//       "description": "Order of sorted results.",
 19131  	//       "enum": [
 19132  	//         "ASCENDING",
 19133  	//         "DESCENDING"
 19134  	//       ],
 19135  	//       "enumDescriptions": [
 19136  	//         "",
 19137  	//         ""
 19138  	//       ],
 19139  	//       "location": "query",
 19140  	//       "type": "string"
 19141  	//     },
 19142  	//     "subaccountId": {
 19143  	//       "description": "Select only landing pages that belong to this subaccount.",
 19144  	//       "format": "int64",
 19145  	//       "location": "query",
 19146  	//       "type": "string"
 19147  	//     }
 19148  	//   },
 19149  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19150  	//   "response": {
 19151  	//     "$ref": "AdvertiserLandingPagesListResponse"
 19152  	//   },
 19153  	//   "scopes": [
 19154  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19155  	//   ]
 19156  	// }
 19157  
 19158  }
 19159  
 19160  // Pages invokes f for each page of results.
 19161  // A non-nil error returned from f will halt the iteration.
 19162  // The provided context supersedes any context provided to the Context method.
 19163  func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
 19164  	c.ctx_ = ctx
 19165  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 19166  	for {
 19167  		x, err := c.Do()
 19168  		if err != nil {
 19169  			return err
 19170  		}
 19171  		if err := f(x); err != nil {
 19172  			return err
 19173  		}
 19174  		if x.NextPageToken == "" {
 19175  			return nil
 19176  		}
 19177  		c.PageToken(x.NextPageToken)
 19178  	}
 19179  }
 19180  
 19181  // method id "dfareporting.advertiserLandingPages.patch":
 19182  
 19183  type AdvertiserLandingPagesPatchCall struct {
 19184  	s           *Service
 19185  	profileId   int64
 19186  	landingpage *LandingPage
 19187  	urlParams_  gensupport.URLParams
 19188  	ctx_        context.Context
 19189  	header_     http.Header
 19190  }
 19191  
 19192  // Patch: Updates an existing landing page. This method supports patch
 19193  // semantics.
 19194  func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
 19195  	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19196  	c.profileId = profileId
 19197  	c.urlParams_.Set("id", fmt.Sprint(id))
 19198  	c.landingpage = landingpage
 19199  	return c
 19200  }
 19201  
 19202  // Fields allows partial responses to be retrieved. See
 19203  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19204  // for more information.
 19205  func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
 19206  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19207  	return c
 19208  }
 19209  
 19210  // Context sets the context to be used in this call's Do method. Any
 19211  // pending HTTP request will be aborted if the provided context is
 19212  // canceled.
 19213  func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
 19214  	c.ctx_ = ctx
 19215  	return c
 19216  }
 19217  
 19218  // Header returns an http.Header that can be modified by the caller to
 19219  // add HTTP headers to the request.
 19220  func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
 19221  	if c.header_ == nil {
 19222  		c.header_ = make(http.Header)
 19223  	}
 19224  	return c.header_
 19225  }
 19226  
 19227  func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
 19228  	reqHeaders := make(http.Header)
 19229  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19230  	for k, v := range c.header_ {
 19231  		reqHeaders[k] = v
 19232  	}
 19233  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19234  	var body io.Reader = nil
 19235  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19236  	if err != nil {
 19237  		return nil, err
 19238  	}
 19239  	reqHeaders.Set("Content-Type", "application/json")
 19240  	c.urlParams_.Set("alt", alt)
 19241  	c.urlParams_.Set("prettyPrint", "false")
 19242  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19243  	urls += "?" + c.urlParams_.Encode()
 19244  	req, err := http.NewRequest("PATCH", urls, body)
 19245  	if err != nil {
 19246  		return nil, err
 19247  	}
 19248  	req.Header = reqHeaders
 19249  	googleapi.Expand(req.URL, map[string]string{
 19250  		"profileId": strconv.FormatInt(c.profileId, 10),
 19251  	})
 19252  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19253  }
 19254  
 19255  // Do executes the "dfareporting.advertiserLandingPages.patch" call.
 19256  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19257  // status code is an error. Response headers are in either
 19258  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19259  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19260  // to check whether the returned error was because
 19261  // http.StatusNotModified was returned.
 19262  func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19263  	gensupport.SetOptions(c.urlParams_, opts...)
 19264  	res, err := c.doRequest("json")
 19265  	if res != nil && res.StatusCode == http.StatusNotModified {
 19266  		if res.Body != nil {
 19267  			res.Body.Close()
 19268  		}
 19269  		return nil, &googleapi.Error{
 19270  			Code:   res.StatusCode,
 19271  			Header: res.Header,
 19272  		}
 19273  	}
 19274  	if err != nil {
 19275  		return nil, err
 19276  	}
 19277  	defer googleapi.CloseBody(res)
 19278  	if err := googleapi.CheckResponse(res); err != nil {
 19279  		return nil, err
 19280  	}
 19281  	ret := &LandingPage{
 19282  		ServerResponse: googleapi.ServerResponse{
 19283  			Header:         res.Header,
 19284  			HTTPStatusCode: res.StatusCode,
 19285  		},
 19286  	}
 19287  	target := &ret
 19288  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19289  		return nil, err
 19290  	}
 19291  	return ret, nil
 19292  	// {
 19293  	//   "description": "Updates an existing landing page. This method supports patch semantics.",
 19294  	//   "httpMethod": "PATCH",
 19295  	//   "id": "dfareporting.advertiserLandingPages.patch",
 19296  	//   "parameterOrder": [
 19297  	//     "profileId",
 19298  	//     "id"
 19299  	//   ],
 19300  	//   "parameters": {
 19301  	//     "id": {
 19302  	//       "description": "Landing page ID.",
 19303  	//       "format": "int64",
 19304  	//       "location": "query",
 19305  	//       "required": true,
 19306  	//       "type": "string"
 19307  	//     },
 19308  	//     "profileId": {
 19309  	//       "description": "User profile ID associated with this request.",
 19310  	//       "format": "int64",
 19311  	//       "location": "path",
 19312  	//       "required": true,
 19313  	//       "type": "string"
 19314  	//     }
 19315  	//   },
 19316  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19317  	//   "request": {
 19318  	//     "$ref": "LandingPage"
 19319  	//   },
 19320  	//   "response": {
 19321  	//     "$ref": "LandingPage"
 19322  	//   },
 19323  	//   "scopes": [
 19324  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19325  	//   ]
 19326  	// }
 19327  
 19328  }
 19329  
 19330  // method id "dfareporting.advertiserLandingPages.update":
 19331  
 19332  type AdvertiserLandingPagesUpdateCall struct {
 19333  	s           *Service
 19334  	profileId   int64
 19335  	landingpage *LandingPage
 19336  	urlParams_  gensupport.URLParams
 19337  	ctx_        context.Context
 19338  	header_     http.Header
 19339  }
 19340  
 19341  // Update: Updates an existing landing page.
 19342  func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
 19343  	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19344  	c.profileId = profileId
 19345  	c.landingpage = landingpage
 19346  	return c
 19347  }
 19348  
 19349  // Fields allows partial responses to be retrieved. See
 19350  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19351  // for more information.
 19352  func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
 19353  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19354  	return c
 19355  }
 19356  
 19357  // Context sets the context to be used in this call's Do method. Any
 19358  // pending HTTP request will be aborted if the provided context is
 19359  // canceled.
 19360  func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
 19361  	c.ctx_ = ctx
 19362  	return c
 19363  }
 19364  
 19365  // Header returns an http.Header that can be modified by the caller to
 19366  // add HTTP headers to the request.
 19367  func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
 19368  	if c.header_ == nil {
 19369  		c.header_ = make(http.Header)
 19370  	}
 19371  	return c.header_
 19372  }
 19373  
 19374  func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 19375  	reqHeaders := make(http.Header)
 19376  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19377  	for k, v := range c.header_ {
 19378  		reqHeaders[k] = v
 19379  	}
 19380  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19381  	var body io.Reader = nil
 19382  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19383  	if err != nil {
 19384  		return nil, err
 19385  	}
 19386  	reqHeaders.Set("Content-Type", "application/json")
 19387  	c.urlParams_.Set("alt", alt)
 19388  	c.urlParams_.Set("prettyPrint", "false")
 19389  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19390  	urls += "?" + c.urlParams_.Encode()
 19391  	req, err := http.NewRequest("PUT", urls, body)
 19392  	if err != nil {
 19393  		return nil, err
 19394  	}
 19395  	req.Header = reqHeaders
 19396  	googleapi.Expand(req.URL, map[string]string{
 19397  		"profileId": strconv.FormatInt(c.profileId, 10),
 19398  	})
 19399  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19400  }
 19401  
 19402  // Do executes the "dfareporting.advertiserLandingPages.update" call.
 19403  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19404  // status code is an error. Response headers are in either
 19405  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19406  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19407  // to check whether the returned error was because
 19408  // http.StatusNotModified was returned.
 19409  func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19410  	gensupport.SetOptions(c.urlParams_, opts...)
 19411  	res, err := c.doRequest("json")
 19412  	if res != nil && res.StatusCode == http.StatusNotModified {
 19413  		if res.Body != nil {
 19414  			res.Body.Close()
 19415  		}
 19416  		return nil, &googleapi.Error{
 19417  			Code:   res.StatusCode,
 19418  			Header: res.Header,
 19419  		}
 19420  	}
 19421  	if err != nil {
 19422  		return nil, err
 19423  	}
 19424  	defer googleapi.CloseBody(res)
 19425  	if err := googleapi.CheckResponse(res); err != nil {
 19426  		return nil, err
 19427  	}
 19428  	ret := &LandingPage{
 19429  		ServerResponse: googleapi.ServerResponse{
 19430  			Header:         res.Header,
 19431  			HTTPStatusCode: res.StatusCode,
 19432  		},
 19433  	}
 19434  	target := &ret
 19435  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19436  		return nil, err
 19437  	}
 19438  	return ret, nil
 19439  	// {
 19440  	//   "description": "Updates an existing landing page.",
 19441  	//   "httpMethod": "PUT",
 19442  	//   "id": "dfareporting.advertiserLandingPages.update",
 19443  	//   "parameterOrder": [
 19444  	//     "profileId"
 19445  	//   ],
 19446  	//   "parameters": {
 19447  	//     "profileId": {
 19448  	//       "description": "User profile ID associated with this request.",
 19449  	//       "format": "int64",
 19450  	//       "location": "path",
 19451  	//       "required": true,
 19452  	//       "type": "string"
 19453  	//     }
 19454  	//   },
 19455  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19456  	//   "request": {
 19457  	//     "$ref": "LandingPage"
 19458  	//   },
 19459  	//   "response": {
 19460  	//     "$ref": "LandingPage"
 19461  	//   },
 19462  	//   "scopes": [
 19463  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19464  	//   ]
 19465  	// }
 19466  
 19467  }
 19468  
 19469  // method id "dfareporting.advertisers.get":
 19470  
 19471  type AdvertisersGetCall struct {
 19472  	s            *Service
 19473  	profileId    int64
 19474  	id           int64
 19475  	urlParams_   gensupport.URLParams
 19476  	ifNoneMatch_ string
 19477  	ctx_         context.Context
 19478  	header_      http.Header
 19479  }
 19480  
 19481  // Get: Gets one advertiser by ID.
 19482  func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
 19483  	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19484  	c.profileId = profileId
 19485  	c.id = id
 19486  	return c
 19487  }
 19488  
 19489  // Fields allows partial responses to be retrieved. See
 19490  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19491  // for more information.
 19492  func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
 19493  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19494  	return c
 19495  }
 19496  
 19497  // IfNoneMatch sets the optional parameter which makes the operation
 19498  // fail if the object's ETag matches the given value. This is useful for
 19499  // getting updates only after the object has changed since the last
 19500  // request. Use googleapi.IsNotModified to check whether the response
 19501  // error from Do is the result of In-None-Match.
 19502  func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
 19503  	c.ifNoneMatch_ = entityTag
 19504  	return c
 19505  }
 19506  
 19507  // Context sets the context to be used in this call's Do method. Any
 19508  // pending HTTP request will be aborted if the provided context is
 19509  // canceled.
 19510  func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 19511  	c.ctx_ = ctx
 19512  	return c
 19513  }
 19514  
 19515  // Header returns an http.Header that can be modified by the caller to
 19516  // add HTTP headers to the request.
 19517  func (c *AdvertisersGetCall) Header() http.Header {
 19518  	if c.header_ == nil {
 19519  		c.header_ = make(http.Header)
 19520  	}
 19521  	return c.header_
 19522  }
 19523  
 19524  func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 19525  	reqHeaders := make(http.Header)
 19526  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19527  	for k, v := range c.header_ {
 19528  		reqHeaders[k] = v
 19529  	}
 19530  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19531  	if c.ifNoneMatch_ != "" {
 19532  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19533  	}
 19534  	var body io.Reader = nil
 19535  	c.urlParams_.Set("alt", alt)
 19536  	c.urlParams_.Set("prettyPrint", "false")
 19537  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
 19538  	urls += "?" + c.urlParams_.Encode()
 19539  	req, err := http.NewRequest("GET", urls, body)
 19540  	if err != nil {
 19541  		return nil, err
 19542  	}
 19543  	req.Header = reqHeaders
 19544  	googleapi.Expand(req.URL, map[string]string{
 19545  		"profileId": strconv.FormatInt(c.profileId, 10),
 19546  		"id":        strconv.FormatInt(c.id, 10),
 19547  	})
 19548  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19549  }
 19550  
 19551  // Do executes the "dfareporting.advertisers.get" call.
 19552  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19553  // status code is an error. Response headers are in either
 19554  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19555  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19556  // to check whether the returned error was because
 19557  // http.StatusNotModified was returned.
 19558  func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19559  	gensupport.SetOptions(c.urlParams_, opts...)
 19560  	res, err := c.doRequest("json")
 19561  	if res != nil && res.StatusCode == http.StatusNotModified {
 19562  		if res.Body != nil {
 19563  			res.Body.Close()
 19564  		}
 19565  		return nil, &googleapi.Error{
 19566  			Code:   res.StatusCode,
 19567  			Header: res.Header,
 19568  		}
 19569  	}
 19570  	if err != nil {
 19571  		return nil, err
 19572  	}
 19573  	defer googleapi.CloseBody(res)
 19574  	if err := googleapi.CheckResponse(res); err != nil {
 19575  		return nil, err
 19576  	}
 19577  	ret := &Advertiser{
 19578  		ServerResponse: googleapi.ServerResponse{
 19579  			Header:         res.Header,
 19580  			HTTPStatusCode: res.StatusCode,
 19581  		},
 19582  	}
 19583  	target := &ret
 19584  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19585  		return nil, err
 19586  	}
 19587  	return ret, nil
 19588  	// {
 19589  	//   "description": "Gets one advertiser by ID.",
 19590  	//   "httpMethod": "GET",
 19591  	//   "id": "dfareporting.advertisers.get",
 19592  	//   "parameterOrder": [
 19593  	//     "profileId",
 19594  	//     "id"
 19595  	//   ],
 19596  	//   "parameters": {
 19597  	//     "id": {
 19598  	//       "description": "Advertiser ID.",
 19599  	//       "format": "int64",
 19600  	//       "location": "path",
 19601  	//       "required": true,
 19602  	//       "type": "string"
 19603  	//     },
 19604  	//     "profileId": {
 19605  	//       "description": "User profile ID associated with this request.",
 19606  	//       "format": "int64",
 19607  	//       "location": "path",
 19608  	//       "required": true,
 19609  	//       "type": "string"
 19610  	//     }
 19611  	//   },
 19612  	//   "path": "userprofiles/{profileId}/advertisers/{id}",
 19613  	//   "response": {
 19614  	//     "$ref": "Advertiser"
 19615  	//   },
 19616  	//   "scopes": [
 19617  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19618  	//   ]
 19619  	// }
 19620  
 19621  }
 19622  
 19623  // method id "dfareporting.advertisers.insert":
 19624  
 19625  type AdvertisersInsertCall struct {
 19626  	s          *Service
 19627  	profileId  int64
 19628  	advertiser *Advertiser
 19629  	urlParams_ gensupport.URLParams
 19630  	ctx_       context.Context
 19631  	header_    http.Header
 19632  }
 19633  
 19634  // Insert: Inserts a new advertiser.
 19635  func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
 19636  	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19637  	c.profileId = profileId
 19638  	c.advertiser = advertiser
 19639  	return c
 19640  }
 19641  
 19642  // Fields allows partial responses to be retrieved. See
 19643  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19644  // for more information.
 19645  func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
 19646  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19647  	return c
 19648  }
 19649  
 19650  // Context sets the context to be used in this call's Do method. Any
 19651  // pending HTTP request will be aborted if the provided context is
 19652  // canceled.
 19653  func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 19654  	c.ctx_ = ctx
 19655  	return c
 19656  }
 19657  
 19658  // Header returns an http.Header that can be modified by the caller to
 19659  // add HTTP headers to the request.
 19660  func (c *AdvertisersInsertCall) Header() http.Header {
 19661  	if c.header_ == nil {
 19662  		c.header_ = make(http.Header)
 19663  	}
 19664  	return c.header_
 19665  }
 19666  
 19667  func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
 19668  	reqHeaders := make(http.Header)
 19669  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19670  	for k, v := range c.header_ {
 19671  		reqHeaders[k] = v
 19672  	}
 19673  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19674  	var body io.Reader = nil
 19675  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 19676  	if err != nil {
 19677  		return nil, err
 19678  	}
 19679  	reqHeaders.Set("Content-Type", "application/json")
 19680  	c.urlParams_.Set("alt", alt)
 19681  	c.urlParams_.Set("prettyPrint", "false")
 19682  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 19683  	urls += "?" + c.urlParams_.Encode()
 19684  	req, err := http.NewRequest("POST", urls, body)
 19685  	if err != nil {
 19686  		return nil, err
 19687  	}
 19688  	req.Header = reqHeaders
 19689  	googleapi.Expand(req.URL, map[string]string{
 19690  		"profileId": strconv.FormatInt(c.profileId, 10),
 19691  	})
 19692  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19693  }
 19694  
 19695  // Do executes the "dfareporting.advertisers.insert" call.
 19696  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19697  // status code is an error. Response headers are in either
 19698  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19699  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19700  // to check whether the returned error was because
 19701  // http.StatusNotModified was returned.
 19702  func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19703  	gensupport.SetOptions(c.urlParams_, opts...)
 19704  	res, err := c.doRequest("json")
 19705  	if res != nil && res.StatusCode == http.StatusNotModified {
 19706  		if res.Body != nil {
 19707  			res.Body.Close()
 19708  		}
 19709  		return nil, &googleapi.Error{
 19710  			Code:   res.StatusCode,
 19711  			Header: res.Header,
 19712  		}
 19713  	}
 19714  	if err != nil {
 19715  		return nil, err
 19716  	}
 19717  	defer googleapi.CloseBody(res)
 19718  	if err := googleapi.CheckResponse(res); err != nil {
 19719  		return nil, err
 19720  	}
 19721  	ret := &Advertiser{
 19722  		ServerResponse: googleapi.ServerResponse{
 19723  			Header:         res.Header,
 19724  			HTTPStatusCode: res.StatusCode,
 19725  		},
 19726  	}
 19727  	target := &ret
 19728  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19729  		return nil, err
 19730  	}
 19731  	return ret, nil
 19732  	// {
 19733  	//   "description": "Inserts a new advertiser.",
 19734  	//   "httpMethod": "POST",
 19735  	//   "id": "dfareporting.advertisers.insert",
 19736  	//   "parameterOrder": [
 19737  	//     "profileId"
 19738  	//   ],
 19739  	//   "parameters": {
 19740  	//     "profileId": {
 19741  	//       "description": "User profile ID associated with this request.",
 19742  	//       "format": "int64",
 19743  	//       "location": "path",
 19744  	//       "required": true,
 19745  	//       "type": "string"
 19746  	//     }
 19747  	//   },
 19748  	//   "path": "userprofiles/{profileId}/advertisers",
 19749  	//   "request": {
 19750  	//     "$ref": "Advertiser"
 19751  	//   },
 19752  	//   "response": {
 19753  	//     "$ref": "Advertiser"
 19754  	//   },
 19755  	//   "scopes": [
 19756  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19757  	//   ]
 19758  	// }
 19759  
 19760  }
 19761  
 19762  // method id "dfareporting.advertisers.list":
 19763  
 19764  type AdvertisersListCall struct {
 19765  	s            *Service
 19766  	profileId    int64
 19767  	urlParams_   gensupport.URLParams
 19768  	ifNoneMatch_ string
 19769  	ctx_         context.Context
 19770  	header_      http.Header
 19771  }
 19772  
 19773  // List: Retrieves a list of advertisers, possibly filtered. This method
 19774  // supports paging.
 19775  func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
 19776  	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19777  	c.profileId = profileId
 19778  	return c
 19779  }
 19780  
 19781  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 19782  // Select only advertisers with these advertiser group IDs.
 19783  func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
 19784  	var advertiserGroupIds_ []string
 19785  	for _, v := range advertiserGroupIds {
 19786  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 19787  	}
 19788  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 19789  	return c
 19790  }
 19791  
 19792  // FloodlightConfigurationIds sets the optional parameter
 19793  // "floodlightConfigurationIds": Select only advertisers with these
 19794  // floodlight configuration IDs.
 19795  func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
 19796  	var floodlightConfigurationIds_ []string
 19797  	for _, v := range floodlightConfigurationIds {
 19798  		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
 19799  	}
 19800  	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
 19801  	return c
 19802  }
 19803  
 19804  // Ids sets the optional parameter "ids": Select only advertisers with
 19805  // these IDs.
 19806  func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
 19807  	var ids_ []string
 19808  	for _, v := range ids {
 19809  		ids_ = append(ids_, fmt.Sprint(v))
 19810  	}
 19811  	c.urlParams_.SetMulti("ids", ids_)
 19812  	return c
 19813  }
 19814  
 19815  // IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
 19816  // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 19817  // do not belong to any advertiser group.
 19818  func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
 19819  	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
 19820  	return c
 19821  }
 19822  
 19823  // MaxResults sets the optional parameter "maxResults": Maximum number
 19824  // of results to return.
 19825  func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
 19826  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19827  	return c
 19828  }
 19829  
 19830  // OnlyParent sets the optional parameter "onlyParent": Select only
 19831  // advertisers which use another advertiser's floodlight configuration.
 19832  func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
 19833  	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
 19834  	return c
 19835  }
 19836  
 19837  // PageToken sets the optional parameter "pageToken": Value of the
 19838  // nextPageToken from the previous result page.
 19839  func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
 19840  	c.urlParams_.Set("pageToken", pageToken)
 19841  	return c
 19842  }
 19843  
 19844  // SearchString sets the optional parameter "searchString": Allows
 19845  // searching for objects by name or ID. Wildcards (*) are allowed. For
 19846  // example, "advertiser*2015" will return objects with names like
 19847  // "advertiser June 2015", "advertiser April 2015", or simply
 19848  // "advertiser 2015". Most of the searches also add wildcards implicitly
 19849  // at the start and the end of the search string. For example, a search
 19850  // string of "advertiser" will match objects with name "my advertiser",
 19851  // "advertiser 2015", or simply "advertiser".
 19852  func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
 19853  	c.urlParams_.Set("searchString", searchString)
 19854  	return c
 19855  }
 19856  
 19857  // SortField sets the optional parameter "sortField": Field by which to
 19858  // sort the list.
 19859  //
 19860  // Possible values:
 19861  //
 19862  //	"ID" (default)
 19863  //	"NAME"
 19864  func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
 19865  	c.urlParams_.Set("sortField", sortField)
 19866  	return c
 19867  }
 19868  
 19869  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 19870  // results.
 19871  //
 19872  // Possible values:
 19873  //
 19874  //	"ASCENDING" (default)
 19875  //	"DESCENDING"
 19876  func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
 19877  	c.urlParams_.Set("sortOrder", sortOrder)
 19878  	return c
 19879  }
 19880  
 19881  // Status sets the optional parameter "status": Select only advertisers
 19882  // with the specified status.
 19883  //
 19884  // Possible values:
 19885  //
 19886  //	"APPROVED"
 19887  //	"ON_HOLD"
 19888  func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
 19889  	c.urlParams_.Set("status", status)
 19890  	return c
 19891  }
 19892  
 19893  // SubaccountId sets the optional parameter "subaccountId": Select only
 19894  // advertisers with these subaccount IDs.
 19895  func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
 19896  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 19897  	return c
 19898  }
 19899  
 19900  // Fields allows partial responses to be retrieved. See
 19901  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19902  // for more information.
 19903  func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
 19904  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19905  	return c
 19906  }
 19907  
 19908  // IfNoneMatch sets the optional parameter which makes the operation
 19909  // fail if the object's ETag matches the given value. This is useful for
 19910  // getting updates only after the object has changed since the last
 19911  // request. Use googleapi.IsNotModified to check whether the response
 19912  // error from Do is the result of In-None-Match.
 19913  func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
 19914  	c.ifNoneMatch_ = entityTag
 19915  	return c
 19916  }
 19917  
 19918  // Context sets the context to be used in this call's Do method. Any
 19919  // pending HTTP request will be aborted if the provided context is
 19920  // canceled.
 19921  func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 19922  	c.ctx_ = ctx
 19923  	return c
 19924  }
 19925  
 19926  // Header returns an http.Header that can be modified by the caller to
 19927  // add HTTP headers to the request.
 19928  func (c *AdvertisersListCall) Header() http.Header {
 19929  	if c.header_ == nil {
 19930  		c.header_ = make(http.Header)
 19931  	}
 19932  	return c.header_
 19933  }
 19934  
 19935  func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 19936  	reqHeaders := make(http.Header)
 19937  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19938  	for k, v := range c.header_ {
 19939  		reqHeaders[k] = v
 19940  	}
 19941  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19942  	if c.ifNoneMatch_ != "" {
 19943  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19944  	}
 19945  	var body io.Reader = nil
 19946  	c.urlParams_.Set("alt", alt)
 19947  	c.urlParams_.Set("prettyPrint", "false")
 19948  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 19949  	urls += "?" + c.urlParams_.Encode()
 19950  	req, err := http.NewRequest("GET", urls, body)
 19951  	if err != nil {
 19952  		return nil, err
 19953  	}
 19954  	req.Header = reqHeaders
 19955  	googleapi.Expand(req.URL, map[string]string{
 19956  		"profileId": strconv.FormatInt(c.profileId, 10),
 19957  	})
 19958  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19959  }
 19960  
 19961  // Do executes the "dfareporting.advertisers.list" call.
 19962  // Exactly one of *AdvertisersListResponse or error will be non-nil. Any
 19963  // non-2xx status code is an error. Response headers are in either
 19964  // *AdvertisersListResponse.ServerResponse.Header or (if a response was
 19965  // returned at all) in error.(*googleapi.Error).Header. Use
 19966  // googleapi.IsNotModified to check whether the returned error was
 19967  // because http.StatusNotModified was returned.
 19968  func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
 19969  	gensupport.SetOptions(c.urlParams_, opts...)
 19970  	res, err := c.doRequest("json")
 19971  	if res != nil && res.StatusCode == http.StatusNotModified {
 19972  		if res.Body != nil {
 19973  			res.Body.Close()
 19974  		}
 19975  		return nil, &googleapi.Error{
 19976  			Code:   res.StatusCode,
 19977  			Header: res.Header,
 19978  		}
 19979  	}
 19980  	if err != nil {
 19981  		return nil, err
 19982  	}
 19983  	defer googleapi.CloseBody(res)
 19984  	if err := googleapi.CheckResponse(res); err != nil {
 19985  		return nil, err
 19986  	}
 19987  	ret := &AdvertisersListResponse{
 19988  		ServerResponse: googleapi.ServerResponse{
 19989  			Header:         res.Header,
 19990  			HTTPStatusCode: res.StatusCode,
 19991  		},
 19992  	}
 19993  	target := &ret
 19994  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19995  		return nil, err
 19996  	}
 19997  	return ret, nil
 19998  	// {
 19999  	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
 20000  	//   "httpMethod": "GET",
 20001  	//   "id": "dfareporting.advertisers.list",
 20002  	//   "parameterOrder": [
 20003  	//     "profileId"
 20004  	//   ],
 20005  	//   "parameters": {
 20006  	//     "advertiserGroupIds": {
 20007  	//       "description": "Select only advertisers with these advertiser group IDs.",
 20008  	//       "format": "int64",
 20009  	//       "location": "query",
 20010  	//       "repeated": true,
 20011  	//       "type": "string"
 20012  	//     },
 20013  	//     "floodlightConfigurationIds": {
 20014  	//       "description": "Select only advertisers with these floodlight configuration IDs.",
 20015  	//       "format": "int64",
 20016  	//       "location": "query",
 20017  	//       "repeated": true,
 20018  	//       "type": "string"
 20019  	//     },
 20020  	//     "ids": {
 20021  	//       "description": "Select only advertisers with these IDs.",
 20022  	//       "format": "int64",
 20023  	//       "location": "query",
 20024  	//       "repeated": true,
 20025  	//       "type": "string"
 20026  	//     },
 20027  	//     "includeAdvertisersWithoutGroupsOnly": {
 20028  	//       "description": "Select only advertisers which do not belong to any advertiser group.",
 20029  	//       "location": "query",
 20030  	//       "type": "boolean"
 20031  	//     },
 20032  	//     "maxResults": {
 20033  	//       "default": "1000",
 20034  	//       "description": "Maximum number of results to return.",
 20035  	//       "format": "int32",
 20036  	//       "location": "query",
 20037  	//       "maximum": "1000",
 20038  	//       "minimum": "0",
 20039  	//       "type": "integer"
 20040  	//     },
 20041  	//     "onlyParent": {
 20042  	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
 20043  	//       "location": "query",
 20044  	//       "type": "boolean"
 20045  	//     },
 20046  	//     "pageToken": {
 20047  	//       "description": "Value of the nextPageToken from the previous result page.",
 20048  	//       "location": "query",
 20049  	//       "type": "string"
 20050  	//     },
 20051  	//     "profileId": {
 20052  	//       "description": "User profile ID associated with this request.",
 20053  	//       "format": "int64",
 20054  	//       "location": "path",
 20055  	//       "required": true,
 20056  	//       "type": "string"
 20057  	//     },
 20058  	//     "searchString": {
 20059  	//       "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\".",
 20060  	//       "location": "query",
 20061  	//       "type": "string"
 20062  	//     },
 20063  	//     "sortField": {
 20064  	//       "default": "ID",
 20065  	//       "description": "Field by which to sort the list.",
 20066  	//       "enum": [
 20067  	//         "ID",
 20068  	//         "NAME"
 20069  	//       ],
 20070  	//       "enumDescriptions": [
 20071  	//         "",
 20072  	//         ""
 20073  	//       ],
 20074  	//       "location": "query",
 20075  	//       "type": "string"
 20076  	//     },
 20077  	//     "sortOrder": {
 20078  	//       "default": "ASCENDING",
 20079  	//       "description": "Order of sorted results.",
 20080  	//       "enum": [
 20081  	//         "ASCENDING",
 20082  	//         "DESCENDING"
 20083  	//       ],
 20084  	//       "enumDescriptions": [
 20085  	//         "",
 20086  	//         ""
 20087  	//       ],
 20088  	//       "location": "query",
 20089  	//       "type": "string"
 20090  	//     },
 20091  	//     "status": {
 20092  	//       "description": "Select only advertisers with the specified status.",
 20093  	//       "enum": [
 20094  	//         "APPROVED",
 20095  	//         "ON_HOLD"
 20096  	//       ],
 20097  	//       "enumDescriptions": [
 20098  	//         "",
 20099  	//         ""
 20100  	//       ],
 20101  	//       "location": "query",
 20102  	//       "type": "string"
 20103  	//     },
 20104  	//     "subaccountId": {
 20105  	//       "description": "Select only advertisers with these subaccount IDs.",
 20106  	//       "format": "int64",
 20107  	//       "location": "query",
 20108  	//       "type": "string"
 20109  	//     }
 20110  	//   },
 20111  	//   "path": "userprofiles/{profileId}/advertisers",
 20112  	//   "response": {
 20113  	//     "$ref": "AdvertisersListResponse"
 20114  	//   },
 20115  	//   "scopes": [
 20116  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20117  	//   ]
 20118  	// }
 20119  
 20120  }
 20121  
 20122  // Pages invokes f for each page of results.
 20123  // A non-nil error returned from f will halt the iteration.
 20124  // The provided context supersedes any context provided to the Context method.
 20125  func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
 20126  	c.ctx_ = ctx
 20127  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 20128  	for {
 20129  		x, err := c.Do()
 20130  		if err != nil {
 20131  			return err
 20132  		}
 20133  		if err := f(x); err != nil {
 20134  			return err
 20135  		}
 20136  		if x.NextPageToken == "" {
 20137  			return nil
 20138  		}
 20139  		c.PageToken(x.NextPageToken)
 20140  	}
 20141  }
 20142  
 20143  // method id "dfareporting.advertisers.patch":
 20144  
 20145  type AdvertisersPatchCall struct {
 20146  	s          *Service
 20147  	profileId  int64
 20148  	advertiser *Advertiser
 20149  	urlParams_ gensupport.URLParams
 20150  	ctx_       context.Context
 20151  	header_    http.Header
 20152  }
 20153  
 20154  // Patch: Updates an existing advertiser. This method supports patch
 20155  // semantics.
 20156  func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
 20157  	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20158  	c.profileId = profileId
 20159  	c.urlParams_.Set("id", fmt.Sprint(id))
 20160  	c.advertiser = advertiser
 20161  	return c
 20162  }
 20163  
 20164  // Fields allows partial responses to be retrieved. See
 20165  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20166  // for more information.
 20167  func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
 20168  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20169  	return c
 20170  }
 20171  
 20172  // Context sets the context to be used in this call's Do method. Any
 20173  // pending HTTP request will be aborted if the provided context is
 20174  // canceled.
 20175  func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 20176  	c.ctx_ = ctx
 20177  	return c
 20178  }
 20179  
 20180  // Header returns an http.Header that can be modified by the caller to
 20181  // add HTTP headers to the request.
 20182  func (c *AdvertisersPatchCall) Header() http.Header {
 20183  	if c.header_ == nil {
 20184  		c.header_ = make(http.Header)
 20185  	}
 20186  	return c.header_
 20187  }
 20188  
 20189  func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 20190  	reqHeaders := make(http.Header)
 20191  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20192  	for k, v := range c.header_ {
 20193  		reqHeaders[k] = v
 20194  	}
 20195  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20196  	var body io.Reader = nil
 20197  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20198  	if err != nil {
 20199  		return nil, err
 20200  	}
 20201  	reqHeaders.Set("Content-Type", "application/json")
 20202  	c.urlParams_.Set("alt", alt)
 20203  	c.urlParams_.Set("prettyPrint", "false")
 20204  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20205  	urls += "?" + c.urlParams_.Encode()
 20206  	req, err := http.NewRequest("PATCH", urls, body)
 20207  	if err != nil {
 20208  		return nil, err
 20209  	}
 20210  	req.Header = reqHeaders
 20211  	googleapi.Expand(req.URL, map[string]string{
 20212  		"profileId": strconv.FormatInt(c.profileId, 10),
 20213  	})
 20214  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20215  }
 20216  
 20217  // Do executes the "dfareporting.advertisers.patch" call.
 20218  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20219  // status code is an error. Response headers are in either
 20220  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20221  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20222  // to check whether the returned error was because
 20223  // http.StatusNotModified was returned.
 20224  func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20225  	gensupport.SetOptions(c.urlParams_, opts...)
 20226  	res, err := c.doRequest("json")
 20227  	if res != nil && res.StatusCode == http.StatusNotModified {
 20228  		if res.Body != nil {
 20229  			res.Body.Close()
 20230  		}
 20231  		return nil, &googleapi.Error{
 20232  			Code:   res.StatusCode,
 20233  			Header: res.Header,
 20234  		}
 20235  	}
 20236  	if err != nil {
 20237  		return nil, err
 20238  	}
 20239  	defer googleapi.CloseBody(res)
 20240  	if err := googleapi.CheckResponse(res); err != nil {
 20241  		return nil, err
 20242  	}
 20243  	ret := &Advertiser{
 20244  		ServerResponse: googleapi.ServerResponse{
 20245  			Header:         res.Header,
 20246  			HTTPStatusCode: res.StatusCode,
 20247  		},
 20248  	}
 20249  	target := &ret
 20250  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20251  		return nil, err
 20252  	}
 20253  	return ret, nil
 20254  	// {
 20255  	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
 20256  	//   "httpMethod": "PATCH",
 20257  	//   "id": "dfareporting.advertisers.patch",
 20258  	//   "parameterOrder": [
 20259  	//     "profileId",
 20260  	//     "id"
 20261  	//   ],
 20262  	//   "parameters": {
 20263  	//     "id": {
 20264  	//       "description": "Advertiser ID.",
 20265  	//       "format": "int64",
 20266  	//       "location": "query",
 20267  	//       "required": true,
 20268  	//       "type": "string"
 20269  	//     },
 20270  	//     "profileId": {
 20271  	//       "description": "User profile ID associated with this request.",
 20272  	//       "format": "int64",
 20273  	//       "location": "path",
 20274  	//       "required": true,
 20275  	//       "type": "string"
 20276  	//     }
 20277  	//   },
 20278  	//   "path": "userprofiles/{profileId}/advertisers",
 20279  	//   "request": {
 20280  	//     "$ref": "Advertiser"
 20281  	//   },
 20282  	//   "response": {
 20283  	//     "$ref": "Advertiser"
 20284  	//   },
 20285  	//   "scopes": [
 20286  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20287  	//   ]
 20288  	// }
 20289  
 20290  }
 20291  
 20292  // method id "dfareporting.advertisers.update":
 20293  
 20294  type AdvertisersUpdateCall struct {
 20295  	s          *Service
 20296  	profileId  int64
 20297  	advertiser *Advertiser
 20298  	urlParams_ gensupport.URLParams
 20299  	ctx_       context.Context
 20300  	header_    http.Header
 20301  }
 20302  
 20303  // Update: Updates an existing advertiser.
 20304  func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
 20305  	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20306  	c.profileId = profileId
 20307  	c.advertiser = advertiser
 20308  	return c
 20309  }
 20310  
 20311  // Fields allows partial responses to be retrieved. See
 20312  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20313  // for more information.
 20314  func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
 20315  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20316  	return c
 20317  }
 20318  
 20319  // Context sets the context to be used in this call's Do method. Any
 20320  // pending HTTP request will be aborted if the provided context is
 20321  // canceled.
 20322  func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 20323  	c.ctx_ = ctx
 20324  	return c
 20325  }
 20326  
 20327  // Header returns an http.Header that can be modified by the caller to
 20328  // add HTTP headers to the request.
 20329  func (c *AdvertisersUpdateCall) Header() http.Header {
 20330  	if c.header_ == nil {
 20331  		c.header_ = make(http.Header)
 20332  	}
 20333  	return c.header_
 20334  }
 20335  
 20336  func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
 20337  	reqHeaders := make(http.Header)
 20338  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20339  	for k, v := range c.header_ {
 20340  		reqHeaders[k] = v
 20341  	}
 20342  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20343  	var body io.Reader = nil
 20344  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20345  	if err != nil {
 20346  		return nil, err
 20347  	}
 20348  	reqHeaders.Set("Content-Type", "application/json")
 20349  	c.urlParams_.Set("alt", alt)
 20350  	c.urlParams_.Set("prettyPrint", "false")
 20351  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20352  	urls += "?" + c.urlParams_.Encode()
 20353  	req, err := http.NewRequest("PUT", urls, body)
 20354  	if err != nil {
 20355  		return nil, err
 20356  	}
 20357  	req.Header = reqHeaders
 20358  	googleapi.Expand(req.URL, map[string]string{
 20359  		"profileId": strconv.FormatInt(c.profileId, 10),
 20360  	})
 20361  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20362  }
 20363  
 20364  // Do executes the "dfareporting.advertisers.update" call.
 20365  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20366  // status code is an error. Response headers are in either
 20367  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20368  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20369  // to check whether the returned error was because
 20370  // http.StatusNotModified was returned.
 20371  func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20372  	gensupport.SetOptions(c.urlParams_, opts...)
 20373  	res, err := c.doRequest("json")
 20374  	if res != nil && res.StatusCode == http.StatusNotModified {
 20375  		if res.Body != nil {
 20376  			res.Body.Close()
 20377  		}
 20378  		return nil, &googleapi.Error{
 20379  			Code:   res.StatusCode,
 20380  			Header: res.Header,
 20381  		}
 20382  	}
 20383  	if err != nil {
 20384  		return nil, err
 20385  	}
 20386  	defer googleapi.CloseBody(res)
 20387  	if err := googleapi.CheckResponse(res); err != nil {
 20388  		return nil, err
 20389  	}
 20390  	ret := &Advertiser{
 20391  		ServerResponse: googleapi.ServerResponse{
 20392  			Header:         res.Header,
 20393  			HTTPStatusCode: res.StatusCode,
 20394  		},
 20395  	}
 20396  	target := &ret
 20397  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20398  		return nil, err
 20399  	}
 20400  	return ret, nil
 20401  	// {
 20402  	//   "description": "Updates an existing advertiser.",
 20403  	//   "httpMethod": "PUT",
 20404  	//   "id": "dfareporting.advertisers.update",
 20405  	//   "parameterOrder": [
 20406  	//     "profileId"
 20407  	//   ],
 20408  	//   "parameters": {
 20409  	//     "profileId": {
 20410  	//       "description": "User profile ID associated with this request.",
 20411  	//       "format": "int64",
 20412  	//       "location": "path",
 20413  	//       "required": true,
 20414  	//       "type": "string"
 20415  	//     }
 20416  	//   },
 20417  	//   "path": "userprofiles/{profileId}/advertisers",
 20418  	//   "request": {
 20419  	//     "$ref": "Advertiser"
 20420  	//   },
 20421  	//   "response": {
 20422  	//     "$ref": "Advertiser"
 20423  	//   },
 20424  	//   "scopes": [
 20425  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20426  	//   ]
 20427  	// }
 20428  
 20429  }
 20430  
 20431  // method id "dfareporting.browsers.list":
 20432  
 20433  type BrowsersListCall struct {
 20434  	s            *Service
 20435  	profileId    int64
 20436  	urlParams_   gensupport.URLParams
 20437  	ifNoneMatch_ string
 20438  	ctx_         context.Context
 20439  	header_      http.Header
 20440  }
 20441  
 20442  // List: Retrieves a list of browsers.
 20443  func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
 20444  	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20445  	c.profileId = profileId
 20446  	return c
 20447  }
 20448  
 20449  // Fields allows partial responses to be retrieved. See
 20450  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20451  // for more information.
 20452  func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
 20453  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20454  	return c
 20455  }
 20456  
 20457  // IfNoneMatch sets the optional parameter which makes the operation
 20458  // fail if the object's ETag matches the given value. This is useful for
 20459  // getting updates only after the object has changed since the last
 20460  // request. Use googleapi.IsNotModified to check whether the response
 20461  // error from Do is the result of In-None-Match.
 20462  func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
 20463  	c.ifNoneMatch_ = entityTag
 20464  	return c
 20465  }
 20466  
 20467  // Context sets the context to be used in this call's Do method. Any
 20468  // pending HTTP request will be aborted if the provided context is
 20469  // canceled.
 20470  func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 20471  	c.ctx_ = ctx
 20472  	return c
 20473  }
 20474  
 20475  // Header returns an http.Header that can be modified by the caller to
 20476  // add HTTP headers to the request.
 20477  func (c *BrowsersListCall) Header() http.Header {
 20478  	if c.header_ == nil {
 20479  		c.header_ = make(http.Header)
 20480  	}
 20481  	return c.header_
 20482  }
 20483  
 20484  func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 20485  	reqHeaders := make(http.Header)
 20486  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20487  	for k, v := range c.header_ {
 20488  		reqHeaders[k] = v
 20489  	}
 20490  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20491  	if c.ifNoneMatch_ != "" {
 20492  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20493  	}
 20494  	var body io.Reader = nil
 20495  	c.urlParams_.Set("alt", alt)
 20496  	c.urlParams_.Set("prettyPrint", "false")
 20497  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
 20498  	urls += "?" + c.urlParams_.Encode()
 20499  	req, err := http.NewRequest("GET", urls, body)
 20500  	if err != nil {
 20501  		return nil, err
 20502  	}
 20503  	req.Header = reqHeaders
 20504  	googleapi.Expand(req.URL, map[string]string{
 20505  		"profileId": strconv.FormatInt(c.profileId, 10),
 20506  	})
 20507  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20508  }
 20509  
 20510  // Do executes the "dfareporting.browsers.list" call.
 20511  // Exactly one of *BrowsersListResponse or error will be non-nil. Any
 20512  // non-2xx status code is an error. Response headers are in either
 20513  // *BrowsersListResponse.ServerResponse.Header or (if a response was
 20514  // returned at all) in error.(*googleapi.Error).Header. Use
 20515  // googleapi.IsNotModified to check whether the returned error was
 20516  // because http.StatusNotModified was returned.
 20517  func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
 20518  	gensupport.SetOptions(c.urlParams_, opts...)
 20519  	res, err := c.doRequest("json")
 20520  	if res != nil && res.StatusCode == http.StatusNotModified {
 20521  		if res.Body != nil {
 20522  			res.Body.Close()
 20523  		}
 20524  		return nil, &googleapi.Error{
 20525  			Code:   res.StatusCode,
 20526  			Header: res.Header,
 20527  		}
 20528  	}
 20529  	if err != nil {
 20530  		return nil, err
 20531  	}
 20532  	defer googleapi.CloseBody(res)
 20533  	if err := googleapi.CheckResponse(res); err != nil {
 20534  		return nil, err
 20535  	}
 20536  	ret := &BrowsersListResponse{
 20537  		ServerResponse: googleapi.ServerResponse{
 20538  			Header:         res.Header,
 20539  			HTTPStatusCode: res.StatusCode,
 20540  		},
 20541  	}
 20542  	target := &ret
 20543  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20544  		return nil, err
 20545  	}
 20546  	return ret, nil
 20547  	// {
 20548  	//   "description": "Retrieves a list of browsers.",
 20549  	//   "httpMethod": "GET",
 20550  	//   "id": "dfareporting.browsers.list",
 20551  	//   "parameterOrder": [
 20552  	//     "profileId"
 20553  	//   ],
 20554  	//   "parameters": {
 20555  	//     "profileId": {
 20556  	//       "description": "User profile ID associated with this request.",
 20557  	//       "format": "int64",
 20558  	//       "location": "path",
 20559  	//       "required": true,
 20560  	//       "type": "string"
 20561  	//     }
 20562  	//   },
 20563  	//   "path": "userprofiles/{profileId}/browsers",
 20564  	//   "response": {
 20565  	//     "$ref": "BrowsersListResponse"
 20566  	//   },
 20567  	//   "scopes": [
 20568  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20569  	//   ]
 20570  	// }
 20571  
 20572  }
 20573  
 20574  // method id "dfareporting.campaignCreativeAssociations.insert":
 20575  
 20576  type CampaignCreativeAssociationsInsertCall struct {
 20577  	s                           *Service
 20578  	profileId                   int64
 20579  	campaignId                  int64
 20580  	campaigncreativeassociation *CampaignCreativeAssociation
 20581  	urlParams_                  gensupport.URLParams
 20582  	ctx_                        context.Context
 20583  	header_                     http.Header
 20584  }
 20585  
 20586  // Insert: Associates a creative with the specified campaign. This
 20587  // method creates a default ad with dimensions matching the creative in
 20588  // the campaign if such a default ad does not exist already.
 20589  func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
 20590  	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20591  	c.profileId = profileId
 20592  	c.campaignId = campaignId
 20593  	c.campaigncreativeassociation = campaigncreativeassociation
 20594  	return c
 20595  }
 20596  
 20597  // Fields allows partial responses to be retrieved. See
 20598  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20599  // for more information.
 20600  func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
 20601  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20602  	return c
 20603  }
 20604  
 20605  // Context sets the context to be used in this call's Do method. Any
 20606  // pending HTTP request will be aborted if the provided context is
 20607  // canceled.
 20608  func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 20609  	c.ctx_ = ctx
 20610  	return c
 20611  }
 20612  
 20613  // Header returns an http.Header that can be modified by the caller to
 20614  // add HTTP headers to the request.
 20615  func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
 20616  	if c.header_ == nil {
 20617  		c.header_ = make(http.Header)
 20618  	}
 20619  	return c.header_
 20620  }
 20621  
 20622  func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
 20623  	reqHeaders := make(http.Header)
 20624  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20625  	for k, v := range c.header_ {
 20626  		reqHeaders[k] = v
 20627  	}
 20628  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20629  	var body io.Reader = nil
 20630  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
 20631  	if err != nil {
 20632  		return nil, err
 20633  	}
 20634  	reqHeaders.Set("Content-Type", "application/json")
 20635  	c.urlParams_.Set("alt", alt)
 20636  	c.urlParams_.Set("prettyPrint", "false")
 20637  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 20638  	urls += "?" + c.urlParams_.Encode()
 20639  	req, err := http.NewRequest("POST", urls, body)
 20640  	if err != nil {
 20641  		return nil, err
 20642  	}
 20643  	req.Header = reqHeaders
 20644  	googleapi.Expand(req.URL, map[string]string{
 20645  		"profileId":  strconv.FormatInt(c.profileId, 10),
 20646  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 20647  	})
 20648  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20649  }
 20650  
 20651  // Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
 20652  // Exactly one of *CampaignCreativeAssociation or error will be non-nil.
 20653  // Any non-2xx status code is an error. Response headers are in either
 20654  // *CampaignCreativeAssociation.ServerResponse.Header or (if a response
 20655  // was returned at all) in error.(*googleapi.Error).Header. Use
 20656  // googleapi.IsNotModified to check whether the returned error was
 20657  // because http.StatusNotModified was returned.
 20658  func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
 20659  	gensupport.SetOptions(c.urlParams_, opts...)
 20660  	res, err := c.doRequest("json")
 20661  	if res != nil && res.StatusCode == http.StatusNotModified {
 20662  		if res.Body != nil {
 20663  			res.Body.Close()
 20664  		}
 20665  		return nil, &googleapi.Error{
 20666  			Code:   res.StatusCode,
 20667  			Header: res.Header,
 20668  		}
 20669  	}
 20670  	if err != nil {
 20671  		return nil, err
 20672  	}
 20673  	defer googleapi.CloseBody(res)
 20674  	if err := googleapi.CheckResponse(res); err != nil {
 20675  		return nil, err
 20676  	}
 20677  	ret := &CampaignCreativeAssociation{
 20678  		ServerResponse: googleapi.ServerResponse{
 20679  			Header:         res.Header,
 20680  			HTTPStatusCode: res.StatusCode,
 20681  		},
 20682  	}
 20683  	target := &ret
 20684  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20685  		return nil, err
 20686  	}
 20687  	return ret, nil
 20688  	// {
 20689  	//   "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.",
 20690  	//   "httpMethod": "POST",
 20691  	//   "id": "dfareporting.campaignCreativeAssociations.insert",
 20692  	//   "parameterOrder": [
 20693  	//     "profileId",
 20694  	//     "campaignId"
 20695  	//   ],
 20696  	//   "parameters": {
 20697  	//     "campaignId": {
 20698  	//       "description": "Campaign ID in this association.",
 20699  	//       "format": "int64",
 20700  	//       "location": "path",
 20701  	//       "required": true,
 20702  	//       "type": "string"
 20703  	//     },
 20704  	//     "profileId": {
 20705  	//       "description": "User profile ID associated with this request.",
 20706  	//       "format": "int64",
 20707  	//       "location": "path",
 20708  	//       "required": true,
 20709  	//       "type": "string"
 20710  	//     }
 20711  	//   },
 20712  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 20713  	//   "request": {
 20714  	//     "$ref": "CampaignCreativeAssociation"
 20715  	//   },
 20716  	//   "response": {
 20717  	//     "$ref": "CampaignCreativeAssociation"
 20718  	//   },
 20719  	//   "scopes": [
 20720  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20721  	//   ]
 20722  	// }
 20723  
 20724  }
 20725  
 20726  // method id "dfareporting.campaignCreativeAssociations.list":
 20727  
 20728  type CampaignCreativeAssociationsListCall struct {
 20729  	s            *Service
 20730  	profileId    int64
 20731  	campaignId   int64
 20732  	urlParams_   gensupport.URLParams
 20733  	ifNoneMatch_ string
 20734  	ctx_         context.Context
 20735  	header_      http.Header
 20736  }
 20737  
 20738  // List: Retrieves the list of creative IDs associated with the
 20739  // specified campaign. This method supports paging.
 20740  func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
 20741  	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20742  	c.profileId = profileId
 20743  	c.campaignId = campaignId
 20744  	return c
 20745  }
 20746  
 20747  // MaxResults sets the optional parameter "maxResults": Maximum number
 20748  // of results to return.
 20749  func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
 20750  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20751  	return c
 20752  }
 20753  
 20754  // PageToken sets the optional parameter "pageToken": Value of the
 20755  // nextPageToken from the previous result page.
 20756  func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
 20757  	c.urlParams_.Set("pageToken", pageToken)
 20758  	return c
 20759  }
 20760  
 20761  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 20762  // results.
 20763  //
 20764  // Possible values:
 20765  //
 20766  //	"ASCENDING" (default)
 20767  //	"DESCENDING"
 20768  func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
 20769  	c.urlParams_.Set("sortOrder", sortOrder)
 20770  	return c
 20771  }
 20772  
 20773  // Fields allows partial responses to be retrieved. See
 20774  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20775  // for more information.
 20776  func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
 20777  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20778  	return c
 20779  }
 20780  
 20781  // IfNoneMatch sets the optional parameter which makes the operation
 20782  // fail if the object's ETag matches the given value. This is useful for
 20783  // getting updates only after the object has changed since the last
 20784  // request. Use googleapi.IsNotModified to check whether the response
 20785  // error from Do is the result of In-None-Match.
 20786  func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
 20787  	c.ifNoneMatch_ = entityTag
 20788  	return c
 20789  }
 20790  
 20791  // Context sets the context to be used in this call's Do method. Any
 20792  // pending HTTP request will be aborted if the provided context is
 20793  // canceled.
 20794  func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 20795  	c.ctx_ = ctx
 20796  	return c
 20797  }
 20798  
 20799  // Header returns an http.Header that can be modified by the caller to
 20800  // add HTTP headers to the request.
 20801  func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
 20802  	if c.header_ == nil {
 20803  		c.header_ = make(http.Header)
 20804  	}
 20805  	return c.header_
 20806  }
 20807  
 20808  func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 20809  	reqHeaders := make(http.Header)
 20810  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20811  	for k, v := range c.header_ {
 20812  		reqHeaders[k] = v
 20813  	}
 20814  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20815  	if c.ifNoneMatch_ != "" {
 20816  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20817  	}
 20818  	var body io.Reader = nil
 20819  	c.urlParams_.Set("alt", alt)
 20820  	c.urlParams_.Set("prettyPrint", "false")
 20821  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 20822  	urls += "?" + c.urlParams_.Encode()
 20823  	req, err := http.NewRequest("GET", urls, body)
 20824  	if err != nil {
 20825  		return nil, err
 20826  	}
 20827  	req.Header = reqHeaders
 20828  	googleapi.Expand(req.URL, map[string]string{
 20829  		"profileId":  strconv.FormatInt(c.profileId, 10),
 20830  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 20831  	})
 20832  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20833  }
 20834  
 20835  // Do executes the "dfareporting.campaignCreativeAssociations.list" call.
 20836  // Exactly one of *CampaignCreativeAssociationsListResponse or error
 20837  // will be non-nil. Any non-2xx status code is an error. Response
 20838  // headers are in either
 20839  // *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
 20840  // (if a response was returned at all) in
 20841  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20842  // whether the returned error was because http.StatusNotModified was
 20843  // returned.
 20844  func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
 20845  	gensupport.SetOptions(c.urlParams_, opts...)
 20846  	res, err := c.doRequest("json")
 20847  	if res != nil && res.StatusCode == http.StatusNotModified {
 20848  		if res.Body != nil {
 20849  			res.Body.Close()
 20850  		}
 20851  		return nil, &googleapi.Error{
 20852  			Code:   res.StatusCode,
 20853  			Header: res.Header,
 20854  		}
 20855  	}
 20856  	if err != nil {
 20857  		return nil, err
 20858  	}
 20859  	defer googleapi.CloseBody(res)
 20860  	if err := googleapi.CheckResponse(res); err != nil {
 20861  		return nil, err
 20862  	}
 20863  	ret := &CampaignCreativeAssociationsListResponse{
 20864  		ServerResponse: googleapi.ServerResponse{
 20865  			Header:         res.Header,
 20866  			HTTPStatusCode: res.StatusCode,
 20867  		},
 20868  	}
 20869  	target := &ret
 20870  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20871  		return nil, err
 20872  	}
 20873  	return ret, nil
 20874  	// {
 20875  	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
 20876  	//   "httpMethod": "GET",
 20877  	//   "id": "dfareporting.campaignCreativeAssociations.list",
 20878  	//   "parameterOrder": [
 20879  	//     "profileId",
 20880  	//     "campaignId"
 20881  	//   ],
 20882  	//   "parameters": {
 20883  	//     "campaignId": {
 20884  	//       "description": "Campaign ID in this association.",
 20885  	//       "format": "int64",
 20886  	//       "location": "path",
 20887  	//       "required": true,
 20888  	//       "type": "string"
 20889  	//     },
 20890  	//     "maxResults": {
 20891  	//       "default": "1000",
 20892  	//       "description": "Maximum number of results to return.",
 20893  	//       "format": "int32",
 20894  	//       "location": "query",
 20895  	//       "maximum": "1000",
 20896  	//       "minimum": "0",
 20897  	//       "type": "integer"
 20898  	//     },
 20899  	//     "pageToken": {
 20900  	//       "description": "Value of the nextPageToken from the previous result page.",
 20901  	//       "location": "query",
 20902  	//       "type": "string"
 20903  	//     },
 20904  	//     "profileId": {
 20905  	//       "description": "User profile ID associated with this request.",
 20906  	//       "format": "int64",
 20907  	//       "location": "path",
 20908  	//       "required": true,
 20909  	//       "type": "string"
 20910  	//     },
 20911  	//     "sortOrder": {
 20912  	//       "default": "ASCENDING",
 20913  	//       "description": "Order of sorted results.",
 20914  	//       "enum": [
 20915  	//         "ASCENDING",
 20916  	//         "DESCENDING"
 20917  	//       ],
 20918  	//       "enumDescriptions": [
 20919  	//         "",
 20920  	//         ""
 20921  	//       ],
 20922  	//       "location": "query",
 20923  	//       "type": "string"
 20924  	//     }
 20925  	//   },
 20926  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 20927  	//   "response": {
 20928  	//     "$ref": "CampaignCreativeAssociationsListResponse"
 20929  	//   },
 20930  	//   "scopes": [
 20931  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20932  	//   ]
 20933  	// }
 20934  
 20935  }
 20936  
 20937  // Pages invokes f for each page of results.
 20938  // A non-nil error returned from f will halt the iteration.
 20939  // The provided context supersedes any context provided to the Context method.
 20940  func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
 20941  	c.ctx_ = ctx
 20942  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 20943  	for {
 20944  		x, err := c.Do()
 20945  		if err != nil {
 20946  			return err
 20947  		}
 20948  		if err := f(x); err != nil {
 20949  			return err
 20950  		}
 20951  		if x.NextPageToken == "" {
 20952  			return nil
 20953  		}
 20954  		c.PageToken(x.NextPageToken)
 20955  	}
 20956  }
 20957  
 20958  // method id "dfareporting.campaigns.get":
 20959  
 20960  type CampaignsGetCall struct {
 20961  	s            *Service
 20962  	profileId    int64
 20963  	id           int64
 20964  	urlParams_   gensupport.URLParams
 20965  	ifNoneMatch_ string
 20966  	ctx_         context.Context
 20967  	header_      http.Header
 20968  }
 20969  
 20970  // Get: Gets one campaign by ID.
 20971  func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
 20972  	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20973  	c.profileId = profileId
 20974  	c.id = id
 20975  	return c
 20976  }
 20977  
 20978  // Fields allows partial responses to be retrieved. See
 20979  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20980  // for more information.
 20981  func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
 20982  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20983  	return c
 20984  }
 20985  
 20986  // IfNoneMatch sets the optional parameter which makes the operation
 20987  // fail if the object's ETag matches the given value. This is useful for
 20988  // getting updates only after the object has changed since the last
 20989  // request. Use googleapi.IsNotModified to check whether the response
 20990  // error from Do is the result of In-None-Match.
 20991  func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
 20992  	c.ifNoneMatch_ = entityTag
 20993  	return c
 20994  }
 20995  
 20996  // Context sets the context to be used in this call's Do method. Any
 20997  // pending HTTP request will be aborted if the provided context is
 20998  // canceled.
 20999  func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 21000  	c.ctx_ = ctx
 21001  	return c
 21002  }
 21003  
 21004  // Header returns an http.Header that can be modified by the caller to
 21005  // add HTTP headers to the request.
 21006  func (c *CampaignsGetCall) Header() http.Header {
 21007  	if c.header_ == nil {
 21008  		c.header_ = make(http.Header)
 21009  	}
 21010  	return c.header_
 21011  }
 21012  
 21013  func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 21014  	reqHeaders := make(http.Header)
 21015  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21016  	for k, v := range c.header_ {
 21017  		reqHeaders[k] = v
 21018  	}
 21019  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21020  	if c.ifNoneMatch_ != "" {
 21021  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21022  	}
 21023  	var body io.Reader = nil
 21024  	c.urlParams_.Set("alt", alt)
 21025  	c.urlParams_.Set("prettyPrint", "false")
 21026  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
 21027  	urls += "?" + c.urlParams_.Encode()
 21028  	req, err := http.NewRequest("GET", urls, body)
 21029  	if err != nil {
 21030  		return nil, err
 21031  	}
 21032  	req.Header = reqHeaders
 21033  	googleapi.Expand(req.URL, map[string]string{
 21034  		"profileId": strconv.FormatInt(c.profileId, 10),
 21035  		"id":        strconv.FormatInt(c.id, 10),
 21036  	})
 21037  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21038  }
 21039  
 21040  // Do executes the "dfareporting.campaigns.get" call.
 21041  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21042  // code is an error. Response headers are in either
 21043  // *Campaign.ServerResponse.Header or (if a response was returned at
 21044  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21045  // to check whether the returned error was because
 21046  // http.StatusNotModified was returned.
 21047  func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21048  	gensupport.SetOptions(c.urlParams_, opts...)
 21049  	res, err := c.doRequest("json")
 21050  	if res != nil && res.StatusCode == http.StatusNotModified {
 21051  		if res.Body != nil {
 21052  			res.Body.Close()
 21053  		}
 21054  		return nil, &googleapi.Error{
 21055  			Code:   res.StatusCode,
 21056  			Header: res.Header,
 21057  		}
 21058  	}
 21059  	if err != nil {
 21060  		return nil, err
 21061  	}
 21062  	defer googleapi.CloseBody(res)
 21063  	if err := googleapi.CheckResponse(res); err != nil {
 21064  		return nil, err
 21065  	}
 21066  	ret := &Campaign{
 21067  		ServerResponse: googleapi.ServerResponse{
 21068  			Header:         res.Header,
 21069  			HTTPStatusCode: res.StatusCode,
 21070  		},
 21071  	}
 21072  	target := &ret
 21073  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21074  		return nil, err
 21075  	}
 21076  	return ret, nil
 21077  	// {
 21078  	//   "description": "Gets one campaign by ID.",
 21079  	//   "httpMethod": "GET",
 21080  	//   "id": "dfareporting.campaigns.get",
 21081  	//   "parameterOrder": [
 21082  	//     "profileId",
 21083  	//     "id"
 21084  	//   ],
 21085  	//   "parameters": {
 21086  	//     "id": {
 21087  	//       "description": "Campaign ID.",
 21088  	//       "format": "int64",
 21089  	//       "location": "path",
 21090  	//       "required": true,
 21091  	//       "type": "string"
 21092  	//     },
 21093  	//     "profileId": {
 21094  	//       "description": "User profile ID associated with this request.",
 21095  	//       "format": "int64",
 21096  	//       "location": "path",
 21097  	//       "required": true,
 21098  	//       "type": "string"
 21099  	//     }
 21100  	//   },
 21101  	//   "path": "userprofiles/{profileId}/campaigns/{id}",
 21102  	//   "response": {
 21103  	//     "$ref": "Campaign"
 21104  	//   },
 21105  	//   "scopes": [
 21106  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21107  	//   ]
 21108  	// }
 21109  
 21110  }
 21111  
 21112  // method id "dfareporting.campaigns.insert":
 21113  
 21114  type CampaignsInsertCall struct {
 21115  	s          *Service
 21116  	profileId  int64
 21117  	campaign   *Campaign
 21118  	urlParams_ gensupport.URLParams
 21119  	ctx_       context.Context
 21120  	header_    http.Header
 21121  }
 21122  
 21123  // Insert: Inserts a new campaign.
 21124  func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
 21125  	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21126  	c.profileId = profileId
 21127  	c.campaign = campaign
 21128  	return c
 21129  }
 21130  
 21131  // Fields allows partial responses to be retrieved. See
 21132  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21133  // for more information.
 21134  func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
 21135  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21136  	return c
 21137  }
 21138  
 21139  // Context sets the context to be used in this call's Do method. Any
 21140  // pending HTTP request will be aborted if the provided context is
 21141  // canceled.
 21142  func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 21143  	c.ctx_ = ctx
 21144  	return c
 21145  }
 21146  
 21147  // Header returns an http.Header that can be modified by the caller to
 21148  // add HTTP headers to the request.
 21149  func (c *CampaignsInsertCall) Header() http.Header {
 21150  	if c.header_ == nil {
 21151  		c.header_ = make(http.Header)
 21152  	}
 21153  	return c.header_
 21154  }
 21155  
 21156  func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
 21157  	reqHeaders := make(http.Header)
 21158  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21159  	for k, v := range c.header_ {
 21160  		reqHeaders[k] = v
 21161  	}
 21162  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21163  	var body io.Reader = nil
 21164  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21165  	if err != nil {
 21166  		return nil, err
 21167  	}
 21168  	reqHeaders.Set("Content-Type", "application/json")
 21169  	c.urlParams_.Set("alt", alt)
 21170  	c.urlParams_.Set("prettyPrint", "false")
 21171  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21172  	urls += "?" + c.urlParams_.Encode()
 21173  	req, err := http.NewRequest("POST", urls, body)
 21174  	if err != nil {
 21175  		return nil, err
 21176  	}
 21177  	req.Header = reqHeaders
 21178  	googleapi.Expand(req.URL, map[string]string{
 21179  		"profileId": strconv.FormatInt(c.profileId, 10),
 21180  	})
 21181  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21182  }
 21183  
 21184  // Do executes the "dfareporting.campaigns.insert" call.
 21185  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21186  // code is an error. Response headers are in either
 21187  // *Campaign.ServerResponse.Header or (if a response was returned at
 21188  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21189  // to check whether the returned error was because
 21190  // http.StatusNotModified was returned.
 21191  func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21192  	gensupport.SetOptions(c.urlParams_, opts...)
 21193  	res, err := c.doRequest("json")
 21194  	if res != nil && res.StatusCode == http.StatusNotModified {
 21195  		if res.Body != nil {
 21196  			res.Body.Close()
 21197  		}
 21198  		return nil, &googleapi.Error{
 21199  			Code:   res.StatusCode,
 21200  			Header: res.Header,
 21201  		}
 21202  	}
 21203  	if err != nil {
 21204  		return nil, err
 21205  	}
 21206  	defer googleapi.CloseBody(res)
 21207  	if err := googleapi.CheckResponse(res); err != nil {
 21208  		return nil, err
 21209  	}
 21210  	ret := &Campaign{
 21211  		ServerResponse: googleapi.ServerResponse{
 21212  			Header:         res.Header,
 21213  			HTTPStatusCode: res.StatusCode,
 21214  		},
 21215  	}
 21216  	target := &ret
 21217  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21218  		return nil, err
 21219  	}
 21220  	return ret, nil
 21221  	// {
 21222  	//   "description": "Inserts a new campaign.",
 21223  	//   "httpMethod": "POST",
 21224  	//   "id": "dfareporting.campaigns.insert",
 21225  	//   "parameterOrder": [
 21226  	//     "profileId"
 21227  	//   ],
 21228  	//   "parameters": {
 21229  	//     "profileId": {
 21230  	//       "description": "User profile ID associated with this request.",
 21231  	//       "format": "int64",
 21232  	//       "location": "path",
 21233  	//       "required": true,
 21234  	//       "type": "string"
 21235  	//     }
 21236  	//   },
 21237  	//   "path": "userprofiles/{profileId}/campaigns",
 21238  	//   "request": {
 21239  	//     "$ref": "Campaign"
 21240  	//   },
 21241  	//   "response": {
 21242  	//     "$ref": "Campaign"
 21243  	//   },
 21244  	//   "scopes": [
 21245  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21246  	//   ]
 21247  	// }
 21248  
 21249  }
 21250  
 21251  // method id "dfareporting.campaigns.list":
 21252  
 21253  type CampaignsListCall struct {
 21254  	s            *Service
 21255  	profileId    int64
 21256  	urlParams_   gensupport.URLParams
 21257  	ifNoneMatch_ string
 21258  	ctx_         context.Context
 21259  	header_      http.Header
 21260  }
 21261  
 21262  // List: Retrieves a list of campaigns, possibly filtered. This method
 21263  // supports paging.
 21264  func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
 21265  	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21266  	c.profileId = profileId
 21267  	return c
 21268  }
 21269  
 21270  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 21271  // Select only campaigns whose advertisers belong to these advertiser
 21272  // groups.
 21273  func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
 21274  	var advertiserGroupIds_ []string
 21275  	for _, v := range advertiserGroupIds {
 21276  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 21277  	}
 21278  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 21279  	return c
 21280  }
 21281  
 21282  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 21283  // only campaigns that belong to these advertisers.
 21284  func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
 21285  	var advertiserIds_ []string
 21286  	for _, v := range advertiserIds {
 21287  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 21288  	}
 21289  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 21290  	return c
 21291  }
 21292  
 21293  // Archived sets the optional parameter "archived": Select only archived
 21294  // campaigns. Don't set this field to select both archived and
 21295  // non-archived campaigns.
 21296  func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
 21297  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 21298  	return c
 21299  }
 21300  
 21301  // AtLeastOneOptimizationActivity sets the optional parameter
 21302  // "atLeastOneOptimizationActivity": Select only campaigns that have at
 21303  // least one optimization activity.
 21304  func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
 21305  	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
 21306  	return c
 21307  }
 21308  
 21309  // ExcludedIds sets the optional parameter "excludedIds": Exclude
 21310  // campaigns with these IDs.
 21311  func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
 21312  	var excludedIds_ []string
 21313  	for _, v := range excludedIds {
 21314  		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
 21315  	}
 21316  	c.urlParams_.SetMulti("excludedIds", excludedIds_)
 21317  	return c
 21318  }
 21319  
 21320  // Ids sets the optional parameter "ids": Select only campaigns with
 21321  // these IDs.
 21322  func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
 21323  	var ids_ []string
 21324  	for _, v := range ids {
 21325  		ids_ = append(ids_, fmt.Sprint(v))
 21326  	}
 21327  	c.urlParams_.SetMulti("ids", ids_)
 21328  	return c
 21329  }
 21330  
 21331  // MaxResults sets the optional parameter "maxResults": Maximum number
 21332  // of results to return.
 21333  func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
 21334  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 21335  	return c
 21336  }
 21337  
 21338  // OverriddenEventTagId sets the optional parameter
 21339  // "overriddenEventTagId": Select only campaigns that have overridden
 21340  // this event tag ID.
 21341  func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
 21342  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 21343  	return c
 21344  }
 21345  
 21346  // PageToken sets the optional parameter "pageToken": Value of the
 21347  // nextPageToken from the previous result page.
 21348  func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
 21349  	c.urlParams_.Set("pageToken", pageToken)
 21350  	return c
 21351  }
 21352  
 21353  // SearchString sets the optional parameter "searchString": Allows
 21354  // searching for campaigns by name or ID. Wildcards (*) are allowed. For
 21355  // example, "campaign*2015" will return campaigns with names like
 21356  // "campaign June 2015", "campaign April 2015", or simply "campaign
 21357  // 2015". Most of the searches also add wildcards implicitly at the
 21358  // start and the end of the search string. For example, a search string
 21359  // of "campaign" will match campaigns with name "my campaign", "campaign
 21360  // 2015", or simply "campaign".
 21361  func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
 21362  	c.urlParams_.Set("searchString", searchString)
 21363  	return c
 21364  }
 21365  
 21366  // SortField sets the optional parameter "sortField": Field by which to
 21367  // sort the list.
 21368  //
 21369  // Possible values:
 21370  //
 21371  //	"ID" (default)
 21372  //	"NAME"
 21373  func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
 21374  	c.urlParams_.Set("sortField", sortField)
 21375  	return c
 21376  }
 21377  
 21378  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 21379  // results.
 21380  //
 21381  // Possible values:
 21382  //
 21383  //	"ASCENDING" (default)
 21384  //	"DESCENDING"
 21385  func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
 21386  	c.urlParams_.Set("sortOrder", sortOrder)
 21387  	return c
 21388  }
 21389  
 21390  // SubaccountId sets the optional parameter "subaccountId": Select only
 21391  // campaigns that belong to this subaccount.
 21392  func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
 21393  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 21394  	return c
 21395  }
 21396  
 21397  // Fields allows partial responses to be retrieved. See
 21398  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21399  // for more information.
 21400  func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
 21401  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21402  	return c
 21403  }
 21404  
 21405  // IfNoneMatch sets the optional parameter which makes the operation
 21406  // fail if the object's ETag matches the given value. This is useful for
 21407  // getting updates only after the object has changed since the last
 21408  // request. Use googleapi.IsNotModified to check whether the response
 21409  // error from Do is the result of In-None-Match.
 21410  func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
 21411  	c.ifNoneMatch_ = entityTag
 21412  	return c
 21413  }
 21414  
 21415  // Context sets the context to be used in this call's Do method. Any
 21416  // pending HTTP request will be aborted if the provided context is
 21417  // canceled.
 21418  func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 21419  	c.ctx_ = ctx
 21420  	return c
 21421  }
 21422  
 21423  // Header returns an http.Header that can be modified by the caller to
 21424  // add HTTP headers to the request.
 21425  func (c *CampaignsListCall) Header() http.Header {
 21426  	if c.header_ == nil {
 21427  		c.header_ = make(http.Header)
 21428  	}
 21429  	return c.header_
 21430  }
 21431  
 21432  func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 21433  	reqHeaders := make(http.Header)
 21434  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21435  	for k, v := range c.header_ {
 21436  		reqHeaders[k] = v
 21437  	}
 21438  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21439  	if c.ifNoneMatch_ != "" {
 21440  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21441  	}
 21442  	var body io.Reader = nil
 21443  	c.urlParams_.Set("alt", alt)
 21444  	c.urlParams_.Set("prettyPrint", "false")
 21445  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21446  	urls += "?" + c.urlParams_.Encode()
 21447  	req, err := http.NewRequest("GET", urls, body)
 21448  	if err != nil {
 21449  		return nil, err
 21450  	}
 21451  	req.Header = reqHeaders
 21452  	googleapi.Expand(req.URL, map[string]string{
 21453  		"profileId": strconv.FormatInt(c.profileId, 10),
 21454  	})
 21455  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21456  }
 21457  
 21458  // Do executes the "dfareporting.campaigns.list" call.
 21459  // Exactly one of *CampaignsListResponse or error will be non-nil. Any
 21460  // non-2xx status code is an error. Response headers are in either
 21461  // *CampaignsListResponse.ServerResponse.Header or (if a response was
 21462  // returned at all) in error.(*googleapi.Error).Header. Use
 21463  // googleapi.IsNotModified to check whether the returned error was
 21464  // because http.StatusNotModified was returned.
 21465  func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
 21466  	gensupport.SetOptions(c.urlParams_, opts...)
 21467  	res, err := c.doRequest("json")
 21468  	if res != nil && res.StatusCode == http.StatusNotModified {
 21469  		if res.Body != nil {
 21470  			res.Body.Close()
 21471  		}
 21472  		return nil, &googleapi.Error{
 21473  			Code:   res.StatusCode,
 21474  			Header: res.Header,
 21475  		}
 21476  	}
 21477  	if err != nil {
 21478  		return nil, err
 21479  	}
 21480  	defer googleapi.CloseBody(res)
 21481  	if err := googleapi.CheckResponse(res); err != nil {
 21482  		return nil, err
 21483  	}
 21484  	ret := &CampaignsListResponse{
 21485  		ServerResponse: googleapi.ServerResponse{
 21486  			Header:         res.Header,
 21487  			HTTPStatusCode: res.StatusCode,
 21488  		},
 21489  	}
 21490  	target := &ret
 21491  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21492  		return nil, err
 21493  	}
 21494  	return ret, nil
 21495  	// {
 21496  	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
 21497  	//   "httpMethod": "GET",
 21498  	//   "id": "dfareporting.campaigns.list",
 21499  	//   "parameterOrder": [
 21500  	//     "profileId"
 21501  	//   ],
 21502  	//   "parameters": {
 21503  	//     "advertiserGroupIds": {
 21504  	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
 21505  	//       "format": "int64",
 21506  	//       "location": "query",
 21507  	//       "repeated": true,
 21508  	//       "type": "string"
 21509  	//     },
 21510  	//     "advertiserIds": {
 21511  	//       "description": "Select only campaigns that belong to these advertisers.",
 21512  	//       "format": "int64",
 21513  	//       "location": "query",
 21514  	//       "repeated": true,
 21515  	//       "type": "string"
 21516  	//     },
 21517  	//     "archived": {
 21518  	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
 21519  	//       "location": "query",
 21520  	//       "type": "boolean"
 21521  	//     },
 21522  	//     "atLeastOneOptimizationActivity": {
 21523  	//       "description": "Select only campaigns that have at least one optimization activity.",
 21524  	//       "location": "query",
 21525  	//       "type": "boolean"
 21526  	//     },
 21527  	//     "excludedIds": {
 21528  	//       "description": "Exclude campaigns with these IDs.",
 21529  	//       "format": "int64",
 21530  	//       "location": "query",
 21531  	//       "repeated": true,
 21532  	//       "type": "string"
 21533  	//     },
 21534  	//     "ids": {
 21535  	//       "description": "Select only campaigns with these IDs.",
 21536  	//       "format": "int64",
 21537  	//       "location": "query",
 21538  	//       "repeated": true,
 21539  	//       "type": "string"
 21540  	//     },
 21541  	//     "maxResults": {
 21542  	//       "default": "1000",
 21543  	//       "description": "Maximum number of results to return.",
 21544  	//       "format": "int32",
 21545  	//       "location": "query",
 21546  	//       "maximum": "1000",
 21547  	//       "minimum": "0",
 21548  	//       "type": "integer"
 21549  	//     },
 21550  	//     "overriddenEventTagId": {
 21551  	//       "description": "Select only campaigns that have overridden this event tag ID.",
 21552  	//       "format": "int64",
 21553  	//       "location": "query",
 21554  	//       "type": "string"
 21555  	//     },
 21556  	//     "pageToken": {
 21557  	//       "description": "Value of the nextPageToken from the previous result page.",
 21558  	//       "location": "query",
 21559  	//       "type": "string"
 21560  	//     },
 21561  	//     "profileId": {
 21562  	//       "description": "User profile ID associated with this request.",
 21563  	//       "format": "int64",
 21564  	//       "location": "path",
 21565  	//       "required": true,
 21566  	//       "type": "string"
 21567  	//     },
 21568  	//     "searchString": {
 21569  	//       "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\".",
 21570  	//       "location": "query",
 21571  	//       "type": "string"
 21572  	//     },
 21573  	//     "sortField": {
 21574  	//       "default": "ID",
 21575  	//       "description": "Field by which to sort the list.",
 21576  	//       "enum": [
 21577  	//         "ID",
 21578  	//         "NAME"
 21579  	//       ],
 21580  	//       "enumDescriptions": [
 21581  	//         "",
 21582  	//         ""
 21583  	//       ],
 21584  	//       "location": "query",
 21585  	//       "type": "string"
 21586  	//     },
 21587  	//     "sortOrder": {
 21588  	//       "default": "ASCENDING",
 21589  	//       "description": "Order of sorted results.",
 21590  	//       "enum": [
 21591  	//         "ASCENDING",
 21592  	//         "DESCENDING"
 21593  	//       ],
 21594  	//       "enumDescriptions": [
 21595  	//         "",
 21596  	//         ""
 21597  	//       ],
 21598  	//       "location": "query",
 21599  	//       "type": "string"
 21600  	//     },
 21601  	//     "subaccountId": {
 21602  	//       "description": "Select only campaigns that belong to this subaccount.",
 21603  	//       "format": "int64",
 21604  	//       "location": "query",
 21605  	//       "type": "string"
 21606  	//     }
 21607  	//   },
 21608  	//   "path": "userprofiles/{profileId}/campaigns",
 21609  	//   "response": {
 21610  	//     "$ref": "CampaignsListResponse"
 21611  	//   },
 21612  	//   "scopes": [
 21613  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21614  	//   ]
 21615  	// }
 21616  
 21617  }
 21618  
 21619  // Pages invokes f for each page of results.
 21620  // A non-nil error returned from f will halt the iteration.
 21621  // The provided context supersedes any context provided to the Context method.
 21622  func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
 21623  	c.ctx_ = ctx
 21624  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 21625  	for {
 21626  		x, err := c.Do()
 21627  		if err != nil {
 21628  			return err
 21629  		}
 21630  		if err := f(x); err != nil {
 21631  			return err
 21632  		}
 21633  		if x.NextPageToken == "" {
 21634  			return nil
 21635  		}
 21636  		c.PageToken(x.NextPageToken)
 21637  	}
 21638  }
 21639  
 21640  // method id "dfareporting.campaigns.patch":
 21641  
 21642  type CampaignsPatchCall struct {
 21643  	s          *Service
 21644  	profileId  int64
 21645  	campaign   *Campaign
 21646  	urlParams_ gensupport.URLParams
 21647  	ctx_       context.Context
 21648  	header_    http.Header
 21649  }
 21650  
 21651  // Patch: Updates an existing campaign. This method supports patch
 21652  // semantics.
 21653  func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
 21654  	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21655  	c.profileId = profileId
 21656  	c.urlParams_.Set("id", fmt.Sprint(id))
 21657  	c.campaign = campaign
 21658  	return c
 21659  }
 21660  
 21661  // Fields allows partial responses to be retrieved. See
 21662  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21663  // for more information.
 21664  func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
 21665  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21666  	return c
 21667  }
 21668  
 21669  // Context sets the context to be used in this call's Do method. Any
 21670  // pending HTTP request will be aborted if the provided context is
 21671  // canceled.
 21672  func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 21673  	c.ctx_ = ctx
 21674  	return c
 21675  }
 21676  
 21677  // Header returns an http.Header that can be modified by the caller to
 21678  // add HTTP headers to the request.
 21679  func (c *CampaignsPatchCall) Header() http.Header {
 21680  	if c.header_ == nil {
 21681  		c.header_ = make(http.Header)
 21682  	}
 21683  	return c.header_
 21684  }
 21685  
 21686  func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 21687  	reqHeaders := make(http.Header)
 21688  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21689  	for k, v := range c.header_ {
 21690  		reqHeaders[k] = v
 21691  	}
 21692  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21693  	var body io.Reader = nil
 21694  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21695  	if err != nil {
 21696  		return nil, err
 21697  	}
 21698  	reqHeaders.Set("Content-Type", "application/json")
 21699  	c.urlParams_.Set("alt", alt)
 21700  	c.urlParams_.Set("prettyPrint", "false")
 21701  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21702  	urls += "?" + c.urlParams_.Encode()
 21703  	req, err := http.NewRequest("PATCH", urls, body)
 21704  	if err != nil {
 21705  		return nil, err
 21706  	}
 21707  	req.Header = reqHeaders
 21708  	googleapi.Expand(req.URL, map[string]string{
 21709  		"profileId": strconv.FormatInt(c.profileId, 10),
 21710  	})
 21711  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21712  }
 21713  
 21714  // Do executes the "dfareporting.campaigns.patch" call.
 21715  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21716  // code is an error. Response headers are in either
 21717  // *Campaign.ServerResponse.Header or (if a response was returned at
 21718  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21719  // to check whether the returned error was because
 21720  // http.StatusNotModified was returned.
 21721  func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21722  	gensupport.SetOptions(c.urlParams_, opts...)
 21723  	res, err := c.doRequest("json")
 21724  	if res != nil && res.StatusCode == http.StatusNotModified {
 21725  		if res.Body != nil {
 21726  			res.Body.Close()
 21727  		}
 21728  		return nil, &googleapi.Error{
 21729  			Code:   res.StatusCode,
 21730  			Header: res.Header,
 21731  		}
 21732  	}
 21733  	if err != nil {
 21734  		return nil, err
 21735  	}
 21736  	defer googleapi.CloseBody(res)
 21737  	if err := googleapi.CheckResponse(res); err != nil {
 21738  		return nil, err
 21739  	}
 21740  	ret := &Campaign{
 21741  		ServerResponse: googleapi.ServerResponse{
 21742  			Header:         res.Header,
 21743  			HTTPStatusCode: res.StatusCode,
 21744  		},
 21745  	}
 21746  	target := &ret
 21747  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21748  		return nil, err
 21749  	}
 21750  	return ret, nil
 21751  	// {
 21752  	//   "description": "Updates an existing campaign. This method supports patch semantics.",
 21753  	//   "httpMethod": "PATCH",
 21754  	//   "id": "dfareporting.campaigns.patch",
 21755  	//   "parameterOrder": [
 21756  	//     "profileId",
 21757  	//     "id"
 21758  	//   ],
 21759  	//   "parameters": {
 21760  	//     "id": {
 21761  	//       "description": "Campaign ID.",
 21762  	//       "format": "int64",
 21763  	//       "location": "query",
 21764  	//       "required": true,
 21765  	//       "type": "string"
 21766  	//     },
 21767  	//     "profileId": {
 21768  	//       "description": "User profile ID associated with this request.",
 21769  	//       "format": "int64",
 21770  	//       "location": "path",
 21771  	//       "required": true,
 21772  	//       "type": "string"
 21773  	//     }
 21774  	//   },
 21775  	//   "path": "userprofiles/{profileId}/campaigns",
 21776  	//   "request": {
 21777  	//     "$ref": "Campaign"
 21778  	//   },
 21779  	//   "response": {
 21780  	//     "$ref": "Campaign"
 21781  	//   },
 21782  	//   "scopes": [
 21783  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21784  	//   ]
 21785  	// }
 21786  
 21787  }
 21788  
 21789  // method id "dfareporting.campaigns.update":
 21790  
 21791  type CampaignsUpdateCall struct {
 21792  	s          *Service
 21793  	profileId  int64
 21794  	campaign   *Campaign
 21795  	urlParams_ gensupport.URLParams
 21796  	ctx_       context.Context
 21797  	header_    http.Header
 21798  }
 21799  
 21800  // Update: Updates an existing campaign.
 21801  func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
 21802  	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21803  	c.profileId = profileId
 21804  	c.campaign = campaign
 21805  	return c
 21806  }
 21807  
 21808  // Fields allows partial responses to be retrieved. See
 21809  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21810  // for more information.
 21811  func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
 21812  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21813  	return c
 21814  }
 21815  
 21816  // Context sets the context to be used in this call's Do method. Any
 21817  // pending HTTP request will be aborted if the provided context is
 21818  // canceled.
 21819  func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 21820  	c.ctx_ = ctx
 21821  	return c
 21822  }
 21823  
 21824  // Header returns an http.Header that can be modified by the caller to
 21825  // add HTTP headers to the request.
 21826  func (c *CampaignsUpdateCall) Header() http.Header {
 21827  	if c.header_ == nil {
 21828  		c.header_ = make(http.Header)
 21829  	}
 21830  	return c.header_
 21831  }
 21832  
 21833  func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
 21834  	reqHeaders := make(http.Header)
 21835  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21836  	for k, v := range c.header_ {
 21837  		reqHeaders[k] = v
 21838  	}
 21839  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21840  	var body io.Reader = nil
 21841  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21842  	if err != nil {
 21843  		return nil, err
 21844  	}
 21845  	reqHeaders.Set("Content-Type", "application/json")
 21846  	c.urlParams_.Set("alt", alt)
 21847  	c.urlParams_.Set("prettyPrint", "false")
 21848  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21849  	urls += "?" + c.urlParams_.Encode()
 21850  	req, err := http.NewRequest("PUT", urls, body)
 21851  	if err != nil {
 21852  		return nil, err
 21853  	}
 21854  	req.Header = reqHeaders
 21855  	googleapi.Expand(req.URL, map[string]string{
 21856  		"profileId": strconv.FormatInt(c.profileId, 10),
 21857  	})
 21858  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21859  }
 21860  
 21861  // Do executes the "dfareporting.campaigns.update" call.
 21862  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21863  // code is an error. Response headers are in either
 21864  // *Campaign.ServerResponse.Header or (if a response was returned at
 21865  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21866  // to check whether the returned error was because
 21867  // http.StatusNotModified was returned.
 21868  func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21869  	gensupport.SetOptions(c.urlParams_, opts...)
 21870  	res, err := c.doRequest("json")
 21871  	if res != nil && res.StatusCode == http.StatusNotModified {
 21872  		if res.Body != nil {
 21873  			res.Body.Close()
 21874  		}
 21875  		return nil, &googleapi.Error{
 21876  			Code:   res.StatusCode,
 21877  			Header: res.Header,
 21878  		}
 21879  	}
 21880  	if err != nil {
 21881  		return nil, err
 21882  	}
 21883  	defer googleapi.CloseBody(res)
 21884  	if err := googleapi.CheckResponse(res); err != nil {
 21885  		return nil, err
 21886  	}
 21887  	ret := &Campaign{
 21888  		ServerResponse: googleapi.ServerResponse{
 21889  			Header:         res.Header,
 21890  			HTTPStatusCode: res.StatusCode,
 21891  		},
 21892  	}
 21893  	target := &ret
 21894  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21895  		return nil, err
 21896  	}
 21897  	return ret, nil
 21898  	// {
 21899  	//   "description": "Updates an existing campaign.",
 21900  	//   "httpMethod": "PUT",
 21901  	//   "id": "dfareporting.campaigns.update",
 21902  	//   "parameterOrder": [
 21903  	//     "profileId"
 21904  	//   ],
 21905  	//   "parameters": {
 21906  	//     "profileId": {
 21907  	//       "description": "User profile ID associated with this request.",
 21908  	//       "format": "int64",
 21909  	//       "location": "path",
 21910  	//       "required": true,
 21911  	//       "type": "string"
 21912  	//     }
 21913  	//   },
 21914  	//   "path": "userprofiles/{profileId}/campaigns",
 21915  	//   "request": {
 21916  	//     "$ref": "Campaign"
 21917  	//   },
 21918  	//   "response": {
 21919  	//     "$ref": "Campaign"
 21920  	//   },
 21921  	//   "scopes": [
 21922  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21923  	//   ]
 21924  	// }
 21925  
 21926  }
 21927  
 21928  // method id "dfareporting.changeLogs.get":
 21929  
 21930  type ChangeLogsGetCall struct {
 21931  	s            *Service
 21932  	profileId    int64
 21933  	id           int64
 21934  	urlParams_   gensupport.URLParams
 21935  	ifNoneMatch_ string
 21936  	ctx_         context.Context
 21937  	header_      http.Header
 21938  }
 21939  
 21940  // Get: Gets one change log by ID.
 21941  func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
 21942  	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21943  	c.profileId = profileId
 21944  	c.id = id
 21945  	return c
 21946  }
 21947  
 21948  // Fields allows partial responses to be retrieved. See
 21949  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21950  // for more information.
 21951  func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
 21952  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21953  	return c
 21954  }
 21955  
 21956  // IfNoneMatch sets the optional parameter which makes the operation
 21957  // fail if the object's ETag matches the given value. This is useful for
 21958  // getting updates only after the object has changed since the last
 21959  // request. Use googleapi.IsNotModified to check whether the response
 21960  // error from Do is the result of In-None-Match.
 21961  func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
 21962  	c.ifNoneMatch_ = entityTag
 21963  	return c
 21964  }
 21965  
 21966  // Context sets the context to be used in this call's Do method. Any
 21967  // pending HTTP request will be aborted if the provided context is
 21968  // canceled.
 21969  func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 21970  	c.ctx_ = ctx
 21971  	return c
 21972  }
 21973  
 21974  // Header returns an http.Header that can be modified by the caller to
 21975  // add HTTP headers to the request.
 21976  func (c *ChangeLogsGetCall) Header() http.Header {
 21977  	if c.header_ == nil {
 21978  		c.header_ = make(http.Header)
 21979  	}
 21980  	return c.header_
 21981  }
 21982  
 21983  func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 21984  	reqHeaders := make(http.Header)
 21985  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21986  	for k, v := range c.header_ {
 21987  		reqHeaders[k] = v
 21988  	}
 21989  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21990  	if c.ifNoneMatch_ != "" {
 21991  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21992  	}
 21993  	var body io.Reader = nil
 21994  	c.urlParams_.Set("alt", alt)
 21995  	c.urlParams_.Set("prettyPrint", "false")
 21996  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
 21997  	urls += "?" + c.urlParams_.Encode()
 21998  	req, err := http.NewRequest("GET", urls, body)
 21999  	if err != nil {
 22000  		return nil, err
 22001  	}
 22002  	req.Header = reqHeaders
 22003  	googleapi.Expand(req.URL, map[string]string{
 22004  		"profileId": strconv.FormatInt(c.profileId, 10),
 22005  		"id":        strconv.FormatInt(c.id, 10),
 22006  	})
 22007  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22008  }
 22009  
 22010  // Do executes the "dfareporting.changeLogs.get" call.
 22011  // Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
 22012  // status code is an error. Response headers are in either
 22013  // *ChangeLog.ServerResponse.Header or (if a response was returned at
 22014  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 22015  // to check whether the returned error was because
 22016  // http.StatusNotModified was returned.
 22017  func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
 22018  	gensupport.SetOptions(c.urlParams_, opts...)
 22019  	res, err := c.doRequest("json")
 22020  	if res != nil && res.StatusCode == http.StatusNotModified {
 22021  		if res.Body != nil {
 22022  			res.Body.Close()
 22023  		}
 22024  		return nil, &googleapi.Error{
 22025  			Code:   res.StatusCode,
 22026  			Header: res.Header,
 22027  		}
 22028  	}
 22029  	if err != nil {
 22030  		return nil, err
 22031  	}
 22032  	defer googleapi.CloseBody(res)
 22033  	if err := googleapi.CheckResponse(res); err != nil {
 22034  		return nil, err
 22035  	}
 22036  	ret := &ChangeLog{
 22037  		ServerResponse: googleapi.ServerResponse{
 22038  			Header:         res.Header,
 22039  			HTTPStatusCode: res.StatusCode,
 22040  		},
 22041  	}
 22042  	target := &ret
 22043  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22044  		return nil, err
 22045  	}
 22046  	return ret, nil
 22047  	// {
 22048  	//   "description": "Gets one change log by ID.",
 22049  	//   "httpMethod": "GET",
 22050  	//   "id": "dfareporting.changeLogs.get",
 22051  	//   "parameterOrder": [
 22052  	//     "profileId",
 22053  	//     "id"
 22054  	//   ],
 22055  	//   "parameters": {
 22056  	//     "id": {
 22057  	//       "description": "Change log ID.",
 22058  	//       "format": "int64",
 22059  	//       "location": "path",
 22060  	//       "required": true,
 22061  	//       "type": "string"
 22062  	//     },
 22063  	//     "profileId": {
 22064  	//       "description": "User profile ID associated with this request.",
 22065  	//       "format": "int64",
 22066  	//       "location": "path",
 22067  	//       "required": true,
 22068  	//       "type": "string"
 22069  	//     }
 22070  	//   },
 22071  	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
 22072  	//   "response": {
 22073  	//     "$ref": "ChangeLog"
 22074  	//   },
 22075  	//   "scopes": [
 22076  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22077  	//   ]
 22078  	// }
 22079  
 22080  }
 22081  
 22082  // method id "dfareporting.changeLogs.list":
 22083  
 22084  type ChangeLogsListCall struct {
 22085  	s            *Service
 22086  	profileId    int64
 22087  	urlParams_   gensupport.URLParams
 22088  	ifNoneMatch_ string
 22089  	ctx_         context.Context
 22090  	header_      http.Header
 22091  }
 22092  
 22093  // List: Retrieves a list of change logs. This method supports paging.
 22094  func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
 22095  	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22096  	c.profileId = profileId
 22097  	return c
 22098  }
 22099  
 22100  // Action sets the optional parameter "action": Select only change logs
 22101  // with the specified action.
 22102  //
 22103  // Possible values:
 22104  //
 22105  //	"ACTION_ADD"
 22106  //	"ACTION_ASSIGN"
 22107  //	"ACTION_ASSOCIATE"
 22108  //	"ACTION_CREATE"
 22109  //	"ACTION_DELETE"
 22110  //	"ACTION_DISABLE"
 22111  //	"ACTION_EMAIL_TAGS"
 22112  //	"ACTION_ENABLE"
 22113  //	"ACTION_LINK"
 22114  //	"ACTION_MARK_AS_DEFAULT"
 22115  //	"ACTION_PUSH"
 22116  //	"ACTION_REMOVE"
 22117  //	"ACTION_SEND"
 22118  //	"ACTION_SHARE"
 22119  //	"ACTION_UNASSIGN"
 22120  //	"ACTION_UNLINK"
 22121  //	"ACTION_UPDATE"
 22122  func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
 22123  	c.urlParams_.Set("action", action)
 22124  	return c
 22125  }
 22126  
 22127  // Ids sets the optional parameter "ids": Select only change logs with
 22128  // these IDs.
 22129  func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
 22130  	var ids_ []string
 22131  	for _, v := range ids {
 22132  		ids_ = append(ids_, fmt.Sprint(v))
 22133  	}
 22134  	c.urlParams_.SetMulti("ids", ids_)
 22135  	return c
 22136  }
 22137  
 22138  // MaxChangeTime sets the optional parameter "maxChangeTime": Select
 22139  // only change logs whose change time is before the specified
 22140  // maxChangeTime.The time should be formatted as an RFC3339 date/time
 22141  // string. For example, for 10:54 PM on July 18th, 2015, in the
 22142  // America/New York time zone, the format is
 22143  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 22144  // the letter T, the hour (24-hour clock system), minute, second, and
 22145  // then the time zone offset.
 22146  func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
 22147  	c.urlParams_.Set("maxChangeTime", maxChangeTime)
 22148  	return c
 22149  }
 22150  
 22151  // MaxResults sets the optional parameter "maxResults": Maximum number
 22152  // of results to return.
 22153  func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
 22154  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 22155  	return c
 22156  }
 22157  
 22158  // MinChangeTime sets the optional parameter "minChangeTime": Select
 22159  // only change logs whose change time is before the specified
 22160  // minChangeTime.The time should be formatted as an RFC3339 date/time
 22161  // string. For example, for 10:54 PM on July 18th, 2015, in the
 22162  // America/New York time zone, the format is
 22163  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 22164  // the letter T, the hour (24-hour clock system), minute, second, and
 22165  // then the time zone offset.
 22166  func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
 22167  	c.urlParams_.Set("minChangeTime", minChangeTime)
 22168  	return c
 22169  }
 22170  
 22171  // ObjectIds sets the optional parameter "objectIds": Select only change
 22172  // logs with these object IDs.
 22173  func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
 22174  	var objectIds_ []string
 22175  	for _, v := range objectIds {
 22176  		objectIds_ = append(objectIds_, fmt.Sprint(v))
 22177  	}
 22178  	c.urlParams_.SetMulti("objectIds", objectIds_)
 22179  	return c
 22180  }
 22181  
 22182  // ObjectType sets the optional parameter "objectType": Select only
 22183  // change logs with the specified object type.
 22184  //
 22185  // Possible values:
 22186  //
 22187  //	"OBJECT_ACCOUNT"
 22188  //	"OBJECT_ACCOUNT_BILLING_FEATURE"
 22189  //	"OBJECT_AD"
 22190  //	"OBJECT_ADVERTISER"
 22191  //	"OBJECT_ADVERTISER_GROUP"
 22192  //	"OBJECT_BILLING_ACCOUNT_GROUP"
 22193  //	"OBJECT_BILLING_FEATURE"
 22194  //	"OBJECT_BILLING_MINIMUM_FEE"
 22195  //	"OBJECT_BILLING_PROFILE"
 22196  //	"OBJECT_CAMPAIGN"
 22197  //	"OBJECT_CONTENT_CATEGORY"
 22198  //	"OBJECT_CREATIVE"
 22199  //	"OBJECT_CREATIVE_ASSET"
 22200  //	"OBJECT_CREATIVE_BUNDLE"
 22201  //	"OBJECT_CREATIVE_FIELD"
 22202  //	"OBJECT_CREATIVE_GROUP"
 22203  //	"OBJECT_DFA_SITE"
 22204  //	"OBJECT_EVENT_TAG"
 22205  //	"OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
 22206  //	"OBJECT_FLOODLIGHT_ACTVITY"
 22207  //	"OBJECT_FLOODLIGHT_CONFIGURATION"
 22208  //	"OBJECT_INSTREAM_CREATIVE"
 22209  //	"OBJECT_LANDING_PAGE"
 22210  //	"OBJECT_MEDIA_ORDER"
 22211  //	"OBJECT_PLACEMENT"
 22212  //	"OBJECT_PLACEMENT_STRATEGY"
 22213  //	"OBJECT_PLAYSTORE_LINK"
 22214  //	"OBJECT_PROVIDED_LIST_CLIENT"
 22215  //	"OBJECT_RATE_CARD"
 22216  //	"OBJECT_REMARKETING_LIST"
 22217  //	"OBJECT_RICHMEDIA_CREATIVE"
 22218  //	"OBJECT_SD_SITE"
 22219  //	"OBJECT_SEARCH_LIFT_STUDY"
 22220  //	"OBJECT_SIZE"
 22221  //	"OBJECT_SUBACCOUNT"
 22222  //	"OBJECT_TARGETING_TEMPLATE"
 22223  //	"OBJECT_USER_PROFILE"
 22224  //	"OBJECT_USER_PROFILE_FILTER"
 22225  //	"OBJECT_USER_ROLE"
 22226  func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
 22227  	c.urlParams_.Set("objectType", objectType)
 22228  	return c
 22229  }
 22230  
 22231  // PageToken sets the optional parameter "pageToken": Value of the
 22232  // nextPageToken from the previous result page.
 22233  func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
 22234  	c.urlParams_.Set("pageToken", pageToken)
 22235  	return c
 22236  }
 22237  
 22238  // SearchString sets the optional parameter "searchString": Select only
 22239  // change logs whose object ID, user name, old or new values match the
 22240  // search string.
 22241  func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
 22242  	c.urlParams_.Set("searchString", searchString)
 22243  	return c
 22244  }
 22245  
 22246  // UserProfileIds sets the optional parameter "userProfileIds": Select
 22247  // only change logs with these user profile IDs.
 22248  func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
 22249  	var userProfileIds_ []string
 22250  	for _, v := range userProfileIds {
 22251  		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
 22252  	}
 22253  	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
 22254  	return c
 22255  }
 22256  
 22257  // Fields allows partial responses to be retrieved. See
 22258  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22259  // for more information.
 22260  func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
 22261  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22262  	return c
 22263  }
 22264  
 22265  // IfNoneMatch sets the optional parameter which makes the operation
 22266  // fail if the object's ETag matches the given value. This is useful for
 22267  // getting updates only after the object has changed since the last
 22268  // request. Use googleapi.IsNotModified to check whether the response
 22269  // error from Do is the result of In-None-Match.
 22270  func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
 22271  	c.ifNoneMatch_ = entityTag
 22272  	return c
 22273  }
 22274  
 22275  // Context sets the context to be used in this call's Do method. Any
 22276  // pending HTTP request will be aborted if the provided context is
 22277  // canceled.
 22278  func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 22279  	c.ctx_ = ctx
 22280  	return c
 22281  }
 22282  
 22283  // Header returns an http.Header that can be modified by the caller to
 22284  // add HTTP headers to the request.
 22285  func (c *ChangeLogsListCall) Header() http.Header {
 22286  	if c.header_ == nil {
 22287  		c.header_ = make(http.Header)
 22288  	}
 22289  	return c.header_
 22290  }
 22291  
 22292  func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 22293  	reqHeaders := make(http.Header)
 22294  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22295  	for k, v := range c.header_ {
 22296  		reqHeaders[k] = v
 22297  	}
 22298  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22299  	if c.ifNoneMatch_ != "" {
 22300  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22301  	}
 22302  	var body io.Reader = nil
 22303  	c.urlParams_.Set("alt", alt)
 22304  	c.urlParams_.Set("prettyPrint", "false")
 22305  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
 22306  	urls += "?" + c.urlParams_.Encode()
 22307  	req, err := http.NewRequest("GET", urls, body)
 22308  	if err != nil {
 22309  		return nil, err
 22310  	}
 22311  	req.Header = reqHeaders
 22312  	googleapi.Expand(req.URL, map[string]string{
 22313  		"profileId": strconv.FormatInt(c.profileId, 10),
 22314  	})
 22315  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22316  }
 22317  
 22318  // Do executes the "dfareporting.changeLogs.list" call.
 22319  // Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
 22320  // non-2xx status code is an error. Response headers are in either
 22321  // *ChangeLogsListResponse.ServerResponse.Header or (if a response was
 22322  // returned at all) in error.(*googleapi.Error).Header. Use
 22323  // googleapi.IsNotModified to check whether the returned error was
 22324  // because http.StatusNotModified was returned.
 22325  func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
 22326  	gensupport.SetOptions(c.urlParams_, opts...)
 22327  	res, err := c.doRequest("json")
 22328  	if res != nil && res.StatusCode == http.StatusNotModified {
 22329  		if res.Body != nil {
 22330  			res.Body.Close()
 22331  		}
 22332  		return nil, &googleapi.Error{
 22333  			Code:   res.StatusCode,
 22334  			Header: res.Header,
 22335  		}
 22336  	}
 22337  	if err != nil {
 22338  		return nil, err
 22339  	}
 22340  	defer googleapi.CloseBody(res)
 22341  	if err := googleapi.CheckResponse(res); err != nil {
 22342  		return nil, err
 22343  	}
 22344  	ret := &ChangeLogsListResponse{
 22345  		ServerResponse: googleapi.ServerResponse{
 22346  			Header:         res.Header,
 22347  			HTTPStatusCode: res.StatusCode,
 22348  		},
 22349  	}
 22350  	target := &ret
 22351  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22352  		return nil, err
 22353  	}
 22354  	return ret, nil
 22355  	// {
 22356  	//   "description": "Retrieves a list of change logs. This method supports paging.",
 22357  	//   "httpMethod": "GET",
 22358  	//   "id": "dfareporting.changeLogs.list",
 22359  	//   "parameterOrder": [
 22360  	//     "profileId"
 22361  	//   ],
 22362  	//   "parameters": {
 22363  	//     "action": {
 22364  	//       "description": "Select only change logs with the specified action.",
 22365  	//       "enum": [
 22366  	//         "ACTION_ADD",
 22367  	//         "ACTION_ASSIGN",
 22368  	//         "ACTION_ASSOCIATE",
 22369  	//         "ACTION_CREATE",
 22370  	//         "ACTION_DELETE",
 22371  	//         "ACTION_DISABLE",
 22372  	//         "ACTION_EMAIL_TAGS",
 22373  	//         "ACTION_ENABLE",
 22374  	//         "ACTION_LINK",
 22375  	//         "ACTION_MARK_AS_DEFAULT",
 22376  	//         "ACTION_PUSH",
 22377  	//         "ACTION_REMOVE",
 22378  	//         "ACTION_SEND",
 22379  	//         "ACTION_SHARE",
 22380  	//         "ACTION_UNASSIGN",
 22381  	//         "ACTION_UNLINK",
 22382  	//         "ACTION_UPDATE"
 22383  	//       ],
 22384  	//       "enumDescriptions": [
 22385  	//         "",
 22386  	//         "",
 22387  	//         "",
 22388  	//         "",
 22389  	//         "",
 22390  	//         "",
 22391  	//         "",
 22392  	//         "",
 22393  	//         "",
 22394  	//         "",
 22395  	//         "",
 22396  	//         "",
 22397  	//         "",
 22398  	//         "",
 22399  	//         "",
 22400  	//         "",
 22401  	//         ""
 22402  	//       ],
 22403  	//       "location": "query",
 22404  	//       "type": "string"
 22405  	//     },
 22406  	//     "ids": {
 22407  	//       "description": "Select only change logs with these IDs.",
 22408  	//       "format": "int64",
 22409  	//       "location": "query",
 22410  	//       "repeated": true,
 22411  	//       "type": "string"
 22412  	//     },
 22413  	//     "maxChangeTime": {
 22414  	//       "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.",
 22415  	//       "location": "query",
 22416  	//       "type": "string"
 22417  	//     },
 22418  	//     "maxResults": {
 22419  	//       "default": "1000",
 22420  	//       "description": "Maximum number of results to return.",
 22421  	//       "format": "int32",
 22422  	//       "location": "query",
 22423  	//       "maximum": "1000",
 22424  	//       "minimum": "0",
 22425  	//       "type": "integer"
 22426  	//     },
 22427  	//     "minChangeTime": {
 22428  	//       "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.",
 22429  	//       "location": "query",
 22430  	//       "type": "string"
 22431  	//     },
 22432  	//     "objectIds": {
 22433  	//       "description": "Select only change logs with these object IDs.",
 22434  	//       "format": "int64",
 22435  	//       "location": "query",
 22436  	//       "repeated": true,
 22437  	//       "type": "string"
 22438  	//     },
 22439  	//     "objectType": {
 22440  	//       "description": "Select only change logs with the specified object type.",
 22441  	//       "enum": [
 22442  	//         "OBJECT_ACCOUNT",
 22443  	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
 22444  	//         "OBJECT_AD",
 22445  	//         "OBJECT_ADVERTISER",
 22446  	//         "OBJECT_ADVERTISER_GROUP",
 22447  	//         "OBJECT_BILLING_ACCOUNT_GROUP",
 22448  	//         "OBJECT_BILLING_FEATURE",
 22449  	//         "OBJECT_BILLING_MINIMUM_FEE",
 22450  	//         "OBJECT_BILLING_PROFILE",
 22451  	//         "OBJECT_CAMPAIGN",
 22452  	//         "OBJECT_CONTENT_CATEGORY",
 22453  	//         "OBJECT_CREATIVE",
 22454  	//         "OBJECT_CREATIVE_ASSET",
 22455  	//         "OBJECT_CREATIVE_BUNDLE",
 22456  	//         "OBJECT_CREATIVE_FIELD",
 22457  	//         "OBJECT_CREATIVE_GROUP",
 22458  	//         "OBJECT_DFA_SITE",
 22459  	//         "OBJECT_EVENT_TAG",
 22460  	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
 22461  	//         "OBJECT_FLOODLIGHT_ACTVITY",
 22462  	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
 22463  	//         "OBJECT_INSTREAM_CREATIVE",
 22464  	//         "OBJECT_LANDING_PAGE",
 22465  	//         "OBJECT_MEDIA_ORDER",
 22466  	//         "OBJECT_PLACEMENT",
 22467  	//         "OBJECT_PLACEMENT_STRATEGY",
 22468  	//         "OBJECT_PLAYSTORE_LINK",
 22469  	//         "OBJECT_PROVIDED_LIST_CLIENT",
 22470  	//         "OBJECT_RATE_CARD",
 22471  	//         "OBJECT_REMARKETING_LIST",
 22472  	//         "OBJECT_RICHMEDIA_CREATIVE",
 22473  	//         "OBJECT_SD_SITE",
 22474  	//         "OBJECT_SEARCH_LIFT_STUDY",
 22475  	//         "OBJECT_SIZE",
 22476  	//         "OBJECT_SUBACCOUNT",
 22477  	//         "OBJECT_TARGETING_TEMPLATE",
 22478  	//         "OBJECT_USER_PROFILE",
 22479  	//         "OBJECT_USER_PROFILE_FILTER",
 22480  	//         "OBJECT_USER_ROLE"
 22481  	//       ],
 22482  	//       "enumDescriptions": [
 22483  	//         "",
 22484  	//         "",
 22485  	//         "",
 22486  	//         "",
 22487  	//         "",
 22488  	//         "",
 22489  	//         "",
 22490  	//         "",
 22491  	//         "",
 22492  	//         "",
 22493  	//         "",
 22494  	//         "",
 22495  	//         "",
 22496  	//         "",
 22497  	//         "",
 22498  	//         "",
 22499  	//         "",
 22500  	//         "",
 22501  	//         "",
 22502  	//         "",
 22503  	//         "",
 22504  	//         "",
 22505  	//         "",
 22506  	//         "",
 22507  	//         "",
 22508  	//         "",
 22509  	//         "",
 22510  	//         "",
 22511  	//         "",
 22512  	//         "",
 22513  	//         "",
 22514  	//         "",
 22515  	//         "",
 22516  	//         "",
 22517  	//         "",
 22518  	//         "",
 22519  	//         "",
 22520  	//         "",
 22521  	//         ""
 22522  	//       ],
 22523  	//       "location": "query",
 22524  	//       "type": "string"
 22525  	//     },
 22526  	//     "pageToken": {
 22527  	//       "description": "Value of the nextPageToken from the previous result page.",
 22528  	//       "location": "query",
 22529  	//       "type": "string"
 22530  	//     },
 22531  	//     "profileId": {
 22532  	//       "description": "User profile ID associated with this request.",
 22533  	//       "format": "int64",
 22534  	//       "location": "path",
 22535  	//       "required": true,
 22536  	//       "type": "string"
 22537  	//     },
 22538  	//     "searchString": {
 22539  	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
 22540  	//       "location": "query",
 22541  	//       "type": "string"
 22542  	//     },
 22543  	//     "userProfileIds": {
 22544  	//       "description": "Select only change logs with these user profile IDs.",
 22545  	//       "format": "int64",
 22546  	//       "location": "query",
 22547  	//       "repeated": true,
 22548  	//       "type": "string"
 22549  	//     }
 22550  	//   },
 22551  	//   "path": "userprofiles/{profileId}/changeLogs",
 22552  	//   "response": {
 22553  	//     "$ref": "ChangeLogsListResponse"
 22554  	//   },
 22555  	//   "scopes": [
 22556  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22557  	//   ]
 22558  	// }
 22559  
 22560  }
 22561  
 22562  // Pages invokes f for each page of results.
 22563  // A non-nil error returned from f will halt the iteration.
 22564  // The provided context supersedes any context provided to the Context method.
 22565  func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
 22566  	c.ctx_ = ctx
 22567  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 22568  	for {
 22569  		x, err := c.Do()
 22570  		if err != nil {
 22571  			return err
 22572  		}
 22573  		if err := f(x); err != nil {
 22574  			return err
 22575  		}
 22576  		if x.NextPageToken == "" {
 22577  			return nil
 22578  		}
 22579  		c.PageToken(x.NextPageToken)
 22580  	}
 22581  }
 22582  
 22583  // method id "dfareporting.cities.list":
 22584  
 22585  type CitiesListCall struct {
 22586  	s            *Service
 22587  	profileId    int64
 22588  	urlParams_   gensupport.URLParams
 22589  	ifNoneMatch_ string
 22590  	ctx_         context.Context
 22591  	header_      http.Header
 22592  }
 22593  
 22594  // List: Retrieves a list of cities, possibly filtered.
 22595  func (r *CitiesService) List(profileId int64) *CitiesListCall {
 22596  	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22597  	c.profileId = profileId
 22598  	return c
 22599  }
 22600  
 22601  // CountryDartIds sets the optional parameter "countryDartIds": Select
 22602  // only cities from these countries.
 22603  func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
 22604  	var countryDartIds_ []string
 22605  	for _, v := range countryDartIds {
 22606  		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
 22607  	}
 22608  	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
 22609  	return c
 22610  }
 22611  
 22612  // DartIds sets the optional parameter "dartIds": Select only cities
 22613  // with these DART IDs.
 22614  func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
 22615  	var dartIds_ []string
 22616  	for _, v := range dartIds {
 22617  		dartIds_ = append(dartIds_, fmt.Sprint(v))
 22618  	}
 22619  	c.urlParams_.SetMulti("dartIds", dartIds_)
 22620  	return c
 22621  }
 22622  
 22623  // NamePrefix sets the optional parameter "namePrefix": Select only
 22624  // cities with names starting with this prefix.
 22625  func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
 22626  	c.urlParams_.Set("namePrefix", namePrefix)
 22627  	return c
 22628  }
 22629  
 22630  // RegionDartIds sets the optional parameter "regionDartIds": Select
 22631  // only cities from these regions.
 22632  func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
 22633  	var regionDartIds_ []string
 22634  	for _, v := range regionDartIds {
 22635  		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
 22636  	}
 22637  	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
 22638  	return c
 22639  }
 22640  
 22641  // Fields allows partial responses to be retrieved. See
 22642  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22643  // for more information.
 22644  func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
 22645  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22646  	return c
 22647  }
 22648  
 22649  // IfNoneMatch sets the optional parameter which makes the operation
 22650  // fail if the object's ETag matches the given value. This is useful for
 22651  // getting updates only after the object has changed since the last
 22652  // request. Use googleapi.IsNotModified to check whether the response
 22653  // error from Do is the result of In-None-Match.
 22654  func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
 22655  	c.ifNoneMatch_ = entityTag
 22656  	return c
 22657  }
 22658  
 22659  // Context sets the context to be used in this call's Do method. Any
 22660  // pending HTTP request will be aborted if the provided context is
 22661  // canceled.
 22662  func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 22663  	c.ctx_ = ctx
 22664  	return c
 22665  }
 22666  
 22667  // Header returns an http.Header that can be modified by the caller to
 22668  // add HTTP headers to the request.
 22669  func (c *CitiesListCall) Header() http.Header {
 22670  	if c.header_ == nil {
 22671  		c.header_ = make(http.Header)
 22672  	}
 22673  	return c.header_
 22674  }
 22675  
 22676  func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 22677  	reqHeaders := make(http.Header)
 22678  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22679  	for k, v := range c.header_ {
 22680  		reqHeaders[k] = v
 22681  	}
 22682  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22683  	if c.ifNoneMatch_ != "" {
 22684  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22685  	}
 22686  	var body io.Reader = nil
 22687  	c.urlParams_.Set("alt", alt)
 22688  	c.urlParams_.Set("prettyPrint", "false")
 22689  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
 22690  	urls += "?" + c.urlParams_.Encode()
 22691  	req, err := http.NewRequest("GET", urls, body)
 22692  	if err != nil {
 22693  		return nil, err
 22694  	}
 22695  	req.Header = reqHeaders
 22696  	googleapi.Expand(req.URL, map[string]string{
 22697  		"profileId": strconv.FormatInt(c.profileId, 10),
 22698  	})
 22699  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22700  }
 22701  
 22702  // Do executes the "dfareporting.cities.list" call.
 22703  // Exactly one of *CitiesListResponse or error will be non-nil. Any
 22704  // non-2xx status code is an error. Response headers are in either
 22705  // *CitiesListResponse.ServerResponse.Header or (if a response was
 22706  // returned at all) in error.(*googleapi.Error).Header. Use
 22707  // googleapi.IsNotModified to check whether the returned error was
 22708  // because http.StatusNotModified was returned.
 22709  func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
 22710  	gensupport.SetOptions(c.urlParams_, opts...)
 22711  	res, err := c.doRequest("json")
 22712  	if res != nil && res.StatusCode == http.StatusNotModified {
 22713  		if res.Body != nil {
 22714  			res.Body.Close()
 22715  		}
 22716  		return nil, &googleapi.Error{
 22717  			Code:   res.StatusCode,
 22718  			Header: res.Header,
 22719  		}
 22720  	}
 22721  	if err != nil {
 22722  		return nil, err
 22723  	}
 22724  	defer googleapi.CloseBody(res)
 22725  	if err := googleapi.CheckResponse(res); err != nil {
 22726  		return nil, err
 22727  	}
 22728  	ret := &CitiesListResponse{
 22729  		ServerResponse: googleapi.ServerResponse{
 22730  			Header:         res.Header,
 22731  			HTTPStatusCode: res.StatusCode,
 22732  		},
 22733  	}
 22734  	target := &ret
 22735  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22736  		return nil, err
 22737  	}
 22738  	return ret, nil
 22739  	// {
 22740  	//   "description": "Retrieves a list of cities, possibly filtered.",
 22741  	//   "httpMethod": "GET",
 22742  	//   "id": "dfareporting.cities.list",
 22743  	//   "parameterOrder": [
 22744  	//     "profileId"
 22745  	//   ],
 22746  	//   "parameters": {
 22747  	//     "countryDartIds": {
 22748  	//       "description": "Select only cities from these countries.",
 22749  	//       "format": "int64",
 22750  	//       "location": "query",
 22751  	//       "repeated": true,
 22752  	//       "type": "string"
 22753  	//     },
 22754  	//     "dartIds": {
 22755  	//       "description": "Select only cities with these DART IDs.",
 22756  	//       "format": "int64",
 22757  	//       "location": "query",
 22758  	//       "repeated": true,
 22759  	//       "type": "string"
 22760  	//     },
 22761  	//     "namePrefix": {
 22762  	//       "description": "Select only cities with names starting with this prefix.",
 22763  	//       "location": "query",
 22764  	//       "type": "string"
 22765  	//     },
 22766  	//     "profileId": {
 22767  	//       "description": "User profile ID associated with this request.",
 22768  	//       "format": "int64",
 22769  	//       "location": "path",
 22770  	//       "required": true,
 22771  	//       "type": "string"
 22772  	//     },
 22773  	//     "regionDartIds": {
 22774  	//       "description": "Select only cities from these regions.",
 22775  	//       "format": "int64",
 22776  	//       "location": "query",
 22777  	//       "repeated": true,
 22778  	//       "type": "string"
 22779  	//     }
 22780  	//   },
 22781  	//   "path": "userprofiles/{profileId}/cities",
 22782  	//   "response": {
 22783  	//     "$ref": "CitiesListResponse"
 22784  	//   },
 22785  	//   "scopes": [
 22786  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22787  	//   ]
 22788  	// }
 22789  
 22790  }
 22791  
 22792  // method id "dfareporting.connectionTypes.get":
 22793  
 22794  type ConnectionTypesGetCall struct {
 22795  	s            *Service
 22796  	profileId    int64
 22797  	id           int64
 22798  	urlParams_   gensupport.URLParams
 22799  	ifNoneMatch_ string
 22800  	ctx_         context.Context
 22801  	header_      http.Header
 22802  }
 22803  
 22804  // Get: Gets one connection type by ID.
 22805  func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
 22806  	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22807  	c.profileId = profileId
 22808  	c.id = id
 22809  	return c
 22810  }
 22811  
 22812  // Fields allows partial responses to be retrieved. See
 22813  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22814  // for more information.
 22815  func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
 22816  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22817  	return c
 22818  }
 22819  
 22820  // IfNoneMatch sets the optional parameter which makes the operation
 22821  // fail if the object's ETag matches the given value. This is useful for
 22822  // getting updates only after the object has changed since the last
 22823  // request. Use googleapi.IsNotModified to check whether the response
 22824  // error from Do is the result of In-None-Match.
 22825  func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
 22826  	c.ifNoneMatch_ = entityTag
 22827  	return c
 22828  }
 22829  
 22830  // Context sets the context to be used in this call's Do method. Any
 22831  // pending HTTP request will be aborted if the provided context is
 22832  // canceled.
 22833  func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
 22834  	c.ctx_ = ctx
 22835  	return c
 22836  }
 22837  
 22838  // Header returns an http.Header that can be modified by the caller to
 22839  // add HTTP headers to the request.
 22840  func (c *ConnectionTypesGetCall) Header() http.Header {
 22841  	if c.header_ == nil {
 22842  		c.header_ = make(http.Header)
 22843  	}
 22844  	return c.header_
 22845  }
 22846  
 22847  func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 22848  	reqHeaders := make(http.Header)
 22849  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22850  	for k, v := range c.header_ {
 22851  		reqHeaders[k] = v
 22852  	}
 22853  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22854  	if c.ifNoneMatch_ != "" {
 22855  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22856  	}
 22857  	var body io.Reader = nil
 22858  	c.urlParams_.Set("alt", alt)
 22859  	c.urlParams_.Set("prettyPrint", "false")
 22860  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
 22861  	urls += "?" + c.urlParams_.Encode()
 22862  	req, err := http.NewRequest("GET", urls, body)
 22863  	if err != nil {
 22864  		return nil, err
 22865  	}
 22866  	req.Header = reqHeaders
 22867  	googleapi.Expand(req.URL, map[string]string{
 22868  		"profileId": strconv.FormatInt(c.profileId, 10),
 22869  		"id":        strconv.FormatInt(c.id, 10),
 22870  	})
 22871  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22872  }
 22873  
 22874  // Do executes the "dfareporting.connectionTypes.get" call.
 22875  // Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
 22876  // status code is an error. Response headers are in either
 22877  // *ConnectionType.ServerResponse.Header or (if a response was returned
 22878  // at all) in error.(*googleapi.Error).Header. Use
 22879  // googleapi.IsNotModified to check whether the returned error was
 22880  // because http.StatusNotModified was returned.
 22881  func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
 22882  	gensupport.SetOptions(c.urlParams_, opts...)
 22883  	res, err := c.doRequest("json")
 22884  	if res != nil && res.StatusCode == http.StatusNotModified {
 22885  		if res.Body != nil {
 22886  			res.Body.Close()
 22887  		}
 22888  		return nil, &googleapi.Error{
 22889  			Code:   res.StatusCode,
 22890  			Header: res.Header,
 22891  		}
 22892  	}
 22893  	if err != nil {
 22894  		return nil, err
 22895  	}
 22896  	defer googleapi.CloseBody(res)
 22897  	if err := googleapi.CheckResponse(res); err != nil {
 22898  		return nil, err
 22899  	}
 22900  	ret := &ConnectionType{
 22901  		ServerResponse: googleapi.ServerResponse{
 22902  			Header:         res.Header,
 22903  			HTTPStatusCode: res.StatusCode,
 22904  		},
 22905  	}
 22906  	target := &ret
 22907  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22908  		return nil, err
 22909  	}
 22910  	return ret, nil
 22911  	// {
 22912  	//   "description": "Gets one connection type by ID.",
 22913  	//   "httpMethod": "GET",
 22914  	//   "id": "dfareporting.connectionTypes.get",
 22915  	//   "parameterOrder": [
 22916  	//     "profileId",
 22917  	//     "id"
 22918  	//   ],
 22919  	//   "parameters": {
 22920  	//     "id": {
 22921  	//       "description": "Connection type ID.",
 22922  	//       "format": "int64",
 22923  	//       "location": "path",
 22924  	//       "required": true,
 22925  	//       "type": "string"
 22926  	//     },
 22927  	//     "profileId": {
 22928  	//       "description": "User profile ID associated with this request.",
 22929  	//       "format": "int64",
 22930  	//       "location": "path",
 22931  	//       "required": true,
 22932  	//       "type": "string"
 22933  	//     }
 22934  	//   },
 22935  	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
 22936  	//   "response": {
 22937  	//     "$ref": "ConnectionType"
 22938  	//   },
 22939  	//   "scopes": [
 22940  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22941  	//   ]
 22942  	// }
 22943  
 22944  }
 22945  
 22946  // method id "dfareporting.connectionTypes.list":
 22947  
 22948  type ConnectionTypesListCall struct {
 22949  	s            *Service
 22950  	profileId    int64
 22951  	urlParams_   gensupport.URLParams
 22952  	ifNoneMatch_ string
 22953  	ctx_         context.Context
 22954  	header_      http.Header
 22955  }
 22956  
 22957  // List: Retrieves a list of connection types.
 22958  func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
 22959  	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22960  	c.profileId = profileId
 22961  	return c
 22962  }
 22963  
 22964  // Fields allows partial responses to be retrieved. See
 22965  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22966  // for more information.
 22967  func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
 22968  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22969  	return c
 22970  }
 22971  
 22972  // IfNoneMatch sets the optional parameter which makes the operation
 22973  // fail if the object's ETag matches the given value. This is useful for
 22974  // getting updates only after the object has changed since the last
 22975  // request. Use googleapi.IsNotModified to check whether the response
 22976  // error from Do is the result of In-None-Match.
 22977  func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
 22978  	c.ifNoneMatch_ = entityTag
 22979  	return c
 22980  }
 22981  
 22982  // Context sets the context to be used in this call's Do method. Any
 22983  // pending HTTP request will be aborted if the provided context is
 22984  // canceled.
 22985  func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 22986  	c.ctx_ = ctx
 22987  	return c
 22988  }
 22989  
 22990  // Header returns an http.Header that can be modified by the caller to
 22991  // add HTTP headers to the request.
 22992  func (c *ConnectionTypesListCall) Header() http.Header {
 22993  	if c.header_ == nil {
 22994  		c.header_ = make(http.Header)
 22995  	}
 22996  	return c.header_
 22997  }
 22998  
 22999  func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 23000  	reqHeaders := make(http.Header)
 23001  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23002  	for k, v := range c.header_ {
 23003  		reqHeaders[k] = v
 23004  	}
 23005  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23006  	if c.ifNoneMatch_ != "" {
 23007  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23008  	}
 23009  	var body io.Reader = nil
 23010  	c.urlParams_.Set("alt", alt)
 23011  	c.urlParams_.Set("prettyPrint", "false")
 23012  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
 23013  	urls += "?" + c.urlParams_.Encode()
 23014  	req, err := http.NewRequest("GET", urls, body)
 23015  	if err != nil {
 23016  		return nil, err
 23017  	}
 23018  	req.Header = reqHeaders
 23019  	googleapi.Expand(req.URL, map[string]string{
 23020  		"profileId": strconv.FormatInt(c.profileId, 10),
 23021  	})
 23022  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23023  }
 23024  
 23025  // Do executes the "dfareporting.connectionTypes.list" call.
 23026  // Exactly one of *ConnectionTypesListResponse or error will be non-nil.
 23027  // Any non-2xx status code is an error. Response headers are in either
 23028  // *ConnectionTypesListResponse.ServerResponse.Header or (if a response
 23029  // was returned at all) in error.(*googleapi.Error).Header. Use
 23030  // googleapi.IsNotModified to check whether the returned error was
 23031  // because http.StatusNotModified was returned.
 23032  func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
 23033  	gensupport.SetOptions(c.urlParams_, opts...)
 23034  	res, err := c.doRequest("json")
 23035  	if res != nil && res.StatusCode == http.StatusNotModified {
 23036  		if res.Body != nil {
 23037  			res.Body.Close()
 23038  		}
 23039  		return nil, &googleapi.Error{
 23040  			Code:   res.StatusCode,
 23041  			Header: res.Header,
 23042  		}
 23043  	}
 23044  	if err != nil {
 23045  		return nil, err
 23046  	}
 23047  	defer googleapi.CloseBody(res)
 23048  	if err := googleapi.CheckResponse(res); err != nil {
 23049  		return nil, err
 23050  	}
 23051  	ret := &ConnectionTypesListResponse{
 23052  		ServerResponse: googleapi.ServerResponse{
 23053  			Header:         res.Header,
 23054  			HTTPStatusCode: res.StatusCode,
 23055  		},
 23056  	}
 23057  	target := &ret
 23058  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23059  		return nil, err
 23060  	}
 23061  	return ret, nil
 23062  	// {
 23063  	//   "description": "Retrieves a list of connection types.",
 23064  	//   "httpMethod": "GET",
 23065  	//   "id": "dfareporting.connectionTypes.list",
 23066  	//   "parameterOrder": [
 23067  	//     "profileId"
 23068  	//   ],
 23069  	//   "parameters": {
 23070  	//     "profileId": {
 23071  	//       "description": "User profile ID associated with this request.",
 23072  	//       "format": "int64",
 23073  	//       "location": "path",
 23074  	//       "required": true,
 23075  	//       "type": "string"
 23076  	//     }
 23077  	//   },
 23078  	//   "path": "userprofiles/{profileId}/connectionTypes",
 23079  	//   "response": {
 23080  	//     "$ref": "ConnectionTypesListResponse"
 23081  	//   },
 23082  	//   "scopes": [
 23083  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23084  	//   ]
 23085  	// }
 23086  
 23087  }
 23088  
 23089  // method id "dfareporting.contentCategories.delete":
 23090  
 23091  type ContentCategoriesDeleteCall struct {
 23092  	s          *Service
 23093  	profileId  int64
 23094  	id         int64
 23095  	urlParams_ gensupport.URLParams
 23096  	ctx_       context.Context
 23097  	header_    http.Header
 23098  }
 23099  
 23100  // Delete: Deletes an existing content category.
 23101  func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
 23102  	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23103  	c.profileId = profileId
 23104  	c.id = id
 23105  	return c
 23106  }
 23107  
 23108  // Fields allows partial responses to be retrieved. See
 23109  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23110  // for more information.
 23111  func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
 23112  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23113  	return c
 23114  }
 23115  
 23116  // Context sets the context to be used in this call's Do method. Any
 23117  // pending HTTP request will be aborted if the provided context is
 23118  // canceled.
 23119  func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 23120  	c.ctx_ = ctx
 23121  	return c
 23122  }
 23123  
 23124  // Header returns an http.Header that can be modified by the caller to
 23125  // add HTTP headers to the request.
 23126  func (c *ContentCategoriesDeleteCall) Header() http.Header {
 23127  	if c.header_ == nil {
 23128  		c.header_ = make(http.Header)
 23129  	}
 23130  	return c.header_
 23131  }
 23132  
 23133  func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 23134  	reqHeaders := make(http.Header)
 23135  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23136  	for k, v := range c.header_ {
 23137  		reqHeaders[k] = v
 23138  	}
 23139  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23140  	var body io.Reader = nil
 23141  	c.urlParams_.Set("alt", alt)
 23142  	c.urlParams_.Set("prettyPrint", "false")
 23143  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 23144  	urls += "?" + c.urlParams_.Encode()
 23145  	req, err := http.NewRequest("DELETE", urls, body)
 23146  	if err != nil {
 23147  		return nil, err
 23148  	}
 23149  	req.Header = reqHeaders
 23150  	googleapi.Expand(req.URL, map[string]string{
 23151  		"profileId": strconv.FormatInt(c.profileId, 10),
 23152  		"id":        strconv.FormatInt(c.id, 10),
 23153  	})
 23154  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23155  }
 23156  
 23157  // Do executes the "dfareporting.contentCategories.delete" call.
 23158  func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
 23159  	gensupport.SetOptions(c.urlParams_, opts...)
 23160  	res, err := c.doRequest("json")
 23161  	if err != nil {
 23162  		return err
 23163  	}
 23164  	defer googleapi.CloseBody(res)
 23165  	if err := googleapi.CheckResponse(res); err != nil {
 23166  		return err
 23167  	}
 23168  	return nil
 23169  	// {
 23170  	//   "description": "Deletes an existing content category.",
 23171  	//   "httpMethod": "DELETE",
 23172  	//   "id": "dfareporting.contentCategories.delete",
 23173  	//   "parameterOrder": [
 23174  	//     "profileId",
 23175  	//     "id"
 23176  	//   ],
 23177  	//   "parameters": {
 23178  	//     "id": {
 23179  	//       "description": "Content category ID.",
 23180  	//       "format": "int64",
 23181  	//       "location": "path",
 23182  	//       "required": true,
 23183  	//       "type": "string"
 23184  	//     },
 23185  	//     "profileId": {
 23186  	//       "description": "User profile ID associated with this request.",
 23187  	//       "format": "int64",
 23188  	//       "location": "path",
 23189  	//       "required": true,
 23190  	//       "type": "string"
 23191  	//     }
 23192  	//   },
 23193  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 23194  	//   "scopes": [
 23195  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23196  	//   ]
 23197  	// }
 23198  
 23199  }
 23200  
 23201  // method id "dfareporting.contentCategories.get":
 23202  
 23203  type ContentCategoriesGetCall struct {
 23204  	s            *Service
 23205  	profileId    int64
 23206  	id           int64
 23207  	urlParams_   gensupport.URLParams
 23208  	ifNoneMatch_ string
 23209  	ctx_         context.Context
 23210  	header_      http.Header
 23211  }
 23212  
 23213  // Get: Gets one content category by ID.
 23214  func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
 23215  	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23216  	c.profileId = profileId
 23217  	c.id = id
 23218  	return c
 23219  }
 23220  
 23221  // Fields allows partial responses to be retrieved. See
 23222  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23223  // for more information.
 23224  func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
 23225  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23226  	return c
 23227  }
 23228  
 23229  // IfNoneMatch sets the optional parameter which makes the operation
 23230  // fail if the object's ETag matches the given value. This is useful for
 23231  // getting updates only after the object has changed since the last
 23232  // request. Use googleapi.IsNotModified to check whether the response
 23233  // error from Do is the result of In-None-Match.
 23234  func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
 23235  	c.ifNoneMatch_ = entityTag
 23236  	return c
 23237  }
 23238  
 23239  // Context sets the context to be used in this call's Do method. Any
 23240  // pending HTTP request will be aborted if the provided context is
 23241  // canceled.
 23242  func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 23243  	c.ctx_ = ctx
 23244  	return c
 23245  }
 23246  
 23247  // Header returns an http.Header that can be modified by the caller to
 23248  // add HTTP headers to the request.
 23249  func (c *ContentCategoriesGetCall) Header() http.Header {
 23250  	if c.header_ == nil {
 23251  		c.header_ = make(http.Header)
 23252  	}
 23253  	return c.header_
 23254  }
 23255  
 23256  func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 23257  	reqHeaders := make(http.Header)
 23258  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23259  	for k, v := range c.header_ {
 23260  		reqHeaders[k] = v
 23261  	}
 23262  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23263  	if c.ifNoneMatch_ != "" {
 23264  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23265  	}
 23266  	var body io.Reader = nil
 23267  	c.urlParams_.Set("alt", alt)
 23268  	c.urlParams_.Set("prettyPrint", "false")
 23269  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 23270  	urls += "?" + c.urlParams_.Encode()
 23271  	req, err := http.NewRequest("GET", urls, body)
 23272  	if err != nil {
 23273  		return nil, err
 23274  	}
 23275  	req.Header = reqHeaders
 23276  	googleapi.Expand(req.URL, map[string]string{
 23277  		"profileId": strconv.FormatInt(c.profileId, 10),
 23278  		"id":        strconv.FormatInt(c.id, 10),
 23279  	})
 23280  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23281  }
 23282  
 23283  // Do executes the "dfareporting.contentCategories.get" call.
 23284  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23285  // status code is an error. Response headers are in either
 23286  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23287  // at all) in error.(*googleapi.Error).Header. Use
 23288  // googleapi.IsNotModified to check whether the returned error was
 23289  // because http.StatusNotModified was returned.
 23290  func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23291  	gensupport.SetOptions(c.urlParams_, opts...)
 23292  	res, err := c.doRequest("json")
 23293  	if res != nil && res.StatusCode == http.StatusNotModified {
 23294  		if res.Body != nil {
 23295  			res.Body.Close()
 23296  		}
 23297  		return nil, &googleapi.Error{
 23298  			Code:   res.StatusCode,
 23299  			Header: res.Header,
 23300  		}
 23301  	}
 23302  	if err != nil {
 23303  		return nil, err
 23304  	}
 23305  	defer googleapi.CloseBody(res)
 23306  	if err := googleapi.CheckResponse(res); err != nil {
 23307  		return nil, err
 23308  	}
 23309  	ret := &ContentCategory{
 23310  		ServerResponse: googleapi.ServerResponse{
 23311  			Header:         res.Header,
 23312  			HTTPStatusCode: res.StatusCode,
 23313  		},
 23314  	}
 23315  	target := &ret
 23316  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23317  		return nil, err
 23318  	}
 23319  	return ret, nil
 23320  	// {
 23321  	//   "description": "Gets one content category by ID.",
 23322  	//   "httpMethod": "GET",
 23323  	//   "id": "dfareporting.contentCategories.get",
 23324  	//   "parameterOrder": [
 23325  	//     "profileId",
 23326  	//     "id"
 23327  	//   ],
 23328  	//   "parameters": {
 23329  	//     "id": {
 23330  	//       "description": "Content category ID.",
 23331  	//       "format": "int64",
 23332  	//       "location": "path",
 23333  	//       "required": true,
 23334  	//       "type": "string"
 23335  	//     },
 23336  	//     "profileId": {
 23337  	//       "description": "User profile ID associated with this request.",
 23338  	//       "format": "int64",
 23339  	//       "location": "path",
 23340  	//       "required": true,
 23341  	//       "type": "string"
 23342  	//     }
 23343  	//   },
 23344  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 23345  	//   "response": {
 23346  	//     "$ref": "ContentCategory"
 23347  	//   },
 23348  	//   "scopes": [
 23349  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23350  	//   ]
 23351  	// }
 23352  
 23353  }
 23354  
 23355  // method id "dfareporting.contentCategories.insert":
 23356  
 23357  type ContentCategoriesInsertCall struct {
 23358  	s               *Service
 23359  	profileId       int64
 23360  	contentcategory *ContentCategory
 23361  	urlParams_      gensupport.URLParams
 23362  	ctx_            context.Context
 23363  	header_         http.Header
 23364  }
 23365  
 23366  // Insert: Inserts a new content category.
 23367  func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
 23368  	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23369  	c.profileId = profileId
 23370  	c.contentcategory = contentcategory
 23371  	return c
 23372  }
 23373  
 23374  // Fields allows partial responses to be retrieved. See
 23375  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23376  // for more information.
 23377  func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
 23378  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23379  	return c
 23380  }
 23381  
 23382  // Context sets the context to be used in this call's Do method. Any
 23383  // pending HTTP request will be aborted if the provided context is
 23384  // canceled.
 23385  func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 23386  	c.ctx_ = ctx
 23387  	return c
 23388  }
 23389  
 23390  // Header returns an http.Header that can be modified by the caller to
 23391  // add HTTP headers to the request.
 23392  func (c *ContentCategoriesInsertCall) Header() http.Header {
 23393  	if c.header_ == nil {
 23394  		c.header_ = make(http.Header)
 23395  	}
 23396  	return c.header_
 23397  }
 23398  
 23399  func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
 23400  	reqHeaders := make(http.Header)
 23401  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23402  	for k, v := range c.header_ {
 23403  		reqHeaders[k] = v
 23404  	}
 23405  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23406  	var body io.Reader = nil
 23407  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 23408  	if err != nil {
 23409  		return nil, err
 23410  	}
 23411  	reqHeaders.Set("Content-Type", "application/json")
 23412  	c.urlParams_.Set("alt", alt)
 23413  	c.urlParams_.Set("prettyPrint", "false")
 23414  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23415  	urls += "?" + c.urlParams_.Encode()
 23416  	req, err := http.NewRequest("POST", urls, body)
 23417  	if err != nil {
 23418  		return nil, err
 23419  	}
 23420  	req.Header = reqHeaders
 23421  	googleapi.Expand(req.URL, map[string]string{
 23422  		"profileId": strconv.FormatInt(c.profileId, 10),
 23423  	})
 23424  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23425  }
 23426  
 23427  // Do executes the "dfareporting.contentCategories.insert" call.
 23428  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23429  // status code is an error. Response headers are in either
 23430  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23431  // at all) in error.(*googleapi.Error).Header. Use
 23432  // googleapi.IsNotModified to check whether the returned error was
 23433  // because http.StatusNotModified was returned.
 23434  func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23435  	gensupport.SetOptions(c.urlParams_, opts...)
 23436  	res, err := c.doRequest("json")
 23437  	if res != nil && res.StatusCode == http.StatusNotModified {
 23438  		if res.Body != nil {
 23439  			res.Body.Close()
 23440  		}
 23441  		return nil, &googleapi.Error{
 23442  			Code:   res.StatusCode,
 23443  			Header: res.Header,
 23444  		}
 23445  	}
 23446  	if err != nil {
 23447  		return nil, err
 23448  	}
 23449  	defer googleapi.CloseBody(res)
 23450  	if err := googleapi.CheckResponse(res); err != nil {
 23451  		return nil, err
 23452  	}
 23453  	ret := &ContentCategory{
 23454  		ServerResponse: googleapi.ServerResponse{
 23455  			Header:         res.Header,
 23456  			HTTPStatusCode: res.StatusCode,
 23457  		},
 23458  	}
 23459  	target := &ret
 23460  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23461  		return nil, err
 23462  	}
 23463  	return ret, nil
 23464  	// {
 23465  	//   "description": "Inserts a new content category.",
 23466  	//   "httpMethod": "POST",
 23467  	//   "id": "dfareporting.contentCategories.insert",
 23468  	//   "parameterOrder": [
 23469  	//     "profileId"
 23470  	//   ],
 23471  	//   "parameters": {
 23472  	//     "profileId": {
 23473  	//       "description": "User profile ID associated with this request.",
 23474  	//       "format": "int64",
 23475  	//       "location": "path",
 23476  	//       "required": true,
 23477  	//       "type": "string"
 23478  	//     }
 23479  	//   },
 23480  	//   "path": "userprofiles/{profileId}/contentCategories",
 23481  	//   "request": {
 23482  	//     "$ref": "ContentCategory"
 23483  	//   },
 23484  	//   "response": {
 23485  	//     "$ref": "ContentCategory"
 23486  	//   },
 23487  	//   "scopes": [
 23488  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23489  	//   ]
 23490  	// }
 23491  
 23492  }
 23493  
 23494  // method id "dfareporting.contentCategories.list":
 23495  
 23496  type ContentCategoriesListCall struct {
 23497  	s            *Service
 23498  	profileId    int64
 23499  	urlParams_   gensupport.URLParams
 23500  	ifNoneMatch_ string
 23501  	ctx_         context.Context
 23502  	header_      http.Header
 23503  }
 23504  
 23505  // List: Retrieves a list of content categories, possibly filtered. This
 23506  // method supports paging.
 23507  func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
 23508  	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23509  	c.profileId = profileId
 23510  	return c
 23511  }
 23512  
 23513  // Ids sets the optional parameter "ids": Select only content categories
 23514  // with these IDs.
 23515  func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
 23516  	var ids_ []string
 23517  	for _, v := range ids {
 23518  		ids_ = append(ids_, fmt.Sprint(v))
 23519  	}
 23520  	c.urlParams_.SetMulti("ids", ids_)
 23521  	return c
 23522  }
 23523  
 23524  // MaxResults sets the optional parameter "maxResults": Maximum number
 23525  // of results to return.
 23526  func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
 23527  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 23528  	return c
 23529  }
 23530  
 23531  // PageToken sets the optional parameter "pageToken": Value of the
 23532  // nextPageToken from the previous result page.
 23533  func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
 23534  	c.urlParams_.Set("pageToken", pageToken)
 23535  	return c
 23536  }
 23537  
 23538  // SearchString sets the optional parameter "searchString": Allows
 23539  // searching for objects by name or ID. Wildcards (*) are allowed. For
 23540  // example, "contentcategory*2015" will return objects with names like
 23541  // "contentcategory June 2015", "contentcategory April 2015", or simply
 23542  // "contentcategory 2015". Most of the searches also add wildcards
 23543  // implicitly at the start and the end of the search string. For
 23544  // example, a search string of "contentcategory" will match objects with
 23545  // name "my contentcategory", "contentcategory 2015", or simply
 23546  // "contentcategory".
 23547  func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
 23548  	c.urlParams_.Set("searchString", searchString)
 23549  	return c
 23550  }
 23551  
 23552  // SortField sets the optional parameter "sortField": Field by which to
 23553  // sort the list.
 23554  //
 23555  // Possible values:
 23556  //
 23557  //	"ID" (default)
 23558  //	"NAME"
 23559  func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
 23560  	c.urlParams_.Set("sortField", sortField)
 23561  	return c
 23562  }
 23563  
 23564  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 23565  // results.
 23566  //
 23567  // Possible values:
 23568  //
 23569  //	"ASCENDING" (default)
 23570  //	"DESCENDING"
 23571  func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
 23572  	c.urlParams_.Set("sortOrder", sortOrder)
 23573  	return c
 23574  }
 23575  
 23576  // Fields allows partial responses to be retrieved. See
 23577  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23578  // for more information.
 23579  func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
 23580  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23581  	return c
 23582  }
 23583  
 23584  // IfNoneMatch sets the optional parameter which makes the operation
 23585  // fail if the object's ETag matches the given value. This is useful for
 23586  // getting updates only after the object has changed since the last
 23587  // request. Use googleapi.IsNotModified to check whether the response
 23588  // error from Do is the result of In-None-Match.
 23589  func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
 23590  	c.ifNoneMatch_ = entityTag
 23591  	return c
 23592  }
 23593  
 23594  // Context sets the context to be used in this call's Do method. Any
 23595  // pending HTTP request will be aborted if the provided context is
 23596  // canceled.
 23597  func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 23598  	c.ctx_ = ctx
 23599  	return c
 23600  }
 23601  
 23602  // Header returns an http.Header that can be modified by the caller to
 23603  // add HTTP headers to the request.
 23604  func (c *ContentCategoriesListCall) Header() http.Header {
 23605  	if c.header_ == nil {
 23606  		c.header_ = make(http.Header)
 23607  	}
 23608  	return c.header_
 23609  }
 23610  
 23611  func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 23612  	reqHeaders := make(http.Header)
 23613  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23614  	for k, v := range c.header_ {
 23615  		reqHeaders[k] = v
 23616  	}
 23617  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23618  	if c.ifNoneMatch_ != "" {
 23619  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23620  	}
 23621  	var body io.Reader = nil
 23622  	c.urlParams_.Set("alt", alt)
 23623  	c.urlParams_.Set("prettyPrint", "false")
 23624  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23625  	urls += "?" + c.urlParams_.Encode()
 23626  	req, err := http.NewRequest("GET", urls, body)
 23627  	if err != nil {
 23628  		return nil, err
 23629  	}
 23630  	req.Header = reqHeaders
 23631  	googleapi.Expand(req.URL, map[string]string{
 23632  		"profileId": strconv.FormatInt(c.profileId, 10),
 23633  	})
 23634  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23635  }
 23636  
 23637  // Do executes the "dfareporting.contentCategories.list" call.
 23638  // Exactly one of *ContentCategoriesListResponse or error will be
 23639  // non-nil. Any non-2xx status code is an error. Response headers are in
 23640  // either *ContentCategoriesListResponse.ServerResponse.Header or (if a
 23641  // response was returned at all) in error.(*googleapi.Error).Header. Use
 23642  // googleapi.IsNotModified to check whether the returned error was
 23643  // because http.StatusNotModified was returned.
 23644  func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
 23645  	gensupport.SetOptions(c.urlParams_, opts...)
 23646  	res, err := c.doRequest("json")
 23647  	if res != nil && res.StatusCode == http.StatusNotModified {
 23648  		if res.Body != nil {
 23649  			res.Body.Close()
 23650  		}
 23651  		return nil, &googleapi.Error{
 23652  			Code:   res.StatusCode,
 23653  			Header: res.Header,
 23654  		}
 23655  	}
 23656  	if err != nil {
 23657  		return nil, err
 23658  	}
 23659  	defer googleapi.CloseBody(res)
 23660  	if err := googleapi.CheckResponse(res); err != nil {
 23661  		return nil, err
 23662  	}
 23663  	ret := &ContentCategoriesListResponse{
 23664  		ServerResponse: googleapi.ServerResponse{
 23665  			Header:         res.Header,
 23666  			HTTPStatusCode: res.StatusCode,
 23667  		},
 23668  	}
 23669  	target := &ret
 23670  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23671  		return nil, err
 23672  	}
 23673  	return ret, nil
 23674  	// {
 23675  	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
 23676  	//   "httpMethod": "GET",
 23677  	//   "id": "dfareporting.contentCategories.list",
 23678  	//   "parameterOrder": [
 23679  	//     "profileId"
 23680  	//   ],
 23681  	//   "parameters": {
 23682  	//     "ids": {
 23683  	//       "description": "Select only content categories with these IDs.",
 23684  	//       "format": "int64",
 23685  	//       "location": "query",
 23686  	//       "repeated": true,
 23687  	//       "type": "string"
 23688  	//     },
 23689  	//     "maxResults": {
 23690  	//       "default": "1000",
 23691  	//       "description": "Maximum number of results to return.",
 23692  	//       "format": "int32",
 23693  	//       "location": "query",
 23694  	//       "maximum": "1000",
 23695  	//       "minimum": "0",
 23696  	//       "type": "integer"
 23697  	//     },
 23698  	//     "pageToken": {
 23699  	//       "description": "Value of the nextPageToken from the previous result page.",
 23700  	//       "location": "query",
 23701  	//       "type": "string"
 23702  	//     },
 23703  	//     "profileId": {
 23704  	//       "description": "User profile ID associated with this request.",
 23705  	//       "format": "int64",
 23706  	//       "location": "path",
 23707  	//       "required": true,
 23708  	//       "type": "string"
 23709  	//     },
 23710  	//     "searchString": {
 23711  	//       "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\".",
 23712  	//       "location": "query",
 23713  	//       "type": "string"
 23714  	//     },
 23715  	//     "sortField": {
 23716  	//       "default": "ID",
 23717  	//       "description": "Field by which to sort the list.",
 23718  	//       "enum": [
 23719  	//         "ID",
 23720  	//         "NAME"
 23721  	//       ],
 23722  	//       "enumDescriptions": [
 23723  	//         "",
 23724  	//         ""
 23725  	//       ],
 23726  	//       "location": "query",
 23727  	//       "type": "string"
 23728  	//     },
 23729  	//     "sortOrder": {
 23730  	//       "default": "ASCENDING",
 23731  	//       "description": "Order of sorted results.",
 23732  	//       "enum": [
 23733  	//         "ASCENDING",
 23734  	//         "DESCENDING"
 23735  	//       ],
 23736  	//       "enumDescriptions": [
 23737  	//         "",
 23738  	//         ""
 23739  	//       ],
 23740  	//       "location": "query",
 23741  	//       "type": "string"
 23742  	//     }
 23743  	//   },
 23744  	//   "path": "userprofiles/{profileId}/contentCategories",
 23745  	//   "response": {
 23746  	//     "$ref": "ContentCategoriesListResponse"
 23747  	//   },
 23748  	//   "scopes": [
 23749  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23750  	//   ]
 23751  	// }
 23752  
 23753  }
 23754  
 23755  // Pages invokes f for each page of results.
 23756  // A non-nil error returned from f will halt the iteration.
 23757  // The provided context supersedes any context provided to the Context method.
 23758  func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
 23759  	c.ctx_ = ctx
 23760  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 23761  	for {
 23762  		x, err := c.Do()
 23763  		if err != nil {
 23764  			return err
 23765  		}
 23766  		if err := f(x); err != nil {
 23767  			return err
 23768  		}
 23769  		if x.NextPageToken == "" {
 23770  			return nil
 23771  		}
 23772  		c.PageToken(x.NextPageToken)
 23773  	}
 23774  }
 23775  
 23776  // method id "dfareporting.contentCategories.patch":
 23777  
 23778  type ContentCategoriesPatchCall struct {
 23779  	s               *Service
 23780  	profileId       int64
 23781  	contentcategory *ContentCategory
 23782  	urlParams_      gensupport.URLParams
 23783  	ctx_            context.Context
 23784  	header_         http.Header
 23785  }
 23786  
 23787  // Patch: Updates an existing content category. This method supports
 23788  // patch semantics.
 23789  func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
 23790  	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23791  	c.profileId = profileId
 23792  	c.urlParams_.Set("id", fmt.Sprint(id))
 23793  	c.contentcategory = contentcategory
 23794  	return c
 23795  }
 23796  
 23797  // Fields allows partial responses to be retrieved. See
 23798  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23799  // for more information.
 23800  func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
 23801  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23802  	return c
 23803  }
 23804  
 23805  // Context sets the context to be used in this call's Do method. Any
 23806  // pending HTTP request will be aborted if the provided context is
 23807  // canceled.
 23808  func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 23809  	c.ctx_ = ctx
 23810  	return c
 23811  }
 23812  
 23813  // Header returns an http.Header that can be modified by the caller to
 23814  // add HTTP headers to the request.
 23815  func (c *ContentCategoriesPatchCall) Header() http.Header {
 23816  	if c.header_ == nil {
 23817  		c.header_ = make(http.Header)
 23818  	}
 23819  	return c.header_
 23820  }
 23821  
 23822  func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 23823  	reqHeaders := make(http.Header)
 23824  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23825  	for k, v := range c.header_ {
 23826  		reqHeaders[k] = v
 23827  	}
 23828  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23829  	var body io.Reader = nil
 23830  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 23831  	if err != nil {
 23832  		return nil, err
 23833  	}
 23834  	reqHeaders.Set("Content-Type", "application/json")
 23835  	c.urlParams_.Set("alt", alt)
 23836  	c.urlParams_.Set("prettyPrint", "false")
 23837  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23838  	urls += "?" + c.urlParams_.Encode()
 23839  	req, err := http.NewRequest("PATCH", urls, body)
 23840  	if err != nil {
 23841  		return nil, err
 23842  	}
 23843  	req.Header = reqHeaders
 23844  	googleapi.Expand(req.URL, map[string]string{
 23845  		"profileId": strconv.FormatInt(c.profileId, 10),
 23846  	})
 23847  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23848  }
 23849  
 23850  // Do executes the "dfareporting.contentCategories.patch" call.
 23851  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23852  // status code is an error. Response headers are in either
 23853  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23854  // at all) in error.(*googleapi.Error).Header. Use
 23855  // googleapi.IsNotModified to check whether the returned error was
 23856  // because http.StatusNotModified was returned.
 23857  func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23858  	gensupport.SetOptions(c.urlParams_, opts...)
 23859  	res, err := c.doRequest("json")
 23860  	if res != nil && res.StatusCode == http.StatusNotModified {
 23861  		if res.Body != nil {
 23862  			res.Body.Close()
 23863  		}
 23864  		return nil, &googleapi.Error{
 23865  			Code:   res.StatusCode,
 23866  			Header: res.Header,
 23867  		}
 23868  	}
 23869  	if err != nil {
 23870  		return nil, err
 23871  	}
 23872  	defer googleapi.CloseBody(res)
 23873  	if err := googleapi.CheckResponse(res); err != nil {
 23874  		return nil, err
 23875  	}
 23876  	ret := &ContentCategory{
 23877  		ServerResponse: googleapi.ServerResponse{
 23878  			Header:         res.Header,
 23879  			HTTPStatusCode: res.StatusCode,
 23880  		},
 23881  	}
 23882  	target := &ret
 23883  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23884  		return nil, err
 23885  	}
 23886  	return ret, nil
 23887  	// {
 23888  	//   "description": "Updates an existing content category. This method supports patch semantics.",
 23889  	//   "httpMethod": "PATCH",
 23890  	//   "id": "dfareporting.contentCategories.patch",
 23891  	//   "parameterOrder": [
 23892  	//     "profileId",
 23893  	//     "id"
 23894  	//   ],
 23895  	//   "parameters": {
 23896  	//     "id": {
 23897  	//       "description": "Content category ID.",
 23898  	//       "format": "int64",
 23899  	//       "location": "query",
 23900  	//       "required": true,
 23901  	//       "type": "string"
 23902  	//     },
 23903  	//     "profileId": {
 23904  	//       "description": "User profile ID associated with this request.",
 23905  	//       "format": "int64",
 23906  	//       "location": "path",
 23907  	//       "required": true,
 23908  	//       "type": "string"
 23909  	//     }
 23910  	//   },
 23911  	//   "path": "userprofiles/{profileId}/contentCategories",
 23912  	//   "request": {
 23913  	//     "$ref": "ContentCategory"
 23914  	//   },
 23915  	//   "response": {
 23916  	//     "$ref": "ContentCategory"
 23917  	//   },
 23918  	//   "scopes": [
 23919  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23920  	//   ]
 23921  	// }
 23922  
 23923  }
 23924  
 23925  // method id "dfareporting.contentCategories.update":
 23926  
 23927  type ContentCategoriesUpdateCall struct {
 23928  	s               *Service
 23929  	profileId       int64
 23930  	contentcategory *ContentCategory
 23931  	urlParams_      gensupport.URLParams
 23932  	ctx_            context.Context
 23933  	header_         http.Header
 23934  }
 23935  
 23936  // Update: Updates an existing content category.
 23937  func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
 23938  	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23939  	c.profileId = profileId
 23940  	c.contentcategory = contentcategory
 23941  	return c
 23942  }
 23943  
 23944  // Fields allows partial responses to be retrieved. See
 23945  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23946  // for more information.
 23947  func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
 23948  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23949  	return c
 23950  }
 23951  
 23952  // Context sets the context to be used in this call's Do method. Any
 23953  // pending HTTP request will be aborted if the provided context is
 23954  // canceled.
 23955  func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 23956  	c.ctx_ = ctx
 23957  	return c
 23958  }
 23959  
 23960  // Header returns an http.Header that can be modified by the caller to
 23961  // add HTTP headers to the request.
 23962  func (c *ContentCategoriesUpdateCall) Header() http.Header {
 23963  	if c.header_ == nil {
 23964  		c.header_ = make(http.Header)
 23965  	}
 23966  	return c.header_
 23967  }
 23968  
 23969  func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
 23970  	reqHeaders := make(http.Header)
 23971  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23972  	for k, v := range c.header_ {
 23973  		reqHeaders[k] = v
 23974  	}
 23975  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23976  	var body io.Reader = nil
 23977  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 23978  	if err != nil {
 23979  		return nil, err
 23980  	}
 23981  	reqHeaders.Set("Content-Type", "application/json")
 23982  	c.urlParams_.Set("alt", alt)
 23983  	c.urlParams_.Set("prettyPrint", "false")
 23984  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23985  	urls += "?" + c.urlParams_.Encode()
 23986  	req, err := http.NewRequest("PUT", urls, body)
 23987  	if err != nil {
 23988  		return nil, err
 23989  	}
 23990  	req.Header = reqHeaders
 23991  	googleapi.Expand(req.URL, map[string]string{
 23992  		"profileId": strconv.FormatInt(c.profileId, 10),
 23993  	})
 23994  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23995  }
 23996  
 23997  // Do executes the "dfareporting.contentCategories.update" call.
 23998  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23999  // status code is an error. Response headers are in either
 24000  // *ContentCategory.ServerResponse.Header or (if a response was returned
 24001  // at all) in error.(*googleapi.Error).Header. Use
 24002  // googleapi.IsNotModified to check whether the returned error was
 24003  // because http.StatusNotModified was returned.
 24004  func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 24005  	gensupport.SetOptions(c.urlParams_, opts...)
 24006  	res, err := c.doRequest("json")
 24007  	if res != nil && res.StatusCode == http.StatusNotModified {
 24008  		if res.Body != nil {
 24009  			res.Body.Close()
 24010  		}
 24011  		return nil, &googleapi.Error{
 24012  			Code:   res.StatusCode,
 24013  			Header: res.Header,
 24014  		}
 24015  	}
 24016  	if err != nil {
 24017  		return nil, err
 24018  	}
 24019  	defer googleapi.CloseBody(res)
 24020  	if err := googleapi.CheckResponse(res); err != nil {
 24021  		return nil, err
 24022  	}
 24023  	ret := &ContentCategory{
 24024  		ServerResponse: googleapi.ServerResponse{
 24025  			Header:         res.Header,
 24026  			HTTPStatusCode: res.StatusCode,
 24027  		},
 24028  	}
 24029  	target := &ret
 24030  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24031  		return nil, err
 24032  	}
 24033  	return ret, nil
 24034  	// {
 24035  	//   "description": "Updates an existing content category.",
 24036  	//   "httpMethod": "PUT",
 24037  	//   "id": "dfareporting.contentCategories.update",
 24038  	//   "parameterOrder": [
 24039  	//     "profileId"
 24040  	//   ],
 24041  	//   "parameters": {
 24042  	//     "profileId": {
 24043  	//       "description": "User profile ID associated with this request.",
 24044  	//       "format": "int64",
 24045  	//       "location": "path",
 24046  	//       "required": true,
 24047  	//       "type": "string"
 24048  	//     }
 24049  	//   },
 24050  	//   "path": "userprofiles/{profileId}/contentCategories",
 24051  	//   "request": {
 24052  	//     "$ref": "ContentCategory"
 24053  	//   },
 24054  	//   "response": {
 24055  	//     "$ref": "ContentCategory"
 24056  	//   },
 24057  	//   "scopes": [
 24058  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24059  	//   ]
 24060  	// }
 24061  
 24062  }
 24063  
 24064  // method id "dfareporting.conversions.batchinsert":
 24065  
 24066  type ConversionsBatchinsertCall struct {
 24067  	s                             *Service
 24068  	profileId                     int64
 24069  	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
 24070  	urlParams_                    gensupport.URLParams
 24071  	ctx_                          context.Context
 24072  	header_                       http.Header
 24073  }
 24074  
 24075  // Batchinsert: Inserts conversions.
 24076  func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
 24077  	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24078  	c.profileId = profileId
 24079  	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
 24080  	return c
 24081  }
 24082  
 24083  // Fields allows partial responses to be retrieved. See
 24084  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24085  // for more information.
 24086  func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
 24087  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24088  	return c
 24089  }
 24090  
 24091  // Context sets the context to be used in this call's Do method. Any
 24092  // pending HTTP request will be aborted if the provided context is
 24093  // canceled.
 24094  func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
 24095  	c.ctx_ = ctx
 24096  	return c
 24097  }
 24098  
 24099  // Header returns an http.Header that can be modified by the caller to
 24100  // add HTTP headers to the request.
 24101  func (c *ConversionsBatchinsertCall) Header() http.Header {
 24102  	if c.header_ == nil {
 24103  		c.header_ = make(http.Header)
 24104  	}
 24105  	return c.header_
 24106  }
 24107  
 24108  func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 24109  	reqHeaders := make(http.Header)
 24110  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24111  	for k, v := range c.header_ {
 24112  		reqHeaders[k] = v
 24113  	}
 24114  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24115  	var body io.Reader = nil
 24116  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
 24117  	if err != nil {
 24118  		return nil, err
 24119  	}
 24120  	reqHeaders.Set("Content-Type", "application/json")
 24121  	c.urlParams_.Set("alt", alt)
 24122  	c.urlParams_.Set("prettyPrint", "false")
 24123  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
 24124  	urls += "?" + c.urlParams_.Encode()
 24125  	req, err := http.NewRequest("POST", urls, body)
 24126  	if err != nil {
 24127  		return nil, err
 24128  	}
 24129  	req.Header = reqHeaders
 24130  	googleapi.Expand(req.URL, map[string]string{
 24131  		"profileId": strconv.FormatInt(c.profileId, 10),
 24132  	})
 24133  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24134  }
 24135  
 24136  // Do executes the "dfareporting.conversions.batchinsert" call.
 24137  // Exactly one of *ConversionsBatchInsertResponse or error will be
 24138  // non-nil. Any non-2xx status code is an error. Response headers are in
 24139  // either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
 24140  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24141  // googleapi.IsNotModified to check whether the returned error was
 24142  // because http.StatusNotModified was returned.
 24143  func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
 24144  	gensupport.SetOptions(c.urlParams_, opts...)
 24145  	res, err := c.doRequest("json")
 24146  	if res != nil && res.StatusCode == http.StatusNotModified {
 24147  		if res.Body != nil {
 24148  			res.Body.Close()
 24149  		}
 24150  		return nil, &googleapi.Error{
 24151  			Code:   res.StatusCode,
 24152  			Header: res.Header,
 24153  		}
 24154  	}
 24155  	if err != nil {
 24156  		return nil, err
 24157  	}
 24158  	defer googleapi.CloseBody(res)
 24159  	if err := googleapi.CheckResponse(res); err != nil {
 24160  		return nil, err
 24161  	}
 24162  	ret := &ConversionsBatchInsertResponse{
 24163  		ServerResponse: googleapi.ServerResponse{
 24164  			Header:         res.Header,
 24165  			HTTPStatusCode: res.StatusCode,
 24166  		},
 24167  	}
 24168  	target := &ret
 24169  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24170  		return nil, err
 24171  	}
 24172  	return ret, nil
 24173  	// {
 24174  	//   "description": "Inserts conversions.",
 24175  	//   "httpMethod": "POST",
 24176  	//   "id": "dfareporting.conversions.batchinsert",
 24177  	//   "parameterOrder": [
 24178  	//     "profileId"
 24179  	//   ],
 24180  	//   "parameters": {
 24181  	//     "profileId": {
 24182  	//       "description": "User profile ID associated with this request.",
 24183  	//       "format": "int64",
 24184  	//       "location": "path",
 24185  	//       "required": true,
 24186  	//       "type": "string"
 24187  	//     }
 24188  	//   },
 24189  	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
 24190  	//   "request": {
 24191  	//     "$ref": "ConversionsBatchInsertRequest"
 24192  	//   },
 24193  	//   "response": {
 24194  	//     "$ref": "ConversionsBatchInsertResponse"
 24195  	//   },
 24196  	//   "scopes": [
 24197  	//     "https://www.googleapis.com/auth/ddmconversions"
 24198  	//   ]
 24199  	// }
 24200  
 24201  }
 24202  
 24203  // method id "dfareporting.conversions.batchupdate":
 24204  
 24205  type ConversionsBatchupdateCall struct {
 24206  	s                             *Service
 24207  	profileId                     int64
 24208  	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
 24209  	urlParams_                    gensupport.URLParams
 24210  	ctx_                          context.Context
 24211  	header_                       http.Header
 24212  }
 24213  
 24214  // Batchupdate: Updates existing conversions.
 24215  func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
 24216  	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24217  	c.profileId = profileId
 24218  	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
 24219  	return c
 24220  }
 24221  
 24222  // Fields allows partial responses to be retrieved. See
 24223  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24224  // for more information.
 24225  func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
 24226  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24227  	return c
 24228  }
 24229  
 24230  // Context sets the context to be used in this call's Do method. Any
 24231  // pending HTTP request will be aborted if the provided context is
 24232  // canceled.
 24233  func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
 24234  	c.ctx_ = ctx
 24235  	return c
 24236  }
 24237  
 24238  // Header returns an http.Header that can be modified by the caller to
 24239  // add HTTP headers to the request.
 24240  func (c *ConversionsBatchupdateCall) Header() http.Header {
 24241  	if c.header_ == nil {
 24242  		c.header_ = make(http.Header)
 24243  	}
 24244  	return c.header_
 24245  }
 24246  
 24247  func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
 24248  	reqHeaders := make(http.Header)
 24249  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24250  	for k, v := range c.header_ {
 24251  		reqHeaders[k] = v
 24252  	}
 24253  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24254  	var body io.Reader = nil
 24255  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
 24256  	if err != nil {
 24257  		return nil, err
 24258  	}
 24259  	reqHeaders.Set("Content-Type", "application/json")
 24260  	c.urlParams_.Set("alt", alt)
 24261  	c.urlParams_.Set("prettyPrint", "false")
 24262  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
 24263  	urls += "?" + c.urlParams_.Encode()
 24264  	req, err := http.NewRequest("POST", urls, body)
 24265  	if err != nil {
 24266  		return nil, err
 24267  	}
 24268  	req.Header = reqHeaders
 24269  	googleapi.Expand(req.URL, map[string]string{
 24270  		"profileId": strconv.FormatInt(c.profileId, 10),
 24271  	})
 24272  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24273  }
 24274  
 24275  // Do executes the "dfareporting.conversions.batchupdate" call.
 24276  // Exactly one of *ConversionsBatchUpdateResponse or error will be
 24277  // non-nil. Any non-2xx status code is an error. Response headers are in
 24278  // either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
 24279  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24280  // googleapi.IsNotModified to check whether the returned error was
 24281  // because http.StatusNotModified was returned.
 24282  func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
 24283  	gensupport.SetOptions(c.urlParams_, opts...)
 24284  	res, err := c.doRequest("json")
 24285  	if res != nil && res.StatusCode == http.StatusNotModified {
 24286  		if res.Body != nil {
 24287  			res.Body.Close()
 24288  		}
 24289  		return nil, &googleapi.Error{
 24290  			Code:   res.StatusCode,
 24291  			Header: res.Header,
 24292  		}
 24293  	}
 24294  	if err != nil {
 24295  		return nil, err
 24296  	}
 24297  	defer googleapi.CloseBody(res)
 24298  	if err := googleapi.CheckResponse(res); err != nil {
 24299  		return nil, err
 24300  	}
 24301  	ret := &ConversionsBatchUpdateResponse{
 24302  		ServerResponse: googleapi.ServerResponse{
 24303  			Header:         res.Header,
 24304  			HTTPStatusCode: res.StatusCode,
 24305  		},
 24306  	}
 24307  	target := &ret
 24308  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24309  		return nil, err
 24310  	}
 24311  	return ret, nil
 24312  	// {
 24313  	//   "description": "Updates existing conversions.",
 24314  	//   "httpMethod": "POST",
 24315  	//   "id": "dfareporting.conversions.batchupdate",
 24316  	//   "parameterOrder": [
 24317  	//     "profileId"
 24318  	//   ],
 24319  	//   "parameters": {
 24320  	//     "profileId": {
 24321  	//       "description": "User profile ID associated with this request.",
 24322  	//       "format": "int64",
 24323  	//       "location": "path",
 24324  	//       "required": true,
 24325  	//       "type": "string"
 24326  	//     }
 24327  	//   },
 24328  	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
 24329  	//   "request": {
 24330  	//     "$ref": "ConversionsBatchUpdateRequest"
 24331  	//   },
 24332  	//   "response": {
 24333  	//     "$ref": "ConversionsBatchUpdateResponse"
 24334  	//   },
 24335  	//   "scopes": [
 24336  	//     "https://www.googleapis.com/auth/ddmconversions"
 24337  	//   ]
 24338  	// }
 24339  
 24340  }
 24341  
 24342  // method id "dfareporting.countries.get":
 24343  
 24344  type CountriesGetCall struct {
 24345  	s            *Service
 24346  	profileId    int64
 24347  	dartId       int64
 24348  	urlParams_   gensupport.URLParams
 24349  	ifNoneMatch_ string
 24350  	ctx_         context.Context
 24351  	header_      http.Header
 24352  }
 24353  
 24354  // Get: Gets one country by ID.
 24355  func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
 24356  	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24357  	c.profileId = profileId
 24358  	c.dartId = dartId
 24359  	return c
 24360  }
 24361  
 24362  // Fields allows partial responses to be retrieved. See
 24363  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24364  // for more information.
 24365  func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
 24366  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24367  	return c
 24368  }
 24369  
 24370  // IfNoneMatch sets the optional parameter which makes the operation
 24371  // fail if the object's ETag matches the given value. This is useful for
 24372  // getting updates only after the object has changed since the last
 24373  // request. Use googleapi.IsNotModified to check whether the response
 24374  // error from Do is the result of In-None-Match.
 24375  func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
 24376  	c.ifNoneMatch_ = entityTag
 24377  	return c
 24378  }
 24379  
 24380  // Context sets the context to be used in this call's Do method. Any
 24381  // pending HTTP request will be aborted if the provided context is
 24382  // canceled.
 24383  func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 24384  	c.ctx_ = ctx
 24385  	return c
 24386  }
 24387  
 24388  // Header returns an http.Header that can be modified by the caller to
 24389  // add HTTP headers to the request.
 24390  func (c *CountriesGetCall) Header() http.Header {
 24391  	if c.header_ == nil {
 24392  		c.header_ = make(http.Header)
 24393  	}
 24394  	return c.header_
 24395  }
 24396  
 24397  func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 24398  	reqHeaders := make(http.Header)
 24399  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24400  	for k, v := range c.header_ {
 24401  		reqHeaders[k] = v
 24402  	}
 24403  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24404  	if c.ifNoneMatch_ != "" {
 24405  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24406  	}
 24407  	var body io.Reader = nil
 24408  	c.urlParams_.Set("alt", alt)
 24409  	c.urlParams_.Set("prettyPrint", "false")
 24410  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
 24411  	urls += "?" + c.urlParams_.Encode()
 24412  	req, err := http.NewRequest("GET", urls, body)
 24413  	if err != nil {
 24414  		return nil, err
 24415  	}
 24416  	req.Header = reqHeaders
 24417  	googleapi.Expand(req.URL, map[string]string{
 24418  		"profileId": strconv.FormatInt(c.profileId, 10),
 24419  		"dartId":    strconv.FormatInt(c.dartId, 10),
 24420  	})
 24421  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24422  }
 24423  
 24424  // Do executes the "dfareporting.countries.get" call.
 24425  // Exactly one of *Country or error will be non-nil. Any non-2xx status
 24426  // code is an error. Response headers are in either
 24427  // *Country.ServerResponse.Header or (if a response was returned at all)
 24428  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 24429  // check whether the returned error was because http.StatusNotModified
 24430  // was returned.
 24431  func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
 24432  	gensupport.SetOptions(c.urlParams_, opts...)
 24433  	res, err := c.doRequest("json")
 24434  	if res != nil && res.StatusCode == http.StatusNotModified {
 24435  		if res.Body != nil {
 24436  			res.Body.Close()
 24437  		}
 24438  		return nil, &googleapi.Error{
 24439  			Code:   res.StatusCode,
 24440  			Header: res.Header,
 24441  		}
 24442  	}
 24443  	if err != nil {
 24444  		return nil, err
 24445  	}
 24446  	defer googleapi.CloseBody(res)
 24447  	if err := googleapi.CheckResponse(res); err != nil {
 24448  		return nil, err
 24449  	}
 24450  	ret := &Country{
 24451  		ServerResponse: googleapi.ServerResponse{
 24452  			Header:         res.Header,
 24453  			HTTPStatusCode: res.StatusCode,
 24454  		},
 24455  	}
 24456  	target := &ret
 24457  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24458  		return nil, err
 24459  	}
 24460  	return ret, nil
 24461  	// {
 24462  	//   "description": "Gets one country by ID.",
 24463  	//   "httpMethod": "GET",
 24464  	//   "id": "dfareporting.countries.get",
 24465  	//   "parameterOrder": [
 24466  	//     "profileId",
 24467  	//     "dartId"
 24468  	//   ],
 24469  	//   "parameters": {
 24470  	//     "dartId": {
 24471  	//       "description": "Country DART ID.",
 24472  	//       "format": "int64",
 24473  	//       "location": "path",
 24474  	//       "required": true,
 24475  	//       "type": "string"
 24476  	//     },
 24477  	//     "profileId": {
 24478  	//       "description": "User profile ID associated with this request.",
 24479  	//       "format": "int64",
 24480  	//       "location": "path",
 24481  	//       "required": true,
 24482  	//       "type": "string"
 24483  	//     }
 24484  	//   },
 24485  	//   "path": "userprofiles/{profileId}/countries/{dartId}",
 24486  	//   "response": {
 24487  	//     "$ref": "Country"
 24488  	//   },
 24489  	//   "scopes": [
 24490  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24491  	//   ]
 24492  	// }
 24493  
 24494  }
 24495  
 24496  // method id "dfareporting.countries.list":
 24497  
 24498  type CountriesListCall struct {
 24499  	s            *Service
 24500  	profileId    int64
 24501  	urlParams_   gensupport.URLParams
 24502  	ifNoneMatch_ string
 24503  	ctx_         context.Context
 24504  	header_      http.Header
 24505  }
 24506  
 24507  // List: Retrieves a list of countries.
 24508  func (r *CountriesService) List(profileId int64) *CountriesListCall {
 24509  	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24510  	c.profileId = profileId
 24511  	return c
 24512  }
 24513  
 24514  // Fields allows partial responses to be retrieved. See
 24515  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24516  // for more information.
 24517  func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
 24518  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24519  	return c
 24520  }
 24521  
 24522  // IfNoneMatch sets the optional parameter which makes the operation
 24523  // fail if the object's ETag matches the given value. This is useful for
 24524  // getting updates only after the object has changed since the last
 24525  // request. Use googleapi.IsNotModified to check whether the response
 24526  // error from Do is the result of In-None-Match.
 24527  func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
 24528  	c.ifNoneMatch_ = entityTag
 24529  	return c
 24530  }
 24531  
 24532  // Context sets the context to be used in this call's Do method. Any
 24533  // pending HTTP request will be aborted if the provided context is
 24534  // canceled.
 24535  func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 24536  	c.ctx_ = ctx
 24537  	return c
 24538  }
 24539  
 24540  // Header returns an http.Header that can be modified by the caller to
 24541  // add HTTP headers to the request.
 24542  func (c *CountriesListCall) Header() http.Header {
 24543  	if c.header_ == nil {
 24544  		c.header_ = make(http.Header)
 24545  	}
 24546  	return c.header_
 24547  }
 24548  
 24549  func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 24550  	reqHeaders := make(http.Header)
 24551  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24552  	for k, v := range c.header_ {
 24553  		reqHeaders[k] = v
 24554  	}
 24555  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24556  	if c.ifNoneMatch_ != "" {
 24557  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24558  	}
 24559  	var body io.Reader = nil
 24560  	c.urlParams_.Set("alt", alt)
 24561  	c.urlParams_.Set("prettyPrint", "false")
 24562  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
 24563  	urls += "?" + c.urlParams_.Encode()
 24564  	req, err := http.NewRequest("GET", urls, body)
 24565  	if err != nil {
 24566  		return nil, err
 24567  	}
 24568  	req.Header = reqHeaders
 24569  	googleapi.Expand(req.URL, map[string]string{
 24570  		"profileId": strconv.FormatInt(c.profileId, 10),
 24571  	})
 24572  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24573  }
 24574  
 24575  // Do executes the "dfareporting.countries.list" call.
 24576  // Exactly one of *CountriesListResponse or error will be non-nil. Any
 24577  // non-2xx status code is an error. Response headers are in either
 24578  // *CountriesListResponse.ServerResponse.Header or (if a response was
 24579  // returned at all) in error.(*googleapi.Error).Header. Use
 24580  // googleapi.IsNotModified to check whether the returned error was
 24581  // because http.StatusNotModified was returned.
 24582  func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
 24583  	gensupport.SetOptions(c.urlParams_, opts...)
 24584  	res, err := c.doRequest("json")
 24585  	if res != nil && res.StatusCode == http.StatusNotModified {
 24586  		if res.Body != nil {
 24587  			res.Body.Close()
 24588  		}
 24589  		return nil, &googleapi.Error{
 24590  			Code:   res.StatusCode,
 24591  			Header: res.Header,
 24592  		}
 24593  	}
 24594  	if err != nil {
 24595  		return nil, err
 24596  	}
 24597  	defer googleapi.CloseBody(res)
 24598  	if err := googleapi.CheckResponse(res); err != nil {
 24599  		return nil, err
 24600  	}
 24601  	ret := &CountriesListResponse{
 24602  		ServerResponse: googleapi.ServerResponse{
 24603  			Header:         res.Header,
 24604  			HTTPStatusCode: res.StatusCode,
 24605  		},
 24606  	}
 24607  	target := &ret
 24608  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24609  		return nil, err
 24610  	}
 24611  	return ret, nil
 24612  	// {
 24613  	//   "description": "Retrieves a list of countries.",
 24614  	//   "httpMethod": "GET",
 24615  	//   "id": "dfareporting.countries.list",
 24616  	//   "parameterOrder": [
 24617  	//     "profileId"
 24618  	//   ],
 24619  	//   "parameters": {
 24620  	//     "profileId": {
 24621  	//       "description": "User profile ID associated with this request.",
 24622  	//       "format": "int64",
 24623  	//       "location": "path",
 24624  	//       "required": true,
 24625  	//       "type": "string"
 24626  	//     }
 24627  	//   },
 24628  	//   "path": "userprofiles/{profileId}/countries",
 24629  	//   "response": {
 24630  	//     "$ref": "CountriesListResponse"
 24631  	//   },
 24632  	//   "scopes": [
 24633  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24634  	//   ]
 24635  	// }
 24636  
 24637  }
 24638  
 24639  // method id "dfareporting.creativeAssets.insert":
 24640  
 24641  type CreativeAssetsInsertCall struct {
 24642  	s                     *Service
 24643  	profileId             int64
 24644  	advertiserId          int64
 24645  	creativeassetmetadata *CreativeAssetMetadata
 24646  	urlParams_            gensupport.URLParams
 24647  	mediaInfo_            *gensupport.MediaInfo
 24648  	ctx_                  context.Context
 24649  	header_               http.Header
 24650  }
 24651  
 24652  // Insert: Inserts a new creative asset.
 24653  func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
 24654  	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24655  	c.profileId = profileId
 24656  	c.advertiserId = advertiserId
 24657  	c.creativeassetmetadata = creativeassetmetadata
 24658  	return c
 24659  }
 24660  
 24661  // Media specifies the media to upload in one or more chunks. The chunk
 24662  // size may be controlled by supplying a MediaOption generated by
 24663  // googleapi.ChunkSize. The chunk size defaults to
 24664  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the
 24665  // upload request will be determined by sniffing the contents of r,
 24666  // unless a MediaOption generated by googleapi.ContentType is
 24667  // supplied.
 24668  // At most one of Media and ResumableMedia may be set.
 24669  func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
 24670  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 24671  	return c
 24672  }
 24673  
 24674  // ResumableMedia specifies the media to upload in chunks and can be
 24675  // canceled with ctx.
 24676  //
 24677  // Deprecated: use Media instead.
 24678  //
 24679  // At most one of Media and ResumableMedia may be set. mediaType
 24680  // identifies the MIME media type of the upload, such as "image/png". If
 24681  // mediaType is "", it will be auto-detected. The provided ctx will
 24682  // supersede any context previously provided to the Context method.
 24683  func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 24684  	c.ctx_ = ctx
 24685  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 24686  	return c
 24687  }
 24688  
 24689  // ProgressUpdater provides a callback function that will be called
 24690  // after every chunk. It should be a low-latency function in order to
 24691  // not slow down the upload operation. This should only be called when
 24692  // using ResumableMedia (as opposed to Media).
 24693  func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
 24694  	c.mediaInfo_.SetProgressUpdater(pu)
 24695  	return c
 24696  }
 24697  
 24698  // Fields allows partial responses to be retrieved. See
 24699  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24700  // for more information.
 24701  func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
 24702  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24703  	return c
 24704  }
 24705  
 24706  // Context sets the context to be used in this call's Do method. Any
 24707  // pending HTTP request will be aborted if the provided context is
 24708  // canceled.
 24709  // This context will supersede any context previously provided to the
 24710  // ResumableMedia method.
 24711  func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 24712  	c.ctx_ = ctx
 24713  	return c
 24714  }
 24715  
 24716  // Header returns an http.Header that can be modified by the caller to
 24717  // add HTTP headers to the request.
 24718  func (c *CreativeAssetsInsertCall) Header() http.Header {
 24719  	if c.header_ == nil {
 24720  		c.header_ = make(http.Header)
 24721  	}
 24722  	return c.header_
 24723  }
 24724  
 24725  func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
 24726  	reqHeaders := make(http.Header)
 24727  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24728  	for k, v := range c.header_ {
 24729  		reqHeaders[k] = v
 24730  	}
 24731  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24732  	var body io.Reader = nil
 24733  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
 24734  	if err != nil {
 24735  		return nil, err
 24736  	}
 24737  	reqHeaders.Set("Content-Type", "application/json")
 24738  	c.urlParams_.Set("alt", alt)
 24739  	c.urlParams_.Set("prettyPrint", "false")
 24740  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 24741  	if c.mediaInfo_ != nil {
 24742  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.0/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 24743  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 24744  	}
 24745  	if body == nil {
 24746  		body = new(bytes.Buffer)
 24747  		reqHeaders.Set("Content-Type", "application/json")
 24748  	}
 24749  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 24750  	defer cleanup()
 24751  	urls += "?" + c.urlParams_.Encode()
 24752  	req, err := http.NewRequest("POST", urls, body)
 24753  	if err != nil {
 24754  		return nil, err
 24755  	}
 24756  	req.Header = reqHeaders
 24757  	req.GetBody = getBody
 24758  	googleapi.Expand(req.URL, map[string]string{
 24759  		"profileId":    strconv.FormatInt(c.profileId, 10),
 24760  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24761  	})
 24762  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24763  }
 24764  
 24765  // Do executes the "dfareporting.creativeAssets.insert" call.
 24766  // Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
 24767  // non-2xx status code is an error. Response headers are in either
 24768  // *CreativeAssetMetadata.ServerResponse.Header or (if a response was
 24769  // returned at all) in error.(*googleapi.Error).Header. Use
 24770  // googleapi.IsNotModified to check whether the returned error was
 24771  // because http.StatusNotModified was returned.
 24772  func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
 24773  	gensupport.SetOptions(c.urlParams_, opts...)
 24774  	res, err := c.doRequest("json")
 24775  	if res != nil && res.StatusCode == http.StatusNotModified {
 24776  		if res.Body != nil {
 24777  			res.Body.Close()
 24778  		}
 24779  		return nil, &googleapi.Error{
 24780  			Code:   res.StatusCode,
 24781  			Header: res.Header,
 24782  		}
 24783  	}
 24784  	if err != nil {
 24785  		return nil, err
 24786  	}
 24787  	defer googleapi.CloseBody(res)
 24788  	if err := googleapi.CheckResponse(res); err != nil {
 24789  		return nil, err
 24790  	}
 24791  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 24792  	if rx != nil {
 24793  		rx.Client = c.s.client
 24794  		rx.UserAgent = c.s.userAgent()
 24795  		ctx := c.ctx_
 24796  		if ctx == nil {
 24797  			ctx = context.TODO()
 24798  		}
 24799  		res, err = rx.Upload(ctx)
 24800  		if err != nil {
 24801  			return nil, err
 24802  		}
 24803  		defer res.Body.Close()
 24804  		if err := googleapi.CheckResponse(res); err != nil {
 24805  			return nil, err
 24806  		}
 24807  	}
 24808  	ret := &CreativeAssetMetadata{
 24809  		ServerResponse: googleapi.ServerResponse{
 24810  			Header:         res.Header,
 24811  			HTTPStatusCode: res.StatusCode,
 24812  		},
 24813  	}
 24814  	target := &ret
 24815  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24816  		return nil, err
 24817  	}
 24818  	return ret, nil
 24819  	// {
 24820  	//   "description": "Inserts a new creative asset.",
 24821  	//   "httpMethod": "POST",
 24822  	//   "id": "dfareporting.creativeAssets.insert",
 24823  	//   "mediaUpload": {
 24824  	//     "accept": [
 24825  	//       "*/*"
 24826  	//     ],
 24827  	//     "maxSize": "1024MB",
 24828  	//     "protocols": {
 24829  	//       "resumable": {
 24830  	//         "multipart": true,
 24831  	//         "path": "/resumable/upload/dfareporting/v3.0/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 24832  	//       },
 24833  	//       "simple": {
 24834  	//         "multipart": true,
 24835  	//         "path": "/upload/dfareporting/v3.0/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 24836  	//       }
 24837  	//     }
 24838  	//   },
 24839  	//   "parameterOrder": [
 24840  	//     "profileId",
 24841  	//     "advertiserId"
 24842  	//   ],
 24843  	//   "parameters": {
 24844  	//     "advertiserId": {
 24845  	//       "description": "Advertiser ID of this creative. This is a required field.",
 24846  	//       "format": "int64",
 24847  	//       "location": "path",
 24848  	//       "required": true,
 24849  	//       "type": "string"
 24850  	//     },
 24851  	//     "profileId": {
 24852  	//       "description": "User profile ID associated with this request.",
 24853  	//       "format": "int64",
 24854  	//       "location": "path",
 24855  	//       "required": true,
 24856  	//       "type": "string"
 24857  	//     }
 24858  	//   },
 24859  	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 24860  	//   "request": {
 24861  	//     "$ref": "CreativeAssetMetadata"
 24862  	//   },
 24863  	//   "response": {
 24864  	//     "$ref": "CreativeAssetMetadata"
 24865  	//   },
 24866  	//   "scopes": [
 24867  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24868  	//   ],
 24869  	//   "supportsMediaUpload": true
 24870  	// }
 24871  
 24872  }
 24873  
 24874  // method id "dfareporting.creativeFieldValues.delete":
 24875  
 24876  type CreativeFieldValuesDeleteCall struct {
 24877  	s               *Service
 24878  	profileId       int64
 24879  	creativeFieldId int64
 24880  	id              int64
 24881  	urlParams_      gensupport.URLParams
 24882  	ctx_            context.Context
 24883  	header_         http.Header
 24884  }
 24885  
 24886  // Delete: Deletes an existing creative field value.
 24887  func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
 24888  	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24889  	c.profileId = profileId
 24890  	c.creativeFieldId = creativeFieldId
 24891  	c.id = id
 24892  	return c
 24893  }
 24894  
 24895  // Fields allows partial responses to be retrieved. See
 24896  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24897  // for more information.
 24898  func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
 24899  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24900  	return c
 24901  }
 24902  
 24903  // Context sets the context to be used in this call's Do method. Any
 24904  // pending HTTP request will be aborted if the provided context is
 24905  // canceled.
 24906  func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 24907  	c.ctx_ = ctx
 24908  	return c
 24909  }
 24910  
 24911  // Header returns an http.Header that can be modified by the caller to
 24912  // add HTTP headers to the request.
 24913  func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
 24914  	if c.header_ == nil {
 24915  		c.header_ = make(http.Header)
 24916  	}
 24917  	return c.header_
 24918  }
 24919  
 24920  func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 24921  	reqHeaders := make(http.Header)
 24922  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24923  	for k, v := range c.header_ {
 24924  		reqHeaders[k] = v
 24925  	}
 24926  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24927  	var body io.Reader = nil
 24928  	c.urlParams_.Set("alt", alt)
 24929  	c.urlParams_.Set("prettyPrint", "false")
 24930  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 24931  	urls += "?" + c.urlParams_.Encode()
 24932  	req, err := http.NewRequest("DELETE", urls, body)
 24933  	if err != nil {
 24934  		return nil, err
 24935  	}
 24936  	req.Header = reqHeaders
 24937  	googleapi.Expand(req.URL, map[string]string{
 24938  		"profileId":       strconv.FormatInt(c.profileId, 10),
 24939  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 24940  		"id":              strconv.FormatInt(c.id, 10),
 24941  	})
 24942  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24943  }
 24944  
 24945  // Do executes the "dfareporting.creativeFieldValues.delete" call.
 24946  func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
 24947  	gensupport.SetOptions(c.urlParams_, opts...)
 24948  	res, err := c.doRequest("json")
 24949  	if err != nil {
 24950  		return err
 24951  	}
 24952  	defer googleapi.CloseBody(res)
 24953  	if err := googleapi.CheckResponse(res); err != nil {
 24954  		return err
 24955  	}
 24956  	return nil
 24957  	// {
 24958  	//   "description": "Deletes an existing creative field value.",
 24959  	//   "httpMethod": "DELETE",
 24960  	//   "id": "dfareporting.creativeFieldValues.delete",
 24961  	//   "parameterOrder": [
 24962  	//     "profileId",
 24963  	//     "creativeFieldId",
 24964  	//     "id"
 24965  	//   ],
 24966  	//   "parameters": {
 24967  	//     "creativeFieldId": {
 24968  	//       "description": "Creative field ID for this creative field value.",
 24969  	//       "format": "int64",
 24970  	//       "location": "path",
 24971  	//       "required": true,
 24972  	//       "type": "string"
 24973  	//     },
 24974  	//     "id": {
 24975  	//       "description": "Creative Field Value ID",
 24976  	//       "format": "int64",
 24977  	//       "location": "path",
 24978  	//       "required": true,
 24979  	//       "type": "string"
 24980  	//     },
 24981  	//     "profileId": {
 24982  	//       "description": "User profile ID associated with this request.",
 24983  	//       "format": "int64",
 24984  	//       "location": "path",
 24985  	//       "required": true,
 24986  	//       "type": "string"
 24987  	//     }
 24988  	//   },
 24989  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 24990  	//   "scopes": [
 24991  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24992  	//   ]
 24993  	// }
 24994  
 24995  }
 24996  
 24997  // method id "dfareporting.creativeFieldValues.get":
 24998  
 24999  type CreativeFieldValuesGetCall struct {
 25000  	s               *Service
 25001  	profileId       int64
 25002  	creativeFieldId int64
 25003  	id              int64
 25004  	urlParams_      gensupport.URLParams
 25005  	ifNoneMatch_    string
 25006  	ctx_            context.Context
 25007  	header_         http.Header
 25008  }
 25009  
 25010  // Get: Gets one creative field value by ID.
 25011  func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
 25012  	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25013  	c.profileId = profileId
 25014  	c.creativeFieldId = creativeFieldId
 25015  	c.id = id
 25016  	return c
 25017  }
 25018  
 25019  // Fields allows partial responses to be retrieved. See
 25020  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25021  // for more information.
 25022  func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
 25023  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25024  	return c
 25025  }
 25026  
 25027  // IfNoneMatch sets the optional parameter which makes the operation
 25028  // fail if the object's ETag matches the given value. This is useful for
 25029  // getting updates only after the object has changed since the last
 25030  // request. Use googleapi.IsNotModified to check whether the response
 25031  // error from Do is the result of In-None-Match.
 25032  func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
 25033  	c.ifNoneMatch_ = entityTag
 25034  	return c
 25035  }
 25036  
 25037  // Context sets the context to be used in this call's Do method. Any
 25038  // pending HTTP request will be aborted if the provided context is
 25039  // canceled.
 25040  func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 25041  	c.ctx_ = ctx
 25042  	return c
 25043  }
 25044  
 25045  // Header returns an http.Header that can be modified by the caller to
 25046  // add HTTP headers to the request.
 25047  func (c *CreativeFieldValuesGetCall) Header() http.Header {
 25048  	if c.header_ == nil {
 25049  		c.header_ = make(http.Header)
 25050  	}
 25051  	return c.header_
 25052  }
 25053  
 25054  func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 25055  	reqHeaders := make(http.Header)
 25056  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25057  	for k, v := range c.header_ {
 25058  		reqHeaders[k] = v
 25059  	}
 25060  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25061  	if c.ifNoneMatch_ != "" {
 25062  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25063  	}
 25064  	var body io.Reader = nil
 25065  	c.urlParams_.Set("alt", alt)
 25066  	c.urlParams_.Set("prettyPrint", "false")
 25067  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 25068  	urls += "?" + c.urlParams_.Encode()
 25069  	req, err := http.NewRequest("GET", urls, body)
 25070  	if err != nil {
 25071  		return nil, err
 25072  	}
 25073  	req.Header = reqHeaders
 25074  	googleapi.Expand(req.URL, map[string]string{
 25075  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25076  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25077  		"id":              strconv.FormatInt(c.id, 10),
 25078  	})
 25079  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25080  }
 25081  
 25082  // Do executes the "dfareporting.creativeFieldValues.get" call.
 25083  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25084  // non-2xx status code is an error. Response headers are in either
 25085  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25086  // returned at all) in error.(*googleapi.Error).Header. Use
 25087  // googleapi.IsNotModified to check whether the returned error was
 25088  // because http.StatusNotModified was returned.
 25089  func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25090  	gensupport.SetOptions(c.urlParams_, opts...)
 25091  	res, err := c.doRequest("json")
 25092  	if res != nil && res.StatusCode == http.StatusNotModified {
 25093  		if res.Body != nil {
 25094  			res.Body.Close()
 25095  		}
 25096  		return nil, &googleapi.Error{
 25097  			Code:   res.StatusCode,
 25098  			Header: res.Header,
 25099  		}
 25100  	}
 25101  	if err != nil {
 25102  		return nil, err
 25103  	}
 25104  	defer googleapi.CloseBody(res)
 25105  	if err := googleapi.CheckResponse(res); err != nil {
 25106  		return nil, err
 25107  	}
 25108  	ret := &CreativeFieldValue{
 25109  		ServerResponse: googleapi.ServerResponse{
 25110  			Header:         res.Header,
 25111  			HTTPStatusCode: res.StatusCode,
 25112  		},
 25113  	}
 25114  	target := &ret
 25115  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25116  		return nil, err
 25117  	}
 25118  	return ret, nil
 25119  	// {
 25120  	//   "description": "Gets one creative field value by ID.",
 25121  	//   "httpMethod": "GET",
 25122  	//   "id": "dfareporting.creativeFieldValues.get",
 25123  	//   "parameterOrder": [
 25124  	//     "profileId",
 25125  	//     "creativeFieldId",
 25126  	//     "id"
 25127  	//   ],
 25128  	//   "parameters": {
 25129  	//     "creativeFieldId": {
 25130  	//       "description": "Creative field ID for this creative field value.",
 25131  	//       "format": "int64",
 25132  	//       "location": "path",
 25133  	//       "required": true,
 25134  	//       "type": "string"
 25135  	//     },
 25136  	//     "id": {
 25137  	//       "description": "Creative Field Value ID",
 25138  	//       "format": "int64",
 25139  	//       "location": "path",
 25140  	//       "required": true,
 25141  	//       "type": "string"
 25142  	//     },
 25143  	//     "profileId": {
 25144  	//       "description": "User profile ID associated with this request.",
 25145  	//       "format": "int64",
 25146  	//       "location": "path",
 25147  	//       "required": true,
 25148  	//       "type": "string"
 25149  	//     }
 25150  	//   },
 25151  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 25152  	//   "response": {
 25153  	//     "$ref": "CreativeFieldValue"
 25154  	//   },
 25155  	//   "scopes": [
 25156  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25157  	//   ]
 25158  	// }
 25159  
 25160  }
 25161  
 25162  // method id "dfareporting.creativeFieldValues.insert":
 25163  
 25164  type CreativeFieldValuesInsertCall struct {
 25165  	s                  *Service
 25166  	profileId          int64
 25167  	creativeFieldId    int64
 25168  	creativefieldvalue *CreativeFieldValue
 25169  	urlParams_         gensupport.URLParams
 25170  	ctx_               context.Context
 25171  	header_            http.Header
 25172  }
 25173  
 25174  // Insert: Inserts a new creative field value.
 25175  func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
 25176  	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25177  	c.profileId = profileId
 25178  	c.creativeFieldId = creativeFieldId
 25179  	c.creativefieldvalue = creativefieldvalue
 25180  	return c
 25181  }
 25182  
 25183  // Fields allows partial responses to be retrieved. See
 25184  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25185  // for more information.
 25186  func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
 25187  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25188  	return c
 25189  }
 25190  
 25191  // Context sets the context to be used in this call's Do method. Any
 25192  // pending HTTP request will be aborted if the provided context is
 25193  // canceled.
 25194  func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 25195  	c.ctx_ = ctx
 25196  	return c
 25197  }
 25198  
 25199  // Header returns an http.Header that can be modified by the caller to
 25200  // add HTTP headers to the request.
 25201  func (c *CreativeFieldValuesInsertCall) Header() http.Header {
 25202  	if c.header_ == nil {
 25203  		c.header_ = make(http.Header)
 25204  	}
 25205  	return c.header_
 25206  }
 25207  
 25208  func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
 25209  	reqHeaders := make(http.Header)
 25210  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25211  	for k, v := range c.header_ {
 25212  		reqHeaders[k] = v
 25213  	}
 25214  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25215  	var body io.Reader = nil
 25216  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25217  	if err != nil {
 25218  		return nil, err
 25219  	}
 25220  	reqHeaders.Set("Content-Type", "application/json")
 25221  	c.urlParams_.Set("alt", alt)
 25222  	c.urlParams_.Set("prettyPrint", "false")
 25223  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25224  	urls += "?" + c.urlParams_.Encode()
 25225  	req, err := http.NewRequest("POST", urls, body)
 25226  	if err != nil {
 25227  		return nil, err
 25228  	}
 25229  	req.Header = reqHeaders
 25230  	googleapi.Expand(req.URL, map[string]string{
 25231  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25232  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25233  	})
 25234  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25235  }
 25236  
 25237  // Do executes the "dfareporting.creativeFieldValues.insert" call.
 25238  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25239  // non-2xx status code is an error. Response headers are in either
 25240  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25241  // returned at all) in error.(*googleapi.Error).Header. Use
 25242  // googleapi.IsNotModified to check whether the returned error was
 25243  // because http.StatusNotModified was returned.
 25244  func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25245  	gensupport.SetOptions(c.urlParams_, opts...)
 25246  	res, err := c.doRequest("json")
 25247  	if res != nil && res.StatusCode == http.StatusNotModified {
 25248  		if res.Body != nil {
 25249  			res.Body.Close()
 25250  		}
 25251  		return nil, &googleapi.Error{
 25252  			Code:   res.StatusCode,
 25253  			Header: res.Header,
 25254  		}
 25255  	}
 25256  	if err != nil {
 25257  		return nil, err
 25258  	}
 25259  	defer googleapi.CloseBody(res)
 25260  	if err := googleapi.CheckResponse(res); err != nil {
 25261  		return nil, err
 25262  	}
 25263  	ret := &CreativeFieldValue{
 25264  		ServerResponse: googleapi.ServerResponse{
 25265  			Header:         res.Header,
 25266  			HTTPStatusCode: res.StatusCode,
 25267  		},
 25268  	}
 25269  	target := &ret
 25270  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25271  		return nil, err
 25272  	}
 25273  	return ret, nil
 25274  	// {
 25275  	//   "description": "Inserts a new creative field value.",
 25276  	//   "httpMethod": "POST",
 25277  	//   "id": "dfareporting.creativeFieldValues.insert",
 25278  	//   "parameterOrder": [
 25279  	//     "profileId",
 25280  	//     "creativeFieldId"
 25281  	//   ],
 25282  	//   "parameters": {
 25283  	//     "creativeFieldId": {
 25284  	//       "description": "Creative field ID for this creative field value.",
 25285  	//       "format": "int64",
 25286  	//       "location": "path",
 25287  	//       "required": true,
 25288  	//       "type": "string"
 25289  	//     },
 25290  	//     "profileId": {
 25291  	//       "description": "User profile ID associated with this request.",
 25292  	//       "format": "int64",
 25293  	//       "location": "path",
 25294  	//       "required": true,
 25295  	//       "type": "string"
 25296  	//     }
 25297  	//   },
 25298  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25299  	//   "request": {
 25300  	//     "$ref": "CreativeFieldValue"
 25301  	//   },
 25302  	//   "response": {
 25303  	//     "$ref": "CreativeFieldValue"
 25304  	//   },
 25305  	//   "scopes": [
 25306  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25307  	//   ]
 25308  	// }
 25309  
 25310  }
 25311  
 25312  // method id "dfareporting.creativeFieldValues.list":
 25313  
 25314  type CreativeFieldValuesListCall struct {
 25315  	s               *Service
 25316  	profileId       int64
 25317  	creativeFieldId int64
 25318  	urlParams_      gensupport.URLParams
 25319  	ifNoneMatch_    string
 25320  	ctx_            context.Context
 25321  	header_         http.Header
 25322  }
 25323  
 25324  // List: Retrieves a list of creative field values, possibly filtered.
 25325  // This method supports paging.
 25326  func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
 25327  	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25328  	c.profileId = profileId
 25329  	c.creativeFieldId = creativeFieldId
 25330  	return c
 25331  }
 25332  
 25333  // Ids sets the optional parameter "ids": Select only creative field
 25334  // values with these IDs.
 25335  func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
 25336  	var ids_ []string
 25337  	for _, v := range ids {
 25338  		ids_ = append(ids_, fmt.Sprint(v))
 25339  	}
 25340  	c.urlParams_.SetMulti("ids", ids_)
 25341  	return c
 25342  }
 25343  
 25344  // MaxResults sets the optional parameter "maxResults": Maximum number
 25345  // of results to return.
 25346  func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
 25347  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 25348  	return c
 25349  }
 25350  
 25351  // PageToken sets the optional parameter "pageToken": Value of the
 25352  // nextPageToken from the previous result page.
 25353  func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
 25354  	c.urlParams_.Set("pageToken", pageToken)
 25355  	return c
 25356  }
 25357  
 25358  // SearchString sets the optional parameter "searchString": Allows
 25359  // searching for creative field values by their values. Wildcards (e.g.
 25360  // *) are not allowed.
 25361  func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
 25362  	c.urlParams_.Set("searchString", searchString)
 25363  	return c
 25364  }
 25365  
 25366  // SortField sets the optional parameter "sortField": Field by which to
 25367  // sort the list.
 25368  //
 25369  // Possible values:
 25370  //
 25371  //	"ID" (default)
 25372  //	"VALUE"
 25373  func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
 25374  	c.urlParams_.Set("sortField", sortField)
 25375  	return c
 25376  }
 25377  
 25378  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 25379  // results.
 25380  //
 25381  // Possible values:
 25382  //
 25383  //	"ASCENDING" (default)
 25384  //	"DESCENDING"
 25385  func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
 25386  	c.urlParams_.Set("sortOrder", sortOrder)
 25387  	return c
 25388  }
 25389  
 25390  // Fields allows partial responses to be retrieved. See
 25391  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25392  // for more information.
 25393  func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
 25394  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25395  	return c
 25396  }
 25397  
 25398  // IfNoneMatch sets the optional parameter which makes the operation
 25399  // fail if the object's ETag matches the given value. This is useful for
 25400  // getting updates only after the object has changed since the last
 25401  // request. Use googleapi.IsNotModified to check whether the response
 25402  // error from Do is the result of In-None-Match.
 25403  func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
 25404  	c.ifNoneMatch_ = entityTag
 25405  	return c
 25406  }
 25407  
 25408  // Context sets the context to be used in this call's Do method. Any
 25409  // pending HTTP request will be aborted if the provided context is
 25410  // canceled.
 25411  func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 25412  	c.ctx_ = ctx
 25413  	return c
 25414  }
 25415  
 25416  // Header returns an http.Header that can be modified by the caller to
 25417  // add HTTP headers to the request.
 25418  func (c *CreativeFieldValuesListCall) Header() http.Header {
 25419  	if c.header_ == nil {
 25420  		c.header_ = make(http.Header)
 25421  	}
 25422  	return c.header_
 25423  }
 25424  
 25425  func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 25426  	reqHeaders := make(http.Header)
 25427  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25428  	for k, v := range c.header_ {
 25429  		reqHeaders[k] = v
 25430  	}
 25431  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25432  	if c.ifNoneMatch_ != "" {
 25433  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25434  	}
 25435  	var body io.Reader = nil
 25436  	c.urlParams_.Set("alt", alt)
 25437  	c.urlParams_.Set("prettyPrint", "false")
 25438  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25439  	urls += "?" + c.urlParams_.Encode()
 25440  	req, err := http.NewRequest("GET", urls, body)
 25441  	if err != nil {
 25442  		return nil, err
 25443  	}
 25444  	req.Header = reqHeaders
 25445  	googleapi.Expand(req.URL, map[string]string{
 25446  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25447  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25448  	})
 25449  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25450  }
 25451  
 25452  // Do executes the "dfareporting.creativeFieldValues.list" call.
 25453  // Exactly one of *CreativeFieldValuesListResponse or error will be
 25454  // non-nil. Any non-2xx status code is an error. Response headers are in
 25455  // either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
 25456  // a response was returned at all) in error.(*googleapi.Error).Header.
 25457  // Use googleapi.IsNotModified to check whether the returned error was
 25458  // because http.StatusNotModified was returned.
 25459  func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
 25460  	gensupport.SetOptions(c.urlParams_, opts...)
 25461  	res, err := c.doRequest("json")
 25462  	if res != nil && res.StatusCode == http.StatusNotModified {
 25463  		if res.Body != nil {
 25464  			res.Body.Close()
 25465  		}
 25466  		return nil, &googleapi.Error{
 25467  			Code:   res.StatusCode,
 25468  			Header: res.Header,
 25469  		}
 25470  	}
 25471  	if err != nil {
 25472  		return nil, err
 25473  	}
 25474  	defer googleapi.CloseBody(res)
 25475  	if err := googleapi.CheckResponse(res); err != nil {
 25476  		return nil, err
 25477  	}
 25478  	ret := &CreativeFieldValuesListResponse{
 25479  		ServerResponse: googleapi.ServerResponse{
 25480  			Header:         res.Header,
 25481  			HTTPStatusCode: res.StatusCode,
 25482  		},
 25483  	}
 25484  	target := &ret
 25485  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25486  		return nil, err
 25487  	}
 25488  	return ret, nil
 25489  	// {
 25490  	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
 25491  	//   "httpMethod": "GET",
 25492  	//   "id": "dfareporting.creativeFieldValues.list",
 25493  	//   "parameterOrder": [
 25494  	//     "profileId",
 25495  	//     "creativeFieldId"
 25496  	//   ],
 25497  	//   "parameters": {
 25498  	//     "creativeFieldId": {
 25499  	//       "description": "Creative field ID for this creative field value.",
 25500  	//       "format": "int64",
 25501  	//       "location": "path",
 25502  	//       "required": true,
 25503  	//       "type": "string"
 25504  	//     },
 25505  	//     "ids": {
 25506  	//       "description": "Select only creative field values with these IDs.",
 25507  	//       "format": "int64",
 25508  	//       "location": "query",
 25509  	//       "repeated": true,
 25510  	//       "type": "string"
 25511  	//     },
 25512  	//     "maxResults": {
 25513  	//       "default": "1000",
 25514  	//       "description": "Maximum number of results to return.",
 25515  	//       "format": "int32",
 25516  	//       "location": "query",
 25517  	//       "maximum": "1000",
 25518  	//       "minimum": "0",
 25519  	//       "type": "integer"
 25520  	//     },
 25521  	//     "pageToken": {
 25522  	//       "description": "Value of the nextPageToken from the previous result page.",
 25523  	//       "location": "query",
 25524  	//       "type": "string"
 25525  	//     },
 25526  	//     "profileId": {
 25527  	//       "description": "User profile ID associated with this request.",
 25528  	//       "format": "int64",
 25529  	//       "location": "path",
 25530  	//       "required": true,
 25531  	//       "type": "string"
 25532  	//     },
 25533  	//     "searchString": {
 25534  	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
 25535  	//       "location": "query",
 25536  	//       "type": "string"
 25537  	//     },
 25538  	//     "sortField": {
 25539  	//       "default": "ID",
 25540  	//       "description": "Field by which to sort the list.",
 25541  	//       "enum": [
 25542  	//         "ID",
 25543  	//         "VALUE"
 25544  	//       ],
 25545  	//       "enumDescriptions": [
 25546  	//         "",
 25547  	//         ""
 25548  	//       ],
 25549  	//       "location": "query",
 25550  	//       "type": "string"
 25551  	//     },
 25552  	//     "sortOrder": {
 25553  	//       "default": "ASCENDING",
 25554  	//       "description": "Order of sorted results.",
 25555  	//       "enum": [
 25556  	//         "ASCENDING",
 25557  	//         "DESCENDING"
 25558  	//       ],
 25559  	//       "enumDescriptions": [
 25560  	//         "",
 25561  	//         ""
 25562  	//       ],
 25563  	//       "location": "query",
 25564  	//       "type": "string"
 25565  	//     }
 25566  	//   },
 25567  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25568  	//   "response": {
 25569  	//     "$ref": "CreativeFieldValuesListResponse"
 25570  	//   },
 25571  	//   "scopes": [
 25572  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25573  	//   ]
 25574  	// }
 25575  
 25576  }
 25577  
 25578  // Pages invokes f for each page of results.
 25579  // A non-nil error returned from f will halt the iteration.
 25580  // The provided context supersedes any context provided to the Context method.
 25581  func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
 25582  	c.ctx_ = ctx
 25583  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 25584  	for {
 25585  		x, err := c.Do()
 25586  		if err != nil {
 25587  			return err
 25588  		}
 25589  		if err := f(x); err != nil {
 25590  			return err
 25591  		}
 25592  		if x.NextPageToken == "" {
 25593  			return nil
 25594  		}
 25595  		c.PageToken(x.NextPageToken)
 25596  	}
 25597  }
 25598  
 25599  // method id "dfareporting.creativeFieldValues.patch":
 25600  
 25601  type CreativeFieldValuesPatchCall struct {
 25602  	s                  *Service
 25603  	profileId          int64
 25604  	creativeFieldId    int64
 25605  	creativefieldvalue *CreativeFieldValue
 25606  	urlParams_         gensupport.URLParams
 25607  	ctx_               context.Context
 25608  	header_            http.Header
 25609  }
 25610  
 25611  // Patch: Updates an existing creative field value. This method supports
 25612  // patch semantics.
 25613  func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
 25614  	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25615  	c.profileId = profileId
 25616  	c.creativeFieldId = creativeFieldId
 25617  	c.urlParams_.Set("id", fmt.Sprint(id))
 25618  	c.creativefieldvalue = creativefieldvalue
 25619  	return c
 25620  }
 25621  
 25622  // Fields allows partial responses to be retrieved. See
 25623  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25624  // for more information.
 25625  func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
 25626  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25627  	return c
 25628  }
 25629  
 25630  // Context sets the context to be used in this call's Do method. Any
 25631  // pending HTTP request will be aborted if the provided context is
 25632  // canceled.
 25633  func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 25634  	c.ctx_ = ctx
 25635  	return c
 25636  }
 25637  
 25638  // Header returns an http.Header that can be modified by the caller to
 25639  // add HTTP headers to the request.
 25640  func (c *CreativeFieldValuesPatchCall) Header() http.Header {
 25641  	if c.header_ == nil {
 25642  		c.header_ = make(http.Header)
 25643  	}
 25644  	return c.header_
 25645  }
 25646  
 25647  func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
 25648  	reqHeaders := make(http.Header)
 25649  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25650  	for k, v := range c.header_ {
 25651  		reqHeaders[k] = v
 25652  	}
 25653  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25654  	var body io.Reader = nil
 25655  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25656  	if err != nil {
 25657  		return nil, err
 25658  	}
 25659  	reqHeaders.Set("Content-Type", "application/json")
 25660  	c.urlParams_.Set("alt", alt)
 25661  	c.urlParams_.Set("prettyPrint", "false")
 25662  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25663  	urls += "?" + c.urlParams_.Encode()
 25664  	req, err := http.NewRequest("PATCH", urls, body)
 25665  	if err != nil {
 25666  		return nil, err
 25667  	}
 25668  	req.Header = reqHeaders
 25669  	googleapi.Expand(req.URL, map[string]string{
 25670  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25671  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25672  	})
 25673  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25674  }
 25675  
 25676  // Do executes the "dfareporting.creativeFieldValues.patch" call.
 25677  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25678  // non-2xx status code is an error. Response headers are in either
 25679  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25680  // returned at all) in error.(*googleapi.Error).Header. Use
 25681  // googleapi.IsNotModified to check whether the returned error was
 25682  // because http.StatusNotModified was returned.
 25683  func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25684  	gensupport.SetOptions(c.urlParams_, opts...)
 25685  	res, err := c.doRequest("json")
 25686  	if res != nil && res.StatusCode == http.StatusNotModified {
 25687  		if res.Body != nil {
 25688  			res.Body.Close()
 25689  		}
 25690  		return nil, &googleapi.Error{
 25691  			Code:   res.StatusCode,
 25692  			Header: res.Header,
 25693  		}
 25694  	}
 25695  	if err != nil {
 25696  		return nil, err
 25697  	}
 25698  	defer googleapi.CloseBody(res)
 25699  	if err := googleapi.CheckResponse(res); err != nil {
 25700  		return nil, err
 25701  	}
 25702  	ret := &CreativeFieldValue{
 25703  		ServerResponse: googleapi.ServerResponse{
 25704  			Header:         res.Header,
 25705  			HTTPStatusCode: res.StatusCode,
 25706  		},
 25707  	}
 25708  	target := &ret
 25709  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25710  		return nil, err
 25711  	}
 25712  	return ret, nil
 25713  	// {
 25714  	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
 25715  	//   "httpMethod": "PATCH",
 25716  	//   "id": "dfareporting.creativeFieldValues.patch",
 25717  	//   "parameterOrder": [
 25718  	//     "profileId",
 25719  	//     "creativeFieldId",
 25720  	//     "id"
 25721  	//   ],
 25722  	//   "parameters": {
 25723  	//     "creativeFieldId": {
 25724  	//       "description": "Creative field ID for this creative field value.",
 25725  	//       "format": "int64",
 25726  	//       "location": "path",
 25727  	//       "required": true,
 25728  	//       "type": "string"
 25729  	//     },
 25730  	//     "id": {
 25731  	//       "description": "Creative Field Value ID",
 25732  	//       "format": "int64",
 25733  	//       "location": "query",
 25734  	//       "required": true,
 25735  	//       "type": "string"
 25736  	//     },
 25737  	//     "profileId": {
 25738  	//       "description": "User profile ID associated with this request.",
 25739  	//       "format": "int64",
 25740  	//       "location": "path",
 25741  	//       "required": true,
 25742  	//       "type": "string"
 25743  	//     }
 25744  	//   },
 25745  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25746  	//   "request": {
 25747  	//     "$ref": "CreativeFieldValue"
 25748  	//   },
 25749  	//   "response": {
 25750  	//     "$ref": "CreativeFieldValue"
 25751  	//   },
 25752  	//   "scopes": [
 25753  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25754  	//   ]
 25755  	// }
 25756  
 25757  }
 25758  
 25759  // method id "dfareporting.creativeFieldValues.update":
 25760  
 25761  type CreativeFieldValuesUpdateCall struct {
 25762  	s                  *Service
 25763  	profileId          int64
 25764  	creativeFieldId    int64
 25765  	creativefieldvalue *CreativeFieldValue
 25766  	urlParams_         gensupport.URLParams
 25767  	ctx_               context.Context
 25768  	header_            http.Header
 25769  }
 25770  
 25771  // Update: Updates an existing creative field value.
 25772  func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
 25773  	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25774  	c.profileId = profileId
 25775  	c.creativeFieldId = creativeFieldId
 25776  	c.creativefieldvalue = creativefieldvalue
 25777  	return c
 25778  }
 25779  
 25780  // Fields allows partial responses to be retrieved. See
 25781  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25782  // for more information.
 25783  func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
 25784  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25785  	return c
 25786  }
 25787  
 25788  // Context sets the context to be used in this call's Do method. Any
 25789  // pending HTTP request will be aborted if the provided context is
 25790  // canceled.
 25791  func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 25792  	c.ctx_ = ctx
 25793  	return c
 25794  }
 25795  
 25796  // Header returns an http.Header that can be modified by the caller to
 25797  // add HTTP headers to the request.
 25798  func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
 25799  	if c.header_ == nil {
 25800  		c.header_ = make(http.Header)
 25801  	}
 25802  	return c.header_
 25803  }
 25804  
 25805  func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 25806  	reqHeaders := make(http.Header)
 25807  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25808  	for k, v := range c.header_ {
 25809  		reqHeaders[k] = v
 25810  	}
 25811  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25812  	var body io.Reader = nil
 25813  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25814  	if err != nil {
 25815  		return nil, err
 25816  	}
 25817  	reqHeaders.Set("Content-Type", "application/json")
 25818  	c.urlParams_.Set("alt", alt)
 25819  	c.urlParams_.Set("prettyPrint", "false")
 25820  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25821  	urls += "?" + c.urlParams_.Encode()
 25822  	req, err := http.NewRequest("PUT", urls, body)
 25823  	if err != nil {
 25824  		return nil, err
 25825  	}
 25826  	req.Header = reqHeaders
 25827  	googleapi.Expand(req.URL, map[string]string{
 25828  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25829  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25830  	})
 25831  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25832  }
 25833  
 25834  // Do executes the "dfareporting.creativeFieldValues.update" call.
 25835  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25836  // non-2xx status code is an error. Response headers are in either
 25837  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25838  // returned at all) in error.(*googleapi.Error).Header. Use
 25839  // googleapi.IsNotModified to check whether the returned error was
 25840  // because http.StatusNotModified was returned.
 25841  func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25842  	gensupport.SetOptions(c.urlParams_, opts...)
 25843  	res, err := c.doRequest("json")
 25844  	if res != nil && res.StatusCode == http.StatusNotModified {
 25845  		if res.Body != nil {
 25846  			res.Body.Close()
 25847  		}
 25848  		return nil, &googleapi.Error{
 25849  			Code:   res.StatusCode,
 25850  			Header: res.Header,
 25851  		}
 25852  	}
 25853  	if err != nil {
 25854  		return nil, err
 25855  	}
 25856  	defer googleapi.CloseBody(res)
 25857  	if err := googleapi.CheckResponse(res); err != nil {
 25858  		return nil, err
 25859  	}
 25860  	ret := &CreativeFieldValue{
 25861  		ServerResponse: googleapi.ServerResponse{
 25862  			Header:         res.Header,
 25863  			HTTPStatusCode: res.StatusCode,
 25864  		},
 25865  	}
 25866  	target := &ret
 25867  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25868  		return nil, err
 25869  	}
 25870  	return ret, nil
 25871  	// {
 25872  	//   "description": "Updates an existing creative field value.",
 25873  	//   "httpMethod": "PUT",
 25874  	//   "id": "dfareporting.creativeFieldValues.update",
 25875  	//   "parameterOrder": [
 25876  	//     "profileId",
 25877  	//     "creativeFieldId"
 25878  	//   ],
 25879  	//   "parameters": {
 25880  	//     "creativeFieldId": {
 25881  	//       "description": "Creative field ID for this creative field value.",
 25882  	//       "format": "int64",
 25883  	//       "location": "path",
 25884  	//       "required": true,
 25885  	//       "type": "string"
 25886  	//     },
 25887  	//     "profileId": {
 25888  	//       "description": "User profile ID associated with this request.",
 25889  	//       "format": "int64",
 25890  	//       "location": "path",
 25891  	//       "required": true,
 25892  	//       "type": "string"
 25893  	//     }
 25894  	//   },
 25895  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25896  	//   "request": {
 25897  	//     "$ref": "CreativeFieldValue"
 25898  	//   },
 25899  	//   "response": {
 25900  	//     "$ref": "CreativeFieldValue"
 25901  	//   },
 25902  	//   "scopes": [
 25903  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25904  	//   ]
 25905  	// }
 25906  
 25907  }
 25908  
 25909  // method id "dfareporting.creativeFields.delete":
 25910  
 25911  type CreativeFieldsDeleteCall struct {
 25912  	s          *Service
 25913  	profileId  int64
 25914  	id         int64
 25915  	urlParams_ gensupport.URLParams
 25916  	ctx_       context.Context
 25917  	header_    http.Header
 25918  }
 25919  
 25920  // Delete: Deletes an existing creative field.
 25921  func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
 25922  	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25923  	c.profileId = profileId
 25924  	c.id = id
 25925  	return c
 25926  }
 25927  
 25928  // Fields allows partial responses to be retrieved. See
 25929  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25930  // for more information.
 25931  func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
 25932  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25933  	return c
 25934  }
 25935  
 25936  // Context sets the context to be used in this call's Do method. Any
 25937  // pending HTTP request will be aborted if the provided context is
 25938  // canceled.
 25939  func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 25940  	c.ctx_ = ctx
 25941  	return c
 25942  }
 25943  
 25944  // Header returns an http.Header that can be modified by the caller to
 25945  // add HTTP headers to the request.
 25946  func (c *CreativeFieldsDeleteCall) Header() http.Header {
 25947  	if c.header_ == nil {
 25948  		c.header_ = make(http.Header)
 25949  	}
 25950  	return c.header_
 25951  }
 25952  
 25953  func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 25954  	reqHeaders := make(http.Header)
 25955  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25956  	for k, v := range c.header_ {
 25957  		reqHeaders[k] = v
 25958  	}
 25959  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25960  	var body io.Reader = nil
 25961  	c.urlParams_.Set("alt", alt)
 25962  	c.urlParams_.Set("prettyPrint", "false")
 25963  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 25964  	urls += "?" + c.urlParams_.Encode()
 25965  	req, err := http.NewRequest("DELETE", urls, body)
 25966  	if err != nil {
 25967  		return nil, err
 25968  	}
 25969  	req.Header = reqHeaders
 25970  	googleapi.Expand(req.URL, map[string]string{
 25971  		"profileId": strconv.FormatInt(c.profileId, 10),
 25972  		"id":        strconv.FormatInt(c.id, 10),
 25973  	})
 25974  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25975  }
 25976  
 25977  // Do executes the "dfareporting.creativeFields.delete" call.
 25978  func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
 25979  	gensupport.SetOptions(c.urlParams_, opts...)
 25980  	res, err := c.doRequest("json")
 25981  	if err != nil {
 25982  		return err
 25983  	}
 25984  	defer googleapi.CloseBody(res)
 25985  	if err := googleapi.CheckResponse(res); err != nil {
 25986  		return err
 25987  	}
 25988  	return nil
 25989  	// {
 25990  	//   "description": "Deletes an existing creative field.",
 25991  	//   "httpMethod": "DELETE",
 25992  	//   "id": "dfareporting.creativeFields.delete",
 25993  	//   "parameterOrder": [
 25994  	//     "profileId",
 25995  	//     "id"
 25996  	//   ],
 25997  	//   "parameters": {
 25998  	//     "id": {
 25999  	//       "description": "Creative Field ID",
 26000  	//       "format": "int64",
 26001  	//       "location": "path",
 26002  	//       "required": true,
 26003  	//       "type": "string"
 26004  	//     },
 26005  	//     "profileId": {
 26006  	//       "description": "User profile ID associated with this request.",
 26007  	//       "format": "int64",
 26008  	//       "location": "path",
 26009  	//       "required": true,
 26010  	//       "type": "string"
 26011  	//     }
 26012  	//   },
 26013  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 26014  	//   "scopes": [
 26015  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26016  	//   ]
 26017  	// }
 26018  
 26019  }
 26020  
 26021  // method id "dfareporting.creativeFields.get":
 26022  
 26023  type CreativeFieldsGetCall struct {
 26024  	s            *Service
 26025  	profileId    int64
 26026  	id           int64
 26027  	urlParams_   gensupport.URLParams
 26028  	ifNoneMatch_ string
 26029  	ctx_         context.Context
 26030  	header_      http.Header
 26031  }
 26032  
 26033  // Get: Gets one creative field by ID.
 26034  func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
 26035  	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26036  	c.profileId = profileId
 26037  	c.id = id
 26038  	return c
 26039  }
 26040  
 26041  // Fields allows partial responses to be retrieved. See
 26042  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26043  // for more information.
 26044  func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
 26045  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26046  	return c
 26047  }
 26048  
 26049  // IfNoneMatch sets the optional parameter which makes the operation
 26050  // fail if the object's ETag matches the given value. This is useful for
 26051  // getting updates only after the object has changed since the last
 26052  // request. Use googleapi.IsNotModified to check whether the response
 26053  // error from Do is the result of In-None-Match.
 26054  func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
 26055  	c.ifNoneMatch_ = entityTag
 26056  	return c
 26057  }
 26058  
 26059  // Context sets the context to be used in this call's Do method. Any
 26060  // pending HTTP request will be aborted if the provided context is
 26061  // canceled.
 26062  func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 26063  	c.ctx_ = ctx
 26064  	return c
 26065  }
 26066  
 26067  // Header returns an http.Header that can be modified by the caller to
 26068  // add HTTP headers to the request.
 26069  func (c *CreativeFieldsGetCall) Header() http.Header {
 26070  	if c.header_ == nil {
 26071  		c.header_ = make(http.Header)
 26072  	}
 26073  	return c.header_
 26074  }
 26075  
 26076  func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 26077  	reqHeaders := make(http.Header)
 26078  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26079  	for k, v := range c.header_ {
 26080  		reqHeaders[k] = v
 26081  	}
 26082  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26083  	if c.ifNoneMatch_ != "" {
 26084  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26085  	}
 26086  	var body io.Reader = nil
 26087  	c.urlParams_.Set("alt", alt)
 26088  	c.urlParams_.Set("prettyPrint", "false")
 26089  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 26090  	urls += "?" + c.urlParams_.Encode()
 26091  	req, err := http.NewRequest("GET", urls, body)
 26092  	if err != nil {
 26093  		return nil, err
 26094  	}
 26095  	req.Header = reqHeaders
 26096  	googleapi.Expand(req.URL, map[string]string{
 26097  		"profileId": strconv.FormatInt(c.profileId, 10),
 26098  		"id":        strconv.FormatInt(c.id, 10),
 26099  	})
 26100  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26101  }
 26102  
 26103  // Do executes the "dfareporting.creativeFields.get" call.
 26104  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26105  // status code is an error. Response headers are in either
 26106  // *CreativeField.ServerResponse.Header or (if a response was returned
 26107  // at all) in error.(*googleapi.Error).Header. Use
 26108  // googleapi.IsNotModified to check whether the returned error was
 26109  // because http.StatusNotModified was returned.
 26110  func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26111  	gensupport.SetOptions(c.urlParams_, opts...)
 26112  	res, err := c.doRequest("json")
 26113  	if res != nil && res.StatusCode == http.StatusNotModified {
 26114  		if res.Body != nil {
 26115  			res.Body.Close()
 26116  		}
 26117  		return nil, &googleapi.Error{
 26118  			Code:   res.StatusCode,
 26119  			Header: res.Header,
 26120  		}
 26121  	}
 26122  	if err != nil {
 26123  		return nil, err
 26124  	}
 26125  	defer googleapi.CloseBody(res)
 26126  	if err := googleapi.CheckResponse(res); err != nil {
 26127  		return nil, err
 26128  	}
 26129  	ret := &CreativeField{
 26130  		ServerResponse: googleapi.ServerResponse{
 26131  			Header:         res.Header,
 26132  			HTTPStatusCode: res.StatusCode,
 26133  		},
 26134  	}
 26135  	target := &ret
 26136  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26137  		return nil, err
 26138  	}
 26139  	return ret, nil
 26140  	// {
 26141  	//   "description": "Gets one creative field by ID.",
 26142  	//   "httpMethod": "GET",
 26143  	//   "id": "dfareporting.creativeFields.get",
 26144  	//   "parameterOrder": [
 26145  	//     "profileId",
 26146  	//     "id"
 26147  	//   ],
 26148  	//   "parameters": {
 26149  	//     "id": {
 26150  	//       "description": "Creative Field ID",
 26151  	//       "format": "int64",
 26152  	//       "location": "path",
 26153  	//       "required": true,
 26154  	//       "type": "string"
 26155  	//     },
 26156  	//     "profileId": {
 26157  	//       "description": "User profile ID associated with this request.",
 26158  	//       "format": "int64",
 26159  	//       "location": "path",
 26160  	//       "required": true,
 26161  	//       "type": "string"
 26162  	//     }
 26163  	//   },
 26164  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 26165  	//   "response": {
 26166  	//     "$ref": "CreativeField"
 26167  	//   },
 26168  	//   "scopes": [
 26169  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26170  	//   ]
 26171  	// }
 26172  
 26173  }
 26174  
 26175  // method id "dfareporting.creativeFields.insert":
 26176  
 26177  type CreativeFieldsInsertCall struct {
 26178  	s             *Service
 26179  	profileId     int64
 26180  	creativefield *CreativeField
 26181  	urlParams_    gensupport.URLParams
 26182  	ctx_          context.Context
 26183  	header_       http.Header
 26184  }
 26185  
 26186  // Insert: Inserts a new creative field.
 26187  func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
 26188  	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26189  	c.profileId = profileId
 26190  	c.creativefield = creativefield
 26191  	return c
 26192  }
 26193  
 26194  // Fields allows partial responses to be retrieved. See
 26195  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26196  // for more information.
 26197  func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
 26198  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26199  	return c
 26200  }
 26201  
 26202  // Context sets the context to be used in this call's Do method. Any
 26203  // pending HTTP request will be aborted if the provided context is
 26204  // canceled.
 26205  func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 26206  	c.ctx_ = ctx
 26207  	return c
 26208  }
 26209  
 26210  // Header returns an http.Header that can be modified by the caller to
 26211  // add HTTP headers to the request.
 26212  func (c *CreativeFieldsInsertCall) Header() http.Header {
 26213  	if c.header_ == nil {
 26214  		c.header_ = make(http.Header)
 26215  	}
 26216  	return c.header_
 26217  }
 26218  
 26219  func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
 26220  	reqHeaders := make(http.Header)
 26221  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26222  	for k, v := range c.header_ {
 26223  		reqHeaders[k] = v
 26224  	}
 26225  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26226  	var body io.Reader = nil
 26227  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26228  	if err != nil {
 26229  		return nil, err
 26230  	}
 26231  	reqHeaders.Set("Content-Type", "application/json")
 26232  	c.urlParams_.Set("alt", alt)
 26233  	c.urlParams_.Set("prettyPrint", "false")
 26234  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26235  	urls += "?" + c.urlParams_.Encode()
 26236  	req, err := http.NewRequest("POST", urls, body)
 26237  	if err != nil {
 26238  		return nil, err
 26239  	}
 26240  	req.Header = reqHeaders
 26241  	googleapi.Expand(req.URL, map[string]string{
 26242  		"profileId": strconv.FormatInt(c.profileId, 10),
 26243  	})
 26244  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26245  }
 26246  
 26247  // Do executes the "dfareporting.creativeFields.insert" call.
 26248  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26249  // status code is an error. Response headers are in either
 26250  // *CreativeField.ServerResponse.Header or (if a response was returned
 26251  // at all) in error.(*googleapi.Error).Header. Use
 26252  // googleapi.IsNotModified to check whether the returned error was
 26253  // because http.StatusNotModified was returned.
 26254  func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26255  	gensupport.SetOptions(c.urlParams_, opts...)
 26256  	res, err := c.doRequest("json")
 26257  	if res != nil && res.StatusCode == http.StatusNotModified {
 26258  		if res.Body != nil {
 26259  			res.Body.Close()
 26260  		}
 26261  		return nil, &googleapi.Error{
 26262  			Code:   res.StatusCode,
 26263  			Header: res.Header,
 26264  		}
 26265  	}
 26266  	if err != nil {
 26267  		return nil, err
 26268  	}
 26269  	defer googleapi.CloseBody(res)
 26270  	if err := googleapi.CheckResponse(res); err != nil {
 26271  		return nil, err
 26272  	}
 26273  	ret := &CreativeField{
 26274  		ServerResponse: googleapi.ServerResponse{
 26275  			Header:         res.Header,
 26276  			HTTPStatusCode: res.StatusCode,
 26277  		},
 26278  	}
 26279  	target := &ret
 26280  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26281  		return nil, err
 26282  	}
 26283  	return ret, nil
 26284  	// {
 26285  	//   "description": "Inserts a new creative field.",
 26286  	//   "httpMethod": "POST",
 26287  	//   "id": "dfareporting.creativeFields.insert",
 26288  	//   "parameterOrder": [
 26289  	//     "profileId"
 26290  	//   ],
 26291  	//   "parameters": {
 26292  	//     "profileId": {
 26293  	//       "description": "User profile ID associated with this request.",
 26294  	//       "format": "int64",
 26295  	//       "location": "path",
 26296  	//       "required": true,
 26297  	//       "type": "string"
 26298  	//     }
 26299  	//   },
 26300  	//   "path": "userprofiles/{profileId}/creativeFields",
 26301  	//   "request": {
 26302  	//     "$ref": "CreativeField"
 26303  	//   },
 26304  	//   "response": {
 26305  	//     "$ref": "CreativeField"
 26306  	//   },
 26307  	//   "scopes": [
 26308  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26309  	//   ]
 26310  	// }
 26311  
 26312  }
 26313  
 26314  // method id "dfareporting.creativeFields.list":
 26315  
 26316  type CreativeFieldsListCall struct {
 26317  	s            *Service
 26318  	profileId    int64
 26319  	urlParams_   gensupport.URLParams
 26320  	ifNoneMatch_ string
 26321  	ctx_         context.Context
 26322  	header_      http.Header
 26323  }
 26324  
 26325  // List: Retrieves a list of creative fields, possibly filtered. This
 26326  // method supports paging.
 26327  func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
 26328  	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26329  	c.profileId = profileId
 26330  	return c
 26331  }
 26332  
 26333  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 26334  // only creative fields that belong to these advertisers.
 26335  func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
 26336  	var advertiserIds_ []string
 26337  	for _, v := range advertiserIds {
 26338  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 26339  	}
 26340  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 26341  	return c
 26342  }
 26343  
 26344  // Ids sets the optional parameter "ids": Select only creative fields
 26345  // with these IDs.
 26346  func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
 26347  	var ids_ []string
 26348  	for _, v := range ids {
 26349  		ids_ = append(ids_, fmt.Sprint(v))
 26350  	}
 26351  	c.urlParams_.SetMulti("ids", ids_)
 26352  	return c
 26353  }
 26354  
 26355  // MaxResults sets the optional parameter "maxResults": Maximum number
 26356  // of results to return.
 26357  func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
 26358  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 26359  	return c
 26360  }
 26361  
 26362  // PageToken sets the optional parameter "pageToken": Value of the
 26363  // nextPageToken from the previous result page.
 26364  func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
 26365  	c.urlParams_.Set("pageToken", pageToken)
 26366  	return c
 26367  }
 26368  
 26369  // SearchString sets the optional parameter "searchString": Allows
 26370  // searching for creative fields by name or ID. Wildcards (*) are
 26371  // allowed. For example, "creativefield*2015" will return creative
 26372  // fields with names like "creativefield June 2015", "creativefield
 26373  // April 2015", or simply "creativefield 2015". Most of the searches
 26374  // also add wild-cards implicitly at the start and the end of the search
 26375  // string. For example, a search string of "creativefield" will match
 26376  // creative fields with the name "my creativefield", "creativefield
 26377  // 2015", or simply "creativefield".
 26378  func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
 26379  	c.urlParams_.Set("searchString", searchString)
 26380  	return c
 26381  }
 26382  
 26383  // SortField sets the optional parameter "sortField": Field by which to
 26384  // sort the list.
 26385  //
 26386  // Possible values:
 26387  //
 26388  //	"ID" (default)
 26389  //	"NAME"
 26390  func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
 26391  	c.urlParams_.Set("sortField", sortField)
 26392  	return c
 26393  }
 26394  
 26395  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 26396  // results.
 26397  //
 26398  // Possible values:
 26399  //
 26400  //	"ASCENDING" (default)
 26401  //	"DESCENDING"
 26402  func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
 26403  	c.urlParams_.Set("sortOrder", sortOrder)
 26404  	return c
 26405  }
 26406  
 26407  // Fields allows partial responses to be retrieved. See
 26408  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26409  // for more information.
 26410  func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
 26411  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26412  	return c
 26413  }
 26414  
 26415  // IfNoneMatch sets the optional parameter which makes the operation
 26416  // fail if the object's ETag matches the given value. This is useful for
 26417  // getting updates only after the object has changed since the last
 26418  // request. Use googleapi.IsNotModified to check whether the response
 26419  // error from Do is the result of In-None-Match.
 26420  func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
 26421  	c.ifNoneMatch_ = entityTag
 26422  	return c
 26423  }
 26424  
 26425  // Context sets the context to be used in this call's Do method. Any
 26426  // pending HTTP request will be aborted if the provided context is
 26427  // canceled.
 26428  func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 26429  	c.ctx_ = ctx
 26430  	return c
 26431  }
 26432  
 26433  // Header returns an http.Header that can be modified by the caller to
 26434  // add HTTP headers to the request.
 26435  func (c *CreativeFieldsListCall) Header() http.Header {
 26436  	if c.header_ == nil {
 26437  		c.header_ = make(http.Header)
 26438  	}
 26439  	return c.header_
 26440  }
 26441  
 26442  func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 26443  	reqHeaders := make(http.Header)
 26444  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26445  	for k, v := range c.header_ {
 26446  		reqHeaders[k] = v
 26447  	}
 26448  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26449  	if c.ifNoneMatch_ != "" {
 26450  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26451  	}
 26452  	var body io.Reader = nil
 26453  	c.urlParams_.Set("alt", alt)
 26454  	c.urlParams_.Set("prettyPrint", "false")
 26455  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26456  	urls += "?" + c.urlParams_.Encode()
 26457  	req, err := http.NewRequest("GET", urls, body)
 26458  	if err != nil {
 26459  		return nil, err
 26460  	}
 26461  	req.Header = reqHeaders
 26462  	googleapi.Expand(req.URL, map[string]string{
 26463  		"profileId": strconv.FormatInt(c.profileId, 10),
 26464  	})
 26465  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26466  }
 26467  
 26468  // Do executes the "dfareporting.creativeFields.list" call.
 26469  // Exactly one of *CreativeFieldsListResponse or error will be non-nil.
 26470  // Any non-2xx status code is an error. Response headers are in either
 26471  // *CreativeFieldsListResponse.ServerResponse.Header or (if a response
 26472  // was returned at all) in error.(*googleapi.Error).Header. Use
 26473  // googleapi.IsNotModified to check whether the returned error was
 26474  // because http.StatusNotModified was returned.
 26475  func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
 26476  	gensupport.SetOptions(c.urlParams_, opts...)
 26477  	res, err := c.doRequest("json")
 26478  	if res != nil && res.StatusCode == http.StatusNotModified {
 26479  		if res.Body != nil {
 26480  			res.Body.Close()
 26481  		}
 26482  		return nil, &googleapi.Error{
 26483  			Code:   res.StatusCode,
 26484  			Header: res.Header,
 26485  		}
 26486  	}
 26487  	if err != nil {
 26488  		return nil, err
 26489  	}
 26490  	defer googleapi.CloseBody(res)
 26491  	if err := googleapi.CheckResponse(res); err != nil {
 26492  		return nil, err
 26493  	}
 26494  	ret := &CreativeFieldsListResponse{
 26495  		ServerResponse: googleapi.ServerResponse{
 26496  			Header:         res.Header,
 26497  			HTTPStatusCode: res.StatusCode,
 26498  		},
 26499  	}
 26500  	target := &ret
 26501  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26502  		return nil, err
 26503  	}
 26504  	return ret, nil
 26505  	// {
 26506  	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
 26507  	//   "httpMethod": "GET",
 26508  	//   "id": "dfareporting.creativeFields.list",
 26509  	//   "parameterOrder": [
 26510  	//     "profileId"
 26511  	//   ],
 26512  	//   "parameters": {
 26513  	//     "advertiserIds": {
 26514  	//       "description": "Select only creative fields that belong to these advertisers.",
 26515  	//       "format": "int64",
 26516  	//       "location": "query",
 26517  	//       "repeated": true,
 26518  	//       "type": "string"
 26519  	//     },
 26520  	//     "ids": {
 26521  	//       "description": "Select only creative fields with these IDs.",
 26522  	//       "format": "int64",
 26523  	//       "location": "query",
 26524  	//       "repeated": true,
 26525  	//       "type": "string"
 26526  	//     },
 26527  	//     "maxResults": {
 26528  	//       "default": "1000",
 26529  	//       "description": "Maximum number of results to return.",
 26530  	//       "format": "int32",
 26531  	//       "location": "query",
 26532  	//       "maximum": "1000",
 26533  	//       "minimum": "0",
 26534  	//       "type": "integer"
 26535  	//     },
 26536  	//     "pageToken": {
 26537  	//       "description": "Value of the nextPageToken from the previous result page.",
 26538  	//       "location": "query",
 26539  	//       "type": "string"
 26540  	//     },
 26541  	//     "profileId": {
 26542  	//       "description": "User profile ID associated with this request.",
 26543  	//       "format": "int64",
 26544  	//       "location": "path",
 26545  	//       "required": true,
 26546  	//       "type": "string"
 26547  	//     },
 26548  	//     "searchString": {
 26549  	//       "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\".",
 26550  	//       "location": "query",
 26551  	//       "type": "string"
 26552  	//     },
 26553  	//     "sortField": {
 26554  	//       "default": "ID",
 26555  	//       "description": "Field by which to sort the list.",
 26556  	//       "enum": [
 26557  	//         "ID",
 26558  	//         "NAME"
 26559  	//       ],
 26560  	//       "enumDescriptions": [
 26561  	//         "",
 26562  	//         ""
 26563  	//       ],
 26564  	//       "location": "query",
 26565  	//       "type": "string"
 26566  	//     },
 26567  	//     "sortOrder": {
 26568  	//       "default": "ASCENDING",
 26569  	//       "description": "Order of sorted results.",
 26570  	//       "enum": [
 26571  	//         "ASCENDING",
 26572  	//         "DESCENDING"
 26573  	//       ],
 26574  	//       "enumDescriptions": [
 26575  	//         "",
 26576  	//         ""
 26577  	//       ],
 26578  	//       "location": "query",
 26579  	//       "type": "string"
 26580  	//     }
 26581  	//   },
 26582  	//   "path": "userprofiles/{profileId}/creativeFields",
 26583  	//   "response": {
 26584  	//     "$ref": "CreativeFieldsListResponse"
 26585  	//   },
 26586  	//   "scopes": [
 26587  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26588  	//   ]
 26589  	// }
 26590  
 26591  }
 26592  
 26593  // Pages invokes f for each page of results.
 26594  // A non-nil error returned from f will halt the iteration.
 26595  // The provided context supersedes any context provided to the Context method.
 26596  func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
 26597  	c.ctx_ = ctx
 26598  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 26599  	for {
 26600  		x, err := c.Do()
 26601  		if err != nil {
 26602  			return err
 26603  		}
 26604  		if err := f(x); err != nil {
 26605  			return err
 26606  		}
 26607  		if x.NextPageToken == "" {
 26608  			return nil
 26609  		}
 26610  		c.PageToken(x.NextPageToken)
 26611  	}
 26612  }
 26613  
 26614  // method id "dfareporting.creativeFields.patch":
 26615  
 26616  type CreativeFieldsPatchCall struct {
 26617  	s             *Service
 26618  	profileId     int64
 26619  	creativefield *CreativeField
 26620  	urlParams_    gensupport.URLParams
 26621  	ctx_          context.Context
 26622  	header_       http.Header
 26623  }
 26624  
 26625  // Patch: Updates an existing creative field. This method supports patch
 26626  // semantics.
 26627  func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
 26628  	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26629  	c.profileId = profileId
 26630  	c.urlParams_.Set("id", fmt.Sprint(id))
 26631  	c.creativefield = creativefield
 26632  	return c
 26633  }
 26634  
 26635  // Fields allows partial responses to be retrieved. See
 26636  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26637  // for more information.
 26638  func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
 26639  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26640  	return c
 26641  }
 26642  
 26643  // Context sets the context to be used in this call's Do method. Any
 26644  // pending HTTP request will be aborted if the provided context is
 26645  // canceled.
 26646  func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 26647  	c.ctx_ = ctx
 26648  	return c
 26649  }
 26650  
 26651  // Header returns an http.Header that can be modified by the caller to
 26652  // add HTTP headers to the request.
 26653  func (c *CreativeFieldsPatchCall) Header() http.Header {
 26654  	if c.header_ == nil {
 26655  		c.header_ = make(http.Header)
 26656  	}
 26657  	return c.header_
 26658  }
 26659  
 26660  func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 26661  	reqHeaders := make(http.Header)
 26662  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26663  	for k, v := range c.header_ {
 26664  		reqHeaders[k] = v
 26665  	}
 26666  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26667  	var body io.Reader = nil
 26668  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26669  	if err != nil {
 26670  		return nil, err
 26671  	}
 26672  	reqHeaders.Set("Content-Type", "application/json")
 26673  	c.urlParams_.Set("alt", alt)
 26674  	c.urlParams_.Set("prettyPrint", "false")
 26675  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26676  	urls += "?" + c.urlParams_.Encode()
 26677  	req, err := http.NewRequest("PATCH", urls, body)
 26678  	if err != nil {
 26679  		return nil, err
 26680  	}
 26681  	req.Header = reqHeaders
 26682  	googleapi.Expand(req.URL, map[string]string{
 26683  		"profileId": strconv.FormatInt(c.profileId, 10),
 26684  	})
 26685  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26686  }
 26687  
 26688  // Do executes the "dfareporting.creativeFields.patch" call.
 26689  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26690  // status code is an error. Response headers are in either
 26691  // *CreativeField.ServerResponse.Header or (if a response was returned
 26692  // at all) in error.(*googleapi.Error).Header. Use
 26693  // googleapi.IsNotModified to check whether the returned error was
 26694  // because http.StatusNotModified was returned.
 26695  func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26696  	gensupport.SetOptions(c.urlParams_, opts...)
 26697  	res, err := c.doRequest("json")
 26698  	if res != nil && res.StatusCode == http.StatusNotModified {
 26699  		if res.Body != nil {
 26700  			res.Body.Close()
 26701  		}
 26702  		return nil, &googleapi.Error{
 26703  			Code:   res.StatusCode,
 26704  			Header: res.Header,
 26705  		}
 26706  	}
 26707  	if err != nil {
 26708  		return nil, err
 26709  	}
 26710  	defer googleapi.CloseBody(res)
 26711  	if err := googleapi.CheckResponse(res); err != nil {
 26712  		return nil, err
 26713  	}
 26714  	ret := &CreativeField{
 26715  		ServerResponse: googleapi.ServerResponse{
 26716  			Header:         res.Header,
 26717  			HTTPStatusCode: res.StatusCode,
 26718  		},
 26719  	}
 26720  	target := &ret
 26721  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26722  		return nil, err
 26723  	}
 26724  	return ret, nil
 26725  	// {
 26726  	//   "description": "Updates an existing creative field. This method supports patch semantics.",
 26727  	//   "httpMethod": "PATCH",
 26728  	//   "id": "dfareporting.creativeFields.patch",
 26729  	//   "parameterOrder": [
 26730  	//     "profileId",
 26731  	//     "id"
 26732  	//   ],
 26733  	//   "parameters": {
 26734  	//     "id": {
 26735  	//       "description": "Creative Field ID",
 26736  	//       "format": "int64",
 26737  	//       "location": "query",
 26738  	//       "required": true,
 26739  	//       "type": "string"
 26740  	//     },
 26741  	//     "profileId": {
 26742  	//       "description": "User profile ID associated with this request.",
 26743  	//       "format": "int64",
 26744  	//       "location": "path",
 26745  	//       "required": true,
 26746  	//       "type": "string"
 26747  	//     }
 26748  	//   },
 26749  	//   "path": "userprofiles/{profileId}/creativeFields",
 26750  	//   "request": {
 26751  	//     "$ref": "CreativeField"
 26752  	//   },
 26753  	//   "response": {
 26754  	//     "$ref": "CreativeField"
 26755  	//   },
 26756  	//   "scopes": [
 26757  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26758  	//   ]
 26759  	// }
 26760  
 26761  }
 26762  
 26763  // method id "dfareporting.creativeFields.update":
 26764  
 26765  type CreativeFieldsUpdateCall struct {
 26766  	s             *Service
 26767  	profileId     int64
 26768  	creativefield *CreativeField
 26769  	urlParams_    gensupport.URLParams
 26770  	ctx_          context.Context
 26771  	header_       http.Header
 26772  }
 26773  
 26774  // Update: Updates an existing creative field.
 26775  func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
 26776  	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26777  	c.profileId = profileId
 26778  	c.creativefield = creativefield
 26779  	return c
 26780  }
 26781  
 26782  // Fields allows partial responses to be retrieved. See
 26783  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26784  // for more information.
 26785  func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
 26786  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26787  	return c
 26788  }
 26789  
 26790  // Context sets the context to be used in this call's Do method. Any
 26791  // pending HTTP request will be aborted if the provided context is
 26792  // canceled.
 26793  func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 26794  	c.ctx_ = ctx
 26795  	return c
 26796  }
 26797  
 26798  // Header returns an http.Header that can be modified by the caller to
 26799  // add HTTP headers to the request.
 26800  func (c *CreativeFieldsUpdateCall) Header() http.Header {
 26801  	if c.header_ == nil {
 26802  		c.header_ = make(http.Header)
 26803  	}
 26804  	return c.header_
 26805  }
 26806  
 26807  func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 26808  	reqHeaders := make(http.Header)
 26809  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26810  	for k, v := range c.header_ {
 26811  		reqHeaders[k] = v
 26812  	}
 26813  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26814  	var body io.Reader = nil
 26815  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26816  	if err != nil {
 26817  		return nil, err
 26818  	}
 26819  	reqHeaders.Set("Content-Type", "application/json")
 26820  	c.urlParams_.Set("alt", alt)
 26821  	c.urlParams_.Set("prettyPrint", "false")
 26822  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26823  	urls += "?" + c.urlParams_.Encode()
 26824  	req, err := http.NewRequest("PUT", urls, body)
 26825  	if err != nil {
 26826  		return nil, err
 26827  	}
 26828  	req.Header = reqHeaders
 26829  	googleapi.Expand(req.URL, map[string]string{
 26830  		"profileId": strconv.FormatInt(c.profileId, 10),
 26831  	})
 26832  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26833  }
 26834  
 26835  // Do executes the "dfareporting.creativeFields.update" call.
 26836  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26837  // status code is an error. Response headers are in either
 26838  // *CreativeField.ServerResponse.Header or (if a response was returned
 26839  // at all) in error.(*googleapi.Error).Header. Use
 26840  // googleapi.IsNotModified to check whether the returned error was
 26841  // because http.StatusNotModified was returned.
 26842  func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26843  	gensupport.SetOptions(c.urlParams_, opts...)
 26844  	res, err := c.doRequest("json")
 26845  	if res != nil && res.StatusCode == http.StatusNotModified {
 26846  		if res.Body != nil {
 26847  			res.Body.Close()
 26848  		}
 26849  		return nil, &googleapi.Error{
 26850  			Code:   res.StatusCode,
 26851  			Header: res.Header,
 26852  		}
 26853  	}
 26854  	if err != nil {
 26855  		return nil, err
 26856  	}
 26857  	defer googleapi.CloseBody(res)
 26858  	if err := googleapi.CheckResponse(res); err != nil {
 26859  		return nil, err
 26860  	}
 26861  	ret := &CreativeField{
 26862  		ServerResponse: googleapi.ServerResponse{
 26863  			Header:         res.Header,
 26864  			HTTPStatusCode: res.StatusCode,
 26865  		},
 26866  	}
 26867  	target := &ret
 26868  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26869  		return nil, err
 26870  	}
 26871  	return ret, nil
 26872  	// {
 26873  	//   "description": "Updates an existing creative field.",
 26874  	//   "httpMethod": "PUT",
 26875  	//   "id": "dfareporting.creativeFields.update",
 26876  	//   "parameterOrder": [
 26877  	//     "profileId"
 26878  	//   ],
 26879  	//   "parameters": {
 26880  	//     "profileId": {
 26881  	//       "description": "User profile ID associated with this request.",
 26882  	//       "format": "int64",
 26883  	//       "location": "path",
 26884  	//       "required": true,
 26885  	//       "type": "string"
 26886  	//     }
 26887  	//   },
 26888  	//   "path": "userprofiles/{profileId}/creativeFields",
 26889  	//   "request": {
 26890  	//     "$ref": "CreativeField"
 26891  	//   },
 26892  	//   "response": {
 26893  	//     "$ref": "CreativeField"
 26894  	//   },
 26895  	//   "scopes": [
 26896  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26897  	//   ]
 26898  	// }
 26899  
 26900  }
 26901  
 26902  // method id "dfareporting.creativeGroups.get":
 26903  
 26904  type CreativeGroupsGetCall struct {
 26905  	s            *Service
 26906  	profileId    int64
 26907  	id           int64
 26908  	urlParams_   gensupport.URLParams
 26909  	ifNoneMatch_ string
 26910  	ctx_         context.Context
 26911  	header_      http.Header
 26912  }
 26913  
 26914  // Get: Gets one creative group by ID.
 26915  func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
 26916  	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26917  	c.profileId = profileId
 26918  	c.id = id
 26919  	return c
 26920  }
 26921  
 26922  // Fields allows partial responses to be retrieved. See
 26923  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26924  // for more information.
 26925  func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
 26926  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26927  	return c
 26928  }
 26929  
 26930  // IfNoneMatch sets the optional parameter which makes the operation
 26931  // fail if the object's ETag matches the given value. This is useful for
 26932  // getting updates only after the object has changed since the last
 26933  // request. Use googleapi.IsNotModified to check whether the response
 26934  // error from Do is the result of In-None-Match.
 26935  func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
 26936  	c.ifNoneMatch_ = entityTag
 26937  	return c
 26938  }
 26939  
 26940  // Context sets the context to be used in this call's Do method. Any
 26941  // pending HTTP request will be aborted if the provided context is
 26942  // canceled.
 26943  func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 26944  	c.ctx_ = ctx
 26945  	return c
 26946  }
 26947  
 26948  // Header returns an http.Header that can be modified by the caller to
 26949  // add HTTP headers to the request.
 26950  func (c *CreativeGroupsGetCall) Header() http.Header {
 26951  	if c.header_ == nil {
 26952  		c.header_ = make(http.Header)
 26953  	}
 26954  	return c.header_
 26955  }
 26956  
 26957  func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 26958  	reqHeaders := make(http.Header)
 26959  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26960  	for k, v := range c.header_ {
 26961  		reqHeaders[k] = v
 26962  	}
 26963  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26964  	if c.ifNoneMatch_ != "" {
 26965  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26966  	}
 26967  	var body io.Reader = nil
 26968  	c.urlParams_.Set("alt", alt)
 26969  	c.urlParams_.Set("prettyPrint", "false")
 26970  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
 26971  	urls += "?" + c.urlParams_.Encode()
 26972  	req, err := http.NewRequest("GET", urls, body)
 26973  	if err != nil {
 26974  		return nil, err
 26975  	}
 26976  	req.Header = reqHeaders
 26977  	googleapi.Expand(req.URL, map[string]string{
 26978  		"profileId": strconv.FormatInt(c.profileId, 10),
 26979  		"id":        strconv.FormatInt(c.id, 10),
 26980  	})
 26981  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26982  }
 26983  
 26984  // Do executes the "dfareporting.creativeGroups.get" call.
 26985  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 26986  // status code is an error. Response headers are in either
 26987  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 26988  // at all) in error.(*googleapi.Error).Header. Use
 26989  // googleapi.IsNotModified to check whether the returned error was
 26990  // because http.StatusNotModified was returned.
 26991  func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 26992  	gensupport.SetOptions(c.urlParams_, opts...)
 26993  	res, err := c.doRequest("json")
 26994  	if res != nil && res.StatusCode == http.StatusNotModified {
 26995  		if res.Body != nil {
 26996  			res.Body.Close()
 26997  		}
 26998  		return nil, &googleapi.Error{
 26999  			Code:   res.StatusCode,
 27000  			Header: res.Header,
 27001  		}
 27002  	}
 27003  	if err != nil {
 27004  		return nil, err
 27005  	}
 27006  	defer googleapi.CloseBody(res)
 27007  	if err := googleapi.CheckResponse(res); err != nil {
 27008  		return nil, err
 27009  	}
 27010  	ret := &CreativeGroup{
 27011  		ServerResponse: googleapi.ServerResponse{
 27012  			Header:         res.Header,
 27013  			HTTPStatusCode: res.StatusCode,
 27014  		},
 27015  	}
 27016  	target := &ret
 27017  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27018  		return nil, err
 27019  	}
 27020  	return ret, nil
 27021  	// {
 27022  	//   "description": "Gets one creative group by ID.",
 27023  	//   "httpMethod": "GET",
 27024  	//   "id": "dfareporting.creativeGroups.get",
 27025  	//   "parameterOrder": [
 27026  	//     "profileId",
 27027  	//     "id"
 27028  	//   ],
 27029  	//   "parameters": {
 27030  	//     "id": {
 27031  	//       "description": "Creative group ID.",
 27032  	//       "format": "int64",
 27033  	//       "location": "path",
 27034  	//       "required": true,
 27035  	//       "type": "string"
 27036  	//     },
 27037  	//     "profileId": {
 27038  	//       "description": "User profile ID associated with this request.",
 27039  	//       "format": "int64",
 27040  	//       "location": "path",
 27041  	//       "required": true,
 27042  	//       "type": "string"
 27043  	//     }
 27044  	//   },
 27045  	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
 27046  	//   "response": {
 27047  	//     "$ref": "CreativeGroup"
 27048  	//   },
 27049  	//   "scopes": [
 27050  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27051  	//   ]
 27052  	// }
 27053  
 27054  }
 27055  
 27056  // method id "dfareporting.creativeGroups.insert":
 27057  
 27058  type CreativeGroupsInsertCall struct {
 27059  	s             *Service
 27060  	profileId     int64
 27061  	creativegroup *CreativeGroup
 27062  	urlParams_    gensupport.URLParams
 27063  	ctx_          context.Context
 27064  	header_       http.Header
 27065  }
 27066  
 27067  // Insert: Inserts a new creative group.
 27068  func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
 27069  	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27070  	c.profileId = profileId
 27071  	c.creativegroup = creativegroup
 27072  	return c
 27073  }
 27074  
 27075  // Fields allows partial responses to be retrieved. See
 27076  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27077  // for more information.
 27078  func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
 27079  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27080  	return c
 27081  }
 27082  
 27083  // Context sets the context to be used in this call's Do method. Any
 27084  // pending HTTP request will be aborted if the provided context is
 27085  // canceled.
 27086  func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 27087  	c.ctx_ = ctx
 27088  	return c
 27089  }
 27090  
 27091  // Header returns an http.Header that can be modified by the caller to
 27092  // add HTTP headers to the request.
 27093  func (c *CreativeGroupsInsertCall) Header() http.Header {
 27094  	if c.header_ == nil {
 27095  		c.header_ = make(http.Header)
 27096  	}
 27097  	return c.header_
 27098  }
 27099  
 27100  func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 27101  	reqHeaders := make(http.Header)
 27102  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27103  	for k, v := range c.header_ {
 27104  		reqHeaders[k] = v
 27105  	}
 27106  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27107  	var body io.Reader = nil
 27108  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27109  	if err != nil {
 27110  		return nil, err
 27111  	}
 27112  	reqHeaders.Set("Content-Type", "application/json")
 27113  	c.urlParams_.Set("alt", alt)
 27114  	c.urlParams_.Set("prettyPrint", "false")
 27115  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27116  	urls += "?" + c.urlParams_.Encode()
 27117  	req, err := http.NewRequest("POST", urls, body)
 27118  	if err != nil {
 27119  		return nil, err
 27120  	}
 27121  	req.Header = reqHeaders
 27122  	googleapi.Expand(req.URL, map[string]string{
 27123  		"profileId": strconv.FormatInt(c.profileId, 10),
 27124  	})
 27125  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27126  }
 27127  
 27128  // Do executes the "dfareporting.creativeGroups.insert" call.
 27129  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27130  // status code is an error. Response headers are in either
 27131  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27132  // at all) in error.(*googleapi.Error).Header. Use
 27133  // googleapi.IsNotModified to check whether the returned error was
 27134  // because http.StatusNotModified was returned.
 27135  func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27136  	gensupport.SetOptions(c.urlParams_, opts...)
 27137  	res, err := c.doRequest("json")
 27138  	if res != nil && res.StatusCode == http.StatusNotModified {
 27139  		if res.Body != nil {
 27140  			res.Body.Close()
 27141  		}
 27142  		return nil, &googleapi.Error{
 27143  			Code:   res.StatusCode,
 27144  			Header: res.Header,
 27145  		}
 27146  	}
 27147  	if err != nil {
 27148  		return nil, err
 27149  	}
 27150  	defer googleapi.CloseBody(res)
 27151  	if err := googleapi.CheckResponse(res); err != nil {
 27152  		return nil, err
 27153  	}
 27154  	ret := &CreativeGroup{
 27155  		ServerResponse: googleapi.ServerResponse{
 27156  			Header:         res.Header,
 27157  			HTTPStatusCode: res.StatusCode,
 27158  		},
 27159  	}
 27160  	target := &ret
 27161  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27162  		return nil, err
 27163  	}
 27164  	return ret, nil
 27165  	// {
 27166  	//   "description": "Inserts a new creative group.",
 27167  	//   "httpMethod": "POST",
 27168  	//   "id": "dfareporting.creativeGroups.insert",
 27169  	//   "parameterOrder": [
 27170  	//     "profileId"
 27171  	//   ],
 27172  	//   "parameters": {
 27173  	//     "profileId": {
 27174  	//       "description": "User profile ID associated with this request.",
 27175  	//       "format": "int64",
 27176  	//       "location": "path",
 27177  	//       "required": true,
 27178  	//       "type": "string"
 27179  	//     }
 27180  	//   },
 27181  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27182  	//   "request": {
 27183  	//     "$ref": "CreativeGroup"
 27184  	//   },
 27185  	//   "response": {
 27186  	//     "$ref": "CreativeGroup"
 27187  	//   },
 27188  	//   "scopes": [
 27189  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27190  	//   ]
 27191  	// }
 27192  
 27193  }
 27194  
 27195  // method id "dfareporting.creativeGroups.list":
 27196  
 27197  type CreativeGroupsListCall struct {
 27198  	s            *Service
 27199  	profileId    int64
 27200  	urlParams_   gensupport.URLParams
 27201  	ifNoneMatch_ string
 27202  	ctx_         context.Context
 27203  	header_      http.Header
 27204  }
 27205  
 27206  // List: Retrieves a list of creative groups, possibly filtered. This
 27207  // method supports paging.
 27208  func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
 27209  	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27210  	c.profileId = profileId
 27211  	return c
 27212  }
 27213  
 27214  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 27215  // only creative groups that belong to these advertisers.
 27216  func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
 27217  	var advertiserIds_ []string
 27218  	for _, v := range advertiserIds {
 27219  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 27220  	}
 27221  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 27222  	return c
 27223  }
 27224  
 27225  // GroupNumber sets the optional parameter "groupNumber": Select only
 27226  // creative groups that belong to this subgroup.
 27227  func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
 27228  	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
 27229  	return c
 27230  }
 27231  
 27232  // Ids sets the optional parameter "ids": Select only creative groups
 27233  // with these IDs.
 27234  func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
 27235  	var ids_ []string
 27236  	for _, v := range ids {
 27237  		ids_ = append(ids_, fmt.Sprint(v))
 27238  	}
 27239  	c.urlParams_.SetMulti("ids", ids_)
 27240  	return c
 27241  }
 27242  
 27243  // MaxResults sets the optional parameter "maxResults": Maximum number
 27244  // of results to return.
 27245  func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
 27246  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 27247  	return c
 27248  }
 27249  
 27250  // PageToken sets the optional parameter "pageToken": Value of the
 27251  // nextPageToken from the previous result page.
 27252  func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
 27253  	c.urlParams_.Set("pageToken", pageToken)
 27254  	return c
 27255  }
 27256  
 27257  // SearchString sets the optional parameter "searchString": Allows
 27258  // searching for creative groups by name or ID. Wildcards (*) are
 27259  // allowed. For example, "creativegroup*2015" will return creative
 27260  // groups with names like "creativegroup June 2015", "creativegroup
 27261  // April 2015", or simply "creativegroup 2015". Most of the searches
 27262  // also add wild-cards implicitly at the start and the end of the search
 27263  // string. For example, a search string of "creativegroup" will match
 27264  // creative groups with the name "my creativegroup", "creativegroup
 27265  // 2015", or simply "creativegroup".
 27266  func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
 27267  	c.urlParams_.Set("searchString", searchString)
 27268  	return c
 27269  }
 27270  
 27271  // SortField sets the optional parameter "sortField": Field by which to
 27272  // sort the list.
 27273  //
 27274  // Possible values:
 27275  //
 27276  //	"ID" (default)
 27277  //	"NAME"
 27278  func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
 27279  	c.urlParams_.Set("sortField", sortField)
 27280  	return c
 27281  }
 27282  
 27283  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 27284  // results.
 27285  //
 27286  // Possible values:
 27287  //
 27288  //	"ASCENDING" (default)
 27289  //	"DESCENDING"
 27290  func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
 27291  	c.urlParams_.Set("sortOrder", sortOrder)
 27292  	return c
 27293  }
 27294  
 27295  // Fields allows partial responses to be retrieved. See
 27296  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27297  // for more information.
 27298  func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
 27299  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27300  	return c
 27301  }
 27302  
 27303  // IfNoneMatch sets the optional parameter which makes the operation
 27304  // fail if the object's ETag matches the given value. This is useful for
 27305  // getting updates only after the object has changed since the last
 27306  // request. Use googleapi.IsNotModified to check whether the response
 27307  // error from Do is the result of In-None-Match.
 27308  func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
 27309  	c.ifNoneMatch_ = entityTag
 27310  	return c
 27311  }
 27312  
 27313  // Context sets the context to be used in this call's Do method. Any
 27314  // pending HTTP request will be aborted if the provided context is
 27315  // canceled.
 27316  func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 27317  	c.ctx_ = ctx
 27318  	return c
 27319  }
 27320  
 27321  // Header returns an http.Header that can be modified by the caller to
 27322  // add HTTP headers to the request.
 27323  func (c *CreativeGroupsListCall) Header() http.Header {
 27324  	if c.header_ == nil {
 27325  		c.header_ = make(http.Header)
 27326  	}
 27327  	return c.header_
 27328  }
 27329  
 27330  func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 27331  	reqHeaders := make(http.Header)
 27332  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27333  	for k, v := range c.header_ {
 27334  		reqHeaders[k] = v
 27335  	}
 27336  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27337  	if c.ifNoneMatch_ != "" {
 27338  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27339  	}
 27340  	var body io.Reader = nil
 27341  	c.urlParams_.Set("alt", alt)
 27342  	c.urlParams_.Set("prettyPrint", "false")
 27343  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27344  	urls += "?" + c.urlParams_.Encode()
 27345  	req, err := http.NewRequest("GET", urls, body)
 27346  	if err != nil {
 27347  		return nil, err
 27348  	}
 27349  	req.Header = reqHeaders
 27350  	googleapi.Expand(req.URL, map[string]string{
 27351  		"profileId": strconv.FormatInt(c.profileId, 10),
 27352  	})
 27353  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27354  }
 27355  
 27356  // Do executes the "dfareporting.creativeGroups.list" call.
 27357  // Exactly one of *CreativeGroupsListResponse or error will be non-nil.
 27358  // Any non-2xx status code is an error. Response headers are in either
 27359  // *CreativeGroupsListResponse.ServerResponse.Header or (if a response
 27360  // was returned at all) in error.(*googleapi.Error).Header. Use
 27361  // googleapi.IsNotModified to check whether the returned error was
 27362  // because http.StatusNotModified was returned.
 27363  func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
 27364  	gensupport.SetOptions(c.urlParams_, opts...)
 27365  	res, err := c.doRequest("json")
 27366  	if res != nil && res.StatusCode == http.StatusNotModified {
 27367  		if res.Body != nil {
 27368  			res.Body.Close()
 27369  		}
 27370  		return nil, &googleapi.Error{
 27371  			Code:   res.StatusCode,
 27372  			Header: res.Header,
 27373  		}
 27374  	}
 27375  	if err != nil {
 27376  		return nil, err
 27377  	}
 27378  	defer googleapi.CloseBody(res)
 27379  	if err := googleapi.CheckResponse(res); err != nil {
 27380  		return nil, err
 27381  	}
 27382  	ret := &CreativeGroupsListResponse{
 27383  		ServerResponse: googleapi.ServerResponse{
 27384  			Header:         res.Header,
 27385  			HTTPStatusCode: res.StatusCode,
 27386  		},
 27387  	}
 27388  	target := &ret
 27389  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27390  		return nil, err
 27391  	}
 27392  	return ret, nil
 27393  	// {
 27394  	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
 27395  	//   "httpMethod": "GET",
 27396  	//   "id": "dfareporting.creativeGroups.list",
 27397  	//   "parameterOrder": [
 27398  	//     "profileId"
 27399  	//   ],
 27400  	//   "parameters": {
 27401  	//     "advertiserIds": {
 27402  	//       "description": "Select only creative groups that belong to these advertisers.",
 27403  	//       "format": "int64",
 27404  	//       "location": "query",
 27405  	//       "repeated": true,
 27406  	//       "type": "string"
 27407  	//     },
 27408  	//     "groupNumber": {
 27409  	//       "description": "Select only creative groups that belong to this subgroup.",
 27410  	//       "format": "int32",
 27411  	//       "location": "query",
 27412  	//       "maximum": "2",
 27413  	//       "minimum": "1",
 27414  	//       "type": "integer"
 27415  	//     },
 27416  	//     "ids": {
 27417  	//       "description": "Select only creative groups with these IDs.",
 27418  	//       "format": "int64",
 27419  	//       "location": "query",
 27420  	//       "repeated": true,
 27421  	//       "type": "string"
 27422  	//     },
 27423  	//     "maxResults": {
 27424  	//       "default": "1000",
 27425  	//       "description": "Maximum number of results to return.",
 27426  	//       "format": "int32",
 27427  	//       "location": "query",
 27428  	//       "maximum": "1000",
 27429  	//       "minimum": "0",
 27430  	//       "type": "integer"
 27431  	//     },
 27432  	//     "pageToken": {
 27433  	//       "description": "Value of the nextPageToken from the previous result page.",
 27434  	//       "location": "query",
 27435  	//       "type": "string"
 27436  	//     },
 27437  	//     "profileId": {
 27438  	//       "description": "User profile ID associated with this request.",
 27439  	//       "format": "int64",
 27440  	//       "location": "path",
 27441  	//       "required": true,
 27442  	//       "type": "string"
 27443  	//     },
 27444  	//     "searchString": {
 27445  	//       "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\".",
 27446  	//       "location": "query",
 27447  	//       "type": "string"
 27448  	//     },
 27449  	//     "sortField": {
 27450  	//       "default": "ID",
 27451  	//       "description": "Field by which to sort the list.",
 27452  	//       "enum": [
 27453  	//         "ID",
 27454  	//         "NAME"
 27455  	//       ],
 27456  	//       "enumDescriptions": [
 27457  	//         "",
 27458  	//         ""
 27459  	//       ],
 27460  	//       "location": "query",
 27461  	//       "type": "string"
 27462  	//     },
 27463  	//     "sortOrder": {
 27464  	//       "default": "ASCENDING",
 27465  	//       "description": "Order of sorted results.",
 27466  	//       "enum": [
 27467  	//         "ASCENDING",
 27468  	//         "DESCENDING"
 27469  	//       ],
 27470  	//       "enumDescriptions": [
 27471  	//         "",
 27472  	//         ""
 27473  	//       ],
 27474  	//       "location": "query",
 27475  	//       "type": "string"
 27476  	//     }
 27477  	//   },
 27478  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27479  	//   "response": {
 27480  	//     "$ref": "CreativeGroupsListResponse"
 27481  	//   },
 27482  	//   "scopes": [
 27483  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27484  	//   ]
 27485  	// }
 27486  
 27487  }
 27488  
 27489  // Pages invokes f for each page of results.
 27490  // A non-nil error returned from f will halt the iteration.
 27491  // The provided context supersedes any context provided to the Context method.
 27492  func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
 27493  	c.ctx_ = ctx
 27494  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 27495  	for {
 27496  		x, err := c.Do()
 27497  		if err != nil {
 27498  			return err
 27499  		}
 27500  		if err := f(x); err != nil {
 27501  			return err
 27502  		}
 27503  		if x.NextPageToken == "" {
 27504  			return nil
 27505  		}
 27506  		c.PageToken(x.NextPageToken)
 27507  	}
 27508  }
 27509  
 27510  // method id "dfareporting.creativeGroups.patch":
 27511  
 27512  type CreativeGroupsPatchCall struct {
 27513  	s             *Service
 27514  	profileId     int64
 27515  	creativegroup *CreativeGroup
 27516  	urlParams_    gensupport.URLParams
 27517  	ctx_          context.Context
 27518  	header_       http.Header
 27519  }
 27520  
 27521  // Patch: Updates an existing creative group. This method supports patch
 27522  // semantics.
 27523  func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
 27524  	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27525  	c.profileId = profileId
 27526  	c.urlParams_.Set("id", fmt.Sprint(id))
 27527  	c.creativegroup = creativegroup
 27528  	return c
 27529  }
 27530  
 27531  // Fields allows partial responses to be retrieved. See
 27532  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27533  // for more information.
 27534  func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
 27535  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27536  	return c
 27537  }
 27538  
 27539  // Context sets the context to be used in this call's Do method. Any
 27540  // pending HTTP request will be aborted if the provided context is
 27541  // canceled.
 27542  func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 27543  	c.ctx_ = ctx
 27544  	return c
 27545  }
 27546  
 27547  // Header returns an http.Header that can be modified by the caller to
 27548  // add HTTP headers to the request.
 27549  func (c *CreativeGroupsPatchCall) Header() http.Header {
 27550  	if c.header_ == nil {
 27551  		c.header_ = make(http.Header)
 27552  	}
 27553  	return c.header_
 27554  }
 27555  
 27556  func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 27557  	reqHeaders := make(http.Header)
 27558  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27559  	for k, v := range c.header_ {
 27560  		reqHeaders[k] = v
 27561  	}
 27562  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27563  	var body io.Reader = nil
 27564  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27565  	if err != nil {
 27566  		return nil, err
 27567  	}
 27568  	reqHeaders.Set("Content-Type", "application/json")
 27569  	c.urlParams_.Set("alt", alt)
 27570  	c.urlParams_.Set("prettyPrint", "false")
 27571  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27572  	urls += "?" + c.urlParams_.Encode()
 27573  	req, err := http.NewRequest("PATCH", urls, body)
 27574  	if err != nil {
 27575  		return nil, err
 27576  	}
 27577  	req.Header = reqHeaders
 27578  	googleapi.Expand(req.URL, map[string]string{
 27579  		"profileId": strconv.FormatInt(c.profileId, 10),
 27580  	})
 27581  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27582  }
 27583  
 27584  // Do executes the "dfareporting.creativeGroups.patch" call.
 27585  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27586  // status code is an error. Response headers are in either
 27587  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27588  // at all) in error.(*googleapi.Error).Header. Use
 27589  // googleapi.IsNotModified to check whether the returned error was
 27590  // because http.StatusNotModified was returned.
 27591  func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27592  	gensupport.SetOptions(c.urlParams_, opts...)
 27593  	res, err := c.doRequest("json")
 27594  	if res != nil && res.StatusCode == http.StatusNotModified {
 27595  		if res.Body != nil {
 27596  			res.Body.Close()
 27597  		}
 27598  		return nil, &googleapi.Error{
 27599  			Code:   res.StatusCode,
 27600  			Header: res.Header,
 27601  		}
 27602  	}
 27603  	if err != nil {
 27604  		return nil, err
 27605  	}
 27606  	defer googleapi.CloseBody(res)
 27607  	if err := googleapi.CheckResponse(res); err != nil {
 27608  		return nil, err
 27609  	}
 27610  	ret := &CreativeGroup{
 27611  		ServerResponse: googleapi.ServerResponse{
 27612  			Header:         res.Header,
 27613  			HTTPStatusCode: res.StatusCode,
 27614  		},
 27615  	}
 27616  	target := &ret
 27617  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27618  		return nil, err
 27619  	}
 27620  	return ret, nil
 27621  	// {
 27622  	//   "description": "Updates an existing creative group. This method supports patch semantics.",
 27623  	//   "httpMethod": "PATCH",
 27624  	//   "id": "dfareporting.creativeGroups.patch",
 27625  	//   "parameterOrder": [
 27626  	//     "profileId",
 27627  	//     "id"
 27628  	//   ],
 27629  	//   "parameters": {
 27630  	//     "id": {
 27631  	//       "description": "Creative group ID.",
 27632  	//       "format": "int64",
 27633  	//       "location": "query",
 27634  	//       "required": true,
 27635  	//       "type": "string"
 27636  	//     },
 27637  	//     "profileId": {
 27638  	//       "description": "User profile ID associated with this request.",
 27639  	//       "format": "int64",
 27640  	//       "location": "path",
 27641  	//       "required": true,
 27642  	//       "type": "string"
 27643  	//     }
 27644  	//   },
 27645  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27646  	//   "request": {
 27647  	//     "$ref": "CreativeGroup"
 27648  	//   },
 27649  	//   "response": {
 27650  	//     "$ref": "CreativeGroup"
 27651  	//   },
 27652  	//   "scopes": [
 27653  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27654  	//   ]
 27655  	// }
 27656  
 27657  }
 27658  
 27659  // method id "dfareporting.creativeGroups.update":
 27660  
 27661  type CreativeGroupsUpdateCall struct {
 27662  	s             *Service
 27663  	profileId     int64
 27664  	creativegroup *CreativeGroup
 27665  	urlParams_    gensupport.URLParams
 27666  	ctx_          context.Context
 27667  	header_       http.Header
 27668  }
 27669  
 27670  // Update: Updates an existing creative group.
 27671  func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
 27672  	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27673  	c.profileId = profileId
 27674  	c.creativegroup = creativegroup
 27675  	return c
 27676  }
 27677  
 27678  // Fields allows partial responses to be retrieved. See
 27679  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27680  // for more information.
 27681  func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
 27682  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27683  	return c
 27684  }
 27685  
 27686  // Context sets the context to be used in this call's Do method. Any
 27687  // pending HTTP request will be aborted if the provided context is
 27688  // canceled.
 27689  func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 27690  	c.ctx_ = ctx
 27691  	return c
 27692  }
 27693  
 27694  // Header returns an http.Header that can be modified by the caller to
 27695  // add HTTP headers to the request.
 27696  func (c *CreativeGroupsUpdateCall) Header() http.Header {
 27697  	if c.header_ == nil {
 27698  		c.header_ = make(http.Header)
 27699  	}
 27700  	return c.header_
 27701  }
 27702  
 27703  func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 27704  	reqHeaders := make(http.Header)
 27705  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27706  	for k, v := range c.header_ {
 27707  		reqHeaders[k] = v
 27708  	}
 27709  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27710  	var body io.Reader = nil
 27711  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27712  	if err != nil {
 27713  		return nil, err
 27714  	}
 27715  	reqHeaders.Set("Content-Type", "application/json")
 27716  	c.urlParams_.Set("alt", alt)
 27717  	c.urlParams_.Set("prettyPrint", "false")
 27718  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27719  	urls += "?" + c.urlParams_.Encode()
 27720  	req, err := http.NewRequest("PUT", urls, body)
 27721  	if err != nil {
 27722  		return nil, err
 27723  	}
 27724  	req.Header = reqHeaders
 27725  	googleapi.Expand(req.URL, map[string]string{
 27726  		"profileId": strconv.FormatInt(c.profileId, 10),
 27727  	})
 27728  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27729  }
 27730  
 27731  // Do executes the "dfareporting.creativeGroups.update" call.
 27732  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27733  // status code is an error. Response headers are in either
 27734  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27735  // at all) in error.(*googleapi.Error).Header. Use
 27736  // googleapi.IsNotModified to check whether the returned error was
 27737  // because http.StatusNotModified was returned.
 27738  func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27739  	gensupport.SetOptions(c.urlParams_, opts...)
 27740  	res, err := c.doRequest("json")
 27741  	if res != nil && res.StatusCode == http.StatusNotModified {
 27742  		if res.Body != nil {
 27743  			res.Body.Close()
 27744  		}
 27745  		return nil, &googleapi.Error{
 27746  			Code:   res.StatusCode,
 27747  			Header: res.Header,
 27748  		}
 27749  	}
 27750  	if err != nil {
 27751  		return nil, err
 27752  	}
 27753  	defer googleapi.CloseBody(res)
 27754  	if err := googleapi.CheckResponse(res); err != nil {
 27755  		return nil, err
 27756  	}
 27757  	ret := &CreativeGroup{
 27758  		ServerResponse: googleapi.ServerResponse{
 27759  			Header:         res.Header,
 27760  			HTTPStatusCode: res.StatusCode,
 27761  		},
 27762  	}
 27763  	target := &ret
 27764  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27765  		return nil, err
 27766  	}
 27767  	return ret, nil
 27768  	// {
 27769  	//   "description": "Updates an existing creative group.",
 27770  	//   "httpMethod": "PUT",
 27771  	//   "id": "dfareporting.creativeGroups.update",
 27772  	//   "parameterOrder": [
 27773  	//     "profileId"
 27774  	//   ],
 27775  	//   "parameters": {
 27776  	//     "profileId": {
 27777  	//       "description": "User profile ID associated with this request.",
 27778  	//       "format": "int64",
 27779  	//       "location": "path",
 27780  	//       "required": true,
 27781  	//       "type": "string"
 27782  	//     }
 27783  	//   },
 27784  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27785  	//   "request": {
 27786  	//     "$ref": "CreativeGroup"
 27787  	//   },
 27788  	//   "response": {
 27789  	//     "$ref": "CreativeGroup"
 27790  	//   },
 27791  	//   "scopes": [
 27792  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27793  	//   ]
 27794  	// }
 27795  
 27796  }
 27797  
 27798  // method id "dfareporting.creatives.get":
 27799  
 27800  type CreativesGetCall struct {
 27801  	s            *Service
 27802  	profileId    int64
 27803  	id           int64
 27804  	urlParams_   gensupport.URLParams
 27805  	ifNoneMatch_ string
 27806  	ctx_         context.Context
 27807  	header_      http.Header
 27808  }
 27809  
 27810  // Get: Gets one creative by ID.
 27811  func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
 27812  	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27813  	c.profileId = profileId
 27814  	c.id = id
 27815  	return c
 27816  }
 27817  
 27818  // Fields allows partial responses to be retrieved. See
 27819  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27820  // for more information.
 27821  func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
 27822  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27823  	return c
 27824  }
 27825  
 27826  // IfNoneMatch sets the optional parameter which makes the operation
 27827  // fail if the object's ETag matches the given value. This is useful for
 27828  // getting updates only after the object has changed since the last
 27829  // request. Use googleapi.IsNotModified to check whether the response
 27830  // error from Do is the result of In-None-Match.
 27831  func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
 27832  	c.ifNoneMatch_ = entityTag
 27833  	return c
 27834  }
 27835  
 27836  // Context sets the context to be used in this call's Do method. Any
 27837  // pending HTTP request will be aborted if the provided context is
 27838  // canceled.
 27839  func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 27840  	c.ctx_ = ctx
 27841  	return c
 27842  }
 27843  
 27844  // Header returns an http.Header that can be modified by the caller to
 27845  // add HTTP headers to the request.
 27846  func (c *CreativesGetCall) Header() http.Header {
 27847  	if c.header_ == nil {
 27848  		c.header_ = make(http.Header)
 27849  	}
 27850  	return c.header_
 27851  }
 27852  
 27853  func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 27854  	reqHeaders := make(http.Header)
 27855  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27856  	for k, v := range c.header_ {
 27857  		reqHeaders[k] = v
 27858  	}
 27859  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27860  	if c.ifNoneMatch_ != "" {
 27861  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27862  	}
 27863  	var body io.Reader = nil
 27864  	c.urlParams_.Set("alt", alt)
 27865  	c.urlParams_.Set("prettyPrint", "false")
 27866  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
 27867  	urls += "?" + c.urlParams_.Encode()
 27868  	req, err := http.NewRequest("GET", urls, body)
 27869  	if err != nil {
 27870  		return nil, err
 27871  	}
 27872  	req.Header = reqHeaders
 27873  	googleapi.Expand(req.URL, map[string]string{
 27874  		"profileId": strconv.FormatInt(c.profileId, 10),
 27875  		"id":        strconv.FormatInt(c.id, 10),
 27876  	})
 27877  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27878  }
 27879  
 27880  // Do executes the "dfareporting.creatives.get" call.
 27881  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 27882  // code is an error. Response headers are in either
 27883  // *Creative.ServerResponse.Header or (if a response was returned at
 27884  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 27885  // to check whether the returned error was because
 27886  // http.StatusNotModified was returned.
 27887  func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 27888  	gensupport.SetOptions(c.urlParams_, opts...)
 27889  	res, err := c.doRequest("json")
 27890  	if res != nil && res.StatusCode == http.StatusNotModified {
 27891  		if res.Body != nil {
 27892  			res.Body.Close()
 27893  		}
 27894  		return nil, &googleapi.Error{
 27895  			Code:   res.StatusCode,
 27896  			Header: res.Header,
 27897  		}
 27898  	}
 27899  	if err != nil {
 27900  		return nil, err
 27901  	}
 27902  	defer googleapi.CloseBody(res)
 27903  	if err := googleapi.CheckResponse(res); err != nil {
 27904  		return nil, err
 27905  	}
 27906  	ret := &Creative{
 27907  		ServerResponse: googleapi.ServerResponse{
 27908  			Header:         res.Header,
 27909  			HTTPStatusCode: res.StatusCode,
 27910  		},
 27911  	}
 27912  	target := &ret
 27913  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27914  		return nil, err
 27915  	}
 27916  	return ret, nil
 27917  	// {
 27918  	//   "description": "Gets one creative by ID.",
 27919  	//   "httpMethod": "GET",
 27920  	//   "id": "dfareporting.creatives.get",
 27921  	//   "parameterOrder": [
 27922  	//     "profileId",
 27923  	//     "id"
 27924  	//   ],
 27925  	//   "parameters": {
 27926  	//     "id": {
 27927  	//       "description": "Creative ID.",
 27928  	//       "format": "int64",
 27929  	//       "location": "path",
 27930  	//       "required": true,
 27931  	//       "type": "string"
 27932  	//     },
 27933  	//     "profileId": {
 27934  	//       "description": "User profile ID associated with this request.",
 27935  	//       "format": "int64",
 27936  	//       "location": "path",
 27937  	//       "required": true,
 27938  	//       "type": "string"
 27939  	//     }
 27940  	//   },
 27941  	//   "path": "userprofiles/{profileId}/creatives/{id}",
 27942  	//   "response": {
 27943  	//     "$ref": "Creative"
 27944  	//   },
 27945  	//   "scopes": [
 27946  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27947  	//   ]
 27948  	// }
 27949  
 27950  }
 27951  
 27952  // method id "dfareporting.creatives.insert":
 27953  
 27954  type CreativesInsertCall struct {
 27955  	s          *Service
 27956  	profileId  int64
 27957  	creative   *Creative
 27958  	urlParams_ gensupport.URLParams
 27959  	ctx_       context.Context
 27960  	header_    http.Header
 27961  }
 27962  
 27963  // Insert: Inserts a new creative.
 27964  func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
 27965  	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27966  	c.profileId = profileId
 27967  	c.creative = creative
 27968  	return c
 27969  }
 27970  
 27971  // Fields allows partial responses to be retrieved. See
 27972  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27973  // for more information.
 27974  func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
 27975  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27976  	return c
 27977  }
 27978  
 27979  // Context sets the context to be used in this call's Do method. Any
 27980  // pending HTTP request will be aborted if the provided context is
 27981  // canceled.
 27982  func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 27983  	c.ctx_ = ctx
 27984  	return c
 27985  }
 27986  
 27987  // Header returns an http.Header that can be modified by the caller to
 27988  // add HTTP headers to the request.
 27989  func (c *CreativesInsertCall) Header() http.Header {
 27990  	if c.header_ == nil {
 27991  		c.header_ = make(http.Header)
 27992  	}
 27993  	return c.header_
 27994  }
 27995  
 27996  func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 27997  	reqHeaders := make(http.Header)
 27998  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27999  	for k, v := range c.header_ {
 28000  		reqHeaders[k] = v
 28001  	}
 28002  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28003  	var body io.Reader = nil
 28004  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28005  	if err != nil {
 28006  		return nil, err
 28007  	}
 28008  	reqHeaders.Set("Content-Type", "application/json")
 28009  	c.urlParams_.Set("alt", alt)
 28010  	c.urlParams_.Set("prettyPrint", "false")
 28011  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28012  	urls += "?" + c.urlParams_.Encode()
 28013  	req, err := http.NewRequest("POST", urls, body)
 28014  	if err != nil {
 28015  		return nil, err
 28016  	}
 28017  	req.Header = reqHeaders
 28018  	googleapi.Expand(req.URL, map[string]string{
 28019  		"profileId": strconv.FormatInt(c.profileId, 10),
 28020  	})
 28021  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28022  }
 28023  
 28024  // Do executes the "dfareporting.creatives.insert" call.
 28025  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28026  // code is an error. Response headers are in either
 28027  // *Creative.ServerResponse.Header or (if a response was returned at
 28028  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28029  // to check whether the returned error was because
 28030  // http.StatusNotModified was returned.
 28031  func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28032  	gensupport.SetOptions(c.urlParams_, opts...)
 28033  	res, err := c.doRequest("json")
 28034  	if res != nil && res.StatusCode == http.StatusNotModified {
 28035  		if res.Body != nil {
 28036  			res.Body.Close()
 28037  		}
 28038  		return nil, &googleapi.Error{
 28039  			Code:   res.StatusCode,
 28040  			Header: res.Header,
 28041  		}
 28042  	}
 28043  	if err != nil {
 28044  		return nil, err
 28045  	}
 28046  	defer googleapi.CloseBody(res)
 28047  	if err := googleapi.CheckResponse(res); err != nil {
 28048  		return nil, err
 28049  	}
 28050  	ret := &Creative{
 28051  		ServerResponse: googleapi.ServerResponse{
 28052  			Header:         res.Header,
 28053  			HTTPStatusCode: res.StatusCode,
 28054  		},
 28055  	}
 28056  	target := &ret
 28057  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28058  		return nil, err
 28059  	}
 28060  	return ret, nil
 28061  	// {
 28062  	//   "description": "Inserts a new creative.",
 28063  	//   "httpMethod": "POST",
 28064  	//   "id": "dfareporting.creatives.insert",
 28065  	//   "parameterOrder": [
 28066  	//     "profileId"
 28067  	//   ],
 28068  	//   "parameters": {
 28069  	//     "profileId": {
 28070  	//       "description": "User profile ID associated with this request.",
 28071  	//       "format": "int64",
 28072  	//       "location": "path",
 28073  	//       "required": true,
 28074  	//       "type": "string"
 28075  	//     }
 28076  	//   },
 28077  	//   "path": "userprofiles/{profileId}/creatives",
 28078  	//   "request": {
 28079  	//     "$ref": "Creative"
 28080  	//   },
 28081  	//   "response": {
 28082  	//     "$ref": "Creative"
 28083  	//   },
 28084  	//   "scopes": [
 28085  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28086  	//   ]
 28087  	// }
 28088  
 28089  }
 28090  
 28091  // method id "dfareporting.creatives.list":
 28092  
 28093  type CreativesListCall struct {
 28094  	s            *Service
 28095  	profileId    int64
 28096  	urlParams_   gensupport.URLParams
 28097  	ifNoneMatch_ string
 28098  	ctx_         context.Context
 28099  	header_      http.Header
 28100  }
 28101  
 28102  // List: Retrieves a list of creatives, possibly filtered. This method
 28103  // supports paging.
 28104  func (r *CreativesService) List(profileId int64) *CreativesListCall {
 28105  	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28106  	c.profileId = profileId
 28107  	return c
 28108  }
 28109  
 28110  // Active sets the optional parameter "active": Select only active
 28111  // creatives. Leave blank to select active and inactive creatives.
 28112  func (c *CreativesListCall) Active(active bool) *CreativesListCall {
 28113  	c.urlParams_.Set("active", fmt.Sprint(active))
 28114  	return c
 28115  }
 28116  
 28117  // AdvertiserId sets the optional parameter "advertiserId": Select only
 28118  // creatives with this advertiser ID.
 28119  func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
 28120  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28121  	return c
 28122  }
 28123  
 28124  // Archived sets the optional parameter "archived": Select only archived
 28125  // creatives. Leave blank to select archived and unarchived creatives.
 28126  func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
 28127  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 28128  	return c
 28129  }
 28130  
 28131  // CampaignId sets the optional parameter "campaignId": Select only
 28132  // creatives with this campaign ID.
 28133  func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
 28134  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 28135  	return c
 28136  }
 28137  
 28138  // CompanionCreativeIds sets the optional parameter
 28139  // "companionCreativeIds": Select only in-stream video creatives with
 28140  // these companion IDs.
 28141  func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
 28142  	var companionCreativeIds_ []string
 28143  	for _, v := range companionCreativeIds {
 28144  		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
 28145  	}
 28146  	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
 28147  	return c
 28148  }
 28149  
 28150  // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 28151  // Select only creatives with these creative field IDs.
 28152  func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
 28153  	var creativeFieldIds_ []string
 28154  	for _, v := range creativeFieldIds {
 28155  		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
 28156  	}
 28157  	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
 28158  	return c
 28159  }
 28160  
 28161  // Ids sets the optional parameter "ids": Select only creatives with
 28162  // these IDs.
 28163  func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
 28164  	var ids_ []string
 28165  	for _, v := range ids {
 28166  		ids_ = append(ids_, fmt.Sprint(v))
 28167  	}
 28168  	c.urlParams_.SetMulti("ids", ids_)
 28169  	return c
 28170  }
 28171  
 28172  // MaxResults sets the optional parameter "maxResults": Maximum number
 28173  // of results to return.
 28174  func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
 28175  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 28176  	return c
 28177  }
 28178  
 28179  // PageToken sets the optional parameter "pageToken": Value of the
 28180  // nextPageToken from the previous result page.
 28181  func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
 28182  	c.urlParams_.Set("pageToken", pageToken)
 28183  	return c
 28184  }
 28185  
 28186  // RenderingIds sets the optional parameter "renderingIds": Select only
 28187  // creatives with these rendering IDs.
 28188  func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
 28189  	var renderingIds_ []string
 28190  	for _, v := range renderingIds {
 28191  		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
 28192  	}
 28193  	c.urlParams_.SetMulti("renderingIds", renderingIds_)
 28194  	return c
 28195  }
 28196  
 28197  // SearchString sets the optional parameter "searchString": Allows
 28198  // searching for objects by name or ID. Wildcards (*) are allowed. For
 28199  // example, "creative*2015" will return objects with names like
 28200  // "creative June 2015", "creative April 2015", or simply "creative
 28201  // 2015". Most of the searches also add wildcards implicitly at the
 28202  // start and the end of the search string. For example, a search string
 28203  // of "creative" will match objects with name "my creative", "creative
 28204  // 2015", or simply "creative".
 28205  func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
 28206  	c.urlParams_.Set("searchString", searchString)
 28207  	return c
 28208  }
 28209  
 28210  // SizeIds sets the optional parameter "sizeIds": Select only creatives
 28211  // with these size IDs.
 28212  func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
 28213  	var sizeIds_ []string
 28214  	for _, v := range sizeIds {
 28215  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 28216  	}
 28217  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 28218  	return c
 28219  }
 28220  
 28221  // SortField sets the optional parameter "sortField": Field by which to
 28222  // sort the list.
 28223  //
 28224  // Possible values:
 28225  //
 28226  //	"ID" (default)
 28227  //	"NAME"
 28228  func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
 28229  	c.urlParams_.Set("sortField", sortField)
 28230  	return c
 28231  }
 28232  
 28233  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 28234  // results.
 28235  //
 28236  // Possible values:
 28237  //
 28238  //	"ASCENDING" (default)
 28239  //	"DESCENDING"
 28240  func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
 28241  	c.urlParams_.Set("sortOrder", sortOrder)
 28242  	return c
 28243  }
 28244  
 28245  // StudioCreativeId sets the optional parameter "studioCreativeId":
 28246  // Select only creatives corresponding to this Studio creative ID.
 28247  func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
 28248  	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
 28249  	return c
 28250  }
 28251  
 28252  // Types sets the optional parameter "types": Select only creatives with
 28253  // these creative types.
 28254  //
 28255  // Possible values:
 28256  //
 28257  //	"BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
 28258  //	"CUSTOM_DISPLAY"
 28259  //	"CUSTOM_DISPLAY_INTERSTITIAL"
 28260  //	"DISPLAY"
 28261  //	"DISPLAY_IMAGE_GALLERY"
 28262  //	"DISPLAY_REDIRECT"
 28263  //	"FLASH_INPAGE"
 28264  //	"HTML5_BANNER"
 28265  //	"IMAGE"
 28266  //	"INSTREAM_AUDIO"
 28267  //	"INSTREAM_VIDEO"
 28268  //	"INSTREAM_VIDEO_REDIRECT"
 28269  //	"INTERNAL_REDIRECT"
 28270  //	"INTERSTITIAL_INTERNAL_REDIRECT"
 28271  //	"RICH_MEDIA_DISPLAY_BANNER"
 28272  //	"RICH_MEDIA_DISPLAY_EXPANDING"
 28273  //	"RICH_MEDIA_DISPLAY_INTERSTITIAL"
 28274  //	"RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
 28275  //	"RICH_MEDIA_IM_EXPAND"
 28276  //	"RICH_MEDIA_INPAGE_FLOATING"
 28277  //	"RICH_MEDIA_MOBILE_IN_APP"
 28278  //	"RICH_MEDIA_PEEL_DOWN"
 28279  //	"TRACKING_TEXT"
 28280  //	"VPAID_LINEAR_VIDEO"
 28281  //	"VPAID_NON_LINEAR_VIDEO"
 28282  func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
 28283  	c.urlParams_.SetMulti("types", append([]string{}, types...))
 28284  	return c
 28285  }
 28286  
 28287  // Fields allows partial responses to be retrieved. See
 28288  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28289  // for more information.
 28290  func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
 28291  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28292  	return c
 28293  }
 28294  
 28295  // IfNoneMatch sets the optional parameter which makes the operation
 28296  // fail if the object's ETag matches the given value. This is useful for
 28297  // getting updates only after the object has changed since the last
 28298  // request. Use googleapi.IsNotModified to check whether the response
 28299  // error from Do is the result of In-None-Match.
 28300  func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
 28301  	c.ifNoneMatch_ = entityTag
 28302  	return c
 28303  }
 28304  
 28305  // Context sets the context to be used in this call's Do method. Any
 28306  // pending HTTP request will be aborted if the provided context is
 28307  // canceled.
 28308  func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 28309  	c.ctx_ = ctx
 28310  	return c
 28311  }
 28312  
 28313  // Header returns an http.Header that can be modified by the caller to
 28314  // add HTTP headers to the request.
 28315  func (c *CreativesListCall) Header() http.Header {
 28316  	if c.header_ == nil {
 28317  		c.header_ = make(http.Header)
 28318  	}
 28319  	return c.header_
 28320  }
 28321  
 28322  func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 28323  	reqHeaders := make(http.Header)
 28324  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28325  	for k, v := range c.header_ {
 28326  		reqHeaders[k] = v
 28327  	}
 28328  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28329  	if c.ifNoneMatch_ != "" {
 28330  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28331  	}
 28332  	var body io.Reader = nil
 28333  	c.urlParams_.Set("alt", alt)
 28334  	c.urlParams_.Set("prettyPrint", "false")
 28335  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28336  	urls += "?" + c.urlParams_.Encode()
 28337  	req, err := http.NewRequest("GET", urls, body)
 28338  	if err != nil {
 28339  		return nil, err
 28340  	}
 28341  	req.Header = reqHeaders
 28342  	googleapi.Expand(req.URL, map[string]string{
 28343  		"profileId": strconv.FormatInt(c.profileId, 10),
 28344  	})
 28345  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28346  }
 28347  
 28348  // Do executes the "dfareporting.creatives.list" call.
 28349  // Exactly one of *CreativesListResponse or error will be non-nil. Any
 28350  // non-2xx status code is an error. Response headers are in either
 28351  // *CreativesListResponse.ServerResponse.Header or (if a response was
 28352  // returned at all) in error.(*googleapi.Error).Header. Use
 28353  // googleapi.IsNotModified to check whether the returned error was
 28354  // because http.StatusNotModified was returned.
 28355  func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
 28356  	gensupport.SetOptions(c.urlParams_, opts...)
 28357  	res, err := c.doRequest("json")
 28358  	if res != nil && res.StatusCode == http.StatusNotModified {
 28359  		if res.Body != nil {
 28360  			res.Body.Close()
 28361  		}
 28362  		return nil, &googleapi.Error{
 28363  			Code:   res.StatusCode,
 28364  			Header: res.Header,
 28365  		}
 28366  	}
 28367  	if err != nil {
 28368  		return nil, err
 28369  	}
 28370  	defer googleapi.CloseBody(res)
 28371  	if err := googleapi.CheckResponse(res); err != nil {
 28372  		return nil, err
 28373  	}
 28374  	ret := &CreativesListResponse{
 28375  		ServerResponse: googleapi.ServerResponse{
 28376  			Header:         res.Header,
 28377  			HTTPStatusCode: res.StatusCode,
 28378  		},
 28379  	}
 28380  	target := &ret
 28381  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28382  		return nil, err
 28383  	}
 28384  	return ret, nil
 28385  	// {
 28386  	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
 28387  	//   "httpMethod": "GET",
 28388  	//   "id": "dfareporting.creatives.list",
 28389  	//   "parameterOrder": [
 28390  	//     "profileId"
 28391  	//   ],
 28392  	//   "parameters": {
 28393  	//     "active": {
 28394  	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
 28395  	//       "location": "query",
 28396  	//       "type": "boolean"
 28397  	//     },
 28398  	//     "advertiserId": {
 28399  	//       "description": "Select only creatives with this advertiser ID.",
 28400  	//       "format": "int64",
 28401  	//       "location": "query",
 28402  	//       "type": "string"
 28403  	//     },
 28404  	//     "archived": {
 28405  	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
 28406  	//       "location": "query",
 28407  	//       "type": "boolean"
 28408  	//     },
 28409  	//     "campaignId": {
 28410  	//       "description": "Select only creatives with this campaign ID.",
 28411  	//       "format": "int64",
 28412  	//       "location": "query",
 28413  	//       "type": "string"
 28414  	//     },
 28415  	//     "companionCreativeIds": {
 28416  	//       "description": "Select only in-stream video creatives with these companion IDs.",
 28417  	//       "format": "int64",
 28418  	//       "location": "query",
 28419  	//       "repeated": true,
 28420  	//       "type": "string"
 28421  	//     },
 28422  	//     "creativeFieldIds": {
 28423  	//       "description": "Select only creatives with these creative field IDs.",
 28424  	//       "format": "int64",
 28425  	//       "location": "query",
 28426  	//       "repeated": true,
 28427  	//       "type": "string"
 28428  	//     },
 28429  	//     "ids": {
 28430  	//       "description": "Select only creatives with these IDs.",
 28431  	//       "format": "int64",
 28432  	//       "location": "query",
 28433  	//       "repeated": true,
 28434  	//       "type": "string"
 28435  	//     },
 28436  	//     "maxResults": {
 28437  	//       "default": "1000",
 28438  	//       "description": "Maximum number of results to return.",
 28439  	//       "format": "int32",
 28440  	//       "location": "query",
 28441  	//       "maximum": "1000",
 28442  	//       "minimum": "0",
 28443  	//       "type": "integer"
 28444  	//     },
 28445  	//     "pageToken": {
 28446  	//       "description": "Value of the nextPageToken from the previous result page.",
 28447  	//       "location": "query",
 28448  	//       "type": "string"
 28449  	//     },
 28450  	//     "profileId": {
 28451  	//       "description": "User profile ID associated with this request.",
 28452  	//       "format": "int64",
 28453  	//       "location": "path",
 28454  	//       "required": true,
 28455  	//       "type": "string"
 28456  	//     },
 28457  	//     "renderingIds": {
 28458  	//       "description": "Select only creatives with these rendering IDs.",
 28459  	//       "format": "int64",
 28460  	//       "location": "query",
 28461  	//       "repeated": true,
 28462  	//       "type": "string"
 28463  	//     },
 28464  	//     "searchString": {
 28465  	//       "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\".",
 28466  	//       "location": "query",
 28467  	//       "type": "string"
 28468  	//     },
 28469  	//     "sizeIds": {
 28470  	//       "description": "Select only creatives with these size IDs.",
 28471  	//       "format": "int64",
 28472  	//       "location": "query",
 28473  	//       "repeated": true,
 28474  	//       "type": "string"
 28475  	//     },
 28476  	//     "sortField": {
 28477  	//       "default": "ID",
 28478  	//       "description": "Field by which to sort the list.",
 28479  	//       "enum": [
 28480  	//         "ID",
 28481  	//         "NAME"
 28482  	//       ],
 28483  	//       "enumDescriptions": [
 28484  	//         "",
 28485  	//         ""
 28486  	//       ],
 28487  	//       "location": "query",
 28488  	//       "type": "string"
 28489  	//     },
 28490  	//     "sortOrder": {
 28491  	//       "default": "ASCENDING",
 28492  	//       "description": "Order of sorted results.",
 28493  	//       "enum": [
 28494  	//         "ASCENDING",
 28495  	//         "DESCENDING"
 28496  	//       ],
 28497  	//       "enumDescriptions": [
 28498  	//         "",
 28499  	//         ""
 28500  	//       ],
 28501  	//       "location": "query",
 28502  	//       "type": "string"
 28503  	//     },
 28504  	//     "studioCreativeId": {
 28505  	//       "description": "Select only creatives corresponding to this Studio creative ID.",
 28506  	//       "format": "int64",
 28507  	//       "location": "query",
 28508  	//       "type": "string"
 28509  	//     },
 28510  	//     "types": {
 28511  	//       "description": "Select only creatives with these creative types.",
 28512  	//       "enum": [
 28513  	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
 28514  	//         "CUSTOM_DISPLAY",
 28515  	//         "CUSTOM_DISPLAY_INTERSTITIAL",
 28516  	//         "DISPLAY",
 28517  	//         "DISPLAY_IMAGE_GALLERY",
 28518  	//         "DISPLAY_REDIRECT",
 28519  	//         "FLASH_INPAGE",
 28520  	//         "HTML5_BANNER",
 28521  	//         "IMAGE",
 28522  	//         "INSTREAM_AUDIO",
 28523  	//         "INSTREAM_VIDEO",
 28524  	//         "INSTREAM_VIDEO_REDIRECT",
 28525  	//         "INTERNAL_REDIRECT",
 28526  	//         "INTERSTITIAL_INTERNAL_REDIRECT",
 28527  	//         "RICH_MEDIA_DISPLAY_BANNER",
 28528  	//         "RICH_MEDIA_DISPLAY_EXPANDING",
 28529  	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
 28530  	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
 28531  	//         "RICH_MEDIA_IM_EXPAND",
 28532  	//         "RICH_MEDIA_INPAGE_FLOATING",
 28533  	//         "RICH_MEDIA_MOBILE_IN_APP",
 28534  	//         "RICH_MEDIA_PEEL_DOWN",
 28535  	//         "TRACKING_TEXT",
 28536  	//         "VPAID_LINEAR_VIDEO",
 28537  	//         "VPAID_NON_LINEAR_VIDEO"
 28538  	//       ],
 28539  	//       "enumDescriptions": [
 28540  	//         "",
 28541  	//         "",
 28542  	//         "",
 28543  	//         "",
 28544  	//         "",
 28545  	//         "",
 28546  	//         "",
 28547  	//         "",
 28548  	//         "",
 28549  	//         "",
 28550  	//         "",
 28551  	//         "",
 28552  	//         "",
 28553  	//         "",
 28554  	//         "",
 28555  	//         "",
 28556  	//         "",
 28557  	//         "",
 28558  	//         "",
 28559  	//         "",
 28560  	//         "",
 28561  	//         "",
 28562  	//         "",
 28563  	//         "",
 28564  	//         ""
 28565  	//       ],
 28566  	//       "location": "query",
 28567  	//       "repeated": true,
 28568  	//       "type": "string"
 28569  	//     }
 28570  	//   },
 28571  	//   "path": "userprofiles/{profileId}/creatives",
 28572  	//   "response": {
 28573  	//     "$ref": "CreativesListResponse"
 28574  	//   },
 28575  	//   "scopes": [
 28576  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28577  	//   ]
 28578  	// }
 28579  
 28580  }
 28581  
 28582  // Pages invokes f for each page of results.
 28583  // A non-nil error returned from f will halt the iteration.
 28584  // The provided context supersedes any context provided to the Context method.
 28585  func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
 28586  	c.ctx_ = ctx
 28587  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 28588  	for {
 28589  		x, err := c.Do()
 28590  		if err != nil {
 28591  			return err
 28592  		}
 28593  		if err := f(x); err != nil {
 28594  			return err
 28595  		}
 28596  		if x.NextPageToken == "" {
 28597  			return nil
 28598  		}
 28599  		c.PageToken(x.NextPageToken)
 28600  	}
 28601  }
 28602  
 28603  // method id "dfareporting.creatives.patch":
 28604  
 28605  type CreativesPatchCall struct {
 28606  	s          *Service
 28607  	profileId  int64
 28608  	creative   *Creative
 28609  	urlParams_ gensupport.URLParams
 28610  	ctx_       context.Context
 28611  	header_    http.Header
 28612  }
 28613  
 28614  // Patch: Updates an existing creative. This method supports patch
 28615  // semantics.
 28616  func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
 28617  	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28618  	c.profileId = profileId
 28619  	c.urlParams_.Set("id", fmt.Sprint(id))
 28620  	c.creative = creative
 28621  	return c
 28622  }
 28623  
 28624  // Fields allows partial responses to be retrieved. See
 28625  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28626  // for more information.
 28627  func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
 28628  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28629  	return c
 28630  }
 28631  
 28632  // Context sets the context to be used in this call's Do method. Any
 28633  // pending HTTP request will be aborted if the provided context is
 28634  // canceled.
 28635  func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 28636  	c.ctx_ = ctx
 28637  	return c
 28638  }
 28639  
 28640  // Header returns an http.Header that can be modified by the caller to
 28641  // add HTTP headers to the request.
 28642  func (c *CreativesPatchCall) Header() http.Header {
 28643  	if c.header_ == nil {
 28644  		c.header_ = make(http.Header)
 28645  	}
 28646  	return c.header_
 28647  }
 28648  
 28649  func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 28650  	reqHeaders := make(http.Header)
 28651  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28652  	for k, v := range c.header_ {
 28653  		reqHeaders[k] = v
 28654  	}
 28655  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28656  	var body io.Reader = nil
 28657  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28658  	if err != nil {
 28659  		return nil, err
 28660  	}
 28661  	reqHeaders.Set("Content-Type", "application/json")
 28662  	c.urlParams_.Set("alt", alt)
 28663  	c.urlParams_.Set("prettyPrint", "false")
 28664  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28665  	urls += "?" + c.urlParams_.Encode()
 28666  	req, err := http.NewRequest("PATCH", urls, body)
 28667  	if err != nil {
 28668  		return nil, err
 28669  	}
 28670  	req.Header = reqHeaders
 28671  	googleapi.Expand(req.URL, map[string]string{
 28672  		"profileId": strconv.FormatInt(c.profileId, 10),
 28673  	})
 28674  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28675  }
 28676  
 28677  // Do executes the "dfareporting.creatives.patch" call.
 28678  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28679  // code is an error. Response headers are in either
 28680  // *Creative.ServerResponse.Header or (if a response was returned at
 28681  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28682  // to check whether the returned error was because
 28683  // http.StatusNotModified was returned.
 28684  func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28685  	gensupport.SetOptions(c.urlParams_, opts...)
 28686  	res, err := c.doRequest("json")
 28687  	if res != nil && res.StatusCode == http.StatusNotModified {
 28688  		if res.Body != nil {
 28689  			res.Body.Close()
 28690  		}
 28691  		return nil, &googleapi.Error{
 28692  			Code:   res.StatusCode,
 28693  			Header: res.Header,
 28694  		}
 28695  	}
 28696  	if err != nil {
 28697  		return nil, err
 28698  	}
 28699  	defer googleapi.CloseBody(res)
 28700  	if err := googleapi.CheckResponse(res); err != nil {
 28701  		return nil, err
 28702  	}
 28703  	ret := &Creative{
 28704  		ServerResponse: googleapi.ServerResponse{
 28705  			Header:         res.Header,
 28706  			HTTPStatusCode: res.StatusCode,
 28707  		},
 28708  	}
 28709  	target := &ret
 28710  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28711  		return nil, err
 28712  	}
 28713  	return ret, nil
 28714  	// {
 28715  	//   "description": "Updates an existing creative. This method supports patch semantics.",
 28716  	//   "httpMethod": "PATCH",
 28717  	//   "id": "dfareporting.creatives.patch",
 28718  	//   "parameterOrder": [
 28719  	//     "profileId",
 28720  	//     "id"
 28721  	//   ],
 28722  	//   "parameters": {
 28723  	//     "id": {
 28724  	//       "description": "Creative ID.",
 28725  	//       "format": "int64",
 28726  	//       "location": "query",
 28727  	//       "required": true,
 28728  	//       "type": "string"
 28729  	//     },
 28730  	//     "profileId": {
 28731  	//       "description": "User profile ID associated with this request.",
 28732  	//       "format": "int64",
 28733  	//       "location": "path",
 28734  	//       "required": true,
 28735  	//       "type": "string"
 28736  	//     }
 28737  	//   },
 28738  	//   "path": "userprofiles/{profileId}/creatives",
 28739  	//   "request": {
 28740  	//     "$ref": "Creative"
 28741  	//   },
 28742  	//   "response": {
 28743  	//     "$ref": "Creative"
 28744  	//   },
 28745  	//   "scopes": [
 28746  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28747  	//   ]
 28748  	// }
 28749  
 28750  }
 28751  
 28752  // method id "dfareporting.creatives.update":
 28753  
 28754  type CreativesUpdateCall struct {
 28755  	s          *Service
 28756  	profileId  int64
 28757  	creative   *Creative
 28758  	urlParams_ gensupport.URLParams
 28759  	ctx_       context.Context
 28760  	header_    http.Header
 28761  }
 28762  
 28763  // Update: Updates an existing creative.
 28764  func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
 28765  	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28766  	c.profileId = profileId
 28767  	c.creative = creative
 28768  	return c
 28769  }
 28770  
 28771  // Fields allows partial responses to be retrieved. See
 28772  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28773  // for more information.
 28774  func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
 28775  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28776  	return c
 28777  }
 28778  
 28779  // Context sets the context to be used in this call's Do method. Any
 28780  // pending HTTP request will be aborted if the provided context is
 28781  // canceled.
 28782  func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 28783  	c.ctx_ = ctx
 28784  	return c
 28785  }
 28786  
 28787  // Header returns an http.Header that can be modified by the caller to
 28788  // add HTTP headers to the request.
 28789  func (c *CreativesUpdateCall) Header() http.Header {
 28790  	if c.header_ == nil {
 28791  		c.header_ = make(http.Header)
 28792  	}
 28793  	return c.header_
 28794  }
 28795  
 28796  func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 28797  	reqHeaders := make(http.Header)
 28798  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28799  	for k, v := range c.header_ {
 28800  		reqHeaders[k] = v
 28801  	}
 28802  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28803  	var body io.Reader = nil
 28804  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28805  	if err != nil {
 28806  		return nil, err
 28807  	}
 28808  	reqHeaders.Set("Content-Type", "application/json")
 28809  	c.urlParams_.Set("alt", alt)
 28810  	c.urlParams_.Set("prettyPrint", "false")
 28811  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28812  	urls += "?" + c.urlParams_.Encode()
 28813  	req, err := http.NewRequest("PUT", urls, body)
 28814  	if err != nil {
 28815  		return nil, err
 28816  	}
 28817  	req.Header = reqHeaders
 28818  	googleapi.Expand(req.URL, map[string]string{
 28819  		"profileId": strconv.FormatInt(c.profileId, 10),
 28820  	})
 28821  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28822  }
 28823  
 28824  // Do executes the "dfareporting.creatives.update" call.
 28825  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28826  // code is an error. Response headers are in either
 28827  // *Creative.ServerResponse.Header or (if a response was returned at
 28828  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28829  // to check whether the returned error was because
 28830  // http.StatusNotModified was returned.
 28831  func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28832  	gensupport.SetOptions(c.urlParams_, opts...)
 28833  	res, err := c.doRequest("json")
 28834  	if res != nil && res.StatusCode == http.StatusNotModified {
 28835  		if res.Body != nil {
 28836  			res.Body.Close()
 28837  		}
 28838  		return nil, &googleapi.Error{
 28839  			Code:   res.StatusCode,
 28840  			Header: res.Header,
 28841  		}
 28842  	}
 28843  	if err != nil {
 28844  		return nil, err
 28845  	}
 28846  	defer googleapi.CloseBody(res)
 28847  	if err := googleapi.CheckResponse(res); err != nil {
 28848  		return nil, err
 28849  	}
 28850  	ret := &Creative{
 28851  		ServerResponse: googleapi.ServerResponse{
 28852  			Header:         res.Header,
 28853  			HTTPStatusCode: res.StatusCode,
 28854  		},
 28855  	}
 28856  	target := &ret
 28857  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28858  		return nil, err
 28859  	}
 28860  	return ret, nil
 28861  	// {
 28862  	//   "description": "Updates an existing creative.",
 28863  	//   "httpMethod": "PUT",
 28864  	//   "id": "dfareporting.creatives.update",
 28865  	//   "parameterOrder": [
 28866  	//     "profileId"
 28867  	//   ],
 28868  	//   "parameters": {
 28869  	//     "profileId": {
 28870  	//       "description": "User profile ID associated with this request.",
 28871  	//       "format": "int64",
 28872  	//       "location": "path",
 28873  	//       "required": true,
 28874  	//       "type": "string"
 28875  	//     }
 28876  	//   },
 28877  	//   "path": "userprofiles/{profileId}/creatives",
 28878  	//   "request": {
 28879  	//     "$ref": "Creative"
 28880  	//   },
 28881  	//   "response": {
 28882  	//     "$ref": "Creative"
 28883  	//   },
 28884  	//   "scopes": [
 28885  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28886  	//   ]
 28887  	// }
 28888  
 28889  }
 28890  
 28891  // method id "dfareporting.dimensionValues.query":
 28892  
 28893  type DimensionValuesQueryCall struct {
 28894  	s                     *Service
 28895  	profileId             int64
 28896  	dimensionvaluerequest *DimensionValueRequest
 28897  	urlParams_            gensupport.URLParams
 28898  	ctx_                  context.Context
 28899  	header_               http.Header
 28900  }
 28901  
 28902  // Query: Retrieves list of report dimension values for a list of
 28903  // filters.
 28904  func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
 28905  	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28906  	c.profileId = profileId
 28907  	c.dimensionvaluerequest = dimensionvaluerequest
 28908  	return c
 28909  }
 28910  
 28911  // MaxResults sets the optional parameter "maxResults": Maximum number
 28912  // of results to return.
 28913  func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
 28914  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 28915  	return c
 28916  }
 28917  
 28918  // PageToken sets the optional parameter "pageToken": The value of the
 28919  // nextToken from the previous result page.
 28920  func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
 28921  	c.urlParams_.Set("pageToken", pageToken)
 28922  	return c
 28923  }
 28924  
 28925  // Fields allows partial responses to be retrieved. See
 28926  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28927  // for more information.
 28928  func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
 28929  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28930  	return c
 28931  }
 28932  
 28933  // Context sets the context to be used in this call's Do method. Any
 28934  // pending HTTP request will be aborted if the provided context is
 28935  // canceled.
 28936  func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 28937  	c.ctx_ = ctx
 28938  	return c
 28939  }
 28940  
 28941  // Header returns an http.Header that can be modified by the caller to
 28942  // add HTTP headers to the request.
 28943  func (c *DimensionValuesQueryCall) Header() http.Header {
 28944  	if c.header_ == nil {
 28945  		c.header_ = make(http.Header)
 28946  	}
 28947  	return c.header_
 28948  }
 28949  
 28950  func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
 28951  	reqHeaders := make(http.Header)
 28952  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28953  	for k, v := range c.header_ {
 28954  		reqHeaders[k] = v
 28955  	}
 28956  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28957  	var body io.Reader = nil
 28958  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
 28959  	if err != nil {
 28960  		return nil, err
 28961  	}
 28962  	reqHeaders.Set("Content-Type", "application/json")
 28963  	c.urlParams_.Set("alt", alt)
 28964  	c.urlParams_.Set("prettyPrint", "false")
 28965  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
 28966  	urls += "?" + c.urlParams_.Encode()
 28967  	req, err := http.NewRequest("POST", urls, body)
 28968  	if err != nil {
 28969  		return nil, err
 28970  	}
 28971  	req.Header = reqHeaders
 28972  	googleapi.Expand(req.URL, map[string]string{
 28973  		"profileId": strconv.FormatInt(c.profileId, 10),
 28974  	})
 28975  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28976  }
 28977  
 28978  // Do executes the "dfareporting.dimensionValues.query" call.
 28979  // Exactly one of *DimensionValueList or error will be non-nil. Any
 28980  // non-2xx status code is an error. Response headers are in either
 28981  // *DimensionValueList.ServerResponse.Header or (if a response was
 28982  // returned at all) in error.(*googleapi.Error).Header. Use
 28983  // googleapi.IsNotModified to check whether the returned error was
 28984  // because http.StatusNotModified was returned.
 28985  func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
 28986  	gensupport.SetOptions(c.urlParams_, opts...)
 28987  	res, err := c.doRequest("json")
 28988  	if res != nil && res.StatusCode == http.StatusNotModified {
 28989  		if res.Body != nil {
 28990  			res.Body.Close()
 28991  		}
 28992  		return nil, &googleapi.Error{
 28993  			Code:   res.StatusCode,
 28994  			Header: res.Header,
 28995  		}
 28996  	}
 28997  	if err != nil {
 28998  		return nil, err
 28999  	}
 29000  	defer googleapi.CloseBody(res)
 29001  	if err := googleapi.CheckResponse(res); err != nil {
 29002  		return nil, err
 29003  	}
 29004  	ret := &DimensionValueList{
 29005  		ServerResponse: googleapi.ServerResponse{
 29006  			Header:         res.Header,
 29007  			HTTPStatusCode: res.StatusCode,
 29008  		},
 29009  	}
 29010  	target := &ret
 29011  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29012  		return nil, err
 29013  	}
 29014  	return ret, nil
 29015  	// {
 29016  	//   "description": "Retrieves list of report dimension values for a list of filters.",
 29017  	//   "httpMethod": "POST",
 29018  	//   "id": "dfareporting.dimensionValues.query",
 29019  	//   "parameterOrder": [
 29020  	//     "profileId"
 29021  	//   ],
 29022  	//   "parameters": {
 29023  	//     "maxResults": {
 29024  	//       "default": "100",
 29025  	//       "description": "Maximum number of results to return.",
 29026  	//       "format": "int32",
 29027  	//       "location": "query",
 29028  	//       "maximum": "100",
 29029  	//       "minimum": "0",
 29030  	//       "type": "integer"
 29031  	//     },
 29032  	//     "pageToken": {
 29033  	//       "description": "The value of the nextToken from the previous result page.",
 29034  	//       "location": "query",
 29035  	//       "type": "string"
 29036  	//     },
 29037  	//     "profileId": {
 29038  	//       "description": "The DFA user profile ID.",
 29039  	//       "format": "int64",
 29040  	//       "location": "path",
 29041  	//       "required": true,
 29042  	//       "type": "string"
 29043  	//     }
 29044  	//   },
 29045  	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
 29046  	//   "request": {
 29047  	//     "$ref": "DimensionValueRequest"
 29048  	//   },
 29049  	//   "response": {
 29050  	//     "$ref": "DimensionValueList"
 29051  	//   },
 29052  	//   "scopes": [
 29053  	//     "https://www.googleapis.com/auth/dfareporting"
 29054  	//   ]
 29055  	// }
 29056  
 29057  }
 29058  
 29059  // Pages invokes f for each page of results.
 29060  // A non-nil error returned from f will halt the iteration.
 29061  // The provided context supersedes any context provided to the Context method.
 29062  func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
 29063  	c.ctx_ = ctx
 29064  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 29065  	for {
 29066  		x, err := c.Do()
 29067  		if err != nil {
 29068  			return err
 29069  		}
 29070  		if err := f(x); err != nil {
 29071  			return err
 29072  		}
 29073  		if x.NextPageToken == "" {
 29074  			return nil
 29075  		}
 29076  		c.PageToken(x.NextPageToken)
 29077  	}
 29078  }
 29079  
 29080  // method id "dfareporting.directorySiteContacts.get":
 29081  
 29082  type DirectorySiteContactsGetCall struct {
 29083  	s            *Service
 29084  	profileId    int64
 29085  	id           int64
 29086  	urlParams_   gensupport.URLParams
 29087  	ifNoneMatch_ string
 29088  	ctx_         context.Context
 29089  	header_      http.Header
 29090  }
 29091  
 29092  // Get: Gets one directory site contact by ID.
 29093  func (r *DirectorySiteContactsService) Get(profileId int64, id int64) *DirectorySiteContactsGetCall {
 29094  	c := &DirectorySiteContactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29095  	c.profileId = profileId
 29096  	c.id = id
 29097  	return c
 29098  }
 29099  
 29100  // Fields allows partial responses to be retrieved. See
 29101  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29102  // for more information.
 29103  func (c *DirectorySiteContactsGetCall) Fields(s ...googleapi.Field) *DirectorySiteContactsGetCall {
 29104  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29105  	return c
 29106  }
 29107  
 29108  // IfNoneMatch sets the optional parameter which makes the operation
 29109  // fail if the object's ETag matches the given value. This is useful for
 29110  // getting updates only after the object has changed since the last
 29111  // request. Use googleapi.IsNotModified to check whether the response
 29112  // error from Do is the result of In-None-Match.
 29113  func (c *DirectorySiteContactsGetCall) IfNoneMatch(entityTag string) *DirectorySiteContactsGetCall {
 29114  	c.ifNoneMatch_ = entityTag
 29115  	return c
 29116  }
 29117  
 29118  // Context sets the context to be used in this call's Do method. Any
 29119  // pending HTTP request will be aborted if the provided context is
 29120  // canceled.
 29121  func (c *DirectorySiteContactsGetCall) Context(ctx context.Context) *DirectorySiteContactsGetCall {
 29122  	c.ctx_ = ctx
 29123  	return c
 29124  }
 29125  
 29126  // Header returns an http.Header that can be modified by the caller to
 29127  // add HTTP headers to the request.
 29128  func (c *DirectorySiteContactsGetCall) Header() http.Header {
 29129  	if c.header_ == nil {
 29130  		c.header_ = make(http.Header)
 29131  	}
 29132  	return c.header_
 29133  }
 29134  
 29135  func (c *DirectorySiteContactsGetCall) doRequest(alt string) (*http.Response, error) {
 29136  	reqHeaders := make(http.Header)
 29137  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29138  	for k, v := range c.header_ {
 29139  		reqHeaders[k] = v
 29140  	}
 29141  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29142  	if c.ifNoneMatch_ != "" {
 29143  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29144  	}
 29145  	var body io.Reader = nil
 29146  	c.urlParams_.Set("alt", alt)
 29147  	c.urlParams_.Set("prettyPrint", "false")
 29148  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts/{id}")
 29149  	urls += "?" + c.urlParams_.Encode()
 29150  	req, err := http.NewRequest("GET", urls, body)
 29151  	if err != nil {
 29152  		return nil, err
 29153  	}
 29154  	req.Header = reqHeaders
 29155  	googleapi.Expand(req.URL, map[string]string{
 29156  		"profileId": strconv.FormatInt(c.profileId, 10),
 29157  		"id":        strconv.FormatInt(c.id, 10),
 29158  	})
 29159  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29160  }
 29161  
 29162  // Do executes the "dfareporting.directorySiteContacts.get" call.
 29163  // Exactly one of *DirectorySiteContact or error will be non-nil. Any
 29164  // non-2xx status code is an error. Response headers are in either
 29165  // *DirectorySiteContact.ServerResponse.Header or (if a response was
 29166  // returned at all) in error.(*googleapi.Error).Header. Use
 29167  // googleapi.IsNotModified to check whether the returned error was
 29168  // because http.StatusNotModified was returned.
 29169  func (c *DirectorySiteContactsGetCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContact, error) {
 29170  	gensupport.SetOptions(c.urlParams_, opts...)
 29171  	res, err := c.doRequest("json")
 29172  	if res != nil && res.StatusCode == http.StatusNotModified {
 29173  		if res.Body != nil {
 29174  			res.Body.Close()
 29175  		}
 29176  		return nil, &googleapi.Error{
 29177  			Code:   res.StatusCode,
 29178  			Header: res.Header,
 29179  		}
 29180  	}
 29181  	if err != nil {
 29182  		return nil, err
 29183  	}
 29184  	defer googleapi.CloseBody(res)
 29185  	if err := googleapi.CheckResponse(res); err != nil {
 29186  		return nil, err
 29187  	}
 29188  	ret := &DirectorySiteContact{
 29189  		ServerResponse: googleapi.ServerResponse{
 29190  			Header:         res.Header,
 29191  			HTTPStatusCode: res.StatusCode,
 29192  		},
 29193  	}
 29194  	target := &ret
 29195  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29196  		return nil, err
 29197  	}
 29198  	return ret, nil
 29199  	// {
 29200  	//   "description": "Gets one directory site contact by ID.",
 29201  	//   "httpMethod": "GET",
 29202  	//   "id": "dfareporting.directorySiteContacts.get",
 29203  	//   "parameterOrder": [
 29204  	//     "profileId",
 29205  	//     "id"
 29206  	//   ],
 29207  	//   "parameters": {
 29208  	//     "id": {
 29209  	//       "description": "Directory site contact ID.",
 29210  	//       "format": "int64",
 29211  	//       "location": "path",
 29212  	//       "required": true,
 29213  	//       "type": "string"
 29214  	//     },
 29215  	//     "profileId": {
 29216  	//       "description": "User profile ID associated with this request.",
 29217  	//       "format": "int64",
 29218  	//       "location": "path",
 29219  	//       "required": true,
 29220  	//       "type": "string"
 29221  	//     }
 29222  	//   },
 29223  	//   "path": "userprofiles/{profileId}/directorySiteContacts/{id}",
 29224  	//   "response": {
 29225  	//     "$ref": "DirectorySiteContact"
 29226  	//   },
 29227  	//   "scopes": [
 29228  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29229  	//   ]
 29230  	// }
 29231  
 29232  }
 29233  
 29234  // method id "dfareporting.directorySiteContacts.list":
 29235  
 29236  type DirectorySiteContactsListCall struct {
 29237  	s            *Service
 29238  	profileId    int64
 29239  	urlParams_   gensupport.URLParams
 29240  	ifNoneMatch_ string
 29241  	ctx_         context.Context
 29242  	header_      http.Header
 29243  }
 29244  
 29245  // List: Retrieves a list of directory site contacts, possibly filtered.
 29246  // This method supports paging.
 29247  func (r *DirectorySiteContactsService) List(profileId int64) *DirectorySiteContactsListCall {
 29248  	c := &DirectorySiteContactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29249  	c.profileId = profileId
 29250  	return c
 29251  }
 29252  
 29253  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 29254  // Select only directory site contacts with these directory site IDs.
 29255  // This is a required field.
 29256  func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds ...int64) *DirectorySiteContactsListCall {
 29257  	var directorySiteIds_ []string
 29258  	for _, v := range directorySiteIds {
 29259  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 29260  	}
 29261  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 29262  	return c
 29263  }
 29264  
 29265  // Ids sets the optional parameter "ids": Select only directory site
 29266  // contacts with these IDs.
 29267  func (c *DirectorySiteContactsListCall) Ids(ids ...int64) *DirectorySiteContactsListCall {
 29268  	var ids_ []string
 29269  	for _, v := range ids {
 29270  		ids_ = append(ids_, fmt.Sprint(v))
 29271  	}
 29272  	c.urlParams_.SetMulti("ids", ids_)
 29273  	return c
 29274  }
 29275  
 29276  // MaxResults sets the optional parameter "maxResults": Maximum number
 29277  // of results to return.
 29278  func (c *DirectorySiteContactsListCall) MaxResults(maxResults int64) *DirectorySiteContactsListCall {
 29279  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 29280  	return c
 29281  }
 29282  
 29283  // PageToken sets the optional parameter "pageToken": Value of the
 29284  // nextPageToken from the previous result page.
 29285  func (c *DirectorySiteContactsListCall) PageToken(pageToken string) *DirectorySiteContactsListCall {
 29286  	c.urlParams_.Set("pageToken", pageToken)
 29287  	return c
 29288  }
 29289  
 29290  // SearchString sets the optional parameter "searchString": Allows
 29291  // searching for objects by name, ID or email. Wildcards (*) are
 29292  // allowed. For example, "directory site contact*2015" will return
 29293  // objects with names like "directory site contact June 2015",
 29294  // "directory site contact April 2015", or simply "directory site
 29295  // contact 2015". Most of the searches also add wildcards implicitly at
 29296  // the start and the end of the search string. For example, a search
 29297  // string of "directory site contact" will match objects with name "my
 29298  // directory site contact", "directory site contact 2015", or simply
 29299  // "directory site contact".
 29300  func (c *DirectorySiteContactsListCall) SearchString(searchString string) *DirectorySiteContactsListCall {
 29301  	c.urlParams_.Set("searchString", searchString)
 29302  	return c
 29303  }
 29304  
 29305  // SortField sets the optional parameter "sortField": Field by which to
 29306  // sort the list.
 29307  //
 29308  // Possible values:
 29309  //
 29310  //	"ID" (default)
 29311  //	"NAME"
 29312  func (c *DirectorySiteContactsListCall) SortField(sortField string) *DirectorySiteContactsListCall {
 29313  	c.urlParams_.Set("sortField", sortField)
 29314  	return c
 29315  }
 29316  
 29317  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 29318  // results.
 29319  //
 29320  // Possible values:
 29321  //
 29322  //	"ASCENDING" (default)
 29323  //	"DESCENDING"
 29324  func (c *DirectorySiteContactsListCall) SortOrder(sortOrder string) *DirectorySiteContactsListCall {
 29325  	c.urlParams_.Set("sortOrder", sortOrder)
 29326  	return c
 29327  }
 29328  
 29329  // Fields allows partial responses to be retrieved. See
 29330  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29331  // for more information.
 29332  func (c *DirectorySiteContactsListCall) Fields(s ...googleapi.Field) *DirectorySiteContactsListCall {
 29333  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29334  	return c
 29335  }
 29336  
 29337  // IfNoneMatch sets the optional parameter which makes the operation
 29338  // fail if the object's ETag matches the given value. This is useful for
 29339  // getting updates only after the object has changed since the last
 29340  // request. Use googleapi.IsNotModified to check whether the response
 29341  // error from Do is the result of In-None-Match.
 29342  func (c *DirectorySiteContactsListCall) IfNoneMatch(entityTag string) *DirectorySiteContactsListCall {
 29343  	c.ifNoneMatch_ = entityTag
 29344  	return c
 29345  }
 29346  
 29347  // Context sets the context to be used in this call's Do method. Any
 29348  // pending HTTP request will be aborted if the provided context is
 29349  // canceled.
 29350  func (c *DirectorySiteContactsListCall) Context(ctx context.Context) *DirectorySiteContactsListCall {
 29351  	c.ctx_ = ctx
 29352  	return c
 29353  }
 29354  
 29355  // Header returns an http.Header that can be modified by the caller to
 29356  // add HTTP headers to the request.
 29357  func (c *DirectorySiteContactsListCall) Header() http.Header {
 29358  	if c.header_ == nil {
 29359  		c.header_ = make(http.Header)
 29360  	}
 29361  	return c.header_
 29362  }
 29363  
 29364  func (c *DirectorySiteContactsListCall) doRequest(alt string) (*http.Response, error) {
 29365  	reqHeaders := make(http.Header)
 29366  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29367  	for k, v := range c.header_ {
 29368  		reqHeaders[k] = v
 29369  	}
 29370  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29371  	if c.ifNoneMatch_ != "" {
 29372  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29373  	}
 29374  	var body io.Reader = nil
 29375  	c.urlParams_.Set("alt", alt)
 29376  	c.urlParams_.Set("prettyPrint", "false")
 29377  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts")
 29378  	urls += "?" + c.urlParams_.Encode()
 29379  	req, err := http.NewRequest("GET", urls, body)
 29380  	if err != nil {
 29381  		return nil, err
 29382  	}
 29383  	req.Header = reqHeaders
 29384  	googleapi.Expand(req.URL, map[string]string{
 29385  		"profileId": strconv.FormatInt(c.profileId, 10),
 29386  	})
 29387  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29388  }
 29389  
 29390  // Do executes the "dfareporting.directorySiteContacts.list" call.
 29391  // Exactly one of *DirectorySiteContactsListResponse or error will be
 29392  // non-nil. Any non-2xx status code is an error. Response headers are in
 29393  // either *DirectorySiteContactsListResponse.ServerResponse.Header or
 29394  // (if a response was returned at all) in
 29395  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 29396  // whether the returned error was because http.StatusNotModified was
 29397  // returned.
 29398  func (c *DirectorySiteContactsListCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContactsListResponse, error) {
 29399  	gensupport.SetOptions(c.urlParams_, opts...)
 29400  	res, err := c.doRequest("json")
 29401  	if res != nil && res.StatusCode == http.StatusNotModified {
 29402  		if res.Body != nil {
 29403  			res.Body.Close()
 29404  		}
 29405  		return nil, &googleapi.Error{
 29406  			Code:   res.StatusCode,
 29407  			Header: res.Header,
 29408  		}
 29409  	}
 29410  	if err != nil {
 29411  		return nil, err
 29412  	}
 29413  	defer googleapi.CloseBody(res)
 29414  	if err := googleapi.CheckResponse(res); err != nil {
 29415  		return nil, err
 29416  	}
 29417  	ret := &DirectorySiteContactsListResponse{
 29418  		ServerResponse: googleapi.ServerResponse{
 29419  			Header:         res.Header,
 29420  			HTTPStatusCode: res.StatusCode,
 29421  		},
 29422  	}
 29423  	target := &ret
 29424  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29425  		return nil, err
 29426  	}
 29427  	return ret, nil
 29428  	// {
 29429  	//   "description": "Retrieves a list of directory site contacts, possibly filtered. This method supports paging.",
 29430  	//   "httpMethod": "GET",
 29431  	//   "id": "dfareporting.directorySiteContacts.list",
 29432  	//   "parameterOrder": [
 29433  	//     "profileId"
 29434  	//   ],
 29435  	//   "parameters": {
 29436  	//     "directorySiteIds": {
 29437  	//       "description": "Select only directory site contacts with these directory site IDs. This is a required field.",
 29438  	//       "format": "int64",
 29439  	//       "location": "query",
 29440  	//       "repeated": true,
 29441  	//       "type": "string"
 29442  	//     },
 29443  	//     "ids": {
 29444  	//       "description": "Select only directory site contacts with these IDs.",
 29445  	//       "format": "int64",
 29446  	//       "location": "query",
 29447  	//       "repeated": true,
 29448  	//       "type": "string"
 29449  	//     },
 29450  	//     "maxResults": {
 29451  	//       "default": "1000",
 29452  	//       "description": "Maximum number of results to return.",
 29453  	//       "format": "int32",
 29454  	//       "location": "query",
 29455  	//       "maximum": "1000",
 29456  	//       "minimum": "0",
 29457  	//       "type": "integer"
 29458  	//     },
 29459  	//     "pageToken": {
 29460  	//       "description": "Value of the nextPageToken from the previous result page.",
 29461  	//       "location": "query",
 29462  	//       "type": "string"
 29463  	//     },
 29464  	//     "profileId": {
 29465  	//       "description": "User profile ID associated with this request.",
 29466  	//       "format": "int64",
 29467  	//       "location": "path",
 29468  	//       "required": true,
 29469  	//       "type": "string"
 29470  	//     },
 29471  	//     "searchString": {
 29472  	//       "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"directory site contact*2015\" will return objects with names like \"directory site contact June 2015\", \"directory site contact April 2015\", or simply \"directory site contact 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site contact\" will match objects with name \"my directory site contact\", \"directory site contact 2015\", or simply \"directory site contact\".",
 29473  	//       "location": "query",
 29474  	//       "type": "string"
 29475  	//     },
 29476  	//     "sortField": {
 29477  	//       "default": "ID",
 29478  	//       "description": "Field by which to sort the list.",
 29479  	//       "enum": [
 29480  	//         "ID",
 29481  	//         "NAME"
 29482  	//       ],
 29483  	//       "enumDescriptions": [
 29484  	//         "",
 29485  	//         ""
 29486  	//       ],
 29487  	//       "location": "query",
 29488  	//       "type": "string"
 29489  	//     },
 29490  	//     "sortOrder": {
 29491  	//       "default": "ASCENDING",
 29492  	//       "description": "Order of sorted results.",
 29493  	//       "enum": [
 29494  	//         "ASCENDING",
 29495  	//         "DESCENDING"
 29496  	//       ],
 29497  	//       "enumDescriptions": [
 29498  	//         "",
 29499  	//         ""
 29500  	//       ],
 29501  	//       "location": "query",
 29502  	//       "type": "string"
 29503  	//     }
 29504  	//   },
 29505  	//   "path": "userprofiles/{profileId}/directorySiteContacts",
 29506  	//   "response": {
 29507  	//     "$ref": "DirectorySiteContactsListResponse"
 29508  	//   },
 29509  	//   "scopes": [
 29510  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29511  	//   ]
 29512  	// }
 29513  
 29514  }
 29515  
 29516  // Pages invokes f for each page of results.
 29517  // A non-nil error returned from f will halt the iteration.
 29518  // The provided context supersedes any context provided to the Context method.
 29519  func (c *DirectorySiteContactsListCall) Pages(ctx context.Context, f func(*DirectorySiteContactsListResponse) error) error {
 29520  	c.ctx_ = ctx
 29521  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 29522  	for {
 29523  		x, err := c.Do()
 29524  		if err != nil {
 29525  			return err
 29526  		}
 29527  		if err := f(x); err != nil {
 29528  			return err
 29529  		}
 29530  		if x.NextPageToken == "" {
 29531  			return nil
 29532  		}
 29533  		c.PageToken(x.NextPageToken)
 29534  	}
 29535  }
 29536  
 29537  // method id "dfareporting.directorySites.get":
 29538  
 29539  type DirectorySitesGetCall struct {
 29540  	s            *Service
 29541  	profileId    int64
 29542  	id           int64
 29543  	urlParams_   gensupport.URLParams
 29544  	ifNoneMatch_ string
 29545  	ctx_         context.Context
 29546  	header_      http.Header
 29547  }
 29548  
 29549  // Get: Gets one directory site by ID.
 29550  func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
 29551  	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29552  	c.profileId = profileId
 29553  	c.id = id
 29554  	return c
 29555  }
 29556  
 29557  // Fields allows partial responses to be retrieved. See
 29558  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29559  // for more information.
 29560  func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
 29561  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29562  	return c
 29563  }
 29564  
 29565  // IfNoneMatch sets the optional parameter which makes the operation
 29566  // fail if the object's ETag matches the given value. This is useful for
 29567  // getting updates only after the object has changed since the last
 29568  // request. Use googleapi.IsNotModified to check whether the response
 29569  // error from Do is the result of In-None-Match.
 29570  func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
 29571  	c.ifNoneMatch_ = entityTag
 29572  	return c
 29573  }
 29574  
 29575  // Context sets the context to be used in this call's Do method. Any
 29576  // pending HTTP request will be aborted if the provided context is
 29577  // canceled.
 29578  func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 29579  	c.ctx_ = ctx
 29580  	return c
 29581  }
 29582  
 29583  // Header returns an http.Header that can be modified by the caller to
 29584  // add HTTP headers to the request.
 29585  func (c *DirectorySitesGetCall) Header() http.Header {
 29586  	if c.header_ == nil {
 29587  		c.header_ = make(http.Header)
 29588  	}
 29589  	return c.header_
 29590  }
 29591  
 29592  func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 29593  	reqHeaders := make(http.Header)
 29594  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29595  	for k, v := range c.header_ {
 29596  		reqHeaders[k] = v
 29597  	}
 29598  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29599  	if c.ifNoneMatch_ != "" {
 29600  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29601  	}
 29602  	var body io.Reader = nil
 29603  	c.urlParams_.Set("alt", alt)
 29604  	c.urlParams_.Set("prettyPrint", "false")
 29605  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
 29606  	urls += "?" + c.urlParams_.Encode()
 29607  	req, err := http.NewRequest("GET", urls, body)
 29608  	if err != nil {
 29609  		return nil, err
 29610  	}
 29611  	req.Header = reqHeaders
 29612  	googleapi.Expand(req.URL, map[string]string{
 29613  		"profileId": strconv.FormatInt(c.profileId, 10),
 29614  		"id":        strconv.FormatInt(c.id, 10),
 29615  	})
 29616  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29617  }
 29618  
 29619  // Do executes the "dfareporting.directorySites.get" call.
 29620  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 29621  // status code is an error. Response headers are in either
 29622  // *DirectorySite.ServerResponse.Header or (if a response was returned
 29623  // at all) in error.(*googleapi.Error).Header. Use
 29624  // googleapi.IsNotModified to check whether the returned error was
 29625  // because http.StatusNotModified was returned.
 29626  func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 29627  	gensupport.SetOptions(c.urlParams_, opts...)
 29628  	res, err := c.doRequest("json")
 29629  	if res != nil && res.StatusCode == http.StatusNotModified {
 29630  		if res.Body != nil {
 29631  			res.Body.Close()
 29632  		}
 29633  		return nil, &googleapi.Error{
 29634  			Code:   res.StatusCode,
 29635  			Header: res.Header,
 29636  		}
 29637  	}
 29638  	if err != nil {
 29639  		return nil, err
 29640  	}
 29641  	defer googleapi.CloseBody(res)
 29642  	if err := googleapi.CheckResponse(res); err != nil {
 29643  		return nil, err
 29644  	}
 29645  	ret := &DirectorySite{
 29646  		ServerResponse: googleapi.ServerResponse{
 29647  			Header:         res.Header,
 29648  			HTTPStatusCode: res.StatusCode,
 29649  		},
 29650  	}
 29651  	target := &ret
 29652  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29653  		return nil, err
 29654  	}
 29655  	return ret, nil
 29656  	// {
 29657  	//   "description": "Gets one directory site by ID.",
 29658  	//   "httpMethod": "GET",
 29659  	//   "id": "dfareporting.directorySites.get",
 29660  	//   "parameterOrder": [
 29661  	//     "profileId",
 29662  	//     "id"
 29663  	//   ],
 29664  	//   "parameters": {
 29665  	//     "id": {
 29666  	//       "description": "Directory site ID.",
 29667  	//       "format": "int64",
 29668  	//       "location": "path",
 29669  	//       "required": true,
 29670  	//       "type": "string"
 29671  	//     },
 29672  	//     "profileId": {
 29673  	//       "description": "User profile ID associated with this request.",
 29674  	//       "format": "int64",
 29675  	//       "location": "path",
 29676  	//       "required": true,
 29677  	//       "type": "string"
 29678  	//     }
 29679  	//   },
 29680  	//   "path": "userprofiles/{profileId}/directorySites/{id}",
 29681  	//   "response": {
 29682  	//     "$ref": "DirectorySite"
 29683  	//   },
 29684  	//   "scopes": [
 29685  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29686  	//   ]
 29687  	// }
 29688  
 29689  }
 29690  
 29691  // method id "dfareporting.directorySites.insert":
 29692  
 29693  type DirectorySitesInsertCall struct {
 29694  	s             *Service
 29695  	profileId     int64
 29696  	directorysite *DirectorySite
 29697  	urlParams_    gensupport.URLParams
 29698  	ctx_          context.Context
 29699  	header_       http.Header
 29700  }
 29701  
 29702  // Insert: Inserts a new directory site.
 29703  func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
 29704  	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29705  	c.profileId = profileId
 29706  	c.directorysite = directorysite
 29707  	return c
 29708  }
 29709  
 29710  // Fields allows partial responses to be retrieved. See
 29711  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29712  // for more information.
 29713  func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
 29714  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29715  	return c
 29716  }
 29717  
 29718  // Context sets the context to be used in this call's Do method. Any
 29719  // pending HTTP request will be aborted if the provided context is
 29720  // canceled.
 29721  func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
 29722  	c.ctx_ = ctx
 29723  	return c
 29724  }
 29725  
 29726  // Header returns an http.Header that can be modified by the caller to
 29727  // add HTTP headers to the request.
 29728  func (c *DirectorySitesInsertCall) Header() http.Header {
 29729  	if c.header_ == nil {
 29730  		c.header_ = make(http.Header)
 29731  	}
 29732  	return c.header_
 29733  }
 29734  
 29735  func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
 29736  	reqHeaders := make(http.Header)
 29737  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29738  	for k, v := range c.header_ {
 29739  		reqHeaders[k] = v
 29740  	}
 29741  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29742  	var body io.Reader = nil
 29743  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
 29744  	if err != nil {
 29745  		return nil, err
 29746  	}
 29747  	reqHeaders.Set("Content-Type", "application/json")
 29748  	c.urlParams_.Set("alt", alt)
 29749  	c.urlParams_.Set("prettyPrint", "false")
 29750  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 29751  	urls += "?" + c.urlParams_.Encode()
 29752  	req, err := http.NewRequest("POST", urls, body)
 29753  	if err != nil {
 29754  		return nil, err
 29755  	}
 29756  	req.Header = reqHeaders
 29757  	googleapi.Expand(req.URL, map[string]string{
 29758  		"profileId": strconv.FormatInt(c.profileId, 10),
 29759  	})
 29760  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29761  }
 29762  
 29763  // Do executes the "dfareporting.directorySites.insert" call.
 29764  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 29765  // status code is an error. Response headers are in either
 29766  // *DirectorySite.ServerResponse.Header or (if a response was returned
 29767  // at all) in error.(*googleapi.Error).Header. Use
 29768  // googleapi.IsNotModified to check whether the returned error was
 29769  // because http.StatusNotModified was returned.
 29770  func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 29771  	gensupport.SetOptions(c.urlParams_, opts...)
 29772  	res, err := c.doRequest("json")
 29773  	if res != nil && res.StatusCode == http.StatusNotModified {
 29774  		if res.Body != nil {
 29775  			res.Body.Close()
 29776  		}
 29777  		return nil, &googleapi.Error{
 29778  			Code:   res.StatusCode,
 29779  			Header: res.Header,
 29780  		}
 29781  	}
 29782  	if err != nil {
 29783  		return nil, err
 29784  	}
 29785  	defer googleapi.CloseBody(res)
 29786  	if err := googleapi.CheckResponse(res); err != nil {
 29787  		return nil, err
 29788  	}
 29789  	ret := &DirectorySite{
 29790  		ServerResponse: googleapi.ServerResponse{
 29791  			Header:         res.Header,
 29792  			HTTPStatusCode: res.StatusCode,
 29793  		},
 29794  	}
 29795  	target := &ret
 29796  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29797  		return nil, err
 29798  	}
 29799  	return ret, nil
 29800  	// {
 29801  	//   "description": "Inserts a new directory site.",
 29802  	//   "httpMethod": "POST",
 29803  	//   "id": "dfareporting.directorySites.insert",
 29804  	//   "parameterOrder": [
 29805  	//     "profileId"
 29806  	//   ],
 29807  	//   "parameters": {
 29808  	//     "profileId": {
 29809  	//       "description": "User profile ID associated with this request.",
 29810  	//       "format": "int64",
 29811  	//       "location": "path",
 29812  	//       "required": true,
 29813  	//       "type": "string"
 29814  	//     }
 29815  	//   },
 29816  	//   "path": "userprofiles/{profileId}/directorySites",
 29817  	//   "request": {
 29818  	//     "$ref": "DirectorySite"
 29819  	//   },
 29820  	//   "response": {
 29821  	//     "$ref": "DirectorySite"
 29822  	//   },
 29823  	//   "scopes": [
 29824  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29825  	//   ]
 29826  	// }
 29827  
 29828  }
 29829  
 29830  // method id "dfareporting.directorySites.list":
 29831  
 29832  type DirectorySitesListCall struct {
 29833  	s            *Service
 29834  	profileId    int64
 29835  	urlParams_   gensupport.URLParams
 29836  	ifNoneMatch_ string
 29837  	ctx_         context.Context
 29838  	header_      http.Header
 29839  }
 29840  
 29841  // List: Retrieves a list of directory sites, possibly filtered. This
 29842  // method supports paging.
 29843  func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
 29844  	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29845  	c.profileId = profileId
 29846  	return c
 29847  }
 29848  
 29849  // AcceptsInStreamVideoPlacements sets the optional parameter
 29850  // "acceptsInStreamVideoPlacements": This search filter is no longer
 29851  // supported and will have no effect on the results returned.
 29852  func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
 29853  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 29854  	return c
 29855  }
 29856  
 29857  // AcceptsInterstitialPlacements sets the optional parameter
 29858  // "acceptsInterstitialPlacements": This search filter is no longer
 29859  // supported and will have no effect on the results returned.
 29860  func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
 29861  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 29862  	return c
 29863  }
 29864  
 29865  // AcceptsPublisherPaidPlacements sets the optional parameter
 29866  // "acceptsPublisherPaidPlacements": Select only directory sites that
 29867  // accept publisher paid placements. This field can be left blank.
 29868  func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
 29869  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 29870  	return c
 29871  }
 29872  
 29873  // Active sets the optional parameter "active": Select only active
 29874  // directory sites. Leave blank to retrieve both active and inactive
 29875  // directory sites.
 29876  func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
 29877  	c.urlParams_.Set("active", fmt.Sprint(active))
 29878  	return c
 29879  }
 29880  
 29881  // CountryId sets the optional parameter "countryId": Select only
 29882  // directory sites with this country ID.
 29883  func (c *DirectorySitesListCall) CountryId(countryId int64) *DirectorySitesListCall {
 29884  	c.urlParams_.Set("countryId", fmt.Sprint(countryId))
 29885  	return c
 29886  }
 29887  
 29888  // DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
 29889  // only directory sites with this Ad Manager network code.
 29890  func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
 29891  	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
 29892  	return c
 29893  }
 29894  
 29895  // Ids sets the optional parameter "ids": Select only directory sites
 29896  // with these IDs.
 29897  func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
 29898  	var ids_ []string
 29899  	for _, v := range ids {
 29900  		ids_ = append(ids_, fmt.Sprint(v))
 29901  	}
 29902  	c.urlParams_.SetMulti("ids", ids_)
 29903  	return c
 29904  }
 29905  
 29906  // MaxResults sets the optional parameter "maxResults": Maximum number
 29907  // of results to return.
 29908  func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
 29909  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 29910  	return c
 29911  }
 29912  
 29913  // PageToken sets the optional parameter "pageToken": Value of the
 29914  // nextPageToken from the previous result page.
 29915  func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
 29916  	c.urlParams_.Set("pageToken", pageToken)
 29917  	return c
 29918  }
 29919  
 29920  // ParentId sets the optional parameter "parentId": Select only
 29921  // directory sites with this parent ID.
 29922  func (c *DirectorySitesListCall) ParentId(parentId int64) *DirectorySitesListCall {
 29923  	c.urlParams_.Set("parentId", fmt.Sprint(parentId))
 29924  	return c
 29925  }
 29926  
 29927  // SearchString sets the optional parameter "searchString": Allows
 29928  // searching for objects by name, ID or URL. Wildcards (*) are allowed.
 29929  // For example, "directory site*2015" will return objects with names
 29930  // like "directory site June 2015", "directory site April 2015", or
 29931  // simply "directory site 2015". Most of the searches also add wildcards
 29932  // implicitly at the start and the end of the search string. For
 29933  // example, a search string of "directory site" will match objects with
 29934  // name "my directory site", "directory site 2015" or simply, "directory
 29935  // site".
 29936  func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
 29937  	c.urlParams_.Set("searchString", searchString)
 29938  	return c
 29939  }
 29940  
 29941  // SortField sets the optional parameter "sortField": Field by which to
 29942  // sort the list.
 29943  //
 29944  // Possible values:
 29945  //
 29946  //	"ID" (default)
 29947  //	"NAME"
 29948  func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
 29949  	c.urlParams_.Set("sortField", sortField)
 29950  	return c
 29951  }
 29952  
 29953  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 29954  // results.
 29955  //
 29956  // Possible values:
 29957  //
 29958  //	"ASCENDING" (default)
 29959  //	"DESCENDING"
 29960  func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
 29961  	c.urlParams_.Set("sortOrder", sortOrder)
 29962  	return c
 29963  }
 29964  
 29965  // Fields allows partial responses to be retrieved. See
 29966  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29967  // for more information.
 29968  func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
 29969  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29970  	return c
 29971  }
 29972  
 29973  // IfNoneMatch sets the optional parameter which makes the operation
 29974  // fail if the object's ETag matches the given value. This is useful for
 29975  // getting updates only after the object has changed since the last
 29976  // request. Use googleapi.IsNotModified to check whether the response
 29977  // error from Do is the result of In-None-Match.
 29978  func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
 29979  	c.ifNoneMatch_ = entityTag
 29980  	return c
 29981  }
 29982  
 29983  // Context sets the context to be used in this call's Do method. Any
 29984  // pending HTTP request will be aborted if the provided context is
 29985  // canceled.
 29986  func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 29987  	c.ctx_ = ctx
 29988  	return c
 29989  }
 29990  
 29991  // Header returns an http.Header that can be modified by the caller to
 29992  // add HTTP headers to the request.
 29993  func (c *DirectorySitesListCall) Header() http.Header {
 29994  	if c.header_ == nil {
 29995  		c.header_ = make(http.Header)
 29996  	}
 29997  	return c.header_
 29998  }
 29999  
 30000  func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 30001  	reqHeaders := make(http.Header)
 30002  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30003  	for k, v := range c.header_ {
 30004  		reqHeaders[k] = v
 30005  	}
 30006  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30007  	if c.ifNoneMatch_ != "" {
 30008  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30009  	}
 30010  	var body io.Reader = nil
 30011  	c.urlParams_.Set("alt", alt)
 30012  	c.urlParams_.Set("prettyPrint", "false")
 30013  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 30014  	urls += "?" + c.urlParams_.Encode()
 30015  	req, err := http.NewRequest("GET", urls, body)
 30016  	if err != nil {
 30017  		return nil, err
 30018  	}
 30019  	req.Header = reqHeaders
 30020  	googleapi.Expand(req.URL, map[string]string{
 30021  		"profileId": strconv.FormatInt(c.profileId, 10),
 30022  	})
 30023  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30024  }
 30025  
 30026  // Do executes the "dfareporting.directorySites.list" call.
 30027  // Exactly one of *DirectorySitesListResponse or error will be non-nil.
 30028  // Any non-2xx status code is an error. Response headers are in either
 30029  // *DirectorySitesListResponse.ServerResponse.Header or (if a response
 30030  // was returned at all) in error.(*googleapi.Error).Header. Use
 30031  // googleapi.IsNotModified to check whether the returned error was
 30032  // because http.StatusNotModified was returned.
 30033  func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
 30034  	gensupport.SetOptions(c.urlParams_, opts...)
 30035  	res, err := c.doRequest("json")
 30036  	if res != nil && res.StatusCode == http.StatusNotModified {
 30037  		if res.Body != nil {
 30038  			res.Body.Close()
 30039  		}
 30040  		return nil, &googleapi.Error{
 30041  			Code:   res.StatusCode,
 30042  			Header: res.Header,
 30043  		}
 30044  	}
 30045  	if err != nil {
 30046  		return nil, err
 30047  	}
 30048  	defer googleapi.CloseBody(res)
 30049  	if err := googleapi.CheckResponse(res); err != nil {
 30050  		return nil, err
 30051  	}
 30052  	ret := &DirectorySitesListResponse{
 30053  		ServerResponse: googleapi.ServerResponse{
 30054  			Header:         res.Header,
 30055  			HTTPStatusCode: res.StatusCode,
 30056  		},
 30057  	}
 30058  	target := &ret
 30059  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30060  		return nil, err
 30061  	}
 30062  	return ret, nil
 30063  	// {
 30064  	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
 30065  	//   "httpMethod": "GET",
 30066  	//   "id": "dfareporting.directorySites.list",
 30067  	//   "parameterOrder": [
 30068  	//     "profileId"
 30069  	//   ],
 30070  	//   "parameters": {
 30071  	//     "acceptsInStreamVideoPlacements": {
 30072  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 30073  	//       "location": "query",
 30074  	//       "type": "boolean"
 30075  	//     },
 30076  	//     "acceptsInterstitialPlacements": {
 30077  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 30078  	//       "location": "query",
 30079  	//       "type": "boolean"
 30080  	//     },
 30081  	//     "acceptsPublisherPaidPlacements": {
 30082  	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
 30083  	//       "location": "query",
 30084  	//       "type": "boolean"
 30085  	//     },
 30086  	//     "active": {
 30087  	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
 30088  	//       "location": "query",
 30089  	//       "type": "boolean"
 30090  	//     },
 30091  	//     "countryId": {
 30092  	//       "description": "Select only directory sites with this country ID.",
 30093  	//       "format": "int64",
 30094  	//       "location": "query",
 30095  	//       "type": "string"
 30096  	//     },
 30097  	//     "dfpNetworkCode": {
 30098  	//       "description": "Select only directory sites with this Ad Manager network code.",
 30099  	//       "location": "query",
 30100  	//       "type": "string"
 30101  	//     },
 30102  	//     "ids": {
 30103  	//       "description": "Select only directory sites with these IDs.",
 30104  	//       "format": "int64",
 30105  	//       "location": "query",
 30106  	//       "repeated": true,
 30107  	//       "type": "string"
 30108  	//     },
 30109  	//     "maxResults": {
 30110  	//       "default": "1000",
 30111  	//       "description": "Maximum number of results to return.",
 30112  	//       "format": "int32",
 30113  	//       "location": "query",
 30114  	//       "maximum": "1000",
 30115  	//       "minimum": "0",
 30116  	//       "type": "integer"
 30117  	//     },
 30118  	//     "pageToken": {
 30119  	//       "description": "Value of the nextPageToken from the previous result page.",
 30120  	//       "location": "query",
 30121  	//       "type": "string"
 30122  	//     },
 30123  	//     "parentId": {
 30124  	//       "description": "Select only directory sites with this parent ID.",
 30125  	//       "format": "int64",
 30126  	//       "location": "query",
 30127  	//       "type": "string"
 30128  	//     },
 30129  	//     "profileId": {
 30130  	//       "description": "User profile ID associated with this request.",
 30131  	//       "format": "int64",
 30132  	//       "location": "path",
 30133  	//       "required": true,
 30134  	//       "type": "string"
 30135  	//     },
 30136  	//     "searchString": {
 30137  	//       "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\".",
 30138  	//       "location": "query",
 30139  	//       "type": "string"
 30140  	//     },
 30141  	//     "sortField": {
 30142  	//       "default": "ID",
 30143  	//       "description": "Field by which to sort the list.",
 30144  	//       "enum": [
 30145  	//         "ID",
 30146  	//         "NAME"
 30147  	//       ],
 30148  	//       "enumDescriptions": [
 30149  	//         "",
 30150  	//         ""
 30151  	//       ],
 30152  	//       "location": "query",
 30153  	//       "type": "string"
 30154  	//     },
 30155  	//     "sortOrder": {
 30156  	//       "default": "ASCENDING",
 30157  	//       "description": "Order of sorted results.",
 30158  	//       "enum": [
 30159  	//         "ASCENDING",
 30160  	//         "DESCENDING"
 30161  	//       ],
 30162  	//       "enumDescriptions": [
 30163  	//         "",
 30164  	//         ""
 30165  	//       ],
 30166  	//       "location": "query",
 30167  	//       "type": "string"
 30168  	//     }
 30169  	//   },
 30170  	//   "path": "userprofiles/{profileId}/directorySites",
 30171  	//   "response": {
 30172  	//     "$ref": "DirectorySitesListResponse"
 30173  	//   },
 30174  	//   "scopes": [
 30175  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30176  	//   ]
 30177  	// }
 30178  
 30179  }
 30180  
 30181  // Pages invokes f for each page of results.
 30182  // A non-nil error returned from f will halt the iteration.
 30183  // The provided context supersedes any context provided to the Context method.
 30184  func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
 30185  	c.ctx_ = ctx
 30186  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 30187  	for {
 30188  		x, err := c.Do()
 30189  		if err != nil {
 30190  			return err
 30191  		}
 30192  		if err := f(x); err != nil {
 30193  			return err
 30194  		}
 30195  		if x.NextPageToken == "" {
 30196  			return nil
 30197  		}
 30198  		c.PageToken(x.NextPageToken)
 30199  	}
 30200  }
 30201  
 30202  // method id "dfareporting.dynamicTargetingKeys.delete":
 30203  
 30204  type DynamicTargetingKeysDeleteCall struct {
 30205  	s          *Service
 30206  	profileId  int64
 30207  	objectId   int64
 30208  	urlParams_ gensupport.URLParams
 30209  	ctx_       context.Context
 30210  	header_    http.Header
 30211  }
 30212  
 30213  // Delete: Deletes an existing dynamic targeting key.
 30214  func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
 30215  	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30216  	c.profileId = profileId
 30217  	c.objectId = objectId
 30218  	c.urlParams_.Set("name", name)
 30219  	c.urlParams_.Set("objectType", objectType)
 30220  	return c
 30221  }
 30222  
 30223  // Fields allows partial responses to be retrieved. See
 30224  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30225  // for more information.
 30226  func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
 30227  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30228  	return c
 30229  }
 30230  
 30231  // Context sets the context to be used in this call's Do method. Any
 30232  // pending HTTP request will be aborted if the provided context is
 30233  // canceled.
 30234  func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
 30235  	c.ctx_ = ctx
 30236  	return c
 30237  }
 30238  
 30239  // Header returns an http.Header that can be modified by the caller to
 30240  // add HTTP headers to the request.
 30241  func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
 30242  	if c.header_ == nil {
 30243  		c.header_ = make(http.Header)
 30244  	}
 30245  	return c.header_
 30246  }
 30247  
 30248  func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 30249  	reqHeaders := make(http.Header)
 30250  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30251  	for k, v := range c.header_ {
 30252  		reqHeaders[k] = v
 30253  	}
 30254  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30255  	var body io.Reader = nil
 30256  	c.urlParams_.Set("alt", alt)
 30257  	c.urlParams_.Set("prettyPrint", "false")
 30258  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
 30259  	urls += "?" + c.urlParams_.Encode()
 30260  	req, err := http.NewRequest("DELETE", urls, body)
 30261  	if err != nil {
 30262  		return nil, err
 30263  	}
 30264  	req.Header = reqHeaders
 30265  	googleapi.Expand(req.URL, map[string]string{
 30266  		"profileId": strconv.FormatInt(c.profileId, 10),
 30267  		"objectId":  strconv.FormatInt(c.objectId, 10),
 30268  	})
 30269  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30270  }
 30271  
 30272  // Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
 30273  func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
 30274  	gensupport.SetOptions(c.urlParams_, opts...)
 30275  	res, err := c.doRequest("json")
 30276  	if err != nil {
 30277  		return err
 30278  	}
 30279  	defer googleapi.CloseBody(res)
 30280  	if err := googleapi.CheckResponse(res); err != nil {
 30281  		return err
 30282  	}
 30283  	return nil
 30284  	// {
 30285  	//   "description": "Deletes an existing dynamic targeting key.",
 30286  	//   "httpMethod": "DELETE",
 30287  	//   "id": "dfareporting.dynamicTargetingKeys.delete",
 30288  	//   "parameterOrder": [
 30289  	//     "profileId",
 30290  	//     "objectId",
 30291  	//     "name",
 30292  	//     "objectType"
 30293  	//   ],
 30294  	//   "parameters": {
 30295  	//     "name": {
 30296  	//       "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.",
 30297  	//       "location": "query",
 30298  	//       "required": true,
 30299  	//       "type": "string"
 30300  	//     },
 30301  	//     "objectId": {
 30302  	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
 30303  	//       "format": "int64",
 30304  	//       "location": "path",
 30305  	//       "required": true,
 30306  	//       "type": "string"
 30307  	//     },
 30308  	//     "objectType": {
 30309  	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
 30310  	//       "enum": [
 30311  	//         "OBJECT_AD",
 30312  	//         "OBJECT_ADVERTISER",
 30313  	//         "OBJECT_CREATIVE",
 30314  	//         "OBJECT_PLACEMENT"
 30315  	//       ],
 30316  	//       "enumDescriptions": [
 30317  	//         "",
 30318  	//         "",
 30319  	//         "",
 30320  	//         ""
 30321  	//       ],
 30322  	//       "location": "query",
 30323  	//       "required": true,
 30324  	//       "type": "string"
 30325  	//     },
 30326  	//     "profileId": {
 30327  	//       "description": "User profile ID associated with this request.",
 30328  	//       "format": "int64",
 30329  	//       "location": "path",
 30330  	//       "required": true,
 30331  	//       "type": "string"
 30332  	//     }
 30333  	//   },
 30334  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 30335  	//   "scopes": [
 30336  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30337  	//   ]
 30338  	// }
 30339  
 30340  }
 30341  
 30342  // method id "dfareporting.dynamicTargetingKeys.insert":
 30343  
 30344  type DynamicTargetingKeysInsertCall struct {
 30345  	s                   *Service
 30346  	profileId           int64
 30347  	dynamictargetingkey *DynamicTargetingKey
 30348  	urlParams_          gensupport.URLParams
 30349  	ctx_                context.Context
 30350  	header_             http.Header
 30351  }
 30352  
 30353  // Insert: Inserts a new dynamic targeting key. Keys must be created at
 30354  // the advertiser level before being assigned to the advertiser's ads,
 30355  // creatives, or placements. There is a maximum of 1000 keys per
 30356  // advertiser, out of which a maximum of 20 keys can be assigned per ad,
 30357  // creative, or placement.
 30358  func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
 30359  	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30360  	c.profileId = profileId
 30361  	c.dynamictargetingkey = dynamictargetingkey
 30362  	return c
 30363  }
 30364  
 30365  // Fields allows partial responses to be retrieved. See
 30366  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30367  // for more information.
 30368  func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
 30369  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30370  	return c
 30371  }
 30372  
 30373  // Context sets the context to be used in this call's Do method. Any
 30374  // pending HTTP request will be aborted if the provided context is
 30375  // canceled.
 30376  func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
 30377  	c.ctx_ = ctx
 30378  	return c
 30379  }
 30380  
 30381  // Header returns an http.Header that can be modified by the caller to
 30382  // add HTTP headers to the request.
 30383  func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
 30384  	if c.header_ == nil {
 30385  		c.header_ = make(http.Header)
 30386  	}
 30387  	return c.header_
 30388  }
 30389  
 30390  func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
 30391  	reqHeaders := make(http.Header)
 30392  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30393  	for k, v := range c.header_ {
 30394  		reqHeaders[k] = v
 30395  	}
 30396  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30397  	var body io.Reader = nil
 30398  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
 30399  	if err != nil {
 30400  		return nil, err
 30401  	}
 30402  	reqHeaders.Set("Content-Type", "application/json")
 30403  	c.urlParams_.Set("alt", alt)
 30404  	c.urlParams_.Set("prettyPrint", "false")
 30405  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 30406  	urls += "?" + c.urlParams_.Encode()
 30407  	req, err := http.NewRequest("POST", urls, body)
 30408  	if err != nil {
 30409  		return nil, err
 30410  	}
 30411  	req.Header = reqHeaders
 30412  	googleapi.Expand(req.URL, map[string]string{
 30413  		"profileId": strconv.FormatInt(c.profileId, 10),
 30414  	})
 30415  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30416  }
 30417  
 30418  // Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
 30419  // Exactly one of *DynamicTargetingKey or error will be non-nil. Any
 30420  // non-2xx status code is an error. Response headers are in either
 30421  // *DynamicTargetingKey.ServerResponse.Header or (if a response was
 30422  // returned at all) in error.(*googleapi.Error).Header. Use
 30423  // googleapi.IsNotModified to check whether the returned error was
 30424  // because http.StatusNotModified was returned.
 30425  func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
 30426  	gensupport.SetOptions(c.urlParams_, opts...)
 30427  	res, err := c.doRequest("json")
 30428  	if res != nil && res.StatusCode == http.StatusNotModified {
 30429  		if res.Body != nil {
 30430  			res.Body.Close()
 30431  		}
 30432  		return nil, &googleapi.Error{
 30433  			Code:   res.StatusCode,
 30434  			Header: res.Header,
 30435  		}
 30436  	}
 30437  	if err != nil {
 30438  		return nil, err
 30439  	}
 30440  	defer googleapi.CloseBody(res)
 30441  	if err := googleapi.CheckResponse(res); err != nil {
 30442  		return nil, err
 30443  	}
 30444  	ret := &DynamicTargetingKey{
 30445  		ServerResponse: googleapi.ServerResponse{
 30446  			Header:         res.Header,
 30447  			HTTPStatusCode: res.StatusCode,
 30448  		},
 30449  	}
 30450  	target := &ret
 30451  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30452  		return nil, err
 30453  	}
 30454  	return ret, nil
 30455  	// {
 30456  	//   "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.",
 30457  	//   "httpMethod": "POST",
 30458  	//   "id": "dfareporting.dynamicTargetingKeys.insert",
 30459  	//   "parameterOrder": [
 30460  	//     "profileId"
 30461  	//   ],
 30462  	//   "parameters": {
 30463  	//     "profileId": {
 30464  	//       "description": "User profile ID associated with this request.",
 30465  	//       "format": "int64",
 30466  	//       "location": "path",
 30467  	//       "required": true,
 30468  	//       "type": "string"
 30469  	//     }
 30470  	//   },
 30471  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 30472  	//   "request": {
 30473  	//     "$ref": "DynamicTargetingKey"
 30474  	//   },
 30475  	//   "response": {
 30476  	//     "$ref": "DynamicTargetingKey"
 30477  	//   },
 30478  	//   "scopes": [
 30479  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30480  	//   ]
 30481  	// }
 30482  
 30483  }
 30484  
 30485  // method id "dfareporting.dynamicTargetingKeys.list":
 30486  
 30487  type DynamicTargetingKeysListCall struct {
 30488  	s            *Service
 30489  	profileId    int64
 30490  	urlParams_   gensupport.URLParams
 30491  	ifNoneMatch_ string
 30492  	ctx_         context.Context
 30493  	header_      http.Header
 30494  }
 30495  
 30496  // List: Retrieves a list of dynamic targeting keys.
 30497  func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
 30498  	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30499  	c.profileId = profileId
 30500  	return c
 30501  }
 30502  
 30503  // AdvertiserId sets the optional parameter "advertiserId": Select only
 30504  // dynamic targeting keys whose object has this advertiser ID.
 30505  func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
 30506  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30507  	return c
 30508  }
 30509  
 30510  // Names sets the optional parameter "names": Select only dynamic
 30511  // targeting keys exactly matching these names.
 30512  func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
 30513  	c.urlParams_.SetMulti("names", append([]string{}, names...))
 30514  	return c
 30515  }
 30516  
 30517  // ObjectId sets the optional parameter "objectId": Select only dynamic
 30518  // targeting keys with this object ID.
 30519  func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
 30520  	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
 30521  	return c
 30522  }
 30523  
 30524  // ObjectType sets the optional parameter "objectType": Select only
 30525  // dynamic targeting keys with this object type.
 30526  //
 30527  // Possible values:
 30528  //
 30529  //	"OBJECT_AD"
 30530  //	"OBJECT_ADVERTISER"
 30531  //	"OBJECT_CREATIVE"
 30532  //	"OBJECT_PLACEMENT"
 30533  func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
 30534  	c.urlParams_.Set("objectType", objectType)
 30535  	return c
 30536  }
 30537  
 30538  // Fields allows partial responses to be retrieved. See
 30539  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30540  // for more information.
 30541  func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
 30542  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30543  	return c
 30544  }
 30545  
 30546  // IfNoneMatch sets the optional parameter which makes the operation
 30547  // fail if the object's ETag matches the given value. This is useful for
 30548  // getting updates only after the object has changed since the last
 30549  // request. Use googleapi.IsNotModified to check whether the response
 30550  // error from Do is the result of In-None-Match.
 30551  func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
 30552  	c.ifNoneMatch_ = entityTag
 30553  	return c
 30554  }
 30555  
 30556  // Context sets the context to be used in this call's Do method. Any
 30557  // pending HTTP request will be aborted if the provided context is
 30558  // canceled.
 30559  func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
 30560  	c.ctx_ = ctx
 30561  	return c
 30562  }
 30563  
 30564  // Header returns an http.Header that can be modified by the caller to
 30565  // add HTTP headers to the request.
 30566  func (c *DynamicTargetingKeysListCall) Header() http.Header {
 30567  	if c.header_ == nil {
 30568  		c.header_ = make(http.Header)
 30569  	}
 30570  	return c.header_
 30571  }
 30572  
 30573  func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
 30574  	reqHeaders := make(http.Header)
 30575  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30576  	for k, v := range c.header_ {
 30577  		reqHeaders[k] = v
 30578  	}
 30579  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30580  	if c.ifNoneMatch_ != "" {
 30581  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30582  	}
 30583  	var body io.Reader = nil
 30584  	c.urlParams_.Set("alt", alt)
 30585  	c.urlParams_.Set("prettyPrint", "false")
 30586  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 30587  	urls += "?" + c.urlParams_.Encode()
 30588  	req, err := http.NewRequest("GET", urls, body)
 30589  	if err != nil {
 30590  		return nil, err
 30591  	}
 30592  	req.Header = reqHeaders
 30593  	googleapi.Expand(req.URL, map[string]string{
 30594  		"profileId": strconv.FormatInt(c.profileId, 10),
 30595  	})
 30596  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30597  }
 30598  
 30599  // Do executes the "dfareporting.dynamicTargetingKeys.list" call.
 30600  // Exactly one of *DynamicTargetingKeysListResponse or error will be
 30601  // non-nil. Any non-2xx status code is an error. Response headers are in
 30602  // either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
 30603  // a response was returned at all) in error.(*googleapi.Error).Header.
 30604  // Use googleapi.IsNotModified to check whether the returned error was
 30605  // because http.StatusNotModified was returned.
 30606  func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
 30607  	gensupport.SetOptions(c.urlParams_, opts...)
 30608  	res, err := c.doRequest("json")
 30609  	if res != nil && res.StatusCode == http.StatusNotModified {
 30610  		if res.Body != nil {
 30611  			res.Body.Close()
 30612  		}
 30613  		return nil, &googleapi.Error{
 30614  			Code:   res.StatusCode,
 30615  			Header: res.Header,
 30616  		}
 30617  	}
 30618  	if err != nil {
 30619  		return nil, err
 30620  	}
 30621  	defer googleapi.CloseBody(res)
 30622  	if err := googleapi.CheckResponse(res); err != nil {
 30623  		return nil, err
 30624  	}
 30625  	ret := &DynamicTargetingKeysListResponse{
 30626  		ServerResponse: googleapi.ServerResponse{
 30627  			Header:         res.Header,
 30628  			HTTPStatusCode: res.StatusCode,
 30629  		},
 30630  	}
 30631  	target := &ret
 30632  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30633  		return nil, err
 30634  	}
 30635  	return ret, nil
 30636  	// {
 30637  	//   "description": "Retrieves a list of dynamic targeting keys.",
 30638  	//   "httpMethod": "GET",
 30639  	//   "id": "dfareporting.dynamicTargetingKeys.list",
 30640  	//   "parameterOrder": [
 30641  	//     "profileId"
 30642  	//   ],
 30643  	//   "parameters": {
 30644  	//     "advertiserId": {
 30645  	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
 30646  	//       "format": "int64",
 30647  	//       "location": "query",
 30648  	//       "type": "string"
 30649  	//     },
 30650  	//     "names": {
 30651  	//       "description": "Select only dynamic targeting keys exactly matching these names.",
 30652  	//       "location": "query",
 30653  	//       "repeated": true,
 30654  	//       "type": "string"
 30655  	//     },
 30656  	//     "objectId": {
 30657  	//       "description": "Select only dynamic targeting keys with this object ID.",
 30658  	//       "format": "int64",
 30659  	//       "location": "query",
 30660  	//       "type": "string"
 30661  	//     },
 30662  	//     "objectType": {
 30663  	//       "description": "Select only dynamic targeting keys with this object type.",
 30664  	//       "enum": [
 30665  	//         "OBJECT_AD",
 30666  	//         "OBJECT_ADVERTISER",
 30667  	//         "OBJECT_CREATIVE",
 30668  	//         "OBJECT_PLACEMENT"
 30669  	//       ],
 30670  	//       "enumDescriptions": [
 30671  	//         "",
 30672  	//         "",
 30673  	//         "",
 30674  	//         ""
 30675  	//       ],
 30676  	//       "location": "query",
 30677  	//       "type": "string"
 30678  	//     },
 30679  	//     "profileId": {
 30680  	//       "description": "User profile ID associated with this request.",
 30681  	//       "format": "int64",
 30682  	//       "location": "path",
 30683  	//       "required": true,
 30684  	//       "type": "string"
 30685  	//     }
 30686  	//   },
 30687  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 30688  	//   "response": {
 30689  	//     "$ref": "DynamicTargetingKeysListResponse"
 30690  	//   },
 30691  	//   "scopes": [
 30692  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30693  	//   ]
 30694  	// }
 30695  
 30696  }
 30697  
 30698  // method id "dfareporting.eventTags.delete":
 30699  
 30700  type EventTagsDeleteCall struct {
 30701  	s          *Service
 30702  	profileId  int64
 30703  	id         int64
 30704  	urlParams_ gensupport.URLParams
 30705  	ctx_       context.Context
 30706  	header_    http.Header
 30707  }
 30708  
 30709  // Delete: Deletes an existing event tag.
 30710  func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
 30711  	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30712  	c.profileId = profileId
 30713  	c.id = id
 30714  	return c
 30715  }
 30716  
 30717  // Fields allows partial responses to be retrieved. See
 30718  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30719  // for more information.
 30720  func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
 30721  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30722  	return c
 30723  }
 30724  
 30725  // Context sets the context to be used in this call's Do method. Any
 30726  // pending HTTP request will be aborted if the provided context is
 30727  // canceled.
 30728  func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 30729  	c.ctx_ = ctx
 30730  	return c
 30731  }
 30732  
 30733  // Header returns an http.Header that can be modified by the caller to
 30734  // add HTTP headers to the request.
 30735  func (c *EventTagsDeleteCall) Header() http.Header {
 30736  	if c.header_ == nil {
 30737  		c.header_ = make(http.Header)
 30738  	}
 30739  	return c.header_
 30740  }
 30741  
 30742  func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 30743  	reqHeaders := make(http.Header)
 30744  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30745  	for k, v := range c.header_ {
 30746  		reqHeaders[k] = v
 30747  	}
 30748  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30749  	var body io.Reader = nil
 30750  	c.urlParams_.Set("alt", alt)
 30751  	c.urlParams_.Set("prettyPrint", "false")
 30752  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 30753  	urls += "?" + c.urlParams_.Encode()
 30754  	req, err := http.NewRequest("DELETE", urls, body)
 30755  	if err != nil {
 30756  		return nil, err
 30757  	}
 30758  	req.Header = reqHeaders
 30759  	googleapi.Expand(req.URL, map[string]string{
 30760  		"profileId": strconv.FormatInt(c.profileId, 10),
 30761  		"id":        strconv.FormatInt(c.id, 10),
 30762  	})
 30763  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30764  }
 30765  
 30766  // Do executes the "dfareporting.eventTags.delete" call.
 30767  func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
 30768  	gensupport.SetOptions(c.urlParams_, opts...)
 30769  	res, err := c.doRequest("json")
 30770  	if err != nil {
 30771  		return err
 30772  	}
 30773  	defer googleapi.CloseBody(res)
 30774  	if err := googleapi.CheckResponse(res); err != nil {
 30775  		return err
 30776  	}
 30777  	return nil
 30778  	// {
 30779  	//   "description": "Deletes an existing event tag.",
 30780  	//   "httpMethod": "DELETE",
 30781  	//   "id": "dfareporting.eventTags.delete",
 30782  	//   "parameterOrder": [
 30783  	//     "profileId",
 30784  	//     "id"
 30785  	//   ],
 30786  	//   "parameters": {
 30787  	//     "id": {
 30788  	//       "description": "Event tag ID.",
 30789  	//       "format": "int64",
 30790  	//       "location": "path",
 30791  	//       "required": true,
 30792  	//       "type": "string"
 30793  	//     },
 30794  	//     "profileId": {
 30795  	//       "description": "User profile ID associated with this request.",
 30796  	//       "format": "int64",
 30797  	//       "location": "path",
 30798  	//       "required": true,
 30799  	//       "type": "string"
 30800  	//     }
 30801  	//   },
 30802  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 30803  	//   "scopes": [
 30804  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30805  	//   ]
 30806  	// }
 30807  
 30808  }
 30809  
 30810  // method id "dfareporting.eventTags.get":
 30811  
 30812  type EventTagsGetCall struct {
 30813  	s            *Service
 30814  	profileId    int64
 30815  	id           int64
 30816  	urlParams_   gensupport.URLParams
 30817  	ifNoneMatch_ string
 30818  	ctx_         context.Context
 30819  	header_      http.Header
 30820  }
 30821  
 30822  // Get: Gets one event tag by ID.
 30823  func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
 30824  	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30825  	c.profileId = profileId
 30826  	c.id = id
 30827  	return c
 30828  }
 30829  
 30830  // Fields allows partial responses to be retrieved. See
 30831  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30832  // for more information.
 30833  func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
 30834  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30835  	return c
 30836  }
 30837  
 30838  // IfNoneMatch sets the optional parameter which makes the operation
 30839  // fail if the object's ETag matches the given value. This is useful for
 30840  // getting updates only after the object has changed since the last
 30841  // request. Use googleapi.IsNotModified to check whether the response
 30842  // error from Do is the result of In-None-Match.
 30843  func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
 30844  	c.ifNoneMatch_ = entityTag
 30845  	return c
 30846  }
 30847  
 30848  // Context sets the context to be used in this call's Do method. Any
 30849  // pending HTTP request will be aborted if the provided context is
 30850  // canceled.
 30851  func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 30852  	c.ctx_ = ctx
 30853  	return c
 30854  }
 30855  
 30856  // Header returns an http.Header that can be modified by the caller to
 30857  // add HTTP headers to the request.
 30858  func (c *EventTagsGetCall) Header() http.Header {
 30859  	if c.header_ == nil {
 30860  		c.header_ = make(http.Header)
 30861  	}
 30862  	return c.header_
 30863  }
 30864  
 30865  func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 30866  	reqHeaders := make(http.Header)
 30867  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30868  	for k, v := range c.header_ {
 30869  		reqHeaders[k] = v
 30870  	}
 30871  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30872  	if c.ifNoneMatch_ != "" {
 30873  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30874  	}
 30875  	var body io.Reader = nil
 30876  	c.urlParams_.Set("alt", alt)
 30877  	c.urlParams_.Set("prettyPrint", "false")
 30878  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 30879  	urls += "?" + c.urlParams_.Encode()
 30880  	req, err := http.NewRequest("GET", urls, body)
 30881  	if err != nil {
 30882  		return nil, err
 30883  	}
 30884  	req.Header = reqHeaders
 30885  	googleapi.Expand(req.URL, map[string]string{
 30886  		"profileId": strconv.FormatInt(c.profileId, 10),
 30887  		"id":        strconv.FormatInt(c.id, 10),
 30888  	})
 30889  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30890  }
 30891  
 30892  // Do executes the "dfareporting.eventTags.get" call.
 30893  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 30894  // code is an error. Response headers are in either
 30895  // *EventTag.ServerResponse.Header or (if a response was returned at
 30896  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30897  // to check whether the returned error was because
 30898  // http.StatusNotModified was returned.
 30899  func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 30900  	gensupport.SetOptions(c.urlParams_, opts...)
 30901  	res, err := c.doRequest("json")
 30902  	if res != nil && res.StatusCode == http.StatusNotModified {
 30903  		if res.Body != nil {
 30904  			res.Body.Close()
 30905  		}
 30906  		return nil, &googleapi.Error{
 30907  			Code:   res.StatusCode,
 30908  			Header: res.Header,
 30909  		}
 30910  	}
 30911  	if err != nil {
 30912  		return nil, err
 30913  	}
 30914  	defer googleapi.CloseBody(res)
 30915  	if err := googleapi.CheckResponse(res); err != nil {
 30916  		return nil, err
 30917  	}
 30918  	ret := &EventTag{
 30919  		ServerResponse: googleapi.ServerResponse{
 30920  			Header:         res.Header,
 30921  			HTTPStatusCode: res.StatusCode,
 30922  		},
 30923  	}
 30924  	target := &ret
 30925  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30926  		return nil, err
 30927  	}
 30928  	return ret, nil
 30929  	// {
 30930  	//   "description": "Gets one event tag by ID.",
 30931  	//   "httpMethod": "GET",
 30932  	//   "id": "dfareporting.eventTags.get",
 30933  	//   "parameterOrder": [
 30934  	//     "profileId",
 30935  	//     "id"
 30936  	//   ],
 30937  	//   "parameters": {
 30938  	//     "id": {
 30939  	//       "description": "Event tag ID.",
 30940  	//       "format": "int64",
 30941  	//       "location": "path",
 30942  	//       "required": true,
 30943  	//       "type": "string"
 30944  	//     },
 30945  	//     "profileId": {
 30946  	//       "description": "User profile ID associated with this request.",
 30947  	//       "format": "int64",
 30948  	//       "location": "path",
 30949  	//       "required": true,
 30950  	//       "type": "string"
 30951  	//     }
 30952  	//   },
 30953  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 30954  	//   "response": {
 30955  	//     "$ref": "EventTag"
 30956  	//   },
 30957  	//   "scopes": [
 30958  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30959  	//   ]
 30960  	// }
 30961  
 30962  }
 30963  
 30964  // method id "dfareporting.eventTags.insert":
 30965  
 30966  type EventTagsInsertCall struct {
 30967  	s          *Service
 30968  	profileId  int64
 30969  	eventtag   *EventTag
 30970  	urlParams_ gensupport.URLParams
 30971  	ctx_       context.Context
 30972  	header_    http.Header
 30973  }
 30974  
 30975  // Insert: Inserts a new event tag.
 30976  func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
 30977  	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30978  	c.profileId = profileId
 30979  	c.eventtag = eventtag
 30980  	return c
 30981  }
 30982  
 30983  // Fields allows partial responses to be retrieved. See
 30984  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30985  // for more information.
 30986  func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
 30987  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30988  	return c
 30989  }
 30990  
 30991  // Context sets the context to be used in this call's Do method. Any
 30992  // pending HTTP request will be aborted if the provided context is
 30993  // canceled.
 30994  func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 30995  	c.ctx_ = ctx
 30996  	return c
 30997  }
 30998  
 30999  // Header returns an http.Header that can be modified by the caller to
 31000  // add HTTP headers to the request.
 31001  func (c *EventTagsInsertCall) Header() http.Header {
 31002  	if c.header_ == nil {
 31003  		c.header_ = make(http.Header)
 31004  	}
 31005  	return c.header_
 31006  }
 31007  
 31008  func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
 31009  	reqHeaders := make(http.Header)
 31010  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31011  	for k, v := range c.header_ {
 31012  		reqHeaders[k] = v
 31013  	}
 31014  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31015  	var body io.Reader = nil
 31016  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31017  	if err != nil {
 31018  		return nil, err
 31019  	}
 31020  	reqHeaders.Set("Content-Type", "application/json")
 31021  	c.urlParams_.Set("alt", alt)
 31022  	c.urlParams_.Set("prettyPrint", "false")
 31023  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31024  	urls += "?" + c.urlParams_.Encode()
 31025  	req, err := http.NewRequest("POST", urls, body)
 31026  	if err != nil {
 31027  		return nil, err
 31028  	}
 31029  	req.Header = reqHeaders
 31030  	googleapi.Expand(req.URL, map[string]string{
 31031  		"profileId": strconv.FormatInt(c.profileId, 10),
 31032  	})
 31033  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31034  }
 31035  
 31036  // Do executes the "dfareporting.eventTags.insert" call.
 31037  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31038  // code is an error. Response headers are in either
 31039  // *EventTag.ServerResponse.Header or (if a response was returned at
 31040  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31041  // to check whether the returned error was because
 31042  // http.StatusNotModified was returned.
 31043  func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31044  	gensupport.SetOptions(c.urlParams_, opts...)
 31045  	res, err := c.doRequest("json")
 31046  	if res != nil && res.StatusCode == http.StatusNotModified {
 31047  		if res.Body != nil {
 31048  			res.Body.Close()
 31049  		}
 31050  		return nil, &googleapi.Error{
 31051  			Code:   res.StatusCode,
 31052  			Header: res.Header,
 31053  		}
 31054  	}
 31055  	if err != nil {
 31056  		return nil, err
 31057  	}
 31058  	defer googleapi.CloseBody(res)
 31059  	if err := googleapi.CheckResponse(res); err != nil {
 31060  		return nil, err
 31061  	}
 31062  	ret := &EventTag{
 31063  		ServerResponse: googleapi.ServerResponse{
 31064  			Header:         res.Header,
 31065  			HTTPStatusCode: res.StatusCode,
 31066  		},
 31067  	}
 31068  	target := &ret
 31069  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31070  		return nil, err
 31071  	}
 31072  	return ret, nil
 31073  	// {
 31074  	//   "description": "Inserts a new event tag.",
 31075  	//   "httpMethod": "POST",
 31076  	//   "id": "dfareporting.eventTags.insert",
 31077  	//   "parameterOrder": [
 31078  	//     "profileId"
 31079  	//   ],
 31080  	//   "parameters": {
 31081  	//     "profileId": {
 31082  	//       "description": "User profile ID associated with this request.",
 31083  	//       "format": "int64",
 31084  	//       "location": "path",
 31085  	//       "required": true,
 31086  	//       "type": "string"
 31087  	//     }
 31088  	//   },
 31089  	//   "path": "userprofiles/{profileId}/eventTags",
 31090  	//   "request": {
 31091  	//     "$ref": "EventTag"
 31092  	//   },
 31093  	//   "response": {
 31094  	//     "$ref": "EventTag"
 31095  	//   },
 31096  	//   "scopes": [
 31097  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31098  	//   ]
 31099  	// }
 31100  
 31101  }
 31102  
 31103  // method id "dfareporting.eventTags.list":
 31104  
 31105  type EventTagsListCall struct {
 31106  	s            *Service
 31107  	profileId    int64
 31108  	urlParams_   gensupport.URLParams
 31109  	ifNoneMatch_ string
 31110  	ctx_         context.Context
 31111  	header_      http.Header
 31112  }
 31113  
 31114  // List: Retrieves a list of event tags, possibly filtered.
 31115  func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
 31116  	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31117  	c.profileId = profileId
 31118  	return c
 31119  }
 31120  
 31121  // AdId sets the optional parameter "adId": Select only event tags that
 31122  // belong to this ad.
 31123  func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
 31124  	c.urlParams_.Set("adId", fmt.Sprint(adId))
 31125  	return c
 31126  }
 31127  
 31128  // AdvertiserId sets the optional parameter "advertiserId": Select only
 31129  // event tags that belong to this advertiser.
 31130  func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
 31131  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31132  	return c
 31133  }
 31134  
 31135  // CampaignId sets the optional parameter "campaignId": Select only
 31136  // event tags that belong to this campaign.
 31137  func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
 31138  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 31139  	return c
 31140  }
 31141  
 31142  // DefinitionsOnly sets the optional parameter "definitionsOnly":
 31143  // Examine only the specified campaign or advertiser's event tags for
 31144  // matching selector criteria. When set to false, the parent advertiser
 31145  // and parent campaign of the specified ad or campaign is examined as
 31146  // well. In addition, when set to false, the status field is examined as
 31147  // well, along with the enabledByDefault field. This parameter can not
 31148  // be set to true when adId is specified as ads do not define their own
 31149  // even tags.
 31150  func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
 31151  	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
 31152  	return c
 31153  }
 31154  
 31155  // Enabled sets the optional parameter "enabled": Select only enabled
 31156  // event tags. What is considered enabled or disabled depends on the
 31157  // definitionsOnly parameter. When definitionsOnly is set to true, only
 31158  // the specified advertiser or campaign's event tags' enabledByDefault
 31159  // field is examined. When definitionsOnly is set to false, the
 31160  // specified ad or specified campaign's parent advertiser's or parent
 31161  // campaign's event tags' enabledByDefault and status fields are
 31162  // examined as well.
 31163  func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
 31164  	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
 31165  	return c
 31166  }
 31167  
 31168  // EventTagTypes sets the optional parameter "eventTagTypes": Select
 31169  // only event tags with the specified event tag types. Event tag types
 31170  // can be used to specify whether to use a third-party pixel, a
 31171  // third-party JavaScript URL, or a third-party click-through URL for
 31172  // either impression or click tracking.
 31173  //
 31174  // Possible values:
 31175  //
 31176  //	"CLICK_THROUGH_EVENT_TAG"
 31177  //	"IMPRESSION_IMAGE_EVENT_TAG"
 31178  //	"IMPRESSION_JAVASCRIPT_EVENT_TAG"
 31179  func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
 31180  	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
 31181  	return c
 31182  }
 31183  
 31184  // Ids sets the optional parameter "ids": Select only event tags with
 31185  // these IDs.
 31186  func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
 31187  	var ids_ []string
 31188  	for _, v := range ids {
 31189  		ids_ = append(ids_, fmt.Sprint(v))
 31190  	}
 31191  	c.urlParams_.SetMulti("ids", ids_)
 31192  	return c
 31193  }
 31194  
 31195  // SearchString sets the optional parameter "searchString": Allows
 31196  // searching for objects by name or ID. Wildcards (*) are allowed. For
 31197  // example, "eventtag*2015" will return objects with names like
 31198  // "eventtag June 2015", "eventtag April 2015", or simply "eventtag
 31199  // 2015". Most of the searches also add wildcards implicitly at the
 31200  // start and the end of the search string. For example, a search string
 31201  // of "eventtag" will match objects with name "my eventtag", "eventtag
 31202  // 2015", or simply "eventtag".
 31203  func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
 31204  	c.urlParams_.Set("searchString", searchString)
 31205  	return c
 31206  }
 31207  
 31208  // SortField sets the optional parameter "sortField": Field by which to
 31209  // sort the list.
 31210  //
 31211  // Possible values:
 31212  //
 31213  //	"ID" (default)
 31214  //	"NAME"
 31215  func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
 31216  	c.urlParams_.Set("sortField", sortField)
 31217  	return c
 31218  }
 31219  
 31220  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 31221  // results.
 31222  //
 31223  // Possible values:
 31224  //
 31225  //	"ASCENDING" (default)
 31226  //	"DESCENDING"
 31227  func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
 31228  	c.urlParams_.Set("sortOrder", sortOrder)
 31229  	return c
 31230  }
 31231  
 31232  // Fields allows partial responses to be retrieved. See
 31233  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31234  // for more information.
 31235  func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
 31236  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31237  	return c
 31238  }
 31239  
 31240  // IfNoneMatch sets the optional parameter which makes the operation
 31241  // fail if the object's ETag matches the given value. This is useful for
 31242  // getting updates only after the object has changed since the last
 31243  // request. Use googleapi.IsNotModified to check whether the response
 31244  // error from Do is the result of In-None-Match.
 31245  func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
 31246  	c.ifNoneMatch_ = entityTag
 31247  	return c
 31248  }
 31249  
 31250  // Context sets the context to be used in this call's Do method. Any
 31251  // pending HTTP request will be aborted if the provided context is
 31252  // canceled.
 31253  func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 31254  	c.ctx_ = ctx
 31255  	return c
 31256  }
 31257  
 31258  // Header returns an http.Header that can be modified by the caller to
 31259  // add HTTP headers to the request.
 31260  func (c *EventTagsListCall) Header() http.Header {
 31261  	if c.header_ == nil {
 31262  		c.header_ = make(http.Header)
 31263  	}
 31264  	return c.header_
 31265  }
 31266  
 31267  func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 31268  	reqHeaders := make(http.Header)
 31269  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31270  	for k, v := range c.header_ {
 31271  		reqHeaders[k] = v
 31272  	}
 31273  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31274  	if c.ifNoneMatch_ != "" {
 31275  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31276  	}
 31277  	var body io.Reader = nil
 31278  	c.urlParams_.Set("alt", alt)
 31279  	c.urlParams_.Set("prettyPrint", "false")
 31280  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31281  	urls += "?" + c.urlParams_.Encode()
 31282  	req, err := http.NewRequest("GET", urls, body)
 31283  	if err != nil {
 31284  		return nil, err
 31285  	}
 31286  	req.Header = reqHeaders
 31287  	googleapi.Expand(req.URL, map[string]string{
 31288  		"profileId": strconv.FormatInt(c.profileId, 10),
 31289  	})
 31290  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31291  }
 31292  
 31293  // Do executes the "dfareporting.eventTags.list" call.
 31294  // Exactly one of *EventTagsListResponse or error will be non-nil. Any
 31295  // non-2xx status code is an error. Response headers are in either
 31296  // *EventTagsListResponse.ServerResponse.Header or (if a response was
 31297  // returned at all) in error.(*googleapi.Error).Header. Use
 31298  // googleapi.IsNotModified to check whether the returned error was
 31299  // because http.StatusNotModified was returned.
 31300  func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
 31301  	gensupport.SetOptions(c.urlParams_, opts...)
 31302  	res, err := c.doRequest("json")
 31303  	if res != nil && res.StatusCode == http.StatusNotModified {
 31304  		if res.Body != nil {
 31305  			res.Body.Close()
 31306  		}
 31307  		return nil, &googleapi.Error{
 31308  			Code:   res.StatusCode,
 31309  			Header: res.Header,
 31310  		}
 31311  	}
 31312  	if err != nil {
 31313  		return nil, err
 31314  	}
 31315  	defer googleapi.CloseBody(res)
 31316  	if err := googleapi.CheckResponse(res); err != nil {
 31317  		return nil, err
 31318  	}
 31319  	ret := &EventTagsListResponse{
 31320  		ServerResponse: googleapi.ServerResponse{
 31321  			Header:         res.Header,
 31322  			HTTPStatusCode: res.StatusCode,
 31323  		},
 31324  	}
 31325  	target := &ret
 31326  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31327  		return nil, err
 31328  	}
 31329  	return ret, nil
 31330  	// {
 31331  	//   "description": "Retrieves a list of event tags, possibly filtered.",
 31332  	//   "httpMethod": "GET",
 31333  	//   "id": "dfareporting.eventTags.list",
 31334  	//   "parameterOrder": [
 31335  	//     "profileId"
 31336  	//   ],
 31337  	//   "parameters": {
 31338  	//     "adId": {
 31339  	//       "description": "Select only event tags that belong to this ad.",
 31340  	//       "format": "int64",
 31341  	//       "location": "query",
 31342  	//       "type": "string"
 31343  	//     },
 31344  	//     "advertiserId": {
 31345  	//       "description": "Select only event tags that belong to this advertiser.",
 31346  	//       "format": "int64",
 31347  	//       "location": "query",
 31348  	//       "type": "string"
 31349  	//     },
 31350  	//     "campaignId": {
 31351  	//       "description": "Select only event tags that belong to this campaign.",
 31352  	//       "format": "int64",
 31353  	//       "location": "query",
 31354  	//       "type": "string"
 31355  	//     },
 31356  	//     "definitionsOnly": {
 31357  	//       "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.",
 31358  	//       "location": "query",
 31359  	//       "type": "boolean"
 31360  	//     },
 31361  	//     "enabled": {
 31362  	//       "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.",
 31363  	//       "location": "query",
 31364  	//       "type": "boolean"
 31365  	//     },
 31366  	//     "eventTagTypes": {
 31367  	//       "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.",
 31368  	//       "enum": [
 31369  	//         "CLICK_THROUGH_EVENT_TAG",
 31370  	//         "IMPRESSION_IMAGE_EVENT_TAG",
 31371  	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG"
 31372  	//       ],
 31373  	//       "enumDescriptions": [
 31374  	//         "",
 31375  	//         "",
 31376  	//         ""
 31377  	//       ],
 31378  	//       "location": "query",
 31379  	//       "repeated": true,
 31380  	//       "type": "string"
 31381  	//     },
 31382  	//     "ids": {
 31383  	//       "description": "Select only event tags with these IDs.",
 31384  	//       "format": "int64",
 31385  	//       "location": "query",
 31386  	//       "repeated": true,
 31387  	//       "type": "string"
 31388  	//     },
 31389  	//     "profileId": {
 31390  	//       "description": "User profile ID associated with this request.",
 31391  	//       "format": "int64",
 31392  	//       "location": "path",
 31393  	//       "required": true,
 31394  	//       "type": "string"
 31395  	//     },
 31396  	//     "searchString": {
 31397  	//       "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\".",
 31398  	//       "location": "query",
 31399  	//       "type": "string"
 31400  	//     },
 31401  	//     "sortField": {
 31402  	//       "default": "ID",
 31403  	//       "description": "Field by which to sort the list.",
 31404  	//       "enum": [
 31405  	//         "ID",
 31406  	//         "NAME"
 31407  	//       ],
 31408  	//       "enumDescriptions": [
 31409  	//         "",
 31410  	//         ""
 31411  	//       ],
 31412  	//       "location": "query",
 31413  	//       "type": "string"
 31414  	//     },
 31415  	//     "sortOrder": {
 31416  	//       "default": "ASCENDING",
 31417  	//       "description": "Order of sorted results.",
 31418  	//       "enum": [
 31419  	//         "ASCENDING",
 31420  	//         "DESCENDING"
 31421  	//       ],
 31422  	//       "enumDescriptions": [
 31423  	//         "",
 31424  	//         ""
 31425  	//       ],
 31426  	//       "location": "query",
 31427  	//       "type": "string"
 31428  	//     }
 31429  	//   },
 31430  	//   "path": "userprofiles/{profileId}/eventTags",
 31431  	//   "response": {
 31432  	//     "$ref": "EventTagsListResponse"
 31433  	//   },
 31434  	//   "scopes": [
 31435  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31436  	//   ]
 31437  	// }
 31438  
 31439  }
 31440  
 31441  // method id "dfareporting.eventTags.patch":
 31442  
 31443  type EventTagsPatchCall struct {
 31444  	s          *Service
 31445  	profileId  int64
 31446  	eventtag   *EventTag
 31447  	urlParams_ gensupport.URLParams
 31448  	ctx_       context.Context
 31449  	header_    http.Header
 31450  }
 31451  
 31452  // Patch: Updates an existing event tag. This method supports patch
 31453  // semantics.
 31454  func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
 31455  	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31456  	c.profileId = profileId
 31457  	c.urlParams_.Set("id", fmt.Sprint(id))
 31458  	c.eventtag = eventtag
 31459  	return c
 31460  }
 31461  
 31462  // Fields allows partial responses to be retrieved. See
 31463  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31464  // for more information.
 31465  func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
 31466  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31467  	return c
 31468  }
 31469  
 31470  // Context sets the context to be used in this call's Do method. Any
 31471  // pending HTTP request will be aborted if the provided context is
 31472  // canceled.
 31473  func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 31474  	c.ctx_ = ctx
 31475  	return c
 31476  }
 31477  
 31478  // Header returns an http.Header that can be modified by the caller to
 31479  // add HTTP headers to the request.
 31480  func (c *EventTagsPatchCall) Header() http.Header {
 31481  	if c.header_ == nil {
 31482  		c.header_ = make(http.Header)
 31483  	}
 31484  	return c.header_
 31485  }
 31486  
 31487  func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 31488  	reqHeaders := make(http.Header)
 31489  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31490  	for k, v := range c.header_ {
 31491  		reqHeaders[k] = v
 31492  	}
 31493  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31494  	var body io.Reader = nil
 31495  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31496  	if err != nil {
 31497  		return nil, err
 31498  	}
 31499  	reqHeaders.Set("Content-Type", "application/json")
 31500  	c.urlParams_.Set("alt", alt)
 31501  	c.urlParams_.Set("prettyPrint", "false")
 31502  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31503  	urls += "?" + c.urlParams_.Encode()
 31504  	req, err := http.NewRequest("PATCH", urls, body)
 31505  	if err != nil {
 31506  		return nil, err
 31507  	}
 31508  	req.Header = reqHeaders
 31509  	googleapi.Expand(req.URL, map[string]string{
 31510  		"profileId": strconv.FormatInt(c.profileId, 10),
 31511  	})
 31512  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31513  }
 31514  
 31515  // Do executes the "dfareporting.eventTags.patch" call.
 31516  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31517  // code is an error. Response headers are in either
 31518  // *EventTag.ServerResponse.Header or (if a response was returned at
 31519  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31520  // to check whether the returned error was because
 31521  // http.StatusNotModified was returned.
 31522  func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31523  	gensupport.SetOptions(c.urlParams_, opts...)
 31524  	res, err := c.doRequest("json")
 31525  	if res != nil && res.StatusCode == http.StatusNotModified {
 31526  		if res.Body != nil {
 31527  			res.Body.Close()
 31528  		}
 31529  		return nil, &googleapi.Error{
 31530  			Code:   res.StatusCode,
 31531  			Header: res.Header,
 31532  		}
 31533  	}
 31534  	if err != nil {
 31535  		return nil, err
 31536  	}
 31537  	defer googleapi.CloseBody(res)
 31538  	if err := googleapi.CheckResponse(res); err != nil {
 31539  		return nil, err
 31540  	}
 31541  	ret := &EventTag{
 31542  		ServerResponse: googleapi.ServerResponse{
 31543  			Header:         res.Header,
 31544  			HTTPStatusCode: res.StatusCode,
 31545  		},
 31546  	}
 31547  	target := &ret
 31548  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31549  		return nil, err
 31550  	}
 31551  	return ret, nil
 31552  	// {
 31553  	//   "description": "Updates an existing event tag. This method supports patch semantics.",
 31554  	//   "httpMethod": "PATCH",
 31555  	//   "id": "dfareporting.eventTags.patch",
 31556  	//   "parameterOrder": [
 31557  	//     "profileId",
 31558  	//     "id"
 31559  	//   ],
 31560  	//   "parameters": {
 31561  	//     "id": {
 31562  	//       "description": "Event tag ID.",
 31563  	//       "format": "int64",
 31564  	//       "location": "query",
 31565  	//       "required": true,
 31566  	//       "type": "string"
 31567  	//     },
 31568  	//     "profileId": {
 31569  	//       "description": "User profile ID associated with this request.",
 31570  	//       "format": "int64",
 31571  	//       "location": "path",
 31572  	//       "required": true,
 31573  	//       "type": "string"
 31574  	//     }
 31575  	//   },
 31576  	//   "path": "userprofiles/{profileId}/eventTags",
 31577  	//   "request": {
 31578  	//     "$ref": "EventTag"
 31579  	//   },
 31580  	//   "response": {
 31581  	//     "$ref": "EventTag"
 31582  	//   },
 31583  	//   "scopes": [
 31584  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31585  	//   ]
 31586  	// }
 31587  
 31588  }
 31589  
 31590  // method id "dfareporting.eventTags.update":
 31591  
 31592  type EventTagsUpdateCall struct {
 31593  	s          *Service
 31594  	profileId  int64
 31595  	eventtag   *EventTag
 31596  	urlParams_ gensupport.URLParams
 31597  	ctx_       context.Context
 31598  	header_    http.Header
 31599  }
 31600  
 31601  // Update: Updates an existing event tag.
 31602  func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
 31603  	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31604  	c.profileId = profileId
 31605  	c.eventtag = eventtag
 31606  	return c
 31607  }
 31608  
 31609  // Fields allows partial responses to be retrieved. See
 31610  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31611  // for more information.
 31612  func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
 31613  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31614  	return c
 31615  }
 31616  
 31617  // Context sets the context to be used in this call's Do method. Any
 31618  // pending HTTP request will be aborted if the provided context is
 31619  // canceled.
 31620  func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 31621  	c.ctx_ = ctx
 31622  	return c
 31623  }
 31624  
 31625  // Header returns an http.Header that can be modified by the caller to
 31626  // add HTTP headers to the request.
 31627  func (c *EventTagsUpdateCall) Header() http.Header {
 31628  	if c.header_ == nil {
 31629  		c.header_ = make(http.Header)
 31630  	}
 31631  	return c.header_
 31632  }
 31633  
 31634  func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 31635  	reqHeaders := make(http.Header)
 31636  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31637  	for k, v := range c.header_ {
 31638  		reqHeaders[k] = v
 31639  	}
 31640  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31641  	var body io.Reader = nil
 31642  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31643  	if err != nil {
 31644  		return nil, err
 31645  	}
 31646  	reqHeaders.Set("Content-Type", "application/json")
 31647  	c.urlParams_.Set("alt", alt)
 31648  	c.urlParams_.Set("prettyPrint", "false")
 31649  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31650  	urls += "?" + c.urlParams_.Encode()
 31651  	req, err := http.NewRequest("PUT", urls, body)
 31652  	if err != nil {
 31653  		return nil, err
 31654  	}
 31655  	req.Header = reqHeaders
 31656  	googleapi.Expand(req.URL, map[string]string{
 31657  		"profileId": strconv.FormatInt(c.profileId, 10),
 31658  	})
 31659  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31660  }
 31661  
 31662  // Do executes the "dfareporting.eventTags.update" call.
 31663  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31664  // code is an error. Response headers are in either
 31665  // *EventTag.ServerResponse.Header or (if a response was returned at
 31666  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31667  // to check whether the returned error was because
 31668  // http.StatusNotModified was returned.
 31669  func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31670  	gensupport.SetOptions(c.urlParams_, opts...)
 31671  	res, err := c.doRequest("json")
 31672  	if res != nil && res.StatusCode == http.StatusNotModified {
 31673  		if res.Body != nil {
 31674  			res.Body.Close()
 31675  		}
 31676  		return nil, &googleapi.Error{
 31677  			Code:   res.StatusCode,
 31678  			Header: res.Header,
 31679  		}
 31680  	}
 31681  	if err != nil {
 31682  		return nil, err
 31683  	}
 31684  	defer googleapi.CloseBody(res)
 31685  	if err := googleapi.CheckResponse(res); err != nil {
 31686  		return nil, err
 31687  	}
 31688  	ret := &EventTag{
 31689  		ServerResponse: googleapi.ServerResponse{
 31690  			Header:         res.Header,
 31691  			HTTPStatusCode: res.StatusCode,
 31692  		},
 31693  	}
 31694  	target := &ret
 31695  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31696  		return nil, err
 31697  	}
 31698  	return ret, nil
 31699  	// {
 31700  	//   "description": "Updates an existing event tag.",
 31701  	//   "httpMethod": "PUT",
 31702  	//   "id": "dfareporting.eventTags.update",
 31703  	//   "parameterOrder": [
 31704  	//     "profileId"
 31705  	//   ],
 31706  	//   "parameters": {
 31707  	//     "profileId": {
 31708  	//       "description": "User profile ID associated with this request.",
 31709  	//       "format": "int64",
 31710  	//       "location": "path",
 31711  	//       "required": true,
 31712  	//       "type": "string"
 31713  	//     }
 31714  	//   },
 31715  	//   "path": "userprofiles/{profileId}/eventTags",
 31716  	//   "request": {
 31717  	//     "$ref": "EventTag"
 31718  	//   },
 31719  	//   "response": {
 31720  	//     "$ref": "EventTag"
 31721  	//   },
 31722  	//   "scopes": [
 31723  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31724  	//   ]
 31725  	// }
 31726  
 31727  }
 31728  
 31729  // method id "dfareporting.files.get":
 31730  
 31731  type FilesGetCall struct {
 31732  	s            *Service
 31733  	reportId     int64
 31734  	fileId       int64
 31735  	urlParams_   gensupport.URLParams
 31736  	ifNoneMatch_ string
 31737  	ctx_         context.Context
 31738  	header_      http.Header
 31739  }
 31740  
 31741  // Get: Retrieves a report file by its report ID and file ID. This
 31742  // method supports media download.
 31743  func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
 31744  	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31745  	c.reportId = reportId
 31746  	c.fileId = fileId
 31747  	return c
 31748  }
 31749  
 31750  // Fields allows partial responses to be retrieved. See
 31751  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31752  // for more information.
 31753  func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
 31754  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31755  	return c
 31756  }
 31757  
 31758  // IfNoneMatch sets the optional parameter which makes the operation
 31759  // fail if the object's ETag matches the given value. This is useful for
 31760  // getting updates only after the object has changed since the last
 31761  // request. Use googleapi.IsNotModified to check whether the response
 31762  // error from Do is the result of In-None-Match.
 31763  func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
 31764  	c.ifNoneMatch_ = entityTag
 31765  	return c
 31766  }
 31767  
 31768  // Context sets the context to be used in this call's Do and Download
 31769  // methods. Any pending HTTP request will be aborted if the provided
 31770  // context is canceled.
 31771  func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 31772  	c.ctx_ = ctx
 31773  	return c
 31774  }
 31775  
 31776  // Header returns an http.Header that can be modified by the caller to
 31777  // add HTTP headers to the request.
 31778  func (c *FilesGetCall) Header() http.Header {
 31779  	if c.header_ == nil {
 31780  		c.header_ = make(http.Header)
 31781  	}
 31782  	return c.header_
 31783  }
 31784  
 31785  func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 31786  	reqHeaders := make(http.Header)
 31787  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31788  	for k, v := range c.header_ {
 31789  		reqHeaders[k] = v
 31790  	}
 31791  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31792  	if c.ifNoneMatch_ != "" {
 31793  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31794  	}
 31795  	var body io.Reader = nil
 31796  	c.urlParams_.Set("alt", alt)
 31797  	c.urlParams_.Set("prettyPrint", "false")
 31798  	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
 31799  	urls += "?" + c.urlParams_.Encode()
 31800  	req, err := http.NewRequest("GET", urls, body)
 31801  	if err != nil {
 31802  		return nil, err
 31803  	}
 31804  	req.Header = reqHeaders
 31805  	googleapi.Expand(req.URL, map[string]string{
 31806  		"reportId": strconv.FormatInt(c.reportId, 10),
 31807  		"fileId":   strconv.FormatInt(c.fileId, 10),
 31808  	})
 31809  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31810  }
 31811  
 31812  // Download fetches the API endpoint's "media" value, instead of the normal
 31813  // API response value. If the returned error is nil, the Response is guaranteed to
 31814  // have a 2xx status code. Callers must close the Response.Body as usual.
 31815  func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 31816  	gensupport.SetOptions(c.urlParams_, opts...)
 31817  	res, err := c.doRequest("media")
 31818  	if err != nil {
 31819  		return nil, err
 31820  	}
 31821  	if err := googleapi.CheckMediaResponse(res); err != nil {
 31822  		res.Body.Close()
 31823  		return nil, err
 31824  	}
 31825  	return res, nil
 31826  }
 31827  
 31828  // Do executes the "dfareporting.files.get" call.
 31829  // Exactly one of *File or error will be non-nil. Any non-2xx status
 31830  // code is an error. Response headers are in either
 31831  // *File.ServerResponse.Header or (if a response was returned at all) in
 31832  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 31833  // whether the returned error was because http.StatusNotModified was
 31834  // returned.
 31835  func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 31836  	gensupport.SetOptions(c.urlParams_, opts...)
 31837  	res, err := c.doRequest("json")
 31838  	if res != nil && res.StatusCode == http.StatusNotModified {
 31839  		if res.Body != nil {
 31840  			res.Body.Close()
 31841  		}
 31842  		return nil, &googleapi.Error{
 31843  			Code:   res.StatusCode,
 31844  			Header: res.Header,
 31845  		}
 31846  	}
 31847  	if err != nil {
 31848  		return nil, err
 31849  	}
 31850  	defer googleapi.CloseBody(res)
 31851  	if err := googleapi.CheckResponse(res); err != nil {
 31852  		return nil, err
 31853  	}
 31854  	ret := &File{
 31855  		ServerResponse: googleapi.ServerResponse{
 31856  			Header:         res.Header,
 31857  			HTTPStatusCode: res.StatusCode,
 31858  		},
 31859  	}
 31860  	target := &ret
 31861  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31862  		return nil, err
 31863  	}
 31864  	return ret, nil
 31865  	// {
 31866  	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
 31867  	//   "httpMethod": "GET",
 31868  	//   "id": "dfareporting.files.get",
 31869  	//   "parameterOrder": [
 31870  	//     "reportId",
 31871  	//     "fileId"
 31872  	//   ],
 31873  	//   "parameters": {
 31874  	//     "fileId": {
 31875  	//       "description": "The ID of the report file.",
 31876  	//       "format": "int64",
 31877  	//       "location": "path",
 31878  	//       "required": true,
 31879  	//       "type": "string"
 31880  	//     },
 31881  	//     "reportId": {
 31882  	//       "description": "The ID of the report.",
 31883  	//       "format": "int64",
 31884  	//       "location": "path",
 31885  	//       "required": true,
 31886  	//       "type": "string"
 31887  	//     }
 31888  	//   },
 31889  	//   "path": "reports/{reportId}/files/{fileId}",
 31890  	//   "response": {
 31891  	//     "$ref": "File"
 31892  	//   },
 31893  	//   "scopes": [
 31894  	//     "https://www.googleapis.com/auth/dfareporting"
 31895  	//   ],
 31896  	//   "supportsMediaDownload": true
 31897  	// }
 31898  
 31899  }
 31900  
 31901  // method id "dfareporting.files.list":
 31902  
 31903  type FilesListCall struct {
 31904  	s            *Service
 31905  	profileId    int64
 31906  	urlParams_   gensupport.URLParams
 31907  	ifNoneMatch_ string
 31908  	ctx_         context.Context
 31909  	header_      http.Header
 31910  }
 31911  
 31912  // List: Lists files for a user profile.
 31913  func (r *FilesService) List(profileId int64) *FilesListCall {
 31914  	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31915  	c.profileId = profileId
 31916  	return c
 31917  }
 31918  
 31919  // MaxResults sets the optional parameter "maxResults": Maximum number
 31920  // of results to return.
 31921  func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
 31922  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 31923  	return c
 31924  }
 31925  
 31926  // PageToken sets the optional parameter "pageToken": The value of the
 31927  // nextToken from the previous result page.
 31928  func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
 31929  	c.urlParams_.Set("pageToken", pageToken)
 31930  	return c
 31931  }
 31932  
 31933  // Scope sets the optional parameter "scope": The scope that defines
 31934  // which results are returned.
 31935  //
 31936  // Possible values:
 31937  //
 31938  //	"ALL" - All files in account.
 31939  //	"MINE" (default) - My files.
 31940  //	"SHARED_WITH_ME" - Files shared with me.
 31941  func (c *FilesListCall) Scope(scope string) *FilesListCall {
 31942  	c.urlParams_.Set("scope", scope)
 31943  	return c
 31944  }
 31945  
 31946  // SortField sets the optional parameter "sortField": The field by which
 31947  // to sort the list.
 31948  //
 31949  // Possible values:
 31950  //
 31951  //	"ID" - Sort by file ID.
 31952  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 31953  func (c *FilesListCall) SortField(sortField string) *FilesListCall {
 31954  	c.urlParams_.Set("sortField", sortField)
 31955  	return c
 31956  }
 31957  
 31958  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 31959  // results.
 31960  //
 31961  // Possible values:
 31962  //
 31963  //	"ASCENDING" - Ascending order.
 31964  //	"DESCENDING" (default) - Descending order.
 31965  func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
 31966  	c.urlParams_.Set("sortOrder", sortOrder)
 31967  	return c
 31968  }
 31969  
 31970  // Fields allows partial responses to be retrieved. See
 31971  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31972  // for more information.
 31973  func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
 31974  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31975  	return c
 31976  }
 31977  
 31978  // IfNoneMatch sets the optional parameter which makes the operation
 31979  // fail if the object's ETag matches the given value. This is useful for
 31980  // getting updates only after the object has changed since the last
 31981  // request. Use googleapi.IsNotModified to check whether the response
 31982  // error from Do is the result of In-None-Match.
 31983  func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
 31984  	c.ifNoneMatch_ = entityTag
 31985  	return c
 31986  }
 31987  
 31988  // Context sets the context to be used in this call's Do method. Any
 31989  // pending HTTP request will be aborted if the provided context is
 31990  // canceled.
 31991  func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 31992  	c.ctx_ = ctx
 31993  	return c
 31994  }
 31995  
 31996  // Header returns an http.Header that can be modified by the caller to
 31997  // add HTTP headers to the request.
 31998  func (c *FilesListCall) Header() http.Header {
 31999  	if c.header_ == nil {
 32000  		c.header_ = make(http.Header)
 32001  	}
 32002  	return c.header_
 32003  }
 32004  
 32005  func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 32006  	reqHeaders := make(http.Header)
 32007  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32008  	for k, v := range c.header_ {
 32009  		reqHeaders[k] = v
 32010  	}
 32011  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32012  	if c.ifNoneMatch_ != "" {
 32013  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32014  	}
 32015  	var body io.Reader = nil
 32016  	c.urlParams_.Set("alt", alt)
 32017  	c.urlParams_.Set("prettyPrint", "false")
 32018  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
 32019  	urls += "?" + c.urlParams_.Encode()
 32020  	req, err := http.NewRequest("GET", urls, body)
 32021  	if err != nil {
 32022  		return nil, err
 32023  	}
 32024  	req.Header = reqHeaders
 32025  	googleapi.Expand(req.URL, map[string]string{
 32026  		"profileId": strconv.FormatInt(c.profileId, 10),
 32027  	})
 32028  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32029  }
 32030  
 32031  // Do executes the "dfareporting.files.list" call.
 32032  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 32033  // code is an error. Response headers are in either
 32034  // *FileList.ServerResponse.Header or (if a response was returned at
 32035  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 32036  // to check whether the returned error was because
 32037  // http.StatusNotModified was returned.
 32038  func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 32039  	gensupport.SetOptions(c.urlParams_, opts...)
 32040  	res, err := c.doRequest("json")
 32041  	if res != nil && res.StatusCode == http.StatusNotModified {
 32042  		if res.Body != nil {
 32043  			res.Body.Close()
 32044  		}
 32045  		return nil, &googleapi.Error{
 32046  			Code:   res.StatusCode,
 32047  			Header: res.Header,
 32048  		}
 32049  	}
 32050  	if err != nil {
 32051  		return nil, err
 32052  	}
 32053  	defer googleapi.CloseBody(res)
 32054  	if err := googleapi.CheckResponse(res); err != nil {
 32055  		return nil, err
 32056  	}
 32057  	ret := &FileList{
 32058  		ServerResponse: googleapi.ServerResponse{
 32059  			Header:         res.Header,
 32060  			HTTPStatusCode: res.StatusCode,
 32061  		},
 32062  	}
 32063  	target := &ret
 32064  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32065  		return nil, err
 32066  	}
 32067  	return ret, nil
 32068  	// {
 32069  	//   "description": "Lists files for a user profile.",
 32070  	//   "httpMethod": "GET",
 32071  	//   "id": "dfareporting.files.list",
 32072  	//   "parameterOrder": [
 32073  	//     "profileId"
 32074  	//   ],
 32075  	//   "parameters": {
 32076  	//     "maxResults": {
 32077  	//       "default": "10",
 32078  	//       "description": "Maximum number of results to return.",
 32079  	//       "format": "int32",
 32080  	//       "location": "query",
 32081  	//       "maximum": "10",
 32082  	//       "minimum": "0",
 32083  	//       "type": "integer"
 32084  	//     },
 32085  	//     "pageToken": {
 32086  	//       "description": "The value of the nextToken from the previous result page.",
 32087  	//       "location": "query",
 32088  	//       "type": "string"
 32089  	//     },
 32090  	//     "profileId": {
 32091  	//       "description": "The DFA profile ID.",
 32092  	//       "format": "int64",
 32093  	//       "location": "path",
 32094  	//       "required": true,
 32095  	//       "type": "string"
 32096  	//     },
 32097  	//     "scope": {
 32098  	//       "default": "MINE",
 32099  	//       "description": "The scope that defines which results are returned.",
 32100  	//       "enum": [
 32101  	//         "ALL",
 32102  	//         "MINE",
 32103  	//         "SHARED_WITH_ME"
 32104  	//       ],
 32105  	//       "enumDescriptions": [
 32106  	//         "All files in account.",
 32107  	//         "My files.",
 32108  	//         "Files shared with me."
 32109  	//       ],
 32110  	//       "location": "query",
 32111  	//       "type": "string"
 32112  	//     },
 32113  	//     "sortField": {
 32114  	//       "default": "LAST_MODIFIED_TIME",
 32115  	//       "description": "The field by which to sort the list.",
 32116  	//       "enum": [
 32117  	//         "ID",
 32118  	//         "LAST_MODIFIED_TIME"
 32119  	//       ],
 32120  	//       "enumDescriptions": [
 32121  	//         "Sort by file ID.",
 32122  	//         "Sort by 'lastmodifiedAt' field."
 32123  	//       ],
 32124  	//       "location": "query",
 32125  	//       "type": "string"
 32126  	//     },
 32127  	//     "sortOrder": {
 32128  	//       "default": "DESCENDING",
 32129  	//       "description": "Order of sorted results.",
 32130  	//       "enum": [
 32131  	//         "ASCENDING",
 32132  	//         "DESCENDING"
 32133  	//       ],
 32134  	//       "enumDescriptions": [
 32135  	//         "Ascending order.",
 32136  	//         "Descending order."
 32137  	//       ],
 32138  	//       "location": "query",
 32139  	//       "type": "string"
 32140  	//     }
 32141  	//   },
 32142  	//   "path": "userprofiles/{profileId}/files",
 32143  	//   "response": {
 32144  	//     "$ref": "FileList"
 32145  	//   },
 32146  	//   "scopes": [
 32147  	//     "https://www.googleapis.com/auth/dfareporting"
 32148  	//   ]
 32149  	// }
 32150  
 32151  }
 32152  
 32153  // Pages invokes f for each page of results.
 32154  // A non-nil error returned from f will halt the iteration.
 32155  // The provided context supersedes any context provided to the Context method.
 32156  func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 32157  	c.ctx_ = ctx
 32158  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 32159  	for {
 32160  		x, err := c.Do()
 32161  		if err != nil {
 32162  			return err
 32163  		}
 32164  		if err := f(x); err != nil {
 32165  			return err
 32166  		}
 32167  		if x.NextPageToken == "" {
 32168  			return nil
 32169  		}
 32170  		c.PageToken(x.NextPageToken)
 32171  	}
 32172  }
 32173  
 32174  // method id "dfareporting.floodlightActivities.delete":
 32175  
 32176  type FloodlightActivitiesDeleteCall struct {
 32177  	s          *Service
 32178  	profileId  int64
 32179  	id         int64
 32180  	urlParams_ gensupport.URLParams
 32181  	ctx_       context.Context
 32182  	header_    http.Header
 32183  }
 32184  
 32185  // Delete: Deletes an existing floodlight activity.
 32186  func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
 32187  	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32188  	c.profileId = profileId
 32189  	c.id = id
 32190  	return c
 32191  }
 32192  
 32193  // Fields allows partial responses to be retrieved. See
 32194  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32195  // for more information.
 32196  func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
 32197  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32198  	return c
 32199  }
 32200  
 32201  // Context sets the context to be used in this call's Do method. Any
 32202  // pending HTTP request will be aborted if the provided context is
 32203  // canceled.
 32204  func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 32205  	c.ctx_ = ctx
 32206  	return c
 32207  }
 32208  
 32209  // Header returns an http.Header that can be modified by the caller to
 32210  // add HTTP headers to the request.
 32211  func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
 32212  	if c.header_ == nil {
 32213  		c.header_ = make(http.Header)
 32214  	}
 32215  	return c.header_
 32216  }
 32217  
 32218  func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 32219  	reqHeaders := make(http.Header)
 32220  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32221  	for k, v := range c.header_ {
 32222  		reqHeaders[k] = v
 32223  	}
 32224  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32225  	var body io.Reader = nil
 32226  	c.urlParams_.Set("alt", alt)
 32227  	c.urlParams_.Set("prettyPrint", "false")
 32228  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 32229  	urls += "?" + c.urlParams_.Encode()
 32230  	req, err := http.NewRequest("DELETE", urls, body)
 32231  	if err != nil {
 32232  		return nil, err
 32233  	}
 32234  	req.Header = reqHeaders
 32235  	googleapi.Expand(req.URL, map[string]string{
 32236  		"profileId": strconv.FormatInt(c.profileId, 10),
 32237  		"id":        strconv.FormatInt(c.id, 10),
 32238  	})
 32239  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32240  }
 32241  
 32242  // Do executes the "dfareporting.floodlightActivities.delete" call.
 32243  func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 32244  	gensupport.SetOptions(c.urlParams_, opts...)
 32245  	res, err := c.doRequest("json")
 32246  	if err != nil {
 32247  		return err
 32248  	}
 32249  	defer googleapi.CloseBody(res)
 32250  	if err := googleapi.CheckResponse(res); err != nil {
 32251  		return err
 32252  	}
 32253  	return nil
 32254  	// {
 32255  	//   "description": "Deletes an existing floodlight activity.",
 32256  	//   "httpMethod": "DELETE",
 32257  	//   "id": "dfareporting.floodlightActivities.delete",
 32258  	//   "parameterOrder": [
 32259  	//     "profileId",
 32260  	//     "id"
 32261  	//   ],
 32262  	//   "parameters": {
 32263  	//     "id": {
 32264  	//       "description": "Floodlight activity ID.",
 32265  	//       "format": "int64",
 32266  	//       "location": "path",
 32267  	//       "required": true,
 32268  	//       "type": "string"
 32269  	//     },
 32270  	//     "profileId": {
 32271  	//       "description": "User profile ID associated with this request.",
 32272  	//       "format": "int64",
 32273  	//       "location": "path",
 32274  	//       "required": true,
 32275  	//       "type": "string"
 32276  	//     }
 32277  	//   },
 32278  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 32279  	//   "scopes": [
 32280  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32281  	//   ]
 32282  	// }
 32283  
 32284  }
 32285  
 32286  // method id "dfareporting.floodlightActivities.generatetag":
 32287  
 32288  type FloodlightActivitiesGeneratetagCall struct {
 32289  	s          *Service
 32290  	profileId  int64
 32291  	urlParams_ gensupport.URLParams
 32292  	ctx_       context.Context
 32293  	header_    http.Header
 32294  }
 32295  
 32296  // Generatetag: Generates a tag for a floodlight activity.
 32297  func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
 32298  	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32299  	c.profileId = profileId
 32300  	return c
 32301  }
 32302  
 32303  // FloodlightActivityId sets the optional parameter
 32304  // "floodlightActivityId": Floodlight activity ID for which we want to
 32305  // generate a tag.
 32306  func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
 32307  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 32308  	return c
 32309  }
 32310  
 32311  // Fields allows partial responses to be retrieved. See
 32312  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32313  // for more information.
 32314  func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
 32315  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32316  	return c
 32317  }
 32318  
 32319  // Context sets the context to be used in this call's Do method. Any
 32320  // pending HTTP request will be aborted if the provided context is
 32321  // canceled.
 32322  func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 32323  	c.ctx_ = ctx
 32324  	return c
 32325  }
 32326  
 32327  // Header returns an http.Header that can be modified by the caller to
 32328  // add HTTP headers to the request.
 32329  func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
 32330  	if c.header_ == nil {
 32331  		c.header_ = make(http.Header)
 32332  	}
 32333  	return c.header_
 32334  }
 32335  
 32336  func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 32337  	reqHeaders := make(http.Header)
 32338  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32339  	for k, v := range c.header_ {
 32340  		reqHeaders[k] = v
 32341  	}
 32342  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32343  	var body io.Reader = nil
 32344  	c.urlParams_.Set("alt", alt)
 32345  	c.urlParams_.Set("prettyPrint", "false")
 32346  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
 32347  	urls += "?" + c.urlParams_.Encode()
 32348  	req, err := http.NewRequest("POST", urls, body)
 32349  	if err != nil {
 32350  		return nil, err
 32351  	}
 32352  	req.Header = reqHeaders
 32353  	googleapi.Expand(req.URL, map[string]string{
 32354  		"profileId": strconv.FormatInt(c.profileId, 10),
 32355  	})
 32356  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32357  }
 32358  
 32359  // Do executes the "dfareporting.floodlightActivities.generatetag" call.
 32360  // Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
 32361  // be non-nil. Any non-2xx status code is an error. Response headers are
 32362  // in either
 32363  // *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
 32364  // a response was returned at all) in error.(*googleapi.Error).Header.
 32365  // Use googleapi.IsNotModified to check whether the returned error was
 32366  // because http.StatusNotModified was returned.
 32367  func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
 32368  	gensupport.SetOptions(c.urlParams_, opts...)
 32369  	res, err := c.doRequest("json")
 32370  	if res != nil && res.StatusCode == http.StatusNotModified {
 32371  		if res.Body != nil {
 32372  			res.Body.Close()
 32373  		}
 32374  		return nil, &googleapi.Error{
 32375  			Code:   res.StatusCode,
 32376  			Header: res.Header,
 32377  		}
 32378  	}
 32379  	if err != nil {
 32380  		return nil, err
 32381  	}
 32382  	defer googleapi.CloseBody(res)
 32383  	if err := googleapi.CheckResponse(res); err != nil {
 32384  		return nil, err
 32385  	}
 32386  	ret := &FloodlightActivitiesGenerateTagResponse{
 32387  		ServerResponse: googleapi.ServerResponse{
 32388  			Header:         res.Header,
 32389  			HTTPStatusCode: res.StatusCode,
 32390  		},
 32391  	}
 32392  	target := &ret
 32393  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32394  		return nil, err
 32395  	}
 32396  	return ret, nil
 32397  	// {
 32398  	//   "description": "Generates a tag for a floodlight activity.",
 32399  	//   "httpMethod": "POST",
 32400  	//   "id": "dfareporting.floodlightActivities.generatetag",
 32401  	//   "parameterOrder": [
 32402  	//     "profileId"
 32403  	//   ],
 32404  	//   "parameters": {
 32405  	//     "floodlightActivityId": {
 32406  	//       "description": "Floodlight activity ID for which we want to generate a tag.",
 32407  	//       "format": "int64",
 32408  	//       "location": "query",
 32409  	//       "type": "string"
 32410  	//     },
 32411  	//     "profileId": {
 32412  	//       "description": "User profile ID associated with this request.",
 32413  	//       "format": "int64",
 32414  	//       "location": "path",
 32415  	//       "required": true,
 32416  	//       "type": "string"
 32417  	//     }
 32418  	//   },
 32419  	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
 32420  	//   "response": {
 32421  	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
 32422  	//   },
 32423  	//   "scopes": [
 32424  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32425  	//   ]
 32426  	// }
 32427  
 32428  }
 32429  
 32430  // method id "dfareporting.floodlightActivities.get":
 32431  
 32432  type FloodlightActivitiesGetCall struct {
 32433  	s            *Service
 32434  	profileId    int64
 32435  	id           int64
 32436  	urlParams_   gensupport.URLParams
 32437  	ifNoneMatch_ string
 32438  	ctx_         context.Context
 32439  	header_      http.Header
 32440  }
 32441  
 32442  // Get: Gets one floodlight activity by ID.
 32443  func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
 32444  	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32445  	c.profileId = profileId
 32446  	c.id = id
 32447  	return c
 32448  }
 32449  
 32450  // Fields allows partial responses to be retrieved. See
 32451  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32452  // for more information.
 32453  func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
 32454  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32455  	return c
 32456  }
 32457  
 32458  // IfNoneMatch sets the optional parameter which makes the operation
 32459  // fail if the object's ETag matches the given value. This is useful for
 32460  // getting updates only after the object has changed since the last
 32461  // request. Use googleapi.IsNotModified to check whether the response
 32462  // error from Do is the result of In-None-Match.
 32463  func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
 32464  	c.ifNoneMatch_ = entityTag
 32465  	return c
 32466  }
 32467  
 32468  // Context sets the context to be used in this call's Do method. Any
 32469  // pending HTTP request will be aborted if the provided context is
 32470  // canceled.
 32471  func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 32472  	c.ctx_ = ctx
 32473  	return c
 32474  }
 32475  
 32476  // Header returns an http.Header that can be modified by the caller to
 32477  // add HTTP headers to the request.
 32478  func (c *FloodlightActivitiesGetCall) Header() http.Header {
 32479  	if c.header_ == nil {
 32480  		c.header_ = make(http.Header)
 32481  	}
 32482  	return c.header_
 32483  }
 32484  
 32485  func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 32486  	reqHeaders := make(http.Header)
 32487  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32488  	for k, v := range c.header_ {
 32489  		reqHeaders[k] = v
 32490  	}
 32491  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32492  	if c.ifNoneMatch_ != "" {
 32493  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32494  	}
 32495  	var body io.Reader = nil
 32496  	c.urlParams_.Set("alt", alt)
 32497  	c.urlParams_.Set("prettyPrint", "false")
 32498  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 32499  	urls += "?" + c.urlParams_.Encode()
 32500  	req, err := http.NewRequest("GET", urls, body)
 32501  	if err != nil {
 32502  		return nil, err
 32503  	}
 32504  	req.Header = reqHeaders
 32505  	googleapi.Expand(req.URL, map[string]string{
 32506  		"profileId": strconv.FormatInt(c.profileId, 10),
 32507  		"id":        strconv.FormatInt(c.id, 10),
 32508  	})
 32509  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32510  }
 32511  
 32512  // Do executes the "dfareporting.floodlightActivities.get" call.
 32513  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32514  // non-2xx status code is an error. Response headers are in either
 32515  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32516  // returned at all) in error.(*googleapi.Error).Header. Use
 32517  // googleapi.IsNotModified to check whether the returned error was
 32518  // because http.StatusNotModified was returned.
 32519  func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32520  	gensupport.SetOptions(c.urlParams_, opts...)
 32521  	res, err := c.doRequest("json")
 32522  	if res != nil && res.StatusCode == http.StatusNotModified {
 32523  		if res.Body != nil {
 32524  			res.Body.Close()
 32525  		}
 32526  		return nil, &googleapi.Error{
 32527  			Code:   res.StatusCode,
 32528  			Header: res.Header,
 32529  		}
 32530  	}
 32531  	if err != nil {
 32532  		return nil, err
 32533  	}
 32534  	defer googleapi.CloseBody(res)
 32535  	if err := googleapi.CheckResponse(res); err != nil {
 32536  		return nil, err
 32537  	}
 32538  	ret := &FloodlightActivity{
 32539  		ServerResponse: googleapi.ServerResponse{
 32540  			Header:         res.Header,
 32541  			HTTPStatusCode: res.StatusCode,
 32542  		},
 32543  	}
 32544  	target := &ret
 32545  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32546  		return nil, err
 32547  	}
 32548  	return ret, nil
 32549  	// {
 32550  	//   "description": "Gets one floodlight activity by ID.",
 32551  	//   "httpMethod": "GET",
 32552  	//   "id": "dfareporting.floodlightActivities.get",
 32553  	//   "parameterOrder": [
 32554  	//     "profileId",
 32555  	//     "id"
 32556  	//   ],
 32557  	//   "parameters": {
 32558  	//     "id": {
 32559  	//       "description": "Floodlight activity ID.",
 32560  	//       "format": "int64",
 32561  	//       "location": "path",
 32562  	//       "required": true,
 32563  	//       "type": "string"
 32564  	//     },
 32565  	//     "profileId": {
 32566  	//       "description": "User profile ID associated with this request.",
 32567  	//       "format": "int64",
 32568  	//       "location": "path",
 32569  	//       "required": true,
 32570  	//       "type": "string"
 32571  	//     }
 32572  	//   },
 32573  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 32574  	//   "response": {
 32575  	//     "$ref": "FloodlightActivity"
 32576  	//   },
 32577  	//   "scopes": [
 32578  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32579  	//   ]
 32580  	// }
 32581  
 32582  }
 32583  
 32584  // method id "dfareporting.floodlightActivities.insert":
 32585  
 32586  type FloodlightActivitiesInsertCall struct {
 32587  	s                  *Service
 32588  	profileId          int64
 32589  	floodlightactivity *FloodlightActivity
 32590  	urlParams_         gensupport.URLParams
 32591  	ctx_               context.Context
 32592  	header_            http.Header
 32593  }
 32594  
 32595  // Insert: Inserts a new floodlight activity.
 32596  func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
 32597  	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32598  	c.profileId = profileId
 32599  	c.floodlightactivity = floodlightactivity
 32600  	return c
 32601  }
 32602  
 32603  // Fields allows partial responses to be retrieved. See
 32604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32605  // for more information.
 32606  func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
 32607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32608  	return c
 32609  }
 32610  
 32611  // Context sets the context to be used in this call's Do method. Any
 32612  // pending HTTP request will be aborted if the provided context is
 32613  // canceled.
 32614  func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 32615  	c.ctx_ = ctx
 32616  	return c
 32617  }
 32618  
 32619  // Header returns an http.Header that can be modified by the caller to
 32620  // add HTTP headers to the request.
 32621  func (c *FloodlightActivitiesInsertCall) Header() http.Header {
 32622  	if c.header_ == nil {
 32623  		c.header_ = make(http.Header)
 32624  	}
 32625  	return c.header_
 32626  }
 32627  
 32628  func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
 32629  	reqHeaders := make(http.Header)
 32630  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32631  	for k, v := range c.header_ {
 32632  		reqHeaders[k] = v
 32633  	}
 32634  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32635  	var body io.Reader = nil
 32636  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 32637  	if err != nil {
 32638  		return nil, err
 32639  	}
 32640  	reqHeaders.Set("Content-Type", "application/json")
 32641  	c.urlParams_.Set("alt", alt)
 32642  	c.urlParams_.Set("prettyPrint", "false")
 32643  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32644  	urls += "?" + c.urlParams_.Encode()
 32645  	req, err := http.NewRequest("POST", urls, body)
 32646  	if err != nil {
 32647  		return nil, err
 32648  	}
 32649  	req.Header = reqHeaders
 32650  	googleapi.Expand(req.URL, map[string]string{
 32651  		"profileId": strconv.FormatInt(c.profileId, 10),
 32652  	})
 32653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32654  }
 32655  
 32656  // Do executes the "dfareporting.floodlightActivities.insert" call.
 32657  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32658  // non-2xx status code is an error. Response headers are in either
 32659  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32660  // returned at all) in error.(*googleapi.Error).Header. Use
 32661  // googleapi.IsNotModified to check whether the returned error was
 32662  // because http.StatusNotModified was returned.
 32663  func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32664  	gensupport.SetOptions(c.urlParams_, opts...)
 32665  	res, err := c.doRequest("json")
 32666  	if res != nil && res.StatusCode == http.StatusNotModified {
 32667  		if res.Body != nil {
 32668  			res.Body.Close()
 32669  		}
 32670  		return nil, &googleapi.Error{
 32671  			Code:   res.StatusCode,
 32672  			Header: res.Header,
 32673  		}
 32674  	}
 32675  	if err != nil {
 32676  		return nil, err
 32677  	}
 32678  	defer googleapi.CloseBody(res)
 32679  	if err := googleapi.CheckResponse(res); err != nil {
 32680  		return nil, err
 32681  	}
 32682  	ret := &FloodlightActivity{
 32683  		ServerResponse: googleapi.ServerResponse{
 32684  			Header:         res.Header,
 32685  			HTTPStatusCode: res.StatusCode,
 32686  		},
 32687  	}
 32688  	target := &ret
 32689  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32690  		return nil, err
 32691  	}
 32692  	return ret, nil
 32693  	// {
 32694  	//   "description": "Inserts a new floodlight activity.",
 32695  	//   "httpMethod": "POST",
 32696  	//   "id": "dfareporting.floodlightActivities.insert",
 32697  	//   "parameterOrder": [
 32698  	//     "profileId"
 32699  	//   ],
 32700  	//   "parameters": {
 32701  	//     "profileId": {
 32702  	//       "description": "User profile ID associated with this request.",
 32703  	//       "format": "int64",
 32704  	//       "location": "path",
 32705  	//       "required": true,
 32706  	//       "type": "string"
 32707  	//     }
 32708  	//   },
 32709  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32710  	//   "request": {
 32711  	//     "$ref": "FloodlightActivity"
 32712  	//   },
 32713  	//   "response": {
 32714  	//     "$ref": "FloodlightActivity"
 32715  	//   },
 32716  	//   "scopes": [
 32717  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32718  	//   ]
 32719  	// }
 32720  
 32721  }
 32722  
 32723  // method id "dfareporting.floodlightActivities.list":
 32724  
 32725  type FloodlightActivitiesListCall struct {
 32726  	s            *Service
 32727  	profileId    int64
 32728  	urlParams_   gensupport.URLParams
 32729  	ifNoneMatch_ string
 32730  	ctx_         context.Context
 32731  	header_      http.Header
 32732  }
 32733  
 32734  // List: Retrieves a list of floodlight activities, possibly filtered.
 32735  // This method supports paging.
 32736  func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
 32737  	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32738  	c.profileId = profileId
 32739  	return c
 32740  }
 32741  
 32742  // AdvertiserId sets the optional parameter "advertiserId": Select only
 32743  // floodlight activities for the specified advertiser ID. Must specify
 32744  // either ids, advertiserId, or floodlightConfigurationId for a
 32745  // non-empty result.
 32746  func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
 32747  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32748  	return c
 32749  }
 32750  
 32751  // FloodlightActivityGroupIds sets the optional parameter
 32752  // "floodlightActivityGroupIds": Select only floodlight activities with
 32753  // the specified floodlight activity group IDs.
 32754  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
 32755  	var floodlightActivityGroupIds_ []string
 32756  	for _, v := range floodlightActivityGroupIds {
 32757  		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
 32758  	}
 32759  	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
 32760  	return c
 32761  }
 32762  
 32763  // FloodlightActivityGroupName sets the optional parameter
 32764  // "floodlightActivityGroupName": Select only floodlight activities with
 32765  // the specified floodlight activity group name.
 32766  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
 32767  	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
 32768  	return c
 32769  }
 32770  
 32771  // FloodlightActivityGroupTagString sets the optional parameter
 32772  // "floodlightActivityGroupTagString": Select only floodlight activities
 32773  // with the specified floodlight activity group tag string.
 32774  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
 32775  	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
 32776  	return c
 32777  }
 32778  
 32779  // FloodlightActivityGroupType sets the optional parameter
 32780  // "floodlightActivityGroupType": Select only floodlight activities with
 32781  // the specified floodlight activity group type.
 32782  //
 32783  // Possible values:
 32784  //
 32785  //	"COUNTER"
 32786  //	"SALE"
 32787  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
 32788  	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
 32789  	return c
 32790  }
 32791  
 32792  // FloodlightConfigurationId sets the optional parameter
 32793  // "floodlightConfigurationId": Select only floodlight activities for
 32794  // the specified floodlight configuration ID. Must specify either ids,
 32795  // advertiserId, or floodlightConfigurationId for a non-empty result.
 32796  func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
 32797  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 32798  	return c
 32799  }
 32800  
 32801  // Ids sets the optional parameter "ids": Select only floodlight
 32802  // activities with the specified IDs. Must specify either ids,
 32803  // advertiserId, or floodlightConfigurationId for a non-empty result.
 32804  func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
 32805  	var ids_ []string
 32806  	for _, v := range ids {
 32807  		ids_ = append(ids_, fmt.Sprint(v))
 32808  	}
 32809  	c.urlParams_.SetMulti("ids", ids_)
 32810  	return c
 32811  }
 32812  
 32813  // MaxResults sets the optional parameter "maxResults": Maximum number
 32814  // of results to return.
 32815  func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
 32816  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 32817  	return c
 32818  }
 32819  
 32820  // PageToken sets the optional parameter "pageToken": Value of the
 32821  // nextPageToken from the previous result page.
 32822  func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
 32823  	c.urlParams_.Set("pageToken", pageToken)
 32824  	return c
 32825  }
 32826  
 32827  // SearchString sets the optional parameter "searchString": Allows
 32828  // searching for objects by name or ID. Wildcards (*) are allowed. For
 32829  // example, "floodlightactivity*2015" will return objects with names
 32830  // like "floodlightactivity June 2015", "floodlightactivity April 2015",
 32831  // or simply "floodlightactivity 2015". Most of the searches also add
 32832  // wildcards implicitly at the start and the end of the search string.
 32833  // For example, a search string of "floodlightactivity" will match
 32834  // objects with name "my floodlightactivity activity",
 32835  // "floodlightactivity 2015", or simply "floodlightactivity".
 32836  func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
 32837  	c.urlParams_.Set("searchString", searchString)
 32838  	return c
 32839  }
 32840  
 32841  // SortField sets the optional parameter "sortField": Field by which to
 32842  // sort the list.
 32843  //
 32844  // Possible values:
 32845  //
 32846  //	"ID" (default)
 32847  //	"NAME"
 32848  func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
 32849  	c.urlParams_.Set("sortField", sortField)
 32850  	return c
 32851  }
 32852  
 32853  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 32854  // results.
 32855  //
 32856  // Possible values:
 32857  //
 32858  //	"ASCENDING" (default)
 32859  //	"DESCENDING"
 32860  func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
 32861  	c.urlParams_.Set("sortOrder", sortOrder)
 32862  	return c
 32863  }
 32864  
 32865  // TagString sets the optional parameter "tagString": Select only
 32866  // floodlight activities with the specified tag string.
 32867  func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
 32868  	c.urlParams_.Set("tagString", tagString)
 32869  	return c
 32870  }
 32871  
 32872  // Fields allows partial responses to be retrieved. See
 32873  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32874  // for more information.
 32875  func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
 32876  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32877  	return c
 32878  }
 32879  
 32880  // IfNoneMatch sets the optional parameter which makes the operation
 32881  // fail if the object's ETag matches the given value. This is useful for
 32882  // getting updates only after the object has changed since the last
 32883  // request. Use googleapi.IsNotModified to check whether the response
 32884  // error from Do is the result of In-None-Match.
 32885  func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
 32886  	c.ifNoneMatch_ = entityTag
 32887  	return c
 32888  }
 32889  
 32890  // Context sets the context to be used in this call's Do method. Any
 32891  // pending HTTP request will be aborted if the provided context is
 32892  // canceled.
 32893  func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 32894  	c.ctx_ = ctx
 32895  	return c
 32896  }
 32897  
 32898  // Header returns an http.Header that can be modified by the caller to
 32899  // add HTTP headers to the request.
 32900  func (c *FloodlightActivitiesListCall) Header() http.Header {
 32901  	if c.header_ == nil {
 32902  		c.header_ = make(http.Header)
 32903  	}
 32904  	return c.header_
 32905  }
 32906  
 32907  func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 32908  	reqHeaders := make(http.Header)
 32909  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32910  	for k, v := range c.header_ {
 32911  		reqHeaders[k] = v
 32912  	}
 32913  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32914  	if c.ifNoneMatch_ != "" {
 32915  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32916  	}
 32917  	var body io.Reader = nil
 32918  	c.urlParams_.Set("alt", alt)
 32919  	c.urlParams_.Set("prettyPrint", "false")
 32920  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32921  	urls += "?" + c.urlParams_.Encode()
 32922  	req, err := http.NewRequest("GET", urls, body)
 32923  	if err != nil {
 32924  		return nil, err
 32925  	}
 32926  	req.Header = reqHeaders
 32927  	googleapi.Expand(req.URL, map[string]string{
 32928  		"profileId": strconv.FormatInt(c.profileId, 10),
 32929  	})
 32930  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32931  }
 32932  
 32933  // Do executes the "dfareporting.floodlightActivities.list" call.
 32934  // Exactly one of *FloodlightActivitiesListResponse or error will be
 32935  // non-nil. Any non-2xx status code is an error. Response headers are in
 32936  // either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
 32937  // a response was returned at all) in error.(*googleapi.Error).Header.
 32938  // Use googleapi.IsNotModified to check whether the returned error was
 32939  // because http.StatusNotModified was returned.
 32940  func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
 32941  	gensupport.SetOptions(c.urlParams_, opts...)
 32942  	res, err := c.doRequest("json")
 32943  	if res != nil && res.StatusCode == http.StatusNotModified {
 32944  		if res.Body != nil {
 32945  			res.Body.Close()
 32946  		}
 32947  		return nil, &googleapi.Error{
 32948  			Code:   res.StatusCode,
 32949  			Header: res.Header,
 32950  		}
 32951  	}
 32952  	if err != nil {
 32953  		return nil, err
 32954  	}
 32955  	defer googleapi.CloseBody(res)
 32956  	if err := googleapi.CheckResponse(res); err != nil {
 32957  		return nil, err
 32958  	}
 32959  	ret := &FloodlightActivitiesListResponse{
 32960  		ServerResponse: googleapi.ServerResponse{
 32961  			Header:         res.Header,
 32962  			HTTPStatusCode: res.StatusCode,
 32963  		},
 32964  	}
 32965  	target := &ret
 32966  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32967  		return nil, err
 32968  	}
 32969  	return ret, nil
 32970  	// {
 32971  	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
 32972  	//   "httpMethod": "GET",
 32973  	//   "id": "dfareporting.floodlightActivities.list",
 32974  	//   "parameterOrder": [
 32975  	//     "profileId"
 32976  	//   ],
 32977  	//   "parameters": {
 32978  	//     "advertiserId": {
 32979  	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 32980  	//       "format": "int64",
 32981  	//       "location": "query",
 32982  	//       "type": "string"
 32983  	//     },
 32984  	//     "floodlightActivityGroupIds": {
 32985  	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
 32986  	//       "format": "int64",
 32987  	//       "location": "query",
 32988  	//       "repeated": true,
 32989  	//       "type": "string"
 32990  	//     },
 32991  	//     "floodlightActivityGroupName": {
 32992  	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
 32993  	//       "location": "query",
 32994  	//       "type": "string"
 32995  	//     },
 32996  	//     "floodlightActivityGroupTagString": {
 32997  	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
 32998  	//       "location": "query",
 32999  	//       "type": "string"
 33000  	//     },
 33001  	//     "floodlightActivityGroupType": {
 33002  	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
 33003  	//       "enum": [
 33004  	//         "COUNTER",
 33005  	//         "SALE"
 33006  	//       ],
 33007  	//       "enumDescriptions": [
 33008  	//         "",
 33009  	//         ""
 33010  	//       ],
 33011  	//       "location": "query",
 33012  	//       "type": "string"
 33013  	//     },
 33014  	//     "floodlightConfigurationId": {
 33015  	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 33016  	//       "format": "int64",
 33017  	//       "location": "query",
 33018  	//       "type": "string"
 33019  	//     },
 33020  	//     "ids": {
 33021  	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 33022  	//       "format": "int64",
 33023  	//       "location": "query",
 33024  	//       "repeated": true,
 33025  	//       "type": "string"
 33026  	//     },
 33027  	//     "maxResults": {
 33028  	//       "default": "1000",
 33029  	//       "description": "Maximum number of results to return.",
 33030  	//       "format": "int32",
 33031  	//       "location": "query",
 33032  	//       "maximum": "1000",
 33033  	//       "minimum": "0",
 33034  	//       "type": "integer"
 33035  	//     },
 33036  	//     "pageToken": {
 33037  	//       "description": "Value of the nextPageToken from the previous result page.",
 33038  	//       "location": "query",
 33039  	//       "type": "string"
 33040  	//     },
 33041  	//     "profileId": {
 33042  	//       "description": "User profile ID associated with this request.",
 33043  	//       "format": "int64",
 33044  	//       "location": "path",
 33045  	//       "required": true,
 33046  	//       "type": "string"
 33047  	//     },
 33048  	//     "searchString": {
 33049  	//       "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\".",
 33050  	//       "location": "query",
 33051  	//       "type": "string"
 33052  	//     },
 33053  	//     "sortField": {
 33054  	//       "default": "ID",
 33055  	//       "description": "Field by which to sort the list.",
 33056  	//       "enum": [
 33057  	//         "ID",
 33058  	//         "NAME"
 33059  	//       ],
 33060  	//       "enumDescriptions": [
 33061  	//         "",
 33062  	//         ""
 33063  	//       ],
 33064  	//       "location": "query",
 33065  	//       "type": "string"
 33066  	//     },
 33067  	//     "sortOrder": {
 33068  	//       "default": "ASCENDING",
 33069  	//       "description": "Order of sorted results.",
 33070  	//       "enum": [
 33071  	//         "ASCENDING",
 33072  	//         "DESCENDING"
 33073  	//       ],
 33074  	//       "enumDescriptions": [
 33075  	//         "",
 33076  	//         ""
 33077  	//       ],
 33078  	//       "location": "query",
 33079  	//       "type": "string"
 33080  	//     },
 33081  	//     "tagString": {
 33082  	//       "description": "Select only floodlight activities with the specified tag string.",
 33083  	//       "location": "query",
 33084  	//       "type": "string"
 33085  	//     }
 33086  	//   },
 33087  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33088  	//   "response": {
 33089  	//     "$ref": "FloodlightActivitiesListResponse"
 33090  	//   },
 33091  	//   "scopes": [
 33092  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33093  	//   ]
 33094  	// }
 33095  
 33096  }
 33097  
 33098  // Pages invokes f for each page of results.
 33099  // A non-nil error returned from f will halt the iteration.
 33100  // The provided context supersedes any context provided to the Context method.
 33101  func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
 33102  	c.ctx_ = ctx
 33103  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 33104  	for {
 33105  		x, err := c.Do()
 33106  		if err != nil {
 33107  			return err
 33108  		}
 33109  		if err := f(x); err != nil {
 33110  			return err
 33111  		}
 33112  		if x.NextPageToken == "" {
 33113  			return nil
 33114  		}
 33115  		c.PageToken(x.NextPageToken)
 33116  	}
 33117  }
 33118  
 33119  // method id "dfareporting.floodlightActivities.patch":
 33120  
 33121  type FloodlightActivitiesPatchCall struct {
 33122  	s                  *Service
 33123  	profileId          int64
 33124  	floodlightactivity *FloodlightActivity
 33125  	urlParams_         gensupport.URLParams
 33126  	ctx_               context.Context
 33127  	header_            http.Header
 33128  }
 33129  
 33130  // Patch: Updates an existing floodlight activity. This method supports
 33131  // patch semantics.
 33132  func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
 33133  	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33134  	c.profileId = profileId
 33135  	c.urlParams_.Set("id", fmt.Sprint(id))
 33136  	c.floodlightactivity = floodlightactivity
 33137  	return c
 33138  }
 33139  
 33140  // Fields allows partial responses to be retrieved. See
 33141  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33142  // for more information.
 33143  func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
 33144  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33145  	return c
 33146  }
 33147  
 33148  // Context sets the context to be used in this call's Do method. Any
 33149  // pending HTTP request will be aborted if the provided context is
 33150  // canceled.
 33151  func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 33152  	c.ctx_ = ctx
 33153  	return c
 33154  }
 33155  
 33156  // Header returns an http.Header that can be modified by the caller to
 33157  // add HTTP headers to the request.
 33158  func (c *FloodlightActivitiesPatchCall) Header() http.Header {
 33159  	if c.header_ == nil {
 33160  		c.header_ = make(http.Header)
 33161  	}
 33162  	return c.header_
 33163  }
 33164  
 33165  func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
 33166  	reqHeaders := make(http.Header)
 33167  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33168  	for k, v := range c.header_ {
 33169  		reqHeaders[k] = v
 33170  	}
 33171  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33172  	var body io.Reader = nil
 33173  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 33174  	if err != nil {
 33175  		return nil, err
 33176  	}
 33177  	reqHeaders.Set("Content-Type", "application/json")
 33178  	c.urlParams_.Set("alt", alt)
 33179  	c.urlParams_.Set("prettyPrint", "false")
 33180  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33181  	urls += "?" + c.urlParams_.Encode()
 33182  	req, err := http.NewRequest("PATCH", urls, body)
 33183  	if err != nil {
 33184  		return nil, err
 33185  	}
 33186  	req.Header = reqHeaders
 33187  	googleapi.Expand(req.URL, map[string]string{
 33188  		"profileId": strconv.FormatInt(c.profileId, 10),
 33189  	})
 33190  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33191  }
 33192  
 33193  // Do executes the "dfareporting.floodlightActivities.patch" call.
 33194  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 33195  // non-2xx status code is an error. Response headers are in either
 33196  // *FloodlightActivity.ServerResponse.Header or (if a response was
 33197  // returned at all) in error.(*googleapi.Error).Header. Use
 33198  // googleapi.IsNotModified to check whether the returned error was
 33199  // because http.StatusNotModified was returned.
 33200  func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 33201  	gensupport.SetOptions(c.urlParams_, opts...)
 33202  	res, err := c.doRequest("json")
 33203  	if res != nil && res.StatusCode == http.StatusNotModified {
 33204  		if res.Body != nil {
 33205  			res.Body.Close()
 33206  		}
 33207  		return nil, &googleapi.Error{
 33208  			Code:   res.StatusCode,
 33209  			Header: res.Header,
 33210  		}
 33211  	}
 33212  	if err != nil {
 33213  		return nil, err
 33214  	}
 33215  	defer googleapi.CloseBody(res)
 33216  	if err := googleapi.CheckResponse(res); err != nil {
 33217  		return nil, err
 33218  	}
 33219  	ret := &FloodlightActivity{
 33220  		ServerResponse: googleapi.ServerResponse{
 33221  			Header:         res.Header,
 33222  			HTTPStatusCode: res.StatusCode,
 33223  		},
 33224  	}
 33225  	target := &ret
 33226  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33227  		return nil, err
 33228  	}
 33229  	return ret, nil
 33230  	// {
 33231  	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
 33232  	//   "httpMethod": "PATCH",
 33233  	//   "id": "dfareporting.floodlightActivities.patch",
 33234  	//   "parameterOrder": [
 33235  	//     "profileId",
 33236  	//     "id"
 33237  	//   ],
 33238  	//   "parameters": {
 33239  	//     "id": {
 33240  	//       "description": "Floodlight activity ID.",
 33241  	//       "format": "int64",
 33242  	//       "location": "query",
 33243  	//       "required": true,
 33244  	//       "type": "string"
 33245  	//     },
 33246  	//     "profileId": {
 33247  	//       "description": "User profile ID associated with this request.",
 33248  	//       "format": "int64",
 33249  	//       "location": "path",
 33250  	//       "required": true,
 33251  	//       "type": "string"
 33252  	//     }
 33253  	//   },
 33254  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33255  	//   "request": {
 33256  	//     "$ref": "FloodlightActivity"
 33257  	//   },
 33258  	//   "response": {
 33259  	//     "$ref": "FloodlightActivity"
 33260  	//   },
 33261  	//   "scopes": [
 33262  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33263  	//   ]
 33264  	// }
 33265  
 33266  }
 33267  
 33268  // method id "dfareporting.floodlightActivities.update":
 33269  
 33270  type FloodlightActivitiesUpdateCall struct {
 33271  	s                  *Service
 33272  	profileId          int64
 33273  	floodlightactivity *FloodlightActivity
 33274  	urlParams_         gensupport.URLParams
 33275  	ctx_               context.Context
 33276  	header_            http.Header
 33277  }
 33278  
 33279  // Update: Updates an existing floodlight activity.
 33280  func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
 33281  	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33282  	c.profileId = profileId
 33283  	c.floodlightactivity = floodlightactivity
 33284  	return c
 33285  }
 33286  
 33287  // Fields allows partial responses to be retrieved. See
 33288  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33289  // for more information.
 33290  func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
 33291  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33292  	return c
 33293  }
 33294  
 33295  // Context sets the context to be used in this call's Do method. Any
 33296  // pending HTTP request will be aborted if the provided context is
 33297  // canceled.
 33298  func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 33299  	c.ctx_ = ctx
 33300  	return c
 33301  }
 33302  
 33303  // Header returns an http.Header that can be modified by the caller to
 33304  // add HTTP headers to the request.
 33305  func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
 33306  	if c.header_ == nil {
 33307  		c.header_ = make(http.Header)
 33308  	}
 33309  	return c.header_
 33310  }
 33311  
 33312  func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 33313  	reqHeaders := make(http.Header)
 33314  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33315  	for k, v := range c.header_ {
 33316  		reqHeaders[k] = v
 33317  	}
 33318  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33319  	var body io.Reader = nil
 33320  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 33321  	if err != nil {
 33322  		return nil, err
 33323  	}
 33324  	reqHeaders.Set("Content-Type", "application/json")
 33325  	c.urlParams_.Set("alt", alt)
 33326  	c.urlParams_.Set("prettyPrint", "false")
 33327  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33328  	urls += "?" + c.urlParams_.Encode()
 33329  	req, err := http.NewRequest("PUT", urls, body)
 33330  	if err != nil {
 33331  		return nil, err
 33332  	}
 33333  	req.Header = reqHeaders
 33334  	googleapi.Expand(req.URL, map[string]string{
 33335  		"profileId": strconv.FormatInt(c.profileId, 10),
 33336  	})
 33337  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33338  }
 33339  
 33340  // Do executes the "dfareporting.floodlightActivities.update" call.
 33341  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 33342  // non-2xx status code is an error. Response headers are in either
 33343  // *FloodlightActivity.ServerResponse.Header or (if a response was
 33344  // returned at all) in error.(*googleapi.Error).Header. Use
 33345  // googleapi.IsNotModified to check whether the returned error was
 33346  // because http.StatusNotModified was returned.
 33347  func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 33348  	gensupport.SetOptions(c.urlParams_, opts...)
 33349  	res, err := c.doRequest("json")
 33350  	if res != nil && res.StatusCode == http.StatusNotModified {
 33351  		if res.Body != nil {
 33352  			res.Body.Close()
 33353  		}
 33354  		return nil, &googleapi.Error{
 33355  			Code:   res.StatusCode,
 33356  			Header: res.Header,
 33357  		}
 33358  	}
 33359  	if err != nil {
 33360  		return nil, err
 33361  	}
 33362  	defer googleapi.CloseBody(res)
 33363  	if err := googleapi.CheckResponse(res); err != nil {
 33364  		return nil, err
 33365  	}
 33366  	ret := &FloodlightActivity{
 33367  		ServerResponse: googleapi.ServerResponse{
 33368  			Header:         res.Header,
 33369  			HTTPStatusCode: res.StatusCode,
 33370  		},
 33371  	}
 33372  	target := &ret
 33373  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33374  		return nil, err
 33375  	}
 33376  	return ret, nil
 33377  	// {
 33378  	//   "description": "Updates an existing floodlight activity.",
 33379  	//   "httpMethod": "PUT",
 33380  	//   "id": "dfareporting.floodlightActivities.update",
 33381  	//   "parameterOrder": [
 33382  	//     "profileId"
 33383  	//   ],
 33384  	//   "parameters": {
 33385  	//     "profileId": {
 33386  	//       "description": "User profile ID associated with this request.",
 33387  	//       "format": "int64",
 33388  	//       "location": "path",
 33389  	//       "required": true,
 33390  	//       "type": "string"
 33391  	//     }
 33392  	//   },
 33393  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33394  	//   "request": {
 33395  	//     "$ref": "FloodlightActivity"
 33396  	//   },
 33397  	//   "response": {
 33398  	//     "$ref": "FloodlightActivity"
 33399  	//   },
 33400  	//   "scopes": [
 33401  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33402  	//   ]
 33403  	// }
 33404  
 33405  }
 33406  
 33407  // method id "dfareporting.floodlightActivityGroups.get":
 33408  
 33409  type FloodlightActivityGroupsGetCall struct {
 33410  	s            *Service
 33411  	profileId    int64
 33412  	id           int64
 33413  	urlParams_   gensupport.URLParams
 33414  	ifNoneMatch_ string
 33415  	ctx_         context.Context
 33416  	header_      http.Header
 33417  }
 33418  
 33419  // Get: Gets one floodlight activity group by ID.
 33420  func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
 33421  	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33422  	c.profileId = profileId
 33423  	c.id = id
 33424  	return c
 33425  }
 33426  
 33427  // Fields allows partial responses to be retrieved. See
 33428  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33429  // for more information.
 33430  func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
 33431  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33432  	return c
 33433  }
 33434  
 33435  // IfNoneMatch sets the optional parameter which makes the operation
 33436  // fail if the object's ETag matches the given value. This is useful for
 33437  // getting updates only after the object has changed since the last
 33438  // request. Use googleapi.IsNotModified to check whether the response
 33439  // error from Do is the result of In-None-Match.
 33440  func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
 33441  	c.ifNoneMatch_ = entityTag
 33442  	return c
 33443  }
 33444  
 33445  // Context sets the context to be used in this call's Do method. Any
 33446  // pending HTTP request will be aborted if the provided context is
 33447  // canceled.
 33448  func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 33449  	c.ctx_ = ctx
 33450  	return c
 33451  }
 33452  
 33453  // Header returns an http.Header that can be modified by the caller to
 33454  // add HTTP headers to the request.
 33455  func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
 33456  	if c.header_ == nil {
 33457  		c.header_ = make(http.Header)
 33458  	}
 33459  	return c.header_
 33460  }
 33461  
 33462  func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 33463  	reqHeaders := make(http.Header)
 33464  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33465  	for k, v := range c.header_ {
 33466  		reqHeaders[k] = v
 33467  	}
 33468  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33469  	if c.ifNoneMatch_ != "" {
 33470  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33471  	}
 33472  	var body io.Reader = nil
 33473  	c.urlParams_.Set("alt", alt)
 33474  	c.urlParams_.Set("prettyPrint", "false")
 33475  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
 33476  	urls += "?" + c.urlParams_.Encode()
 33477  	req, err := http.NewRequest("GET", urls, body)
 33478  	if err != nil {
 33479  		return nil, err
 33480  	}
 33481  	req.Header = reqHeaders
 33482  	googleapi.Expand(req.URL, map[string]string{
 33483  		"profileId": strconv.FormatInt(c.profileId, 10),
 33484  		"id":        strconv.FormatInt(c.id, 10),
 33485  	})
 33486  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33487  }
 33488  
 33489  // Do executes the "dfareporting.floodlightActivityGroups.get" call.
 33490  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33491  // non-2xx status code is an error. Response headers are in either
 33492  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33493  // returned at all) in error.(*googleapi.Error).Header. Use
 33494  // googleapi.IsNotModified to check whether the returned error was
 33495  // because http.StatusNotModified was returned.
 33496  func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33497  	gensupport.SetOptions(c.urlParams_, opts...)
 33498  	res, err := c.doRequest("json")
 33499  	if res != nil && res.StatusCode == http.StatusNotModified {
 33500  		if res.Body != nil {
 33501  			res.Body.Close()
 33502  		}
 33503  		return nil, &googleapi.Error{
 33504  			Code:   res.StatusCode,
 33505  			Header: res.Header,
 33506  		}
 33507  	}
 33508  	if err != nil {
 33509  		return nil, err
 33510  	}
 33511  	defer googleapi.CloseBody(res)
 33512  	if err := googleapi.CheckResponse(res); err != nil {
 33513  		return nil, err
 33514  	}
 33515  	ret := &FloodlightActivityGroup{
 33516  		ServerResponse: googleapi.ServerResponse{
 33517  			Header:         res.Header,
 33518  			HTTPStatusCode: res.StatusCode,
 33519  		},
 33520  	}
 33521  	target := &ret
 33522  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33523  		return nil, err
 33524  	}
 33525  	return ret, nil
 33526  	// {
 33527  	//   "description": "Gets one floodlight activity group by ID.",
 33528  	//   "httpMethod": "GET",
 33529  	//   "id": "dfareporting.floodlightActivityGroups.get",
 33530  	//   "parameterOrder": [
 33531  	//     "profileId",
 33532  	//     "id"
 33533  	//   ],
 33534  	//   "parameters": {
 33535  	//     "id": {
 33536  	//       "description": "Floodlight activity Group ID.",
 33537  	//       "format": "int64",
 33538  	//       "location": "path",
 33539  	//       "required": true,
 33540  	//       "type": "string"
 33541  	//     },
 33542  	//     "profileId": {
 33543  	//       "description": "User profile ID associated with this request.",
 33544  	//       "format": "int64",
 33545  	//       "location": "path",
 33546  	//       "required": true,
 33547  	//       "type": "string"
 33548  	//     }
 33549  	//   },
 33550  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 33551  	//   "response": {
 33552  	//     "$ref": "FloodlightActivityGroup"
 33553  	//   },
 33554  	//   "scopes": [
 33555  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33556  	//   ]
 33557  	// }
 33558  
 33559  }
 33560  
 33561  // method id "dfareporting.floodlightActivityGroups.insert":
 33562  
 33563  type FloodlightActivityGroupsInsertCall struct {
 33564  	s                       *Service
 33565  	profileId               int64
 33566  	floodlightactivitygroup *FloodlightActivityGroup
 33567  	urlParams_              gensupport.URLParams
 33568  	ctx_                    context.Context
 33569  	header_                 http.Header
 33570  }
 33571  
 33572  // Insert: Inserts a new floodlight activity group.
 33573  func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
 33574  	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33575  	c.profileId = profileId
 33576  	c.floodlightactivitygroup = floodlightactivitygroup
 33577  	return c
 33578  }
 33579  
 33580  // Fields allows partial responses to be retrieved. See
 33581  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33582  // for more information.
 33583  func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
 33584  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33585  	return c
 33586  }
 33587  
 33588  // Context sets the context to be used in this call's Do method. Any
 33589  // pending HTTP request will be aborted if the provided context is
 33590  // canceled.
 33591  func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 33592  	c.ctx_ = ctx
 33593  	return c
 33594  }
 33595  
 33596  // Header returns an http.Header that can be modified by the caller to
 33597  // add HTTP headers to the request.
 33598  func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
 33599  	if c.header_ == nil {
 33600  		c.header_ = make(http.Header)
 33601  	}
 33602  	return c.header_
 33603  }
 33604  
 33605  func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 33606  	reqHeaders := make(http.Header)
 33607  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33608  	for k, v := range c.header_ {
 33609  		reqHeaders[k] = v
 33610  	}
 33611  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33612  	var body io.Reader = nil
 33613  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 33614  	if err != nil {
 33615  		return nil, err
 33616  	}
 33617  	reqHeaders.Set("Content-Type", "application/json")
 33618  	c.urlParams_.Set("alt", alt)
 33619  	c.urlParams_.Set("prettyPrint", "false")
 33620  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33621  	urls += "?" + c.urlParams_.Encode()
 33622  	req, err := http.NewRequest("POST", urls, body)
 33623  	if err != nil {
 33624  		return nil, err
 33625  	}
 33626  	req.Header = reqHeaders
 33627  	googleapi.Expand(req.URL, map[string]string{
 33628  		"profileId": strconv.FormatInt(c.profileId, 10),
 33629  	})
 33630  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33631  }
 33632  
 33633  // Do executes the "dfareporting.floodlightActivityGroups.insert" call.
 33634  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33635  // non-2xx status code is an error. Response headers are in either
 33636  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33637  // returned at all) in error.(*googleapi.Error).Header. Use
 33638  // googleapi.IsNotModified to check whether the returned error was
 33639  // because http.StatusNotModified was returned.
 33640  func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33641  	gensupport.SetOptions(c.urlParams_, opts...)
 33642  	res, err := c.doRequest("json")
 33643  	if res != nil && res.StatusCode == http.StatusNotModified {
 33644  		if res.Body != nil {
 33645  			res.Body.Close()
 33646  		}
 33647  		return nil, &googleapi.Error{
 33648  			Code:   res.StatusCode,
 33649  			Header: res.Header,
 33650  		}
 33651  	}
 33652  	if err != nil {
 33653  		return nil, err
 33654  	}
 33655  	defer googleapi.CloseBody(res)
 33656  	if err := googleapi.CheckResponse(res); err != nil {
 33657  		return nil, err
 33658  	}
 33659  	ret := &FloodlightActivityGroup{
 33660  		ServerResponse: googleapi.ServerResponse{
 33661  			Header:         res.Header,
 33662  			HTTPStatusCode: res.StatusCode,
 33663  		},
 33664  	}
 33665  	target := &ret
 33666  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33667  		return nil, err
 33668  	}
 33669  	return ret, nil
 33670  	// {
 33671  	//   "description": "Inserts a new floodlight activity group.",
 33672  	//   "httpMethod": "POST",
 33673  	//   "id": "dfareporting.floodlightActivityGroups.insert",
 33674  	//   "parameterOrder": [
 33675  	//     "profileId"
 33676  	//   ],
 33677  	//   "parameters": {
 33678  	//     "profileId": {
 33679  	//       "description": "User profile ID associated with this request.",
 33680  	//       "format": "int64",
 33681  	//       "location": "path",
 33682  	//       "required": true,
 33683  	//       "type": "string"
 33684  	//     }
 33685  	//   },
 33686  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33687  	//   "request": {
 33688  	//     "$ref": "FloodlightActivityGroup"
 33689  	//   },
 33690  	//   "response": {
 33691  	//     "$ref": "FloodlightActivityGroup"
 33692  	//   },
 33693  	//   "scopes": [
 33694  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33695  	//   ]
 33696  	// }
 33697  
 33698  }
 33699  
 33700  // method id "dfareporting.floodlightActivityGroups.list":
 33701  
 33702  type FloodlightActivityGroupsListCall struct {
 33703  	s            *Service
 33704  	profileId    int64
 33705  	urlParams_   gensupport.URLParams
 33706  	ifNoneMatch_ string
 33707  	ctx_         context.Context
 33708  	header_      http.Header
 33709  }
 33710  
 33711  // List: Retrieves a list of floodlight activity groups, possibly
 33712  // filtered. This method supports paging.
 33713  func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
 33714  	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33715  	c.profileId = profileId
 33716  	return c
 33717  }
 33718  
 33719  // AdvertiserId sets the optional parameter "advertiserId": Select only
 33720  // floodlight activity groups with the specified advertiser ID. Must
 33721  // specify either advertiserId or floodlightConfigurationId for a
 33722  // non-empty result.
 33723  func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
 33724  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33725  	return c
 33726  }
 33727  
 33728  // FloodlightConfigurationId sets the optional parameter
 33729  // "floodlightConfigurationId": Select only floodlight activity groups
 33730  // with the specified floodlight configuration ID. Must specify either
 33731  // advertiserId, or floodlightConfigurationId for a non-empty result.
 33732  func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
 33733  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 33734  	return c
 33735  }
 33736  
 33737  // Ids sets the optional parameter "ids": Select only floodlight
 33738  // activity groups with the specified IDs. Must specify either
 33739  // advertiserId or floodlightConfigurationId for a non-empty result.
 33740  func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
 33741  	var ids_ []string
 33742  	for _, v := range ids {
 33743  		ids_ = append(ids_, fmt.Sprint(v))
 33744  	}
 33745  	c.urlParams_.SetMulti("ids", ids_)
 33746  	return c
 33747  }
 33748  
 33749  // MaxResults sets the optional parameter "maxResults": Maximum number
 33750  // of results to return.
 33751  func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
 33752  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 33753  	return c
 33754  }
 33755  
 33756  // PageToken sets the optional parameter "pageToken": Value of the
 33757  // nextPageToken from the previous result page.
 33758  func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
 33759  	c.urlParams_.Set("pageToken", pageToken)
 33760  	return c
 33761  }
 33762  
 33763  // SearchString sets the optional parameter "searchString": Allows
 33764  // searching for objects by name or ID. Wildcards (*) are allowed. For
 33765  // example, "floodlightactivitygroup*2015" will return objects with
 33766  // names like "floodlightactivitygroup June 2015",
 33767  // "floodlightactivitygroup April 2015", or simply
 33768  // "floodlightactivitygroup 2015". Most of the searches also add
 33769  // wildcards implicitly at the start and the end of the search string.
 33770  // For example, a search string of "floodlightactivitygroup" will match
 33771  // objects with name "my floodlightactivitygroup activity",
 33772  // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 33773  func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
 33774  	c.urlParams_.Set("searchString", searchString)
 33775  	return c
 33776  }
 33777  
 33778  // SortField sets the optional parameter "sortField": Field by which to
 33779  // sort the list.
 33780  //
 33781  // Possible values:
 33782  //
 33783  //	"ID" (default)
 33784  //	"NAME"
 33785  func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
 33786  	c.urlParams_.Set("sortField", sortField)
 33787  	return c
 33788  }
 33789  
 33790  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 33791  // results.
 33792  //
 33793  // Possible values:
 33794  //
 33795  //	"ASCENDING" (default)
 33796  //	"DESCENDING"
 33797  func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
 33798  	c.urlParams_.Set("sortOrder", sortOrder)
 33799  	return c
 33800  }
 33801  
 33802  // Type sets the optional parameter "type": Select only floodlight
 33803  // activity groups with the specified floodlight activity group type.
 33804  //
 33805  // Possible values:
 33806  //
 33807  //	"COUNTER"
 33808  //	"SALE"
 33809  func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
 33810  	c.urlParams_.Set("type", type_)
 33811  	return c
 33812  }
 33813  
 33814  // Fields allows partial responses to be retrieved. See
 33815  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33816  // for more information.
 33817  func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
 33818  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33819  	return c
 33820  }
 33821  
 33822  // IfNoneMatch sets the optional parameter which makes the operation
 33823  // fail if the object's ETag matches the given value. This is useful for
 33824  // getting updates only after the object has changed since the last
 33825  // request. Use googleapi.IsNotModified to check whether the response
 33826  // error from Do is the result of In-None-Match.
 33827  func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
 33828  	c.ifNoneMatch_ = entityTag
 33829  	return c
 33830  }
 33831  
 33832  // Context sets the context to be used in this call's Do method. Any
 33833  // pending HTTP request will be aborted if the provided context is
 33834  // canceled.
 33835  func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 33836  	c.ctx_ = ctx
 33837  	return c
 33838  }
 33839  
 33840  // Header returns an http.Header that can be modified by the caller to
 33841  // add HTTP headers to the request.
 33842  func (c *FloodlightActivityGroupsListCall) Header() http.Header {
 33843  	if c.header_ == nil {
 33844  		c.header_ = make(http.Header)
 33845  	}
 33846  	return c.header_
 33847  }
 33848  
 33849  func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 33850  	reqHeaders := make(http.Header)
 33851  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33852  	for k, v := range c.header_ {
 33853  		reqHeaders[k] = v
 33854  	}
 33855  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33856  	if c.ifNoneMatch_ != "" {
 33857  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33858  	}
 33859  	var body io.Reader = nil
 33860  	c.urlParams_.Set("alt", alt)
 33861  	c.urlParams_.Set("prettyPrint", "false")
 33862  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33863  	urls += "?" + c.urlParams_.Encode()
 33864  	req, err := http.NewRequest("GET", urls, body)
 33865  	if err != nil {
 33866  		return nil, err
 33867  	}
 33868  	req.Header = reqHeaders
 33869  	googleapi.Expand(req.URL, map[string]string{
 33870  		"profileId": strconv.FormatInt(c.profileId, 10),
 33871  	})
 33872  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33873  }
 33874  
 33875  // Do executes the "dfareporting.floodlightActivityGroups.list" call.
 33876  // Exactly one of *FloodlightActivityGroupsListResponse or error will be
 33877  // non-nil. Any non-2xx status code is an error. Response headers are in
 33878  // either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
 33879  // (if a response was returned at all) in
 33880  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 33881  // whether the returned error was because http.StatusNotModified was
 33882  // returned.
 33883  func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
 33884  	gensupport.SetOptions(c.urlParams_, opts...)
 33885  	res, err := c.doRequest("json")
 33886  	if res != nil && res.StatusCode == http.StatusNotModified {
 33887  		if res.Body != nil {
 33888  			res.Body.Close()
 33889  		}
 33890  		return nil, &googleapi.Error{
 33891  			Code:   res.StatusCode,
 33892  			Header: res.Header,
 33893  		}
 33894  	}
 33895  	if err != nil {
 33896  		return nil, err
 33897  	}
 33898  	defer googleapi.CloseBody(res)
 33899  	if err := googleapi.CheckResponse(res); err != nil {
 33900  		return nil, err
 33901  	}
 33902  	ret := &FloodlightActivityGroupsListResponse{
 33903  		ServerResponse: googleapi.ServerResponse{
 33904  			Header:         res.Header,
 33905  			HTTPStatusCode: res.StatusCode,
 33906  		},
 33907  	}
 33908  	target := &ret
 33909  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33910  		return nil, err
 33911  	}
 33912  	return ret, nil
 33913  	// {
 33914  	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
 33915  	//   "httpMethod": "GET",
 33916  	//   "id": "dfareporting.floodlightActivityGroups.list",
 33917  	//   "parameterOrder": [
 33918  	//     "profileId"
 33919  	//   ],
 33920  	//   "parameters": {
 33921  	//     "advertiserId": {
 33922  	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 33923  	//       "format": "int64",
 33924  	//       "location": "query",
 33925  	//       "type": "string"
 33926  	//     },
 33927  	//     "floodlightConfigurationId": {
 33928  	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
 33929  	//       "format": "int64",
 33930  	//       "location": "query",
 33931  	//       "type": "string"
 33932  	//     },
 33933  	//     "ids": {
 33934  	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 33935  	//       "format": "int64",
 33936  	//       "location": "query",
 33937  	//       "repeated": true,
 33938  	//       "type": "string"
 33939  	//     },
 33940  	//     "maxResults": {
 33941  	//       "default": "1000",
 33942  	//       "description": "Maximum number of results to return.",
 33943  	//       "format": "int32",
 33944  	//       "location": "query",
 33945  	//       "maximum": "1000",
 33946  	//       "minimum": "0",
 33947  	//       "type": "integer"
 33948  	//     },
 33949  	//     "pageToken": {
 33950  	//       "description": "Value of the nextPageToken from the previous result page.",
 33951  	//       "location": "query",
 33952  	//       "type": "string"
 33953  	//     },
 33954  	//     "profileId": {
 33955  	//       "description": "User profile ID associated with this request.",
 33956  	//       "format": "int64",
 33957  	//       "location": "path",
 33958  	//       "required": true,
 33959  	//       "type": "string"
 33960  	//     },
 33961  	//     "searchString": {
 33962  	//       "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\".",
 33963  	//       "location": "query",
 33964  	//       "type": "string"
 33965  	//     },
 33966  	//     "sortField": {
 33967  	//       "default": "ID",
 33968  	//       "description": "Field by which to sort the list.",
 33969  	//       "enum": [
 33970  	//         "ID",
 33971  	//         "NAME"
 33972  	//       ],
 33973  	//       "enumDescriptions": [
 33974  	//         "",
 33975  	//         ""
 33976  	//       ],
 33977  	//       "location": "query",
 33978  	//       "type": "string"
 33979  	//     },
 33980  	//     "sortOrder": {
 33981  	//       "default": "ASCENDING",
 33982  	//       "description": "Order of sorted results.",
 33983  	//       "enum": [
 33984  	//         "ASCENDING",
 33985  	//         "DESCENDING"
 33986  	//       ],
 33987  	//       "enumDescriptions": [
 33988  	//         "",
 33989  	//         ""
 33990  	//       ],
 33991  	//       "location": "query",
 33992  	//       "type": "string"
 33993  	//     },
 33994  	//     "type": {
 33995  	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
 33996  	//       "enum": [
 33997  	//         "COUNTER",
 33998  	//         "SALE"
 33999  	//       ],
 34000  	//       "enumDescriptions": [
 34001  	//         "",
 34002  	//         ""
 34003  	//       ],
 34004  	//       "location": "query",
 34005  	//       "type": "string"
 34006  	//     }
 34007  	//   },
 34008  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34009  	//   "response": {
 34010  	//     "$ref": "FloodlightActivityGroupsListResponse"
 34011  	//   },
 34012  	//   "scopes": [
 34013  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34014  	//   ]
 34015  	// }
 34016  
 34017  }
 34018  
 34019  // Pages invokes f for each page of results.
 34020  // A non-nil error returned from f will halt the iteration.
 34021  // The provided context supersedes any context provided to the Context method.
 34022  func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
 34023  	c.ctx_ = ctx
 34024  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 34025  	for {
 34026  		x, err := c.Do()
 34027  		if err != nil {
 34028  			return err
 34029  		}
 34030  		if err := f(x); err != nil {
 34031  			return err
 34032  		}
 34033  		if x.NextPageToken == "" {
 34034  			return nil
 34035  		}
 34036  		c.PageToken(x.NextPageToken)
 34037  	}
 34038  }
 34039  
 34040  // method id "dfareporting.floodlightActivityGroups.patch":
 34041  
 34042  type FloodlightActivityGroupsPatchCall struct {
 34043  	s                       *Service
 34044  	profileId               int64
 34045  	floodlightactivitygroup *FloodlightActivityGroup
 34046  	urlParams_              gensupport.URLParams
 34047  	ctx_                    context.Context
 34048  	header_                 http.Header
 34049  }
 34050  
 34051  // Patch: Updates an existing floodlight activity group. This method
 34052  // supports patch semantics.
 34053  func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
 34054  	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34055  	c.profileId = profileId
 34056  	c.urlParams_.Set("id", fmt.Sprint(id))
 34057  	c.floodlightactivitygroup = floodlightactivitygroup
 34058  	return c
 34059  }
 34060  
 34061  // Fields allows partial responses to be retrieved. See
 34062  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34063  // for more information.
 34064  func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
 34065  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34066  	return c
 34067  }
 34068  
 34069  // Context sets the context to be used in this call's Do method. Any
 34070  // pending HTTP request will be aborted if the provided context is
 34071  // canceled.
 34072  func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 34073  	c.ctx_ = ctx
 34074  	return c
 34075  }
 34076  
 34077  // Header returns an http.Header that can be modified by the caller to
 34078  // add HTTP headers to the request.
 34079  func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
 34080  	if c.header_ == nil {
 34081  		c.header_ = make(http.Header)
 34082  	}
 34083  	return c.header_
 34084  }
 34085  
 34086  func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 34087  	reqHeaders := make(http.Header)
 34088  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34089  	for k, v := range c.header_ {
 34090  		reqHeaders[k] = v
 34091  	}
 34092  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34093  	var body io.Reader = nil
 34094  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 34095  	if err != nil {
 34096  		return nil, err
 34097  	}
 34098  	reqHeaders.Set("Content-Type", "application/json")
 34099  	c.urlParams_.Set("alt", alt)
 34100  	c.urlParams_.Set("prettyPrint", "false")
 34101  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34102  	urls += "?" + c.urlParams_.Encode()
 34103  	req, err := http.NewRequest("PATCH", urls, body)
 34104  	if err != nil {
 34105  		return nil, err
 34106  	}
 34107  	req.Header = reqHeaders
 34108  	googleapi.Expand(req.URL, map[string]string{
 34109  		"profileId": strconv.FormatInt(c.profileId, 10),
 34110  	})
 34111  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34112  }
 34113  
 34114  // Do executes the "dfareporting.floodlightActivityGroups.patch" call.
 34115  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 34116  // non-2xx status code is an error. Response headers are in either
 34117  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 34118  // returned at all) in error.(*googleapi.Error).Header. Use
 34119  // googleapi.IsNotModified to check whether the returned error was
 34120  // because http.StatusNotModified was returned.
 34121  func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 34122  	gensupport.SetOptions(c.urlParams_, opts...)
 34123  	res, err := c.doRequest("json")
 34124  	if res != nil && res.StatusCode == http.StatusNotModified {
 34125  		if res.Body != nil {
 34126  			res.Body.Close()
 34127  		}
 34128  		return nil, &googleapi.Error{
 34129  			Code:   res.StatusCode,
 34130  			Header: res.Header,
 34131  		}
 34132  	}
 34133  	if err != nil {
 34134  		return nil, err
 34135  	}
 34136  	defer googleapi.CloseBody(res)
 34137  	if err := googleapi.CheckResponse(res); err != nil {
 34138  		return nil, err
 34139  	}
 34140  	ret := &FloodlightActivityGroup{
 34141  		ServerResponse: googleapi.ServerResponse{
 34142  			Header:         res.Header,
 34143  			HTTPStatusCode: res.StatusCode,
 34144  		},
 34145  	}
 34146  	target := &ret
 34147  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34148  		return nil, err
 34149  	}
 34150  	return ret, nil
 34151  	// {
 34152  	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
 34153  	//   "httpMethod": "PATCH",
 34154  	//   "id": "dfareporting.floodlightActivityGroups.patch",
 34155  	//   "parameterOrder": [
 34156  	//     "profileId",
 34157  	//     "id"
 34158  	//   ],
 34159  	//   "parameters": {
 34160  	//     "id": {
 34161  	//       "description": "Floodlight activity Group ID.",
 34162  	//       "format": "int64",
 34163  	//       "location": "query",
 34164  	//       "required": true,
 34165  	//       "type": "string"
 34166  	//     },
 34167  	//     "profileId": {
 34168  	//       "description": "User profile ID associated with this request.",
 34169  	//       "format": "int64",
 34170  	//       "location": "path",
 34171  	//       "required": true,
 34172  	//       "type": "string"
 34173  	//     }
 34174  	//   },
 34175  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34176  	//   "request": {
 34177  	//     "$ref": "FloodlightActivityGroup"
 34178  	//   },
 34179  	//   "response": {
 34180  	//     "$ref": "FloodlightActivityGroup"
 34181  	//   },
 34182  	//   "scopes": [
 34183  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34184  	//   ]
 34185  	// }
 34186  
 34187  }
 34188  
 34189  // method id "dfareporting.floodlightActivityGroups.update":
 34190  
 34191  type FloodlightActivityGroupsUpdateCall struct {
 34192  	s                       *Service
 34193  	profileId               int64
 34194  	floodlightactivitygroup *FloodlightActivityGroup
 34195  	urlParams_              gensupport.URLParams
 34196  	ctx_                    context.Context
 34197  	header_                 http.Header
 34198  }
 34199  
 34200  // Update: Updates an existing floodlight activity group.
 34201  func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
 34202  	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34203  	c.profileId = profileId
 34204  	c.floodlightactivitygroup = floodlightactivitygroup
 34205  	return c
 34206  }
 34207  
 34208  // Fields allows partial responses to be retrieved. See
 34209  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34210  // for more information.
 34211  func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
 34212  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34213  	return c
 34214  }
 34215  
 34216  // Context sets the context to be used in this call's Do method. Any
 34217  // pending HTTP request will be aborted if the provided context is
 34218  // canceled.
 34219  func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 34220  	c.ctx_ = ctx
 34221  	return c
 34222  }
 34223  
 34224  // Header returns an http.Header that can be modified by the caller to
 34225  // add HTTP headers to the request.
 34226  func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
 34227  	if c.header_ == nil {
 34228  		c.header_ = make(http.Header)
 34229  	}
 34230  	return c.header_
 34231  }
 34232  
 34233  func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 34234  	reqHeaders := make(http.Header)
 34235  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34236  	for k, v := range c.header_ {
 34237  		reqHeaders[k] = v
 34238  	}
 34239  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34240  	var body io.Reader = nil
 34241  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 34242  	if err != nil {
 34243  		return nil, err
 34244  	}
 34245  	reqHeaders.Set("Content-Type", "application/json")
 34246  	c.urlParams_.Set("alt", alt)
 34247  	c.urlParams_.Set("prettyPrint", "false")
 34248  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34249  	urls += "?" + c.urlParams_.Encode()
 34250  	req, err := http.NewRequest("PUT", urls, body)
 34251  	if err != nil {
 34252  		return nil, err
 34253  	}
 34254  	req.Header = reqHeaders
 34255  	googleapi.Expand(req.URL, map[string]string{
 34256  		"profileId": strconv.FormatInt(c.profileId, 10),
 34257  	})
 34258  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34259  }
 34260  
 34261  // Do executes the "dfareporting.floodlightActivityGroups.update" call.
 34262  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 34263  // non-2xx status code is an error. Response headers are in either
 34264  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 34265  // returned at all) in error.(*googleapi.Error).Header. Use
 34266  // googleapi.IsNotModified to check whether the returned error was
 34267  // because http.StatusNotModified was returned.
 34268  func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 34269  	gensupport.SetOptions(c.urlParams_, opts...)
 34270  	res, err := c.doRequest("json")
 34271  	if res != nil && res.StatusCode == http.StatusNotModified {
 34272  		if res.Body != nil {
 34273  			res.Body.Close()
 34274  		}
 34275  		return nil, &googleapi.Error{
 34276  			Code:   res.StatusCode,
 34277  			Header: res.Header,
 34278  		}
 34279  	}
 34280  	if err != nil {
 34281  		return nil, err
 34282  	}
 34283  	defer googleapi.CloseBody(res)
 34284  	if err := googleapi.CheckResponse(res); err != nil {
 34285  		return nil, err
 34286  	}
 34287  	ret := &FloodlightActivityGroup{
 34288  		ServerResponse: googleapi.ServerResponse{
 34289  			Header:         res.Header,
 34290  			HTTPStatusCode: res.StatusCode,
 34291  		},
 34292  	}
 34293  	target := &ret
 34294  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34295  		return nil, err
 34296  	}
 34297  	return ret, nil
 34298  	// {
 34299  	//   "description": "Updates an existing floodlight activity group.",
 34300  	//   "httpMethod": "PUT",
 34301  	//   "id": "dfareporting.floodlightActivityGroups.update",
 34302  	//   "parameterOrder": [
 34303  	//     "profileId"
 34304  	//   ],
 34305  	//   "parameters": {
 34306  	//     "profileId": {
 34307  	//       "description": "User profile ID associated with this request.",
 34308  	//       "format": "int64",
 34309  	//       "location": "path",
 34310  	//       "required": true,
 34311  	//       "type": "string"
 34312  	//     }
 34313  	//   },
 34314  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34315  	//   "request": {
 34316  	//     "$ref": "FloodlightActivityGroup"
 34317  	//   },
 34318  	//   "response": {
 34319  	//     "$ref": "FloodlightActivityGroup"
 34320  	//   },
 34321  	//   "scopes": [
 34322  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34323  	//   ]
 34324  	// }
 34325  
 34326  }
 34327  
 34328  // method id "dfareporting.floodlightConfigurations.get":
 34329  
 34330  type FloodlightConfigurationsGetCall struct {
 34331  	s            *Service
 34332  	profileId    int64
 34333  	id           int64
 34334  	urlParams_   gensupport.URLParams
 34335  	ifNoneMatch_ string
 34336  	ctx_         context.Context
 34337  	header_      http.Header
 34338  }
 34339  
 34340  // Get: Gets one floodlight configuration by ID.
 34341  func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
 34342  	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34343  	c.profileId = profileId
 34344  	c.id = id
 34345  	return c
 34346  }
 34347  
 34348  // Fields allows partial responses to be retrieved. See
 34349  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34350  // for more information.
 34351  func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
 34352  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34353  	return c
 34354  }
 34355  
 34356  // IfNoneMatch sets the optional parameter which makes the operation
 34357  // fail if the object's ETag matches the given value. This is useful for
 34358  // getting updates only after the object has changed since the last
 34359  // request. Use googleapi.IsNotModified to check whether the response
 34360  // error from Do is the result of In-None-Match.
 34361  func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
 34362  	c.ifNoneMatch_ = entityTag
 34363  	return c
 34364  }
 34365  
 34366  // Context sets the context to be used in this call's Do method. Any
 34367  // pending HTTP request will be aborted if the provided context is
 34368  // canceled.
 34369  func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 34370  	c.ctx_ = ctx
 34371  	return c
 34372  }
 34373  
 34374  // Header returns an http.Header that can be modified by the caller to
 34375  // add HTTP headers to the request.
 34376  func (c *FloodlightConfigurationsGetCall) Header() http.Header {
 34377  	if c.header_ == nil {
 34378  		c.header_ = make(http.Header)
 34379  	}
 34380  	return c.header_
 34381  }
 34382  
 34383  func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 34384  	reqHeaders := make(http.Header)
 34385  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34386  	for k, v := range c.header_ {
 34387  		reqHeaders[k] = v
 34388  	}
 34389  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34390  	if c.ifNoneMatch_ != "" {
 34391  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34392  	}
 34393  	var body io.Reader = nil
 34394  	c.urlParams_.Set("alt", alt)
 34395  	c.urlParams_.Set("prettyPrint", "false")
 34396  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
 34397  	urls += "?" + c.urlParams_.Encode()
 34398  	req, err := http.NewRequest("GET", urls, body)
 34399  	if err != nil {
 34400  		return nil, err
 34401  	}
 34402  	req.Header = reqHeaders
 34403  	googleapi.Expand(req.URL, map[string]string{
 34404  		"profileId": strconv.FormatInt(c.profileId, 10),
 34405  		"id":        strconv.FormatInt(c.id, 10),
 34406  	})
 34407  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34408  }
 34409  
 34410  // Do executes the "dfareporting.floodlightConfigurations.get" call.
 34411  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34412  // non-2xx status code is an error. Response headers are in either
 34413  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34414  // returned at all) in error.(*googleapi.Error).Header. Use
 34415  // googleapi.IsNotModified to check whether the returned error was
 34416  // because http.StatusNotModified was returned.
 34417  func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34418  	gensupport.SetOptions(c.urlParams_, opts...)
 34419  	res, err := c.doRequest("json")
 34420  	if res != nil && res.StatusCode == http.StatusNotModified {
 34421  		if res.Body != nil {
 34422  			res.Body.Close()
 34423  		}
 34424  		return nil, &googleapi.Error{
 34425  			Code:   res.StatusCode,
 34426  			Header: res.Header,
 34427  		}
 34428  	}
 34429  	if err != nil {
 34430  		return nil, err
 34431  	}
 34432  	defer googleapi.CloseBody(res)
 34433  	if err := googleapi.CheckResponse(res); err != nil {
 34434  		return nil, err
 34435  	}
 34436  	ret := &FloodlightConfiguration{
 34437  		ServerResponse: googleapi.ServerResponse{
 34438  			Header:         res.Header,
 34439  			HTTPStatusCode: res.StatusCode,
 34440  		},
 34441  	}
 34442  	target := &ret
 34443  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34444  		return nil, err
 34445  	}
 34446  	return ret, nil
 34447  	// {
 34448  	//   "description": "Gets one floodlight configuration by ID.",
 34449  	//   "httpMethod": "GET",
 34450  	//   "id": "dfareporting.floodlightConfigurations.get",
 34451  	//   "parameterOrder": [
 34452  	//     "profileId",
 34453  	//     "id"
 34454  	//   ],
 34455  	//   "parameters": {
 34456  	//     "id": {
 34457  	//       "description": "Floodlight configuration ID.",
 34458  	//       "format": "int64",
 34459  	//       "location": "path",
 34460  	//       "required": true,
 34461  	//       "type": "string"
 34462  	//     },
 34463  	//     "profileId": {
 34464  	//       "description": "User profile ID associated with this request.",
 34465  	//       "format": "int64",
 34466  	//       "location": "path",
 34467  	//       "required": true,
 34468  	//       "type": "string"
 34469  	//     }
 34470  	//   },
 34471  	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 34472  	//   "response": {
 34473  	//     "$ref": "FloodlightConfiguration"
 34474  	//   },
 34475  	//   "scopes": [
 34476  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34477  	//   ]
 34478  	// }
 34479  
 34480  }
 34481  
 34482  // method id "dfareporting.floodlightConfigurations.list":
 34483  
 34484  type FloodlightConfigurationsListCall struct {
 34485  	s            *Service
 34486  	profileId    int64
 34487  	urlParams_   gensupport.URLParams
 34488  	ifNoneMatch_ string
 34489  	ctx_         context.Context
 34490  	header_      http.Header
 34491  }
 34492  
 34493  // List: Retrieves a list of floodlight configurations, possibly
 34494  // filtered.
 34495  func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
 34496  	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34497  	c.profileId = profileId
 34498  	return c
 34499  }
 34500  
 34501  // Ids sets the optional parameter "ids": Set of IDs of floodlight
 34502  // configurations to retrieve. Required field; otherwise an empty list
 34503  // will be returned.
 34504  func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
 34505  	var ids_ []string
 34506  	for _, v := range ids {
 34507  		ids_ = append(ids_, fmt.Sprint(v))
 34508  	}
 34509  	c.urlParams_.SetMulti("ids", ids_)
 34510  	return c
 34511  }
 34512  
 34513  // Fields allows partial responses to be retrieved. See
 34514  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34515  // for more information.
 34516  func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
 34517  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34518  	return c
 34519  }
 34520  
 34521  // IfNoneMatch sets the optional parameter which makes the operation
 34522  // fail if the object's ETag matches the given value. This is useful for
 34523  // getting updates only after the object has changed since the last
 34524  // request. Use googleapi.IsNotModified to check whether the response
 34525  // error from Do is the result of In-None-Match.
 34526  func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
 34527  	c.ifNoneMatch_ = entityTag
 34528  	return c
 34529  }
 34530  
 34531  // Context sets the context to be used in this call's Do method. Any
 34532  // pending HTTP request will be aborted if the provided context is
 34533  // canceled.
 34534  func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 34535  	c.ctx_ = ctx
 34536  	return c
 34537  }
 34538  
 34539  // Header returns an http.Header that can be modified by the caller to
 34540  // add HTTP headers to the request.
 34541  func (c *FloodlightConfigurationsListCall) Header() http.Header {
 34542  	if c.header_ == nil {
 34543  		c.header_ = make(http.Header)
 34544  	}
 34545  	return c.header_
 34546  }
 34547  
 34548  func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 34549  	reqHeaders := make(http.Header)
 34550  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34551  	for k, v := range c.header_ {
 34552  		reqHeaders[k] = v
 34553  	}
 34554  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34555  	if c.ifNoneMatch_ != "" {
 34556  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34557  	}
 34558  	var body io.Reader = nil
 34559  	c.urlParams_.Set("alt", alt)
 34560  	c.urlParams_.Set("prettyPrint", "false")
 34561  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34562  	urls += "?" + c.urlParams_.Encode()
 34563  	req, err := http.NewRequest("GET", urls, body)
 34564  	if err != nil {
 34565  		return nil, err
 34566  	}
 34567  	req.Header = reqHeaders
 34568  	googleapi.Expand(req.URL, map[string]string{
 34569  		"profileId": strconv.FormatInt(c.profileId, 10),
 34570  	})
 34571  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34572  }
 34573  
 34574  // Do executes the "dfareporting.floodlightConfigurations.list" call.
 34575  // Exactly one of *FloodlightConfigurationsListResponse or error will be
 34576  // non-nil. Any non-2xx status code is an error. Response headers are in
 34577  // either *FloodlightConfigurationsListResponse.ServerResponse.Header or
 34578  // (if a response was returned at all) in
 34579  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34580  // whether the returned error was because http.StatusNotModified was
 34581  // returned.
 34582  func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
 34583  	gensupport.SetOptions(c.urlParams_, opts...)
 34584  	res, err := c.doRequest("json")
 34585  	if res != nil && res.StatusCode == http.StatusNotModified {
 34586  		if res.Body != nil {
 34587  			res.Body.Close()
 34588  		}
 34589  		return nil, &googleapi.Error{
 34590  			Code:   res.StatusCode,
 34591  			Header: res.Header,
 34592  		}
 34593  	}
 34594  	if err != nil {
 34595  		return nil, err
 34596  	}
 34597  	defer googleapi.CloseBody(res)
 34598  	if err := googleapi.CheckResponse(res); err != nil {
 34599  		return nil, err
 34600  	}
 34601  	ret := &FloodlightConfigurationsListResponse{
 34602  		ServerResponse: googleapi.ServerResponse{
 34603  			Header:         res.Header,
 34604  			HTTPStatusCode: res.StatusCode,
 34605  		},
 34606  	}
 34607  	target := &ret
 34608  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34609  		return nil, err
 34610  	}
 34611  	return ret, nil
 34612  	// {
 34613  	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
 34614  	//   "httpMethod": "GET",
 34615  	//   "id": "dfareporting.floodlightConfigurations.list",
 34616  	//   "parameterOrder": [
 34617  	//     "profileId"
 34618  	//   ],
 34619  	//   "parameters": {
 34620  	//     "ids": {
 34621  	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
 34622  	//       "format": "int64",
 34623  	//       "location": "query",
 34624  	//       "repeated": true,
 34625  	//       "type": "string"
 34626  	//     },
 34627  	//     "profileId": {
 34628  	//       "description": "User profile ID associated with this request.",
 34629  	//       "format": "int64",
 34630  	//       "location": "path",
 34631  	//       "required": true,
 34632  	//       "type": "string"
 34633  	//     }
 34634  	//   },
 34635  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34636  	//   "response": {
 34637  	//     "$ref": "FloodlightConfigurationsListResponse"
 34638  	//   },
 34639  	//   "scopes": [
 34640  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34641  	//   ]
 34642  	// }
 34643  
 34644  }
 34645  
 34646  // method id "dfareporting.floodlightConfigurations.patch":
 34647  
 34648  type FloodlightConfigurationsPatchCall struct {
 34649  	s                       *Service
 34650  	profileId               int64
 34651  	floodlightconfiguration *FloodlightConfiguration
 34652  	urlParams_              gensupport.URLParams
 34653  	ctx_                    context.Context
 34654  	header_                 http.Header
 34655  }
 34656  
 34657  // Patch: Updates an existing floodlight configuration. This method
 34658  // supports patch semantics.
 34659  func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
 34660  	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34661  	c.profileId = profileId
 34662  	c.urlParams_.Set("id", fmt.Sprint(id))
 34663  	c.floodlightconfiguration = floodlightconfiguration
 34664  	return c
 34665  }
 34666  
 34667  // Fields allows partial responses to be retrieved. See
 34668  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34669  // for more information.
 34670  func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
 34671  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34672  	return c
 34673  }
 34674  
 34675  // Context sets the context to be used in this call's Do method. Any
 34676  // pending HTTP request will be aborted if the provided context is
 34677  // canceled.
 34678  func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 34679  	c.ctx_ = ctx
 34680  	return c
 34681  }
 34682  
 34683  // Header returns an http.Header that can be modified by the caller to
 34684  // add HTTP headers to the request.
 34685  func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
 34686  	if c.header_ == nil {
 34687  		c.header_ = make(http.Header)
 34688  	}
 34689  	return c.header_
 34690  }
 34691  
 34692  func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 34693  	reqHeaders := make(http.Header)
 34694  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34695  	for k, v := range c.header_ {
 34696  		reqHeaders[k] = v
 34697  	}
 34698  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34699  	var body io.Reader = nil
 34700  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 34701  	if err != nil {
 34702  		return nil, err
 34703  	}
 34704  	reqHeaders.Set("Content-Type", "application/json")
 34705  	c.urlParams_.Set("alt", alt)
 34706  	c.urlParams_.Set("prettyPrint", "false")
 34707  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34708  	urls += "?" + c.urlParams_.Encode()
 34709  	req, err := http.NewRequest("PATCH", urls, body)
 34710  	if err != nil {
 34711  		return nil, err
 34712  	}
 34713  	req.Header = reqHeaders
 34714  	googleapi.Expand(req.URL, map[string]string{
 34715  		"profileId": strconv.FormatInt(c.profileId, 10),
 34716  	})
 34717  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34718  }
 34719  
 34720  // Do executes the "dfareporting.floodlightConfigurations.patch" call.
 34721  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34722  // non-2xx status code is an error. Response headers are in either
 34723  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34724  // returned at all) in error.(*googleapi.Error).Header. Use
 34725  // googleapi.IsNotModified to check whether the returned error was
 34726  // because http.StatusNotModified was returned.
 34727  func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34728  	gensupport.SetOptions(c.urlParams_, opts...)
 34729  	res, err := c.doRequest("json")
 34730  	if res != nil && res.StatusCode == http.StatusNotModified {
 34731  		if res.Body != nil {
 34732  			res.Body.Close()
 34733  		}
 34734  		return nil, &googleapi.Error{
 34735  			Code:   res.StatusCode,
 34736  			Header: res.Header,
 34737  		}
 34738  	}
 34739  	if err != nil {
 34740  		return nil, err
 34741  	}
 34742  	defer googleapi.CloseBody(res)
 34743  	if err := googleapi.CheckResponse(res); err != nil {
 34744  		return nil, err
 34745  	}
 34746  	ret := &FloodlightConfiguration{
 34747  		ServerResponse: googleapi.ServerResponse{
 34748  			Header:         res.Header,
 34749  			HTTPStatusCode: res.StatusCode,
 34750  		},
 34751  	}
 34752  	target := &ret
 34753  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34754  		return nil, err
 34755  	}
 34756  	return ret, nil
 34757  	// {
 34758  	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
 34759  	//   "httpMethod": "PATCH",
 34760  	//   "id": "dfareporting.floodlightConfigurations.patch",
 34761  	//   "parameterOrder": [
 34762  	//     "profileId",
 34763  	//     "id"
 34764  	//   ],
 34765  	//   "parameters": {
 34766  	//     "id": {
 34767  	//       "description": "Floodlight configuration ID.",
 34768  	//       "format": "int64",
 34769  	//       "location": "query",
 34770  	//       "required": true,
 34771  	//       "type": "string"
 34772  	//     },
 34773  	//     "profileId": {
 34774  	//       "description": "User profile ID associated with this request.",
 34775  	//       "format": "int64",
 34776  	//       "location": "path",
 34777  	//       "required": true,
 34778  	//       "type": "string"
 34779  	//     }
 34780  	//   },
 34781  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34782  	//   "request": {
 34783  	//     "$ref": "FloodlightConfiguration"
 34784  	//   },
 34785  	//   "response": {
 34786  	//     "$ref": "FloodlightConfiguration"
 34787  	//   },
 34788  	//   "scopes": [
 34789  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34790  	//   ]
 34791  	// }
 34792  
 34793  }
 34794  
 34795  // method id "dfareporting.floodlightConfigurations.update":
 34796  
 34797  type FloodlightConfigurationsUpdateCall struct {
 34798  	s                       *Service
 34799  	profileId               int64
 34800  	floodlightconfiguration *FloodlightConfiguration
 34801  	urlParams_              gensupport.URLParams
 34802  	ctx_                    context.Context
 34803  	header_                 http.Header
 34804  }
 34805  
 34806  // Update: Updates an existing floodlight configuration.
 34807  func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
 34808  	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34809  	c.profileId = profileId
 34810  	c.floodlightconfiguration = floodlightconfiguration
 34811  	return c
 34812  }
 34813  
 34814  // Fields allows partial responses to be retrieved. See
 34815  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34816  // for more information.
 34817  func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
 34818  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34819  	return c
 34820  }
 34821  
 34822  // Context sets the context to be used in this call's Do method. Any
 34823  // pending HTTP request will be aborted if the provided context is
 34824  // canceled.
 34825  func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 34826  	c.ctx_ = ctx
 34827  	return c
 34828  }
 34829  
 34830  // Header returns an http.Header that can be modified by the caller to
 34831  // add HTTP headers to the request.
 34832  func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
 34833  	if c.header_ == nil {
 34834  		c.header_ = make(http.Header)
 34835  	}
 34836  	return c.header_
 34837  }
 34838  
 34839  func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 34840  	reqHeaders := make(http.Header)
 34841  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34842  	for k, v := range c.header_ {
 34843  		reqHeaders[k] = v
 34844  	}
 34845  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34846  	var body io.Reader = nil
 34847  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 34848  	if err != nil {
 34849  		return nil, err
 34850  	}
 34851  	reqHeaders.Set("Content-Type", "application/json")
 34852  	c.urlParams_.Set("alt", alt)
 34853  	c.urlParams_.Set("prettyPrint", "false")
 34854  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34855  	urls += "?" + c.urlParams_.Encode()
 34856  	req, err := http.NewRequest("PUT", urls, body)
 34857  	if err != nil {
 34858  		return nil, err
 34859  	}
 34860  	req.Header = reqHeaders
 34861  	googleapi.Expand(req.URL, map[string]string{
 34862  		"profileId": strconv.FormatInt(c.profileId, 10),
 34863  	})
 34864  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34865  }
 34866  
 34867  // Do executes the "dfareporting.floodlightConfigurations.update" call.
 34868  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34869  // non-2xx status code is an error. Response headers are in either
 34870  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34871  // returned at all) in error.(*googleapi.Error).Header. Use
 34872  // googleapi.IsNotModified to check whether the returned error was
 34873  // because http.StatusNotModified was returned.
 34874  func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34875  	gensupport.SetOptions(c.urlParams_, opts...)
 34876  	res, err := c.doRequest("json")
 34877  	if res != nil && res.StatusCode == http.StatusNotModified {
 34878  		if res.Body != nil {
 34879  			res.Body.Close()
 34880  		}
 34881  		return nil, &googleapi.Error{
 34882  			Code:   res.StatusCode,
 34883  			Header: res.Header,
 34884  		}
 34885  	}
 34886  	if err != nil {
 34887  		return nil, err
 34888  	}
 34889  	defer googleapi.CloseBody(res)
 34890  	if err := googleapi.CheckResponse(res); err != nil {
 34891  		return nil, err
 34892  	}
 34893  	ret := &FloodlightConfiguration{
 34894  		ServerResponse: googleapi.ServerResponse{
 34895  			Header:         res.Header,
 34896  			HTTPStatusCode: res.StatusCode,
 34897  		},
 34898  	}
 34899  	target := &ret
 34900  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34901  		return nil, err
 34902  	}
 34903  	return ret, nil
 34904  	// {
 34905  	//   "description": "Updates an existing floodlight configuration.",
 34906  	//   "httpMethod": "PUT",
 34907  	//   "id": "dfareporting.floodlightConfigurations.update",
 34908  	//   "parameterOrder": [
 34909  	//     "profileId"
 34910  	//   ],
 34911  	//   "parameters": {
 34912  	//     "profileId": {
 34913  	//       "description": "User profile ID associated with this request.",
 34914  	//       "format": "int64",
 34915  	//       "location": "path",
 34916  	//       "required": true,
 34917  	//       "type": "string"
 34918  	//     }
 34919  	//   },
 34920  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34921  	//   "request": {
 34922  	//     "$ref": "FloodlightConfiguration"
 34923  	//   },
 34924  	//   "response": {
 34925  	//     "$ref": "FloodlightConfiguration"
 34926  	//   },
 34927  	//   "scopes": [
 34928  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34929  	//   ]
 34930  	// }
 34931  
 34932  }
 34933  
 34934  // method id "dfareporting.inventoryItems.get":
 34935  
 34936  type InventoryItemsGetCall struct {
 34937  	s            *Service
 34938  	profileId    int64
 34939  	projectId    int64
 34940  	id           int64
 34941  	urlParams_   gensupport.URLParams
 34942  	ifNoneMatch_ string
 34943  	ctx_         context.Context
 34944  	header_      http.Header
 34945  }
 34946  
 34947  // Get: Gets one inventory item by ID.
 34948  func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
 34949  	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34950  	c.profileId = profileId
 34951  	c.projectId = projectId
 34952  	c.id = id
 34953  	return c
 34954  }
 34955  
 34956  // Fields allows partial responses to be retrieved. See
 34957  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34958  // for more information.
 34959  func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
 34960  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34961  	return c
 34962  }
 34963  
 34964  // IfNoneMatch sets the optional parameter which makes the operation
 34965  // fail if the object's ETag matches the given value. This is useful for
 34966  // getting updates only after the object has changed since the last
 34967  // request. Use googleapi.IsNotModified to check whether the response
 34968  // error from Do is the result of In-None-Match.
 34969  func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
 34970  	c.ifNoneMatch_ = entityTag
 34971  	return c
 34972  }
 34973  
 34974  // Context sets the context to be used in this call's Do method. Any
 34975  // pending HTTP request will be aborted if the provided context is
 34976  // canceled.
 34977  func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
 34978  	c.ctx_ = ctx
 34979  	return c
 34980  }
 34981  
 34982  // Header returns an http.Header that can be modified by the caller to
 34983  // add HTTP headers to the request.
 34984  func (c *InventoryItemsGetCall) Header() http.Header {
 34985  	if c.header_ == nil {
 34986  		c.header_ = make(http.Header)
 34987  	}
 34988  	return c.header_
 34989  }
 34990  
 34991  func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 34992  	reqHeaders := make(http.Header)
 34993  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34994  	for k, v := range c.header_ {
 34995  		reqHeaders[k] = v
 34996  	}
 34997  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34998  	if c.ifNoneMatch_ != "" {
 34999  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35000  	}
 35001  	var body io.Reader = nil
 35002  	c.urlParams_.Set("alt", alt)
 35003  	c.urlParams_.Set("prettyPrint", "false")
 35004  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
 35005  	urls += "?" + c.urlParams_.Encode()
 35006  	req, err := http.NewRequest("GET", urls, body)
 35007  	if err != nil {
 35008  		return nil, err
 35009  	}
 35010  	req.Header = reqHeaders
 35011  	googleapi.Expand(req.URL, map[string]string{
 35012  		"profileId": strconv.FormatInt(c.profileId, 10),
 35013  		"projectId": strconv.FormatInt(c.projectId, 10),
 35014  		"id":        strconv.FormatInt(c.id, 10),
 35015  	})
 35016  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35017  }
 35018  
 35019  // Do executes the "dfareporting.inventoryItems.get" call.
 35020  // Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
 35021  // status code is an error. Response headers are in either
 35022  // *InventoryItem.ServerResponse.Header or (if a response was returned
 35023  // at all) in error.(*googleapi.Error).Header. Use
 35024  // googleapi.IsNotModified to check whether the returned error was
 35025  // because http.StatusNotModified was returned.
 35026  func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
 35027  	gensupport.SetOptions(c.urlParams_, opts...)
 35028  	res, err := c.doRequest("json")
 35029  	if res != nil && res.StatusCode == http.StatusNotModified {
 35030  		if res.Body != nil {
 35031  			res.Body.Close()
 35032  		}
 35033  		return nil, &googleapi.Error{
 35034  			Code:   res.StatusCode,
 35035  			Header: res.Header,
 35036  		}
 35037  	}
 35038  	if err != nil {
 35039  		return nil, err
 35040  	}
 35041  	defer googleapi.CloseBody(res)
 35042  	if err := googleapi.CheckResponse(res); err != nil {
 35043  		return nil, err
 35044  	}
 35045  	ret := &InventoryItem{
 35046  		ServerResponse: googleapi.ServerResponse{
 35047  			Header:         res.Header,
 35048  			HTTPStatusCode: res.StatusCode,
 35049  		},
 35050  	}
 35051  	target := &ret
 35052  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35053  		return nil, err
 35054  	}
 35055  	return ret, nil
 35056  	// {
 35057  	//   "description": "Gets one inventory item by ID.",
 35058  	//   "httpMethod": "GET",
 35059  	//   "id": "dfareporting.inventoryItems.get",
 35060  	//   "parameterOrder": [
 35061  	//     "profileId",
 35062  	//     "projectId",
 35063  	//     "id"
 35064  	//   ],
 35065  	//   "parameters": {
 35066  	//     "id": {
 35067  	//       "description": "Inventory item ID.",
 35068  	//       "format": "int64",
 35069  	//       "location": "path",
 35070  	//       "required": true,
 35071  	//       "type": "string"
 35072  	//     },
 35073  	//     "profileId": {
 35074  	//       "description": "User profile ID associated with this request.",
 35075  	//       "format": "int64",
 35076  	//       "location": "path",
 35077  	//       "required": true,
 35078  	//       "type": "string"
 35079  	//     },
 35080  	//     "projectId": {
 35081  	//       "description": "Project ID for order documents.",
 35082  	//       "format": "int64",
 35083  	//       "location": "path",
 35084  	//       "required": true,
 35085  	//       "type": "string"
 35086  	//     }
 35087  	//   },
 35088  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 35089  	//   "response": {
 35090  	//     "$ref": "InventoryItem"
 35091  	//   },
 35092  	//   "scopes": [
 35093  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35094  	//   ]
 35095  	// }
 35096  
 35097  }
 35098  
 35099  // method id "dfareporting.inventoryItems.list":
 35100  
 35101  type InventoryItemsListCall struct {
 35102  	s            *Service
 35103  	profileId    int64
 35104  	projectId    int64
 35105  	urlParams_   gensupport.URLParams
 35106  	ifNoneMatch_ string
 35107  	ctx_         context.Context
 35108  	header_      http.Header
 35109  }
 35110  
 35111  // List: Retrieves a list of inventory items, possibly filtered. This
 35112  // method supports paging.
 35113  func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
 35114  	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35115  	c.profileId = profileId
 35116  	c.projectId = projectId
 35117  	return c
 35118  }
 35119  
 35120  // Ids sets the optional parameter "ids": Select only inventory items
 35121  // with these IDs.
 35122  func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
 35123  	var ids_ []string
 35124  	for _, v := range ids {
 35125  		ids_ = append(ids_, fmt.Sprint(v))
 35126  	}
 35127  	c.urlParams_.SetMulti("ids", ids_)
 35128  	return c
 35129  }
 35130  
 35131  // InPlan sets the optional parameter "inPlan": Select only inventory
 35132  // items that are in plan.
 35133  func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
 35134  	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
 35135  	return c
 35136  }
 35137  
 35138  // MaxResults sets the optional parameter "maxResults": Maximum number
 35139  // of results to return.
 35140  func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
 35141  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 35142  	return c
 35143  }
 35144  
 35145  // OrderId sets the optional parameter "orderId": Select only inventory
 35146  // items that belong to specified orders.
 35147  func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
 35148  	var orderId_ []string
 35149  	for _, v := range orderId {
 35150  		orderId_ = append(orderId_, fmt.Sprint(v))
 35151  	}
 35152  	c.urlParams_.SetMulti("orderId", orderId_)
 35153  	return c
 35154  }
 35155  
 35156  // PageToken sets the optional parameter "pageToken": Value of the
 35157  // nextPageToken from the previous result page.
 35158  func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
 35159  	c.urlParams_.Set("pageToken", pageToken)
 35160  	return c
 35161  }
 35162  
 35163  // SiteId sets the optional parameter "siteId": Select only inventory
 35164  // items that are associated with these sites.
 35165  func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
 35166  	var siteId_ []string
 35167  	for _, v := range siteId {
 35168  		siteId_ = append(siteId_, fmt.Sprint(v))
 35169  	}
 35170  	c.urlParams_.SetMulti("siteId", siteId_)
 35171  	return c
 35172  }
 35173  
 35174  // SortField sets the optional parameter "sortField": Field by which to
 35175  // sort the list.
 35176  //
 35177  // Possible values:
 35178  //
 35179  //	"ID" (default)
 35180  //	"NAME"
 35181  func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
 35182  	c.urlParams_.Set("sortField", sortField)
 35183  	return c
 35184  }
 35185  
 35186  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 35187  // results.
 35188  //
 35189  // Possible values:
 35190  //
 35191  //	"ASCENDING" (default)
 35192  //	"DESCENDING"
 35193  func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
 35194  	c.urlParams_.Set("sortOrder", sortOrder)
 35195  	return c
 35196  }
 35197  
 35198  // Type sets the optional parameter "type": Select only inventory items
 35199  // with this type.
 35200  //
 35201  // Possible values:
 35202  //
 35203  //	"PLANNING_PLACEMENT_TYPE_CREDIT"
 35204  //	"PLANNING_PLACEMENT_TYPE_REGULAR"
 35205  func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
 35206  	c.urlParams_.Set("type", type_)
 35207  	return c
 35208  }
 35209  
 35210  // Fields allows partial responses to be retrieved. See
 35211  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35212  // for more information.
 35213  func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
 35214  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35215  	return c
 35216  }
 35217  
 35218  // IfNoneMatch sets the optional parameter which makes the operation
 35219  // fail if the object's ETag matches the given value. This is useful for
 35220  // getting updates only after the object has changed since the last
 35221  // request. Use googleapi.IsNotModified to check whether the response
 35222  // error from Do is the result of In-None-Match.
 35223  func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
 35224  	c.ifNoneMatch_ = entityTag
 35225  	return c
 35226  }
 35227  
 35228  // Context sets the context to be used in this call's Do method. Any
 35229  // pending HTTP request will be aborted if the provided context is
 35230  // canceled.
 35231  func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
 35232  	c.ctx_ = ctx
 35233  	return c
 35234  }
 35235  
 35236  // Header returns an http.Header that can be modified by the caller to
 35237  // add HTTP headers to the request.
 35238  func (c *InventoryItemsListCall) Header() http.Header {
 35239  	if c.header_ == nil {
 35240  		c.header_ = make(http.Header)
 35241  	}
 35242  	return c.header_
 35243  }
 35244  
 35245  func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 35246  	reqHeaders := make(http.Header)
 35247  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35248  	for k, v := range c.header_ {
 35249  		reqHeaders[k] = v
 35250  	}
 35251  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35252  	if c.ifNoneMatch_ != "" {
 35253  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35254  	}
 35255  	var body io.Reader = nil
 35256  	c.urlParams_.Set("alt", alt)
 35257  	c.urlParams_.Set("prettyPrint", "false")
 35258  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
 35259  	urls += "?" + c.urlParams_.Encode()
 35260  	req, err := http.NewRequest("GET", urls, body)
 35261  	if err != nil {
 35262  		return nil, err
 35263  	}
 35264  	req.Header = reqHeaders
 35265  	googleapi.Expand(req.URL, map[string]string{
 35266  		"profileId": strconv.FormatInt(c.profileId, 10),
 35267  		"projectId": strconv.FormatInt(c.projectId, 10),
 35268  	})
 35269  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35270  }
 35271  
 35272  // Do executes the "dfareporting.inventoryItems.list" call.
 35273  // Exactly one of *InventoryItemsListResponse or error will be non-nil.
 35274  // Any non-2xx status code is an error. Response headers are in either
 35275  // *InventoryItemsListResponse.ServerResponse.Header or (if a response
 35276  // was returned at all) in error.(*googleapi.Error).Header. Use
 35277  // googleapi.IsNotModified to check whether the returned error was
 35278  // because http.StatusNotModified was returned.
 35279  func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
 35280  	gensupport.SetOptions(c.urlParams_, opts...)
 35281  	res, err := c.doRequest("json")
 35282  	if res != nil && res.StatusCode == http.StatusNotModified {
 35283  		if res.Body != nil {
 35284  			res.Body.Close()
 35285  		}
 35286  		return nil, &googleapi.Error{
 35287  			Code:   res.StatusCode,
 35288  			Header: res.Header,
 35289  		}
 35290  	}
 35291  	if err != nil {
 35292  		return nil, err
 35293  	}
 35294  	defer googleapi.CloseBody(res)
 35295  	if err := googleapi.CheckResponse(res); err != nil {
 35296  		return nil, err
 35297  	}
 35298  	ret := &InventoryItemsListResponse{
 35299  		ServerResponse: googleapi.ServerResponse{
 35300  			Header:         res.Header,
 35301  			HTTPStatusCode: res.StatusCode,
 35302  		},
 35303  	}
 35304  	target := &ret
 35305  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35306  		return nil, err
 35307  	}
 35308  	return ret, nil
 35309  	// {
 35310  	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
 35311  	//   "httpMethod": "GET",
 35312  	//   "id": "dfareporting.inventoryItems.list",
 35313  	//   "parameterOrder": [
 35314  	//     "profileId",
 35315  	//     "projectId"
 35316  	//   ],
 35317  	//   "parameters": {
 35318  	//     "ids": {
 35319  	//       "description": "Select only inventory items with these IDs.",
 35320  	//       "format": "int64",
 35321  	//       "location": "query",
 35322  	//       "repeated": true,
 35323  	//       "type": "string"
 35324  	//     },
 35325  	//     "inPlan": {
 35326  	//       "description": "Select only inventory items that are in plan.",
 35327  	//       "location": "query",
 35328  	//       "type": "boolean"
 35329  	//     },
 35330  	//     "maxResults": {
 35331  	//       "default": "1000",
 35332  	//       "description": "Maximum number of results to return.",
 35333  	//       "format": "int32",
 35334  	//       "location": "query",
 35335  	//       "maximum": "1000",
 35336  	//       "minimum": "0",
 35337  	//       "type": "integer"
 35338  	//     },
 35339  	//     "orderId": {
 35340  	//       "description": "Select only inventory items that belong to specified orders.",
 35341  	//       "format": "int64",
 35342  	//       "location": "query",
 35343  	//       "repeated": true,
 35344  	//       "type": "string"
 35345  	//     },
 35346  	//     "pageToken": {
 35347  	//       "description": "Value of the nextPageToken from the previous result page.",
 35348  	//       "location": "query",
 35349  	//       "type": "string"
 35350  	//     },
 35351  	//     "profileId": {
 35352  	//       "description": "User profile ID associated with this request.",
 35353  	//       "format": "int64",
 35354  	//       "location": "path",
 35355  	//       "required": true,
 35356  	//       "type": "string"
 35357  	//     },
 35358  	//     "projectId": {
 35359  	//       "description": "Project ID for order documents.",
 35360  	//       "format": "int64",
 35361  	//       "location": "path",
 35362  	//       "required": true,
 35363  	//       "type": "string"
 35364  	//     },
 35365  	//     "siteId": {
 35366  	//       "description": "Select only inventory items that are associated with these sites.",
 35367  	//       "format": "int64",
 35368  	//       "location": "query",
 35369  	//       "repeated": true,
 35370  	//       "type": "string"
 35371  	//     },
 35372  	//     "sortField": {
 35373  	//       "default": "ID",
 35374  	//       "description": "Field by which to sort the list.",
 35375  	//       "enum": [
 35376  	//         "ID",
 35377  	//         "NAME"
 35378  	//       ],
 35379  	//       "enumDescriptions": [
 35380  	//         "",
 35381  	//         ""
 35382  	//       ],
 35383  	//       "location": "query",
 35384  	//       "type": "string"
 35385  	//     },
 35386  	//     "sortOrder": {
 35387  	//       "default": "ASCENDING",
 35388  	//       "description": "Order of sorted results.",
 35389  	//       "enum": [
 35390  	//         "ASCENDING",
 35391  	//         "DESCENDING"
 35392  	//       ],
 35393  	//       "enumDescriptions": [
 35394  	//         "",
 35395  	//         ""
 35396  	//       ],
 35397  	//       "location": "query",
 35398  	//       "type": "string"
 35399  	//     },
 35400  	//     "type": {
 35401  	//       "description": "Select only inventory items with this type.",
 35402  	//       "enum": [
 35403  	//         "PLANNING_PLACEMENT_TYPE_CREDIT",
 35404  	//         "PLANNING_PLACEMENT_TYPE_REGULAR"
 35405  	//       ],
 35406  	//       "enumDescriptions": [
 35407  	//         "",
 35408  	//         ""
 35409  	//       ],
 35410  	//       "location": "query",
 35411  	//       "type": "string"
 35412  	//     }
 35413  	//   },
 35414  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 35415  	//   "response": {
 35416  	//     "$ref": "InventoryItemsListResponse"
 35417  	//   },
 35418  	//   "scopes": [
 35419  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35420  	//   ]
 35421  	// }
 35422  
 35423  }
 35424  
 35425  // Pages invokes f for each page of results.
 35426  // A non-nil error returned from f will halt the iteration.
 35427  // The provided context supersedes any context provided to the Context method.
 35428  func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
 35429  	c.ctx_ = ctx
 35430  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 35431  	for {
 35432  		x, err := c.Do()
 35433  		if err != nil {
 35434  			return err
 35435  		}
 35436  		if err := f(x); err != nil {
 35437  			return err
 35438  		}
 35439  		if x.NextPageToken == "" {
 35440  			return nil
 35441  		}
 35442  		c.PageToken(x.NextPageToken)
 35443  	}
 35444  }
 35445  
 35446  // method id "dfareporting.languages.list":
 35447  
 35448  type LanguagesListCall struct {
 35449  	s            *Service
 35450  	profileId    int64
 35451  	urlParams_   gensupport.URLParams
 35452  	ifNoneMatch_ string
 35453  	ctx_         context.Context
 35454  	header_      http.Header
 35455  }
 35456  
 35457  // List: Retrieves a list of languages.
 35458  func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
 35459  	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35460  	c.profileId = profileId
 35461  	return c
 35462  }
 35463  
 35464  // Fields allows partial responses to be retrieved. See
 35465  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35466  // for more information.
 35467  func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
 35468  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35469  	return c
 35470  }
 35471  
 35472  // IfNoneMatch sets the optional parameter which makes the operation
 35473  // fail if the object's ETag matches the given value. This is useful for
 35474  // getting updates only after the object has changed since the last
 35475  // request. Use googleapi.IsNotModified to check whether the response
 35476  // error from Do is the result of In-None-Match.
 35477  func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
 35478  	c.ifNoneMatch_ = entityTag
 35479  	return c
 35480  }
 35481  
 35482  // Context sets the context to be used in this call's Do method. Any
 35483  // pending HTTP request will be aborted if the provided context is
 35484  // canceled.
 35485  func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
 35486  	c.ctx_ = ctx
 35487  	return c
 35488  }
 35489  
 35490  // Header returns an http.Header that can be modified by the caller to
 35491  // add HTTP headers to the request.
 35492  func (c *LanguagesListCall) Header() http.Header {
 35493  	if c.header_ == nil {
 35494  		c.header_ = make(http.Header)
 35495  	}
 35496  	return c.header_
 35497  }
 35498  
 35499  func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 35500  	reqHeaders := make(http.Header)
 35501  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35502  	for k, v := range c.header_ {
 35503  		reqHeaders[k] = v
 35504  	}
 35505  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35506  	if c.ifNoneMatch_ != "" {
 35507  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35508  	}
 35509  	var body io.Reader = nil
 35510  	c.urlParams_.Set("alt", alt)
 35511  	c.urlParams_.Set("prettyPrint", "false")
 35512  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
 35513  	urls += "?" + c.urlParams_.Encode()
 35514  	req, err := http.NewRequest("GET", urls, body)
 35515  	if err != nil {
 35516  		return nil, err
 35517  	}
 35518  	req.Header = reqHeaders
 35519  	googleapi.Expand(req.URL, map[string]string{
 35520  		"profileId": strconv.FormatInt(c.profileId, 10),
 35521  	})
 35522  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35523  }
 35524  
 35525  // Do executes the "dfareporting.languages.list" call.
 35526  // Exactly one of *LanguagesListResponse or error will be non-nil. Any
 35527  // non-2xx status code is an error. Response headers are in either
 35528  // *LanguagesListResponse.ServerResponse.Header or (if a response was
 35529  // returned at all) in error.(*googleapi.Error).Header. Use
 35530  // googleapi.IsNotModified to check whether the returned error was
 35531  // because http.StatusNotModified was returned.
 35532  func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
 35533  	gensupport.SetOptions(c.urlParams_, opts...)
 35534  	res, err := c.doRequest("json")
 35535  	if res != nil && res.StatusCode == http.StatusNotModified {
 35536  		if res.Body != nil {
 35537  			res.Body.Close()
 35538  		}
 35539  		return nil, &googleapi.Error{
 35540  			Code:   res.StatusCode,
 35541  			Header: res.Header,
 35542  		}
 35543  	}
 35544  	if err != nil {
 35545  		return nil, err
 35546  	}
 35547  	defer googleapi.CloseBody(res)
 35548  	if err := googleapi.CheckResponse(res); err != nil {
 35549  		return nil, err
 35550  	}
 35551  	ret := &LanguagesListResponse{
 35552  		ServerResponse: googleapi.ServerResponse{
 35553  			Header:         res.Header,
 35554  			HTTPStatusCode: res.StatusCode,
 35555  		},
 35556  	}
 35557  	target := &ret
 35558  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35559  		return nil, err
 35560  	}
 35561  	return ret, nil
 35562  	// {
 35563  	//   "description": "Retrieves a list of languages.",
 35564  	//   "httpMethod": "GET",
 35565  	//   "id": "dfareporting.languages.list",
 35566  	//   "parameterOrder": [
 35567  	//     "profileId"
 35568  	//   ],
 35569  	//   "parameters": {
 35570  	//     "profileId": {
 35571  	//       "description": "User profile ID associated with this request.",
 35572  	//       "format": "int64",
 35573  	//       "location": "path",
 35574  	//       "required": true,
 35575  	//       "type": "string"
 35576  	//     }
 35577  	//   },
 35578  	//   "path": "userprofiles/{profileId}/languages",
 35579  	//   "response": {
 35580  	//     "$ref": "LanguagesListResponse"
 35581  	//   },
 35582  	//   "scopes": [
 35583  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35584  	//   ]
 35585  	// }
 35586  
 35587  }
 35588  
 35589  // method id "dfareporting.metros.list":
 35590  
 35591  type MetrosListCall struct {
 35592  	s            *Service
 35593  	profileId    int64
 35594  	urlParams_   gensupport.URLParams
 35595  	ifNoneMatch_ string
 35596  	ctx_         context.Context
 35597  	header_      http.Header
 35598  }
 35599  
 35600  // List: Retrieves a list of metros.
 35601  func (r *MetrosService) List(profileId int64) *MetrosListCall {
 35602  	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35603  	c.profileId = profileId
 35604  	return c
 35605  }
 35606  
 35607  // Fields allows partial responses to be retrieved. See
 35608  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35609  // for more information.
 35610  func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
 35611  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35612  	return c
 35613  }
 35614  
 35615  // IfNoneMatch sets the optional parameter which makes the operation
 35616  // fail if the object's ETag matches the given value. This is useful for
 35617  // getting updates only after the object has changed since the last
 35618  // request. Use googleapi.IsNotModified to check whether the response
 35619  // error from Do is the result of In-None-Match.
 35620  func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
 35621  	c.ifNoneMatch_ = entityTag
 35622  	return c
 35623  }
 35624  
 35625  // Context sets the context to be used in this call's Do method. Any
 35626  // pending HTTP request will be aborted if the provided context is
 35627  // canceled.
 35628  func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 35629  	c.ctx_ = ctx
 35630  	return c
 35631  }
 35632  
 35633  // Header returns an http.Header that can be modified by the caller to
 35634  // add HTTP headers to the request.
 35635  func (c *MetrosListCall) Header() http.Header {
 35636  	if c.header_ == nil {
 35637  		c.header_ = make(http.Header)
 35638  	}
 35639  	return c.header_
 35640  }
 35641  
 35642  func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 35643  	reqHeaders := make(http.Header)
 35644  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35645  	for k, v := range c.header_ {
 35646  		reqHeaders[k] = v
 35647  	}
 35648  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35649  	if c.ifNoneMatch_ != "" {
 35650  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35651  	}
 35652  	var body io.Reader = nil
 35653  	c.urlParams_.Set("alt", alt)
 35654  	c.urlParams_.Set("prettyPrint", "false")
 35655  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
 35656  	urls += "?" + c.urlParams_.Encode()
 35657  	req, err := http.NewRequest("GET", urls, body)
 35658  	if err != nil {
 35659  		return nil, err
 35660  	}
 35661  	req.Header = reqHeaders
 35662  	googleapi.Expand(req.URL, map[string]string{
 35663  		"profileId": strconv.FormatInt(c.profileId, 10),
 35664  	})
 35665  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35666  }
 35667  
 35668  // Do executes the "dfareporting.metros.list" call.
 35669  // Exactly one of *MetrosListResponse or error will be non-nil. Any
 35670  // non-2xx status code is an error. Response headers are in either
 35671  // *MetrosListResponse.ServerResponse.Header or (if a response was
 35672  // returned at all) in error.(*googleapi.Error).Header. Use
 35673  // googleapi.IsNotModified to check whether the returned error was
 35674  // because http.StatusNotModified was returned.
 35675  func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
 35676  	gensupport.SetOptions(c.urlParams_, opts...)
 35677  	res, err := c.doRequest("json")
 35678  	if res != nil && res.StatusCode == http.StatusNotModified {
 35679  		if res.Body != nil {
 35680  			res.Body.Close()
 35681  		}
 35682  		return nil, &googleapi.Error{
 35683  			Code:   res.StatusCode,
 35684  			Header: res.Header,
 35685  		}
 35686  	}
 35687  	if err != nil {
 35688  		return nil, err
 35689  	}
 35690  	defer googleapi.CloseBody(res)
 35691  	if err := googleapi.CheckResponse(res); err != nil {
 35692  		return nil, err
 35693  	}
 35694  	ret := &MetrosListResponse{
 35695  		ServerResponse: googleapi.ServerResponse{
 35696  			Header:         res.Header,
 35697  			HTTPStatusCode: res.StatusCode,
 35698  		},
 35699  	}
 35700  	target := &ret
 35701  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35702  		return nil, err
 35703  	}
 35704  	return ret, nil
 35705  	// {
 35706  	//   "description": "Retrieves a list of metros.",
 35707  	//   "httpMethod": "GET",
 35708  	//   "id": "dfareporting.metros.list",
 35709  	//   "parameterOrder": [
 35710  	//     "profileId"
 35711  	//   ],
 35712  	//   "parameters": {
 35713  	//     "profileId": {
 35714  	//       "description": "User profile ID associated with this request.",
 35715  	//       "format": "int64",
 35716  	//       "location": "path",
 35717  	//       "required": true,
 35718  	//       "type": "string"
 35719  	//     }
 35720  	//   },
 35721  	//   "path": "userprofiles/{profileId}/metros",
 35722  	//   "response": {
 35723  	//     "$ref": "MetrosListResponse"
 35724  	//   },
 35725  	//   "scopes": [
 35726  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35727  	//   ]
 35728  	// }
 35729  
 35730  }
 35731  
 35732  // method id "dfareporting.mobileCarriers.get":
 35733  
 35734  type MobileCarriersGetCall struct {
 35735  	s            *Service
 35736  	profileId    int64
 35737  	id           int64
 35738  	urlParams_   gensupport.URLParams
 35739  	ifNoneMatch_ string
 35740  	ctx_         context.Context
 35741  	header_      http.Header
 35742  }
 35743  
 35744  // Get: Gets one mobile carrier by ID.
 35745  func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
 35746  	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35747  	c.profileId = profileId
 35748  	c.id = id
 35749  	return c
 35750  }
 35751  
 35752  // Fields allows partial responses to be retrieved. See
 35753  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35754  // for more information.
 35755  func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
 35756  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35757  	return c
 35758  }
 35759  
 35760  // IfNoneMatch sets the optional parameter which makes the operation
 35761  // fail if the object's ETag matches the given value. This is useful for
 35762  // getting updates only after the object has changed since the last
 35763  // request. Use googleapi.IsNotModified to check whether the response
 35764  // error from Do is the result of In-None-Match.
 35765  func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
 35766  	c.ifNoneMatch_ = entityTag
 35767  	return c
 35768  }
 35769  
 35770  // Context sets the context to be used in this call's Do method. Any
 35771  // pending HTTP request will be aborted if the provided context is
 35772  // canceled.
 35773  func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
 35774  	c.ctx_ = ctx
 35775  	return c
 35776  }
 35777  
 35778  // Header returns an http.Header that can be modified by the caller to
 35779  // add HTTP headers to the request.
 35780  func (c *MobileCarriersGetCall) Header() http.Header {
 35781  	if c.header_ == nil {
 35782  		c.header_ = make(http.Header)
 35783  	}
 35784  	return c.header_
 35785  }
 35786  
 35787  func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 35788  	reqHeaders := make(http.Header)
 35789  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35790  	for k, v := range c.header_ {
 35791  		reqHeaders[k] = v
 35792  	}
 35793  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35794  	if c.ifNoneMatch_ != "" {
 35795  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35796  	}
 35797  	var body io.Reader = nil
 35798  	c.urlParams_.Set("alt", alt)
 35799  	c.urlParams_.Set("prettyPrint", "false")
 35800  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
 35801  	urls += "?" + c.urlParams_.Encode()
 35802  	req, err := http.NewRequest("GET", urls, body)
 35803  	if err != nil {
 35804  		return nil, err
 35805  	}
 35806  	req.Header = reqHeaders
 35807  	googleapi.Expand(req.URL, map[string]string{
 35808  		"profileId": strconv.FormatInt(c.profileId, 10),
 35809  		"id":        strconv.FormatInt(c.id, 10),
 35810  	})
 35811  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35812  }
 35813  
 35814  // Do executes the "dfareporting.mobileCarriers.get" call.
 35815  // Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
 35816  // status code is an error. Response headers are in either
 35817  // *MobileCarrier.ServerResponse.Header or (if a response was returned
 35818  // at all) in error.(*googleapi.Error).Header. Use
 35819  // googleapi.IsNotModified to check whether the returned error was
 35820  // because http.StatusNotModified was returned.
 35821  func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
 35822  	gensupport.SetOptions(c.urlParams_, opts...)
 35823  	res, err := c.doRequest("json")
 35824  	if res != nil && res.StatusCode == http.StatusNotModified {
 35825  		if res.Body != nil {
 35826  			res.Body.Close()
 35827  		}
 35828  		return nil, &googleapi.Error{
 35829  			Code:   res.StatusCode,
 35830  			Header: res.Header,
 35831  		}
 35832  	}
 35833  	if err != nil {
 35834  		return nil, err
 35835  	}
 35836  	defer googleapi.CloseBody(res)
 35837  	if err := googleapi.CheckResponse(res); err != nil {
 35838  		return nil, err
 35839  	}
 35840  	ret := &MobileCarrier{
 35841  		ServerResponse: googleapi.ServerResponse{
 35842  			Header:         res.Header,
 35843  			HTTPStatusCode: res.StatusCode,
 35844  		},
 35845  	}
 35846  	target := &ret
 35847  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35848  		return nil, err
 35849  	}
 35850  	return ret, nil
 35851  	// {
 35852  	//   "description": "Gets one mobile carrier by ID.",
 35853  	//   "httpMethod": "GET",
 35854  	//   "id": "dfareporting.mobileCarriers.get",
 35855  	//   "parameterOrder": [
 35856  	//     "profileId",
 35857  	//     "id"
 35858  	//   ],
 35859  	//   "parameters": {
 35860  	//     "id": {
 35861  	//       "description": "Mobile carrier ID.",
 35862  	//       "format": "int64",
 35863  	//       "location": "path",
 35864  	//       "required": true,
 35865  	//       "type": "string"
 35866  	//     },
 35867  	//     "profileId": {
 35868  	//       "description": "User profile ID associated with this request.",
 35869  	//       "format": "int64",
 35870  	//       "location": "path",
 35871  	//       "required": true,
 35872  	//       "type": "string"
 35873  	//     }
 35874  	//   },
 35875  	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
 35876  	//   "response": {
 35877  	//     "$ref": "MobileCarrier"
 35878  	//   },
 35879  	//   "scopes": [
 35880  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35881  	//   ]
 35882  	// }
 35883  
 35884  }
 35885  
 35886  // method id "dfareporting.mobileCarriers.list":
 35887  
 35888  type MobileCarriersListCall struct {
 35889  	s            *Service
 35890  	profileId    int64
 35891  	urlParams_   gensupport.URLParams
 35892  	ifNoneMatch_ string
 35893  	ctx_         context.Context
 35894  	header_      http.Header
 35895  }
 35896  
 35897  // List: Retrieves a list of mobile carriers.
 35898  func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
 35899  	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35900  	c.profileId = profileId
 35901  	return c
 35902  }
 35903  
 35904  // Fields allows partial responses to be retrieved. See
 35905  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35906  // for more information.
 35907  func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
 35908  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35909  	return c
 35910  }
 35911  
 35912  // IfNoneMatch sets the optional parameter which makes the operation
 35913  // fail if the object's ETag matches the given value. This is useful for
 35914  // getting updates only after the object has changed since the last
 35915  // request. Use googleapi.IsNotModified to check whether the response
 35916  // error from Do is the result of In-None-Match.
 35917  func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
 35918  	c.ifNoneMatch_ = entityTag
 35919  	return c
 35920  }
 35921  
 35922  // Context sets the context to be used in this call's Do method. Any
 35923  // pending HTTP request will be aborted if the provided context is
 35924  // canceled.
 35925  func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 35926  	c.ctx_ = ctx
 35927  	return c
 35928  }
 35929  
 35930  // Header returns an http.Header that can be modified by the caller to
 35931  // add HTTP headers to the request.
 35932  func (c *MobileCarriersListCall) Header() http.Header {
 35933  	if c.header_ == nil {
 35934  		c.header_ = make(http.Header)
 35935  	}
 35936  	return c.header_
 35937  }
 35938  
 35939  func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 35940  	reqHeaders := make(http.Header)
 35941  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35942  	for k, v := range c.header_ {
 35943  		reqHeaders[k] = v
 35944  	}
 35945  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35946  	if c.ifNoneMatch_ != "" {
 35947  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35948  	}
 35949  	var body io.Reader = nil
 35950  	c.urlParams_.Set("alt", alt)
 35951  	c.urlParams_.Set("prettyPrint", "false")
 35952  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
 35953  	urls += "?" + c.urlParams_.Encode()
 35954  	req, err := http.NewRequest("GET", urls, body)
 35955  	if err != nil {
 35956  		return nil, err
 35957  	}
 35958  	req.Header = reqHeaders
 35959  	googleapi.Expand(req.URL, map[string]string{
 35960  		"profileId": strconv.FormatInt(c.profileId, 10),
 35961  	})
 35962  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35963  }
 35964  
 35965  // Do executes the "dfareporting.mobileCarriers.list" call.
 35966  // Exactly one of *MobileCarriersListResponse or error will be non-nil.
 35967  // Any non-2xx status code is an error. Response headers are in either
 35968  // *MobileCarriersListResponse.ServerResponse.Header or (if a response
 35969  // was returned at all) in error.(*googleapi.Error).Header. Use
 35970  // googleapi.IsNotModified to check whether the returned error was
 35971  // because http.StatusNotModified was returned.
 35972  func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
 35973  	gensupport.SetOptions(c.urlParams_, opts...)
 35974  	res, err := c.doRequest("json")
 35975  	if res != nil && res.StatusCode == http.StatusNotModified {
 35976  		if res.Body != nil {
 35977  			res.Body.Close()
 35978  		}
 35979  		return nil, &googleapi.Error{
 35980  			Code:   res.StatusCode,
 35981  			Header: res.Header,
 35982  		}
 35983  	}
 35984  	if err != nil {
 35985  		return nil, err
 35986  	}
 35987  	defer googleapi.CloseBody(res)
 35988  	if err := googleapi.CheckResponse(res); err != nil {
 35989  		return nil, err
 35990  	}
 35991  	ret := &MobileCarriersListResponse{
 35992  		ServerResponse: googleapi.ServerResponse{
 35993  			Header:         res.Header,
 35994  			HTTPStatusCode: res.StatusCode,
 35995  		},
 35996  	}
 35997  	target := &ret
 35998  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35999  		return nil, err
 36000  	}
 36001  	return ret, nil
 36002  	// {
 36003  	//   "description": "Retrieves a list of mobile carriers.",
 36004  	//   "httpMethod": "GET",
 36005  	//   "id": "dfareporting.mobileCarriers.list",
 36006  	//   "parameterOrder": [
 36007  	//     "profileId"
 36008  	//   ],
 36009  	//   "parameters": {
 36010  	//     "profileId": {
 36011  	//       "description": "User profile ID associated with this request.",
 36012  	//       "format": "int64",
 36013  	//       "location": "path",
 36014  	//       "required": true,
 36015  	//       "type": "string"
 36016  	//     }
 36017  	//   },
 36018  	//   "path": "userprofiles/{profileId}/mobileCarriers",
 36019  	//   "response": {
 36020  	//     "$ref": "MobileCarriersListResponse"
 36021  	//   },
 36022  	//   "scopes": [
 36023  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36024  	//   ]
 36025  	// }
 36026  
 36027  }
 36028  
 36029  // method id "dfareporting.operatingSystemVersions.get":
 36030  
 36031  type OperatingSystemVersionsGetCall struct {
 36032  	s            *Service
 36033  	profileId    int64
 36034  	id           int64
 36035  	urlParams_   gensupport.URLParams
 36036  	ifNoneMatch_ string
 36037  	ctx_         context.Context
 36038  	header_      http.Header
 36039  }
 36040  
 36041  // Get: Gets one operating system version by ID.
 36042  func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
 36043  	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36044  	c.profileId = profileId
 36045  	c.id = id
 36046  	return c
 36047  }
 36048  
 36049  // Fields allows partial responses to be retrieved. See
 36050  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36051  // for more information.
 36052  func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
 36053  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36054  	return c
 36055  }
 36056  
 36057  // IfNoneMatch sets the optional parameter which makes the operation
 36058  // fail if the object's ETag matches the given value. This is useful for
 36059  // getting updates only after the object has changed since the last
 36060  // request. Use googleapi.IsNotModified to check whether the response
 36061  // error from Do is the result of In-None-Match.
 36062  func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
 36063  	c.ifNoneMatch_ = entityTag
 36064  	return c
 36065  }
 36066  
 36067  // Context sets the context to be used in this call's Do method. Any
 36068  // pending HTTP request will be aborted if the provided context is
 36069  // canceled.
 36070  func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
 36071  	c.ctx_ = ctx
 36072  	return c
 36073  }
 36074  
 36075  // Header returns an http.Header that can be modified by the caller to
 36076  // add HTTP headers to the request.
 36077  func (c *OperatingSystemVersionsGetCall) Header() http.Header {
 36078  	if c.header_ == nil {
 36079  		c.header_ = make(http.Header)
 36080  	}
 36081  	return c.header_
 36082  }
 36083  
 36084  func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 36085  	reqHeaders := make(http.Header)
 36086  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36087  	for k, v := range c.header_ {
 36088  		reqHeaders[k] = v
 36089  	}
 36090  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36091  	if c.ifNoneMatch_ != "" {
 36092  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36093  	}
 36094  	var body io.Reader = nil
 36095  	c.urlParams_.Set("alt", alt)
 36096  	c.urlParams_.Set("prettyPrint", "false")
 36097  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
 36098  	urls += "?" + c.urlParams_.Encode()
 36099  	req, err := http.NewRequest("GET", urls, body)
 36100  	if err != nil {
 36101  		return nil, err
 36102  	}
 36103  	req.Header = reqHeaders
 36104  	googleapi.Expand(req.URL, map[string]string{
 36105  		"profileId": strconv.FormatInt(c.profileId, 10),
 36106  		"id":        strconv.FormatInt(c.id, 10),
 36107  	})
 36108  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36109  }
 36110  
 36111  // Do executes the "dfareporting.operatingSystemVersions.get" call.
 36112  // Exactly one of *OperatingSystemVersion or error will be non-nil. Any
 36113  // non-2xx status code is an error. Response headers are in either
 36114  // *OperatingSystemVersion.ServerResponse.Header or (if a response was
 36115  // returned at all) in error.(*googleapi.Error).Header. Use
 36116  // googleapi.IsNotModified to check whether the returned error was
 36117  // because http.StatusNotModified was returned.
 36118  func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
 36119  	gensupport.SetOptions(c.urlParams_, opts...)
 36120  	res, err := c.doRequest("json")
 36121  	if res != nil && res.StatusCode == http.StatusNotModified {
 36122  		if res.Body != nil {
 36123  			res.Body.Close()
 36124  		}
 36125  		return nil, &googleapi.Error{
 36126  			Code:   res.StatusCode,
 36127  			Header: res.Header,
 36128  		}
 36129  	}
 36130  	if err != nil {
 36131  		return nil, err
 36132  	}
 36133  	defer googleapi.CloseBody(res)
 36134  	if err := googleapi.CheckResponse(res); err != nil {
 36135  		return nil, err
 36136  	}
 36137  	ret := &OperatingSystemVersion{
 36138  		ServerResponse: googleapi.ServerResponse{
 36139  			Header:         res.Header,
 36140  			HTTPStatusCode: res.StatusCode,
 36141  		},
 36142  	}
 36143  	target := &ret
 36144  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36145  		return nil, err
 36146  	}
 36147  	return ret, nil
 36148  	// {
 36149  	//   "description": "Gets one operating system version by ID.",
 36150  	//   "httpMethod": "GET",
 36151  	//   "id": "dfareporting.operatingSystemVersions.get",
 36152  	//   "parameterOrder": [
 36153  	//     "profileId",
 36154  	//     "id"
 36155  	//   ],
 36156  	//   "parameters": {
 36157  	//     "id": {
 36158  	//       "description": "Operating system version ID.",
 36159  	//       "format": "int64",
 36160  	//       "location": "path",
 36161  	//       "required": true,
 36162  	//       "type": "string"
 36163  	//     },
 36164  	//     "profileId": {
 36165  	//       "description": "User profile ID associated with this request.",
 36166  	//       "format": "int64",
 36167  	//       "location": "path",
 36168  	//       "required": true,
 36169  	//       "type": "string"
 36170  	//     }
 36171  	//   },
 36172  	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 36173  	//   "response": {
 36174  	//     "$ref": "OperatingSystemVersion"
 36175  	//   },
 36176  	//   "scopes": [
 36177  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36178  	//   ]
 36179  	// }
 36180  
 36181  }
 36182  
 36183  // method id "dfareporting.operatingSystemVersions.list":
 36184  
 36185  type OperatingSystemVersionsListCall struct {
 36186  	s            *Service
 36187  	profileId    int64
 36188  	urlParams_   gensupport.URLParams
 36189  	ifNoneMatch_ string
 36190  	ctx_         context.Context
 36191  	header_      http.Header
 36192  }
 36193  
 36194  // List: Retrieves a list of operating system versions.
 36195  func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
 36196  	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36197  	c.profileId = profileId
 36198  	return c
 36199  }
 36200  
 36201  // Fields allows partial responses to be retrieved. See
 36202  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36203  // for more information.
 36204  func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
 36205  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36206  	return c
 36207  }
 36208  
 36209  // IfNoneMatch sets the optional parameter which makes the operation
 36210  // fail if the object's ETag matches the given value. This is useful for
 36211  // getting updates only after the object has changed since the last
 36212  // request. Use googleapi.IsNotModified to check whether the response
 36213  // error from Do is the result of In-None-Match.
 36214  func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
 36215  	c.ifNoneMatch_ = entityTag
 36216  	return c
 36217  }
 36218  
 36219  // Context sets the context to be used in this call's Do method. Any
 36220  // pending HTTP request will be aborted if the provided context is
 36221  // canceled.
 36222  func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 36223  	c.ctx_ = ctx
 36224  	return c
 36225  }
 36226  
 36227  // Header returns an http.Header that can be modified by the caller to
 36228  // add HTTP headers to the request.
 36229  func (c *OperatingSystemVersionsListCall) Header() http.Header {
 36230  	if c.header_ == nil {
 36231  		c.header_ = make(http.Header)
 36232  	}
 36233  	return c.header_
 36234  }
 36235  
 36236  func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 36237  	reqHeaders := make(http.Header)
 36238  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36239  	for k, v := range c.header_ {
 36240  		reqHeaders[k] = v
 36241  	}
 36242  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36243  	if c.ifNoneMatch_ != "" {
 36244  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36245  	}
 36246  	var body io.Reader = nil
 36247  	c.urlParams_.Set("alt", alt)
 36248  	c.urlParams_.Set("prettyPrint", "false")
 36249  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
 36250  	urls += "?" + c.urlParams_.Encode()
 36251  	req, err := http.NewRequest("GET", urls, body)
 36252  	if err != nil {
 36253  		return nil, err
 36254  	}
 36255  	req.Header = reqHeaders
 36256  	googleapi.Expand(req.URL, map[string]string{
 36257  		"profileId": strconv.FormatInt(c.profileId, 10),
 36258  	})
 36259  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36260  }
 36261  
 36262  // Do executes the "dfareporting.operatingSystemVersions.list" call.
 36263  // Exactly one of *OperatingSystemVersionsListResponse or error will be
 36264  // non-nil. Any non-2xx status code is an error. Response headers are in
 36265  // either *OperatingSystemVersionsListResponse.ServerResponse.Header or
 36266  // (if a response was returned at all) in
 36267  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36268  // whether the returned error was because http.StatusNotModified was
 36269  // returned.
 36270  func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
 36271  	gensupport.SetOptions(c.urlParams_, opts...)
 36272  	res, err := c.doRequest("json")
 36273  	if res != nil && res.StatusCode == http.StatusNotModified {
 36274  		if res.Body != nil {
 36275  			res.Body.Close()
 36276  		}
 36277  		return nil, &googleapi.Error{
 36278  			Code:   res.StatusCode,
 36279  			Header: res.Header,
 36280  		}
 36281  	}
 36282  	if err != nil {
 36283  		return nil, err
 36284  	}
 36285  	defer googleapi.CloseBody(res)
 36286  	if err := googleapi.CheckResponse(res); err != nil {
 36287  		return nil, err
 36288  	}
 36289  	ret := &OperatingSystemVersionsListResponse{
 36290  		ServerResponse: googleapi.ServerResponse{
 36291  			Header:         res.Header,
 36292  			HTTPStatusCode: res.StatusCode,
 36293  		},
 36294  	}
 36295  	target := &ret
 36296  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36297  		return nil, err
 36298  	}
 36299  	return ret, nil
 36300  	// {
 36301  	//   "description": "Retrieves a list of operating system versions.",
 36302  	//   "httpMethod": "GET",
 36303  	//   "id": "dfareporting.operatingSystemVersions.list",
 36304  	//   "parameterOrder": [
 36305  	//     "profileId"
 36306  	//   ],
 36307  	//   "parameters": {
 36308  	//     "profileId": {
 36309  	//       "description": "User profile ID associated with this request.",
 36310  	//       "format": "int64",
 36311  	//       "location": "path",
 36312  	//       "required": true,
 36313  	//       "type": "string"
 36314  	//     }
 36315  	//   },
 36316  	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
 36317  	//   "response": {
 36318  	//     "$ref": "OperatingSystemVersionsListResponse"
 36319  	//   },
 36320  	//   "scopes": [
 36321  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36322  	//   ]
 36323  	// }
 36324  
 36325  }
 36326  
 36327  // method id "dfareporting.operatingSystems.get":
 36328  
 36329  type OperatingSystemsGetCall struct {
 36330  	s            *Service
 36331  	profileId    int64
 36332  	dartId       int64
 36333  	urlParams_   gensupport.URLParams
 36334  	ifNoneMatch_ string
 36335  	ctx_         context.Context
 36336  	header_      http.Header
 36337  }
 36338  
 36339  // Get: Gets one operating system by DART ID.
 36340  func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
 36341  	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36342  	c.profileId = profileId
 36343  	c.dartId = dartId
 36344  	return c
 36345  }
 36346  
 36347  // Fields allows partial responses to be retrieved. See
 36348  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36349  // for more information.
 36350  func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
 36351  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36352  	return c
 36353  }
 36354  
 36355  // IfNoneMatch sets the optional parameter which makes the operation
 36356  // fail if the object's ETag matches the given value. This is useful for
 36357  // getting updates only after the object has changed since the last
 36358  // request. Use googleapi.IsNotModified to check whether the response
 36359  // error from Do is the result of In-None-Match.
 36360  func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
 36361  	c.ifNoneMatch_ = entityTag
 36362  	return c
 36363  }
 36364  
 36365  // Context sets the context to be used in this call's Do method. Any
 36366  // pending HTTP request will be aborted if the provided context is
 36367  // canceled.
 36368  func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
 36369  	c.ctx_ = ctx
 36370  	return c
 36371  }
 36372  
 36373  // Header returns an http.Header that can be modified by the caller to
 36374  // add HTTP headers to the request.
 36375  func (c *OperatingSystemsGetCall) Header() http.Header {
 36376  	if c.header_ == nil {
 36377  		c.header_ = make(http.Header)
 36378  	}
 36379  	return c.header_
 36380  }
 36381  
 36382  func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 36383  	reqHeaders := make(http.Header)
 36384  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36385  	for k, v := range c.header_ {
 36386  		reqHeaders[k] = v
 36387  	}
 36388  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36389  	if c.ifNoneMatch_ != "" {
 36390  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36391  	}
 36392  	var body io.Reader = nil
 36393  	c.urlParams_.Set("alt", alt)
 36394  	c.urlParams_.Set("prettyPrint", "false")
 36395  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
 36396  	urls += "?" + c.urlParams_.Encode()
 36397  	req, err := http.NewRequest("GET", urls, body)
 36398  	if err != nil {
 36399  		return nil, err
 36400  	}
 36401  	req.Header = reqHeaders
 36402  	googleapi.Expand(req.URL, map[string]string{
 36403  		"profileId": strconv.FormatInt(c.profileId, 10),
 36404  		"dartId":    strconv.FormatInt(c.dartId, 10),
 36405  	})
 36406  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36407  }
 36408  
 36409  // Do executes the "dfareporting.operatingSystems.get" call.
 36410  // Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
 36411  // status code is an error. Response headers are in either
 36412  // *OperatingSystem.ServerResponse.Header or (if a response was returned
 36413  // at all) in error.(*googleapi.Error).Header. Use
 36414  // googleapi.IsNotModified to check whether the returned error was
 36415  // because http.StatusNotModified was returned.
 36416  func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
 36417  	gensupport.SetOptions(c.urlParams_, opts...)
 36418  	res, err := c.doRequest("json")
 36419  	if res != nil && res.StatusCode == http.StatusNotModified {
 36420  		if res.Body != nil {
 36421  			res.Body.Close()
 36422  		}
 36423  		return nil, &googleapi.Error{
 36424  			Code:   res.StatusCode,
 36425  			Header: res.Header,
 36426  		}
 36427  	}
 36428  	if err != nil {
 36429  		return nil, err
 36430  	}
 36431  	defer googleapi.CloseBody(res)
 36432  	if err := googleapi.CheckResponse(res); err != nil {
 36433  		return nil, err
 36434  	}
 36435  	ret := &OperatingSystem{
 36436  		ServerResponse: googleapi.ServerResponse{
 36437  			Header:         res.Header,
 36438  			HTTPStatusCode: res.StatusCode,
 36439  		},
 36440  	}
 36441  	target := &ret
 36442  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36443  		return nil, err
 36444  	}
 36445  	return ret, nil
 36446  	// {
 36447  	//   "description": "Gets one operating system by DART ID.",
 36448  	//   "httpMethod": "GET",
 36449  	//   "id": "dfareporting.operatingSystems.get",
 36450  	//   "parameterOrder": [
 36451  	//     "profileId",
 36452  	//     "dartId"
 36453  	//   ],
 36454  	//   "parameters": {
 36455  	//     "dartId": {
 36456  	//       "description": "Operating system DART ID.",
 36457  	//       "format": "int64",
 36458  	//       "location": "path",
 36459  	//       "required": true,
 36460  	//       "type": "string"
 36461  	//     },
 36462  	//     "profileId": {
 36463  	//       "description": "User profile ID associated with this request.",
 36464  	//       "format": "int64",
 36465  	//       "location": "path",
 36466  	//       "required": true,
 36467  	//       "type": "string"
 36468  	//     }
 36469  	//   },
 36470  	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
 36471  	//   "response": {
 36472  	//     "$ref": "OperatingSystem"
 36473  	//   },
 36474  	//   "scopes": [
 36475  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36476  	//   ]
 36477  	// }
 36478  
 36479  }
 36480  
 36481  // method id "dfareporting.operatingSystems.list":
 36482  
 36483  type OperatingSystemsListCall struct {
 36484  	s            *Service
 36485  	profileId    int64
 36486  	urlParams_   gensupport.URLParams
 36487  	ifNoneMatch_ string
 36488  	ctx_         context.Context
 36489  	header_      http.Header
 36490  }
 36491  
 36492  // List: Retrieves a list of operating systems.
 36493  func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
 36494  	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36495  	c.profileId = profileId
 36496  	return c
 36497  }
 36498  
 36499  // Fields allows partial responses to be retrieved. See
 36500  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36501  // for more information.
 36502  func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
 36503  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36504  	return c
 36505  }
 36506  
 36507  // IfNoneMatch sets the optional parameter which makes the operation
 36508  // fail if the object's ETag matches the given value. This is useful for
 36509  // getting updates only after the object has changed since the last
 36510  // request. Use googleapi.IsNotModified to check whether the response
 36511  // error from Do is the result of In-None-Match.
 36512  func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
 36513  	c.ifNoneMatch_ = entityTag
 36514  	return c
 36515  }
 36516  
 36517  // Context sets the context to be used in this call's Do method. Any
 36518  // pending HTTP request will be aborted if the provided context is
 36519  // canceled.
 36520  func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 36521  	c.ctx_ = ctx
 36522  	return c
 36523  }
 36524  
 36525  // Header returns an http.Header that can be modified by the caller to
 36526  // add HTTP headers to the request.
 36527  func (c *OperatingSystemsListCall) Header() http.Header {
 36528  	if c.header_ == nil {
 36529  		c.header_ = make(http.Header)
 36530  	}
 36531  	return c.header_
 36532  }
 36533  
 36534  func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 36535  	reqHeaders := make(http.Header)
 36536  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36537  	for k, v := range c.header_ {
 36538  		reqHeaders[k] = v
 36539  	}
 36540  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36541  	if c.ifNoneMatch_ != "" {
 36542  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36543  	}
 36544  	var body io.Reader = nil
 36545  	c.urlParams_.Set("alt", alt)
 36546  	c.urlParams_.Set("prettyPrint", "false")
 36547  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
 36548  	urls += "?" + c.urlParams_.Encode()
 36549  	req, err := http.NewRequest("GET", urls, body)
 36550  	if err != nil {
 36551  		return nil, err
 36552  	}
 36553  	req.Header = reqHeaders
 36554  	googleapi.Expand(req.URL, map[string]string{
 36555  		"profileId": strconv.FormatInt(c.profileId, 10),
 36556  	})
 36557  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36558  }
 36559  
 36560  // Do executes the "dfareporting.operatingSystems.list" call.
 36561  // Exactly one of *OperatingSystemsListResponse or error will be
 36562  // non-nil. Any non-2xx status code is an error. Response headers are in
 36563  // either *OperatingSystemsListResponse.ServerResponse.Header or (if a
 36564  // response was returned at all) in error.(*googleapi.Error).Header. Use
 36565  // googleapi.IsNotModified to check whether the returned error was
 36566  // because http.StatusNotModified was returned.
 36567  func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
 36568  	gensupport.SetOptions(c.urlParams_, opts...)
 36569  	res, err := c.doRequest("json")
 36570  	if res != nil && res.StatusCode == http.StatusNotModified {
 36571  		if res.Body != nil {
 36572  			res.Body.Close()
 36573  		}
 36574  		return nil, &googleapi.Error{
 36575  			Code:   res.StatusCode,
 36576  			Header: res.Header,
 36577  		}
 36578  	}
 36579  	if err != nil {
 36580  		return nil, err
 36581  	}
 36582  	defer googleapi.CloseBody(res)
 36583  	if err := googleapi.CheckResponse(res); err != nil {
 36584  		return nil, err
 36585  	}
 36586  	ret := &OperatingSystemsListResponse{
 36587  		ServerResponse: googleapi.ServerResponse{
 36588  			Header:         res.Header,
 36589  			HTTPStatusCode: res.StatusCode,
 36590  		},
 36591  	}
 36592  	target := &ret
 36593  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36594  		return nil, err
 36595  	}
 36596  	return ret, nil
 36597  	// {
 36598  	//   "description": "Retrieves a list of operating systems.",
 36599  	//   "httpMethod": "GET",
 36600  	//   "id": "dfareporting.operatingSystems.list",
 36601  	//   "parameterOrder": [
 36602  	//     "profileId"
 36603  	//   ],
 36604  	//   "parameters": {
 36605  	//     "profileId": {
 36606  	//       "description": "User profile ID associated with this request.",
 36607  	//       "format": "int64",
 36608  	//       "location": "path",
 36609  	//       "required": true,
 36610  	//       "type": "string"
 36611  	//     }
 36612  	//   },
 36613  	//   "path": "userprofiles/{profileId}/operatingSystems",
 36614  	//   "response": {
 36615  	//     "$ref": "OperatingSystemsListResponse"
 36616  	//   },
 36617  	//   "scopes": [
 36618  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36619  	//   ]
 36620  	// }
 36621  
 36622  }
 36623  
 36624  // method id "dfareporting.orderDocuments.get":
 36625  
 36626  type OrderDocumentsGetCall struct {
 36627  	s            *Service
 36628  	profileId    int64
 36629  	projectId    int64
 36630  	id           int64
 36631  	urlParams_   gensupport.URLParams
 36632  	ifNoneMatch_ string
 36633  	ctx_         context.Context
 36634  	header_      http.Header
 36635  }
 36636  
 36637  // Get: Gets one order document by ID.
 36638  func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
 36639  	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36640  	c.profileId = profileId
 36641  	c.projectId = projectId
 36642  	c.id = id
 36643  	return c
 36644  }
 36645  
 36646  // Fields allows partial responses to be retrieved. See
 36647  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36648  // for more information.
 36649  func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
 36650  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36651  	return c
 36652  }
 36653  
 36654  // IfNoneMatch sets the optional parameter which makes the operation
 36655  // fail if the object's ETag matches the given value. This is useful for
 36656  // getting updates only after the object has changed since the last
 36657  // request. Use googleapi.IsNotModified to check whether the response
 36658  // error from Do is the result of In-None-Match.
 36659  func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
 36660  	c.ifNoneMatch_ = entityTag
 36661  	return c
 36662  }
 36663  
 36664  // Context sets the context to be used in this call's Do method. Any
 36665  // pending HTTP request will be aborted if the provided context is
 36666  // canceled.
 36667  func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
 36668  	c.ctx_ = ctx
 36669  	return c
 36670  }
 36671  
 36672  // Header returns an http.Header that can be modified by the caller to
 36673  // add HTTP headers to the request.
 36674  func (c *OrderDocumentsGetCall) Header() http.Header {
 36675  	if c.header_ == nil {
 36676  		c.header_ = make(http.Header)
 36677  	}
 36678  	return c.header_
 36679  }
 36680  
 36681  func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 36682  	reqHeaders := make(http.Header)
 36683  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36684  	for k, v := range c.header_ {
 36685  		reqHeaders[k] = v
 36686  	}
 36687  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36688  	if c.ifNoneMatch_ != "" {
 36689  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36690  	}
 36691  	var body io.Reader = nil
 36692  	c.urlParams_.Set("alt", alt)
 36693  	c.urlParams_.Set("prettyPrint", "false")
 36694  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
 36695  	urls += "?" + c.urlParams_.Encode()
 36696  	req, err := http.NewRequest("GET", urls, body)
 36697  	if err != nil {
 36698  		return nil, err
 36699  	}
 36700  	req.Header = reqHeaders
 36701  	googleapi.Expand(req.URL, map[string]string{
 36702  		"profileId": strconv.FormatInt(c.profileId, 10),
 36703  		"projectId": strconv.FormatInt(c.projectId, 10),
 36704  		"id":        strconv.FormatInt(c.id, 10),
 36705  	})
 36706  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36707  }
 36708  
 36709  // Do executes the "dfareporting.orderDocuments.get" call.
 36710  // Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
 36711  // status code is an error. Response headers are in either
 36712  // *OrderDocument.ServerResponse.Header or (if a response was returned
 36713  // at all) in error.(*googleapi.Error).Header. Use
 36714  // googleapi.IsNotModified to check whether the returned error was
 36715  // because http.StatusNotModified was returned.
 36716  func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
 36717  	gensupport.SetOptions(c.urlParams_, opts...)
 36718  	res, err := c.doRequest("json")
 36719  	if res != nil && res.StatusCode == http.StatusNotModified {
 36720  		if res.Body != nil {
 36721  			res.Body.Close()
 36722  		}
 36723  		return nil, &googleapi.Error{
 36724  			Code:   res.StatusCode,
 36725  			Header: res.Header,
 36726  		}
 36727  	}
 36728  	if err != nil {
 36729  		return nil, err
 36730  	}
 36731  	defer googleapi.CloseBody(res)
 36732  	if err := googleapi.CheckResponse(res); err != nil {
 36733  		return nil, err
 36734  	}
 36735  	ret := &OrderDocument{
 36736  		ServerResponse: googleapi.ServerResponse{
 36737  			Header:         res.Header,
 36738  			HTTPStatusCode: res.StatusCode,
 36739  		},
 36740  	}
 36741  	target := &ret
 36742  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36743  		return nil, err
 36744  	}
 36745  	return ret, nil
 36746  	// {
 36747  	//   "description": "Gets one order document by ID.",
 36748  	//   "httpMethod": "GET",
 36749  	//   "id": "dfareporting.orderDocuments.get",
 36750  	//   "parameterOrder": [
 36751  	//     "profileId",
 36752  	//     "projectId",
 36753  	//     "id"
 36754  	//   ],
 36755  	//   "parameters": {
 36756  	//     "id": {
 36757  	//       "description": "Order document ID.",
 36758  	//       "format": "int64",
 36759  	//       "location": "path",
 36760  	//       "required": true,
 36761  	//       "type": "string"
 36762  	//     },
 36763  	//     "profileId": {
 36764  	//       "description": "User profile ID associated with this request.",
 36765  	//       "format": "int64",
 36766  	//       "location": "path",
 36767  	//       "required": true,
 36768  	//       "type": "string"
 36769  	//     },
 36770  	//     "projectId": {
 36771  	//       "description": "Project ID for order documents.",
 36772  	//       "format": "int64",
 36773  	//       "location": "path",
 36774  	//       "required": true,
 36775  	//       "type": "string"
 36776  	//     }
 36777  	//   },
 36778  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 36779  	//   "response": {
 36780  	//     "$ref": "OrderDocument"
 36781  	//   },
 36782  	//   "scopes": [
 36783  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36784  	//   ]
 36785  	// }
 36786  
 36787  }
 36788  
 36789  // method id "dfareporting.orderDocuments.list":
 36790  
 36791  type OrderDocumentsListCall struct {
 36792  	s            *Service
 36793  	profileId    int64
 36794  	projectId    int64
 36795  	urlParams_   gensupport.URLParams
 36796  	ifNoneMatch_ string
 36797  	ctx_         context.Context
 36798  	header_      http.Header
 36799  }
 36800  
 36801  // List: Retrieves a list of order documents, possibly filtered. This
 36802  // method supports paging.
 36803  func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
 36804  	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36805  	c.profileId = profileId
 36806  	c.projectId = projectId
 36807  	return c
 36808  }
 36809  
 36810  // Approved sets the optional parameter "approved": Select only order
 36811  // documents that have been approved by at least one user.
 36812  func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
 36813  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 36814  	return c
 36815  }
 36816  
 36817  // Ids sets the optional parameter "ids": Select only order documents
 36818  // with these IDs.
 36819  func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
 36820  	var ids_ []string
 36821  	for _, v := range ids {
 36822  		ids_ = append(ids_, fmt.Sprint(v))
 36823  	}
 36824  	c.urlParams_.SetMulti("ids", ids_)
 36825  	return c
 36826  }
 36827  
 36828  // MaxResults sets the optional parameter "maxResults": Maximum number
 36829  // of results to return.
 36830  func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
 36831  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 36832  	return c
 36833  }
 36834  
 36835  // OrderId sets the optional parameter "orderId": Select only order
 36836  // documents for specified orders.
 36837  func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
 36838  	var orderId_ []string
 36839  	for _, v := range orderId {
 36840  		orderId_ = append(orderId_, fmt.Sprint(v))
 36841  	}
 36842  	c.urlParams_.SetMulti("orderId", orderId_)
 36843  	return c
 36844  }
 36845  
 36846  // PageToken sets the optional parameter "pageToken": Value of the
 36847  // nextPageToken from the previous result page.
 36848  func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
 36849  	c.urlParams_.Set("pageToken", pageToken)
 36850  	return c
 36851  }
 36852  
 36853  // SearchString sets the optional parameter "searchString": Allows
 36854  // searching for order documents by name or ID. Wildcards (*) are
 36855  // allowed. For example, "orderdocument*2015" will return order
 36856  // documents with names like "orderdocument June 2015", "orderdocument
 36857  // April 2015", or simply "orderdocument 2015". Most of the searches
 36858  // also add wildcards implicitly at the start and the end of the search
 36859  // string. For example, a search string of "orderdocument" will match
 36860  // order documents with name "my orderdocument", "orderdocument 2015",
 36861  // or simply "orderdocument".
 36862  func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
 36863  	c.urlParams_.Set("searchString", searchString)
 36864  	return c
 36865  }
 36866  
 36867  // SiteId sets the optional parameter "siteId": Select only order
 36868  // documents that are associated with these sites.
 36869  func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
 36870  	var siteId_ []string
 36871  	for _, v := range siteId {
 36872  		siteId_ = append(siteId_, fmt.Sprint(v))
 36873  	}
 36874  	c.urlParams_.SetMulti("siteId", siteId_)
 36875  	return c
 36876  }
 36877  
 36878  // SortField sets the optional parameter "sortField": Field by which to
 36879  // sort the list.
 36880  //
 36881  // Possible values:
 36882  //
 36883  //	"ID" (default)
 36884  //	"NAME"
 36885  func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
 36886  	c.urlParams_.Set("sortField", sortField)
 36887  	return c
 36888  }
 36889  
 36890  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 36891  // results.
 36892  //
 36893  // Possible values:
 36894  //
 36895  //	"ASCENDING" (default)
 36896  //	"DESCENDING"
 36897  func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
 36898  	c.urlParams_.Set("sortOrder", sortOrder)
 36899  	return c
 36900  }
 36901  
 36902  // Fields allows partial responses to be retrieved. See
 36903  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36904  // for more information.
 36905  func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
 36906  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36907  	return c
 36908  }
 36909  
 36910  // IfNoneMatch sets the optional parameter which makes the operation
 36911  // fail if the object's ETag matches the given value. This is useful for
 36912  // getting updates only after the object has changed since the last
 36913  // request. Use googleapi.IsNotModified to check whether the response
 36914  // error from Do is the result of In-None-Match.
 36915  func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
 36916  	c.ifNoneMatch_ = entityTag
 36917  	return c
 36918  }
 36919  
 36920  // Context sets the context to be used in this call's Do method. Any
 36921  // pending HTTP request will be aborted if the provided context is
 36922  // canceled.
 36923  func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
 36924  	c.ctx_ = ctx
 36925  	return c
 36926  }
 36927  
 36928  // Header returns an http.Header that can be modified by the caller to
 36929  // add HTTP headers to the request.
 36930  func (c *OrderDocumentsListCall) Header() http.Header {
 36931  	if c.header_ == nil {
 36932  		c.header_ = make(http.Header)
 36933  	}
 36934  	return c.header_
 36935  }
 36936  
 36937  func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 36938  	reqHeaders := make(http.Header)
 36939  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36940  	for k, v := range c.header_ {
 36941  		reqHeaders[k] = v
 36942  	}
 36943  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36944  	if c.ifNoneMatch_ != "" {
 36945  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36946  	}
 36947  	var body io.Reader = nil
 36948  	c.urlParams_.Set("alt", alt)
 36949  	c.urlParams_.Set("prettyPrint", "false")
 36950  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
 36951  	urls += "?" + c.urlParams_.Encode()
 36952  	req, err := http.NewRequest("GET", urls, body)
 36953  	if err != nil {
 36954  		return nil, err
 36955  	}
 36956  	req.Header = reqHeaders
 36957  	googleapi.Expand(req.URL, map[string]string{
 36958  		"profileId": strconv.FormatInt(c.profileId, 10),
 36959  		"projectId": strconv.FormatInt(c.projectId, 10),
 36960  	})
 36961  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36962  }
 36963  
 36964  // Do executes the "dfareporting.orderDocuments.list" call.
 36965  // Exactly one of *OrderDocumentsListResponse or error will be non-nil.
 36966  // Any non-2xx status code is an error. Response headers are in either
 36967  // *OrderDocumentsListResponse.ServerResponse.Header or (if a response
 36968  // was returned at all) in error.(*googleapi.Error).Header. Use
 36969  // googleapi.IsNotModified to check whether the returned error was
 36970  // because http.StatusNotModified was returned.
 36971  func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
 36972  	gensupport.SetOptions(c.urlParams_, opts...)
 36973  	res, err := c.doRequest("json")
 36974  	if res != nil && res.StatusCode == http.StatusNotModified {
 36975  		if res.Body != nil {
 36976  			res.Body.Close()
 36977  		}
 36978  		return nil, &googleapi.Error{
 36979  			Code:   res.StatusCode,
 36980  			Header: res.Header,
 36981  		}
 36982  	}
 36983  	if err != nil {
 36984  		return nil, err
 36985  	}
 36986  	defer googleapi.CloseBody(res)
 36987  	if err := googleapi.CheckResponse(res); err != nil {
 36988  		return nil, err
 36989  	}
 36990  	ret := &OrderDocumentsListResponse{
 36991  		ServerResponse: googleapi.ServerResponse{
 36992  			Header:         res.Header,
 36993  			HTTPStatusCode: res.StatusCode,
 36994  		},
 36995  	}
 36996  	target := &ret
 36997  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36998  		return nil, err
 36999  	}
 37000  	return ret, nil
 37001  	// {
 37002  	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
 37003  	//   "httpMethod": "GET",
 37004  	//   "id": "dfareporting.orderDocuments.list",
 37005  	//   "parameterOrder": [
 37006  	//     "profileId",
 37007  	//     "projectId"
 37008  	//   ],
 37009  	//   "parameters": {
 37010  	//     "approved": {
 37011  	//       "description": "Select only order documents that have been approved by at least one user.",
 37012  	//       "location": "query",
 37013  	//       "type": "boolean"
 37014  	//     },
 37015  	//     "ids": {
 37016  	//       "description": "Select only order documents with these IDs.",
 37017  	//       "format": "int64",
 37018  	//       "location": "query",
 37019  	//       "repeated": true,
 37020  	//       "type": "string"
 37021  	//     },
 37022  	//     "maxResults": {
 37023  	//       "default": "1000",
 37024  	//       "description": "Maximum number of results to return.",
 37025  	//       "format": "int32",
 37026  	//       "location": "query",
 37027  	//       "maximum": "1000",
 37028  	//       "minimum": "0",
 37029  	//       "type": "integer"
 37030  	//     },
 37031  	//     "orderId": {
 37032  	//       "description": "Select only order documents for specified orders.",
 37033  	//       "format": "int64",
 37034  	//       "location": "query",
 37035  	//       "repeated": true,
 37036  	//       "type": "string"
 37037  	//     },
 37038  	//     "pageToken": {
 37039  	//       "description": "Value of the nextPageToken from the previous result page.",
 37040  	//       "location": "query",
 37041  	//       "type": "string"
 37042  	//     },
 37043  	//     "profileId": {
 37044  	//       "description": "User profile ID associated with this request.",
 37045  	//       "format": "int64",
 37046  	//       "location": "path",
 37047  	//       "required": true,
 37048  	//       "type": "string"
 37049  	//     },
 37050  	//     "projectId": {
 37051  	//       "description": "Project ID for order documents.",
 37052  	//       "format": "int64",
 37053  	//       "location": "path",
 37054  	//       "required": true,
 37055  	//       "type": "string"
 37056  	//     },
 37057  	//     "searchString": {
 37058  	//       "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\".",
 37059  	//       "location": "query",
 37060  	//       "type": "string"
 37061  	//     },
 37062  	//     "siteId": {
 37063  	//       "description": "Select only order documents that are associated with these sites.",
 37064  	//       "format": "int64",
 37065  	//       "location": "query",
 37066  	//       "repeated": true,
 37067  	//       "type": "string"
 37068  	//     },
 37069  	//     "sortField": {
 37070  	//       "default": "ID",
 37071  	//       "description": "Field by which to sort the list.",
 37072  	//       "enum": [
 37073  	//         "ID",
 37074  	//         "NAME"
 37075  	//       ],
 37076  	//       "enumDescriptions": [
 37077  	//         "",
 37078  	//         ""
 37079  	//       ],
 37080  	//       "location": "query",
 37081  	//       "type": "string"
 37082  	//     },
 37083  	//     "sortOrder": {
 37084  	//       "default": "ASCENDING",
 37085  	//       "description": "Order of sorted results.",
 37086  	//       "enum": [
 37087  	//         "ASCENDING",
 37088  	//         "DESCENDING"
 37089  	//       ],
 37090  	//       "enumDescriptions": [
 37091  	//         "",
 37092  	//         ""
 37093  	//       ],
 37094  	//       "location": "query",
 37095  	//       "type": "string"
 37096  	//     }
 37097  	//   },
 37098  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 37099  	//   "response": {
 37100  	//     "$ref": "OrderDocumentsListResponse"
 37101  	//   },
 37102  	//   "scopes": [
 37103  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37104  	//   ]
 37105  	// }
 37106  
 37107  }
 37108  
 37109  // Pages invokes f for each page of results.
 37110  // A non-nil error returned from f will halt the iteration.
 37111  // The provided context supersedes any context provided to the Context method.
 37112  func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
 37113  	c.ctx_ = ctx
 37114  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 37115  	for {
 37116  		x, err := c.Do()
 37117  		if err != nil {
 37118  			return err
 37119  		}
 37120  		if err := f(x); err != nil {
 37121  			return err
 37122  		}
 37123  		if x.NextPageToken == "" {
 37124  			return nil
 37125  		}
 37126  		c.PageToken(x.NextPageToken)
 37127  	}
 37128  }
 37129  
 37130  // method id "dfareporting.orders.get":
 37131  
 37132  type OrdersGetCall struct {
 37133  	s            *Service
 37134  	profileId    int64
 37135  	projectId    int64
 37136  	id           int64
 37137  	urlParams_   gensupport.URLParams
 37138  	ifNoneMatch_ string
 37139  	ctx_         context.Context
 37140  	header_      http.Header
 37141  }
 37142  
 37143  // Get: Gets one order by ID.
 37144  func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
 37145  	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37146  	c.profileId = profileId
 37147  	c.projectId = projectId
 37148  	c.id = id
 37149  	return c
 37150  }
 37151  
 37152  // Fields allows partial responses to be retrieved. See
 37153  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37154  // for more information.
 37155  func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
 37156  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37157  	return c
 37158  }
 37159  
 37160  // IfNoneMatch sets the optional parameter which makes the operation
 37161  // fail if the object's ETag matches the given value. This is useful for
 37162  // getting updates only after the object has changed since the last
 37163  // request. Use googleapi.IsNotModified to check whether the response
 37164  // error from Do is the result of In-None-Match.
 37165  func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
 37166  	c.ifNoneMatch_ = entityTag
 37167  	return c
 37168  }
 37169  
 37170  // Context sets the context to be used in this call's Do method. Any
 37171  // pending HTTP request will be aborted if the provided context is
 37172  // canceled.
 37173  func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 37174  	c.ctx_ = ctx
 37175  	return c
 37176  }
 37177  
 37178  // Header returns an http.Header that can be modified by the caller to
 37179  // add HTTP headers to the request.
 37180  func (c *OrdersGetCall) Header() http.Header {
 37181  	if c.header_ == nil {
 37182  		c.header_ = make(http.Header)
 37183  	}
 37184  	return c.header_
 37185  }
 37186  
 37187  func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 37188  	reqHeaders := make(http.Header)
 37189  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37190  	for k, v := range c.header_ {
 37191  		reqHeaders[k] = v
 37192  	}
 37193  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37194  	if c.ifNoneMatch_ != "" {
 37195  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37196  	}
 37197  	var body io.Reader = nil
 37198  	c.urlParams_.Set("alt", alt)
 37199  	c.urlParams_.Set("prettyPrint", "false")
 37200  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
 37201  	urls += "?" + c.urlParams_.Encode()
 37202  	req, err := http.NewRequest("GET", urls, body)
 37203  	if err != nil {
 37204  		return nil, err
 37205  	}
 37206  	req.Header = reqHeaders
 37207  	googleapi.Expand(req.URL, map[string]string{
 37208  		"profileId": strconv.FormatInt(c.profileId, 10),
 37209  		"projectId": strconv.FormatInt(c.projectId, 10),
 37210  		"id":        strconv.FormatInt(c.id, 10),
 37211  	})
 37212  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37213  }
 37214  
 37215  // Do executes the "dfareporting.orders.get" call.
 37216  // Exactly one of *Order or error will be non-nil. Any non-2xx status
 37217  // code is an error. Response headers are in either
 37218  // *Order.ServerResponse.Header or (if a response was returned at all)
 37219  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 37220  // check whether the returned error was because http.StatusNotModified
 37221  // was returned.
 37222  func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
 37223  	gensupport.SetOptions(c.urlParams_, opts...)
 37224  	res, err := c.doRequest("json")
 37225  	if res != nil && res.StatusCode == http.StatusNotModified {
 37226  		if res.Body != nil {
 37227  			res.Body.Close()
 37228  		}
 37229  		return nil, &googleapi.Error{
 37230  			Code:   res.StatusCode,
 37231  			Header: res.Header,
 37232  		}
 37233  	}
 37234  	if err != nil {
 37235  		return nil, err
 37236  	}
 37237  	defer googleapi.CloseBody(res)
 37238  	if err := googleapi.CheckResponse(res); err != nil {
 37239  		return nil, err
 37240  	}
 37241  	ret := &Order{
 37242  		ServerResponse: googleapi.ServerResponse{
 37243  			Header:         res.Header,
 37244  			HTTPStatusCode: res.StatusCode,
 37245  		},
 37246  	}
 37247  	target := &ret
 37248  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37249  		return nil, err
 37250  	}
 37251  	return ret, nil
 37252  	// {
 37253  	//   "description": "Gets one order by ID.",
 37254  	//   "httpMethod": "GET",
 37255  	//   "id": "dfareporting.orders.get",
 37256  	//   "parameterOrder": [
 37257  	//     "profileId",
 37258  	//     "projectId",
 37259  	//     "id"
 37260  	//   ],
 37261  	//   "parameters": {
 37262  	//     "id": {
 37263  	//       "description": "Order ID.",
 37264  	//       "format": "int64",
 37265  	//       "location": "path",
 37266  	//       "required": true,
 37267  	//       "type": "string"
 37268  	//     },
 37269  	//     "profileId": {
 37270  	//       "description": "User profile ID associated with this request.",
 37271  	//       "format": "int64",
 37272  	//       "location": "path",
 37273  	//       "required": true,
 37274  	//       "type": "string"
 37275  	//     },
 37276  	//     "projectId": {
 37277  	//       "description": "Project ID for orders.",
 37278  	//       "format": "int64",
 37279  	//       "location": "path",
 37280  	//       "required": true,
 37281  	//       "type": "string"
 37282  	//     }
 37283  	//   },
 37284  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 37285  	//   "response": {
 37286  	//     "$ref": "Order"
 37287  	//   },
 37288  	//   "scopes": [
 37289  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37290  	//   ]
 37291  	// }
 37292  
 37293  }
 37294  
 37295  // method id "dfareporting.orders.list":
 37296  
 37297  type OrdersListCall struct {
 37298  	s            *Service
 37299  	profileId    int64
 37300  	projectId    int64
 37301  	urlParams_   gensupport.URLParams
 37302  	ifNoneMatch_ string
 37303  	ctx_         context.Context
 37304  	header_      http.Header
 37305  }
 37306  
 37307  // List: Retrieves a list of orders, possibly filtered. This method
 37308  // supports paging.
 37309  func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
 37310  	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37311  	c.profileId = profileId
 37312  	c.projectId = projectId
 37313  	return c
 37314  }
 37315  
 37316  // Ids sets the optional parameter "ids": Select only orders with these
 37317  // IDs.
 37318  func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
 37319  	var ids_ []string
 37320  	for _, v := range ids {
 37321  		ids_ = append(ids_, fmt.Sprint(v))
 37322  	}
 37323  	c.urlParams_.SetMulti("ids", ids_)
 37324  	return c
 37325  }
 37326  
 37327  // MaxResults sets the optional parameter "maxResults": Maximum number
 37328  // of results to return.
 37329  func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
 37330  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37331  	return c
 37332  }
 37333  
 37334  // PageToken sets the optional parameter "pageToken": Value of the
 37335  // nextPageToken from the previous result page.
 37336  func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
 37337  	c.urlParams_.Set("pageToken", pageToken)
 37338  	return c
 37339  }
 37340  
 37341  // SearchString sets the optional parameter "searchString": Allows
 37342  // searching for orders by name or ID. Wildcards (*) are allowed. For
 37343  // example, "order*2015" will return orders with names like "order June
 37344  // 2015", "order April 2015", or simply "order 2015". Most of the
 37345  // searches also add wildcards implicitly at the start and the end of
 37346  // the search string. For example, a search string of "order" will match
 37347  // orders with name "my order", "order 2015", or simply "order".
 37348  func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
 37349  	c.urlParams_.Set("searchString", searchString)
 37350  	return c
 37351  }
 37352  
 37353  // SiteId sets the optional parameter "siteId": Select only orders that
 37354  // are associated with these site IDs.
 37355  func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
 37356  	var siteId_ []string
 37357  	for _, v := range siteId {
 37358  		siteId_ = append(siteId_, fmt.Sprint(v))
 37359  	}
 37360  	c.urlParams_.SetMulti("siteId", siteId_)
 37361  	return c
 37362  }
 37363  
 37364  // SortField sets the optional parameter "sortField": Field by which to
 37365  // sort the list.
 37366  //
 37367  // Possible values:
 37368  //
 37369  //	"ID" (default)
 37370  //	"NAME"
 37371  func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
 37372  	c.urlParams_.Set("sortField", sortField)
 37373  	return c
 37374  }
 37375  
 37376  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 37377  // results.
 37378  //
 37379  // Possible values:
 37380  //
 37381  //	"ASCENDING" (default)
 37382  //	"DESCENDING"
 37383  func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
 37384  	c.urlParams_.Set("sortOrder", sortOrder)
 37385  	return c
 37386  }
 37387  
 37388  // Fields allows partial responses to be retrieved. See
 37389  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37390  // for more information.
 37391  func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
 37392  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37393  	return c
 37394  }
 37395  
 37396  // IfNoneMatch sets the optional parameter which makes the operation
 37397  // fail if the object's ETag matches the given value. This is useful for
 37398  // getting updates only after the object has changed since the last
 37399  // request. Use googleapi.IsNotModified to check whether the response
 37400  // error from Do is the result of In-None-Match.
 37401  func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
 37402  	c.ifNoneMatch_ = entityTag
 37403  	return c
 37404  }
 37405  
 37406  // Context sets the context to be used in this call's Do method. Any
 37407  // pending HTTP request will be aborted if the provided context is
 37408  // canceled.
 37409  func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 37410  	c.ctx_ = ctx
 37411  	return c
 37412  }
 37413  
 37414  // Header returns an http.Header that can be modified by the caller to
 37415  // add HTTP headers to the request.
 37416  func (c *OrdersListCall) Header() http.Header {
 37417  	if c.header_ == nil {
 37418  		c.header_ = make(http.Header)
 37419  	}
 37420  	return c.header_
 37421  }
 37422  
 37423  func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 37424  	reqHeaders := make(http.Header)
 37425  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37426  	for k, v := range c.header_ {
 37427  		reqHeaders[k] = v
 37428  	}
 37429  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37430  	if c.ifNoneMatch_ != "" {
 37431  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37432  	}
 37433  	var body io.Reader = nil
 37434  	c.urlParams_.Set("alt", alt)
 37435  	c.urlParams_.Set("prettyPrint", "false")
 37436  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
 37437  	urls += "?" + c.urlParams_.Encode()
 37438  	req, err := http.NewRequest("GET", urls, body)
 37439  	if err != nil {
 37440  		return nil, err
 37441  	}
 37442  	req.Header = reqHeaders
 37443  	googleapi.Expand(req.URL, map[string]string{
 37444  		"profileId": strconv.FormatInt(c.profileId, 10),
 37445  		"projectId": strconv.FormatInt(c.projectId, 10),
 37446  	})
 37447  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37448  }
 37449  
 37450  // Do executes the "dfareporting.orders.list" call.
 37451  // Exactly one of *OrdersListResponse or error will be non-nil. Any
 37452  // non-2xx status code is an error. Response headers are in either
 37453  // *OrdersListResponse.ServerResponse.Header or (if a response was
 37454  // returned at all) in error.(*googleapi.Error).Header. Use
 37455  // googleapi.IsNotModified to check whether the returned error was
 37456  // because http.StatusNotModified was returned.
 37457  func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
 37458  	gensupport.SetOptions(c.urlParams_, opts...)
 37459  	res, err := c.doRequest("json")
 37460  	if res != nil && res.StatusCode == http.StatusNotModified {
 37461  		if res.Body != nil {
 37462  			res.Body.Close()
 37463  		}
 37464  		return nil, &googleapi.Error{
 37465  			Code:   res.StatusCode,
 37466  			Header: res.Header,
 37467  		}
 37468  	}
 37469  	if err != nil {
 37470  		return nil, err
 37471  	}
 37472  	defer googleapi.CloseBody(res)
 37473  	if err := googleapi.CheckResponse(res); err != nil {
 37474  		return nil, err
 37475  	}
 37476  	ret := &OrdersListResponse{
 37477  		ServerResponse: googleapi.ServerResponse{
 37478  			Header:         res.Header,
 37479  			HTTPStatusCode: res.StatusCode,
 37480  		},
 37481  	}
 37482  	target := &ret
 37483  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37484  		return nil, err
 37485  	}
 37486  	return ret, nil
 37487  	// {
 37488  	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
 37489  	//   "httpMethod": "GET",
 37490  	//   "id": "dfareporting.orders.list",
 37491  	//   "parameterOrder": [
 37492  	//     "profileId",
 37493  	//     "projectId"
 37494  	//   ],
 37495  	//   "parameters": {
 37496  	//     "ids": {
 37497  	//       "description": "Select only orders with these IDs.",
 37498  	//       "format": "int64",
 37499  	//       "location": "query",
 37500  	//       "repeated": true,
 37501  	//       "type": "string"
 37502  	//     },
 37503  	//     "maxResults": {
 37504  	//       "default": "1000",
 37505  	//       "description": "Maximum number of results to return.",
 37506  	//       "format": "int32",
 37507  	//       "location": "query",
 37508  	//       "maximum": "1000",
 37509  	//       "minimum": "0",
 37510  	//       "type": "integer"
 37511  	//     },
 37512  	//     "pageToken": {
 37513  	//       "description": "Value of the nextPageToken from the previous result page.",
 37514  	//       "location": "query",
 37515  	//       "type": "string"
 37516  	//     },
 37517  	//     "profileId": {
 37518  	//       "description": "User profile ID associated with this request.",
 37519  	//       "format": "int64",
 37520  	//       "location": "path",
 37521  	//       "required": true,
 37522  	//       "type": "string"
 37523  	//     },
 37524  	//     "projectId": {
 37525  	//       "description": "Project ID for orders.",
 37526  	//       "format": "int64",
 37527  	//       "location": "path",
 37528  	//       "required": true,
 37529  	//       "type": "string"
 37530  	//     },
 37531  	//     "searchString": {
 37532  	//       "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\".",
 37533  	//       "location": "query",
 37534  	//       "type": "string"
 37535  	//     },
 37536  	//     "siteId": {
 37537  	//       "description": "Select only orders that are associated with these site IDs.",
 37538  	//       "format": "int64",
 37539  	//       "location": "query",
 37540  	//       "repeated": true,
 37541  	//       "type": "string"
 37542  	//     },
 37543  	//     "sortField": {
 37544  	//       "default": "ID",
 37545  	//       "description": "Field by which to sort the list.",
 37546  	//       "enum": [
 37547  	//         "ID",
 37548  	//         "NAME"
 37549  	//       ],
 37550  	//       "enumDescriptions": [
 37551  	//         "",
 37552  	//         ""
 37553  	//       ],
 37554  	//       "location": "query",
 37555  	//       "type": "string"
 37556  	//     },
 37557  	//     "sortOrder": {
 37558  	//       "default": "ASCENDING",
 37559  	//       "description": "Order of sorted results.",
 37560  	//       "enum": [
 37561  	//         "ASCENDING",
 37562  	//         "DESCENDING"
 37563  	//       ],
 37564  	//       "enumDescriptions": [
 37565  	//         "",
 37566  	//         ""
 37567  	//       ],
 37568  	//       "location": "query",
 37569  	//       "type": "string"
 37570  	//     }
 37571  	//   },
 37572  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
 37573  	//   "response": {
 37574  	//     "$ref": "OrdersListResponse"
 37575  	//   },
 37576  	//   "scopes": [
 37577  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37578  	//   ]
 37579  	// }
 37580  
 37581  }
 37582  
 37583  // Pages invokes f for each page of results.
 37584  // A non-nil error returned from f will halt the iteration.
 37585  // The provided context supersedes any context provided to the Context method.
 37586  func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
 37587  	c.ctx_ = ctx
 37588  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 37589  	for {
 37590  		x, err := c.Do()
 37591  		if err != nil {
 37592  			return err
 37593  		}
 37594  		if err := f(x); err != nil {
 37595  			return err
 37596  		}
 37597  		if x.NextPageToken == "" {
 37598  			return nil
 37599  		}
 37600  		c.PageToken(x.NextPageToken)
 37601  	}
 37602  }
 37603  
 37604  // method id "dfareporting.placementGroups.get":
 37605  
 37606  type PlacementGroupsGetCall struct {
 37607  	s            *Service
 37608  	profileId    int64
 37609  	id           int64
 37610  	urlParams_   gensupport.URLParams
 37611  	ifNoneMatch_ string
 37612  	ctx_         context.Context
 37613  	header_      http.Header
 37614  }
 37615  
 37616  // Get: Gets one placement group by ID.
 37617  func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
 37618  	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37619  	c.profileId = profileId
 37620  	c.id = id
 37621  	return c
 37622  }
 37623  
 37624  // Fields allows partial responses to be retrieved. See
 37625  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37626  // for more information.
 37627  func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
 37628  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37629  	return c
 37630  }
 37631  
 37632  // IfNoneMatch sets the optional parameter which makes the operation
 37633  // fail if the object's ETag matches the given value. This is useful for
 37634  // getting updates only after the object has changed since the last
 37635  // request. Use googleapi.IsNotModified to check whether the response
 37636  // error from Do is the result of In-None-Match.
 37637  func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
 37638  	c.ifNoneMatch_ = entityTag
 37639  	return c
 37640  }
 37641  
 37642  // Context sets the context to be used in this call's Do method. Any
 37643  // pending HTTP request will be aborted if the provided context is
 37644  // canceled.
 37645  func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 37646  	c.ctx_ = ctx
 37647  	return c
 37648  }
 37649  
 37650  // Header returns an http.Header that can be modified by the caller to
 37651  // add HTTP headers to the request.
 37652  func (c *PlacementGroupsGetCall) Header() http.Header {
 37653  	if c.header_ == nil {
 37654  		c.header_ = make(http.Header)
 37655  	}
 37656  	return c.header_
 37657  }
 37658  
 37659  func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 37660  	reqHeaders := make(http.Header)
 37661  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37662  	for k, v := range c.header_ {
 37663  		reqHeaders[k] = v
 37664  	}
 37665  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37666  	if c.ifNoneMatch_ != "" {
 37667  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37668  	}
 37669  	var body io.Reader = nil
 37670  	c.urlParams_.Set("alt", alt)
 37671  	c.urlParams_.Set("prettyPrint", "false")
 37672  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
 37673  	urls += "?" + c.urlParams_.Encode()
 37674  	req, err := http.NewRequest("GET", urls, body)
 37675  	if err != nil {
 37676  		return nil, err
 37677  	}
 37678  	req.Header = reqHeaders
 37679  	googleapi.Expand(req.URL, map[string]string{
 37680  		"profileId": strconv.FormatInt(c.profileId, 10),
 37681  		"id":        strconv.FormatInt(c.id, 10),
 37682  	})
 37683  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37684  }
 37685  
 37686  // Do executes the "dfareporting.placementGroups.get" call.
 37687  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 37688  // status code is an error. Response headers are in either
 37689  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 37690  // at all) in error.(*googleapi.Error).Header. Use
 37691  // googleapi.IsNotModified to check whether the returned error was
 37692  // because http.StatusNotModified was returned.
 37693  func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 37694  	gensupport.SetOptions(c.urlParams_, opts...)
 37695  	res, err := c.doRequest("json")
 37696  	if res != nil && res.StatusCode == http.StatusNotModified {
 37697  		if res.Body != nil {
 37698  			res.Body.Close()
 37699  		}
 37700  		return nil, &googleapi.Error{
 37701  			Code:   res.StatusCode,
 37702  			Header: res.Header,
 37703  		}
 37704  	}
 37705  	if err != nil {
 37706  		return nil, err
 37707  	}
 37708  	defer googleapi.CloseBody(res)
 37709  	if err := googleapi.CheckResponse(res); err != nil {
 37710  		return nil, err
 37711  	}
 37712  	ret := &PlacementGroup{
 37713  		ServerResponse: googleapi.ServerResponse{
 37714  			Header:         res.Header,
 37715  			HTTPStatusCode: res.StatusCode,
 37716  		},
 37717  	}
 37718  	target := &ret
 37719  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37720  		return nil, err
 37721  	}
 37722  	return ret, nil
 37723  	// {
 37724  	//   "description": "Gets one placement group by ID.",
 37725  	//   "httpMethod": "GET",
 37726  	//   "id": "dfareporting.placementGroups.get",
 37727  	//   "parameterOrder": [
 37728  	//     "profileId",
 37729  	//     "id"
 37730  	//   ],
 37731  	//   "parameters": {
 37732  	//     "id": {
 37733  	//       "description": "Placement group ID.",
 37734  	//       "format": "int64",
 37735  	//       "location": "path",
 37736  	//       "required": true,
 37737  	//       "type": "string"
 37738  	//     },
 37739  	//     "profileId": {
 37740  	//       "description": "User profile ID associated with this request.",
 37741  	//       "format": "int64",
 37742  	//       "location": "path",
 37743  	//       "required": true,
 37744  	//       "type": "string"
 37745  	//     }
 37746  	//   },
 37747  	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
 37748  	//   "response": {
 37749  	//     "$ref": "PlacementGroup"
 37750  	//   },
 37751  	//   "scopes": [
 37752  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37753  	//   ]
 37754  	// }
 37755  
 37756  }
 37757  
 37758  // method id "dfareporting.placementGroups.insert":
 37759  
 37760  type PlacementGroupsInsertCall struct {
 37761  	s              *Service
 37762  	profileId      int64
 37763  	placementgroup *PlacementGroup
 37764  	urlParams_     gensupport.URLParams
 37765  	ctx_           context.Context
 37766  	header_        http.Header
 37767  }
 37768  
 37769  // Insert: Inserts a new placement group.
 37770  func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
 37771  	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37772  	c.profileId = profileId
 37773  	c.placementgroup = placementgroup
 37774  	return c
 37775  }
 37776  
 37777  // Fields allows partial responses to be retrieved. See
 37778  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37779  // for more information.
 37780  func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
 37781  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37782  	return c
 37783  }
 37784  
 37785  // Context sets the context to be used in this call's Do method. Any
 37786  // pending HTTP request will be aborted if the provided context is
 37787  // canceled.
 37788  func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 37789  	c.ctx_ = ctx
 37790  	return c
 37791  }
 37792  
 37793  // Header returns an http.Header that can be modified by the caller to
 37794  // add HTTP headers to the request.
 37795  func (c *PlacementGroupsInsertCall) Header() http.Header {
 37796  	if c.header_ == nil {
 37797  		c.header_ = make(http.Header)
 37798  	}
 37799  	return c.header_
 37800  }
 37801  
 37802  func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 37803  	reqHeaders := make(http.Header)
 37804  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37805  	for k, v := range c.header_ {
 37806  		reqHeaders[k] = v
 37807  	}
 37808  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37809  	var body io.Reader = nil
 37810  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 37811  	if err != nil {
 37812  		return nil, err
 37813  	}
 37814  	reqHeaders.Set("Content-Type", "application/json")
 37815  	c.urlParams_.Set("alt", alt)
 37816  	c.urlParams_.Set("prettyPrint", "false")
 37817  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 37818  	urls += "?" + c.urlParams_.Encode()
 37819  	req, err := http.NewRequest("POST", urls, body)
 37820  	if err != nil {
 37821  		return nil, err
 37822  	}
 37823  	req.Header = reqHeaders
 37824  	googleapi.Expand(req.URL, map[string]string{
 37825  		"profileId": strconv.FormatInt(c.profileId, 10),
 37826  	})
 37827  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37828  }
 37829  
 37830  // Do executes the "dfareporting.placementGroups.insert" call.
 37831  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 37832  // status code is an error. Response headers are in either
 37833  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 37834  // at all) in error.(*googleapi.Error).Header. Use
 37835  // googleapi.IsNotModified to check whether the returned error was
 37836  // because http.StatusNotModified was returned.
 37837  func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 37838  	gensupport.SetOptions(c.urlParams_, opts...)
 37839  	res, err := c.doRequest("json")
 37840  	if res != nil && res.StatusCode == http.StatusNotModified {
 37841  		if res.Body != nil {
 37842  			res.Body.Close()
 37843  		}
 37844  		return nil, &googleapi.Error{
 37845  			Code:   res.StatusCode,
 37846  			Header: res.Header,
 37847  		}
 37848  	}
 37849  	if err != nil {
 37850  		return nil, err
 37851  	}
 37852  	defer googleapi.CloseBody(res)
 37853  	if err := googleapi.CheckResponse(res); err != nil {
 37854  		return nil, err
 37855  	}
 37856  	ret := &PlacementGroup{
 37857  		ServerResponse: googleapi.ServerResponse{
 37858  			Header:         res.Header,
 37859  			HTTPStatusCode: res.StatusCode,
 37860  		},
 37861  	}
 37862  	target := &ret
 37863  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37864  		return nil, err
 37865  	}
 37866  	return ret, nil
 37867  	// {
 37868  	//   "description": "Inserts a new placement group.",
 37869  	//   "httpMethod": "POST",
 37870  	//   "id": "dfareporting.placementGroups.insert",
 37871  	//   "parameterOrder": [
 37872  	//     "profileId"
 37873  	//   ],
 37874  	//   "parameters": {
 37875  	//     "profileId": {
 37876  	//       "description": "User profile ID associated with this request.",
 37877  	//       "format": "int64",
 37878  	//       "location": "path",
 37879  	//       "required": true,
 37880  	//       "type": "string"
 37881  	//     }
 37882  	//   },
 37883  	//   "path": "userprofiles/{profileId}/placementGroups",
 37884  	//   "request": {
 37885  	//     "$ref": "PlacementGroup"
 37886  	//   },
 37887  	//   "response": {
 37888  	//     "$ref": "PlacementGroup"
 37889  	//   },
 37890  	//   "scopes": [
 37891  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37892  	//   ]
 37893  	// }
 37894  
 37895  }
 37896  
 37897  // method id "dfareporting.placementGroups.list":
 37898  
 37899  type PlacementGroupsListCall struct {
 37900  	s            *Service
 37901  	profileId    int64
 37902  	urlParams_   gensupport.URLParams
 37903  	ifNoneMatch_ string
 37904  	ctx_         context.Context
 37905  	header_      http.Header
 37906  }
 37907  
 37908  // List: Retrieves a list of placement groups, possibly filtered. This
 37909  // method supports paging.
 37910  func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
 37911  	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37912  	c.profileId = profileId
 37913  	return c
 37914  }
 37915  
 37916  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 37917  // only placement groups that belong to these advertisers.
 37918  func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
 37919  	var advertiserIds_ []string
 37920  	for _, v := range advertiserIds {
 37921  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 37922  	}
 37923  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 37924  	return c
 37925  }
 37926  
 37927  // Archived sets the optional parameter "archived": Select only archived
 37928  // placements. Don't set this field to select both archived and
 37929  // non-archived placements.
 37930  func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
 37931  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 37932  	return c
 37933  }
 37934  
 37935  // CampaignIds sets the optional parameter "campaignIds": Select only
 37936  // placement groups that belong to these campaigns.
 37937  func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
 37938  	var campaignIds_ []string
 37939  	for _, v := range campaignIds {
 37940  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 37941  	}
 37942  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 37943  	return c
 37944  }
 37945  
 37946  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 37947  // Select only placement groups that are associated with these content
 37948  // categories.
 37949  func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
 37950  	var contentCategoryIds_ []string
 37951  	for _, v := range contentCategoryIds {
 37952  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 37953  	}
 37954  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 37955  	return c
 37956  }
 37957  
 37958  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 37959  // Select only placement groups that are associated with these directory
 37960  // sites.
 37961  func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
 37962  	var directorySiteIds_ []string
 37963  	for _, v := range directorySiteIds {
 37964  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 37965  	}
 37966  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 37967  	return c
 37968  }
 37969  
 37970  // Ids sets the optional parameter "ids": Select only placement groups
 37971  // with these IDs.
 37972  func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
 37973  	var ids_ []string
 37974  	for _, v := range ids {
 37975  		ids_ = append(ids_, fmt.Sprint(v))
 37976  	}
 37977  	c.urlParams_.SetMulti("ids", ids_)
 37978  	return c
 37979  }
 37980  
 37981  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 37982  // placements or placement groups whose end date is on or before the
 37983  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 37984  func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
 37985  	c.urlParams_.Set("maxEndDate", maxEndDate)
 37986  	return c
 37987  }
 37988  
 37989  // MaxResults sets the optional parameter "maxResults": Maximum number
 37990  // of results to return.
 37991  func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
 37992  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37993  	return c
 37994  }
 37995  
 37996  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 37997  // placements or placement groups whose start date is on or before the
 37998  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 37999  func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
 38000  	c.urlParams_.Set("maxStartDate", maxStartDate)
 38001  	return c
 38002  }
 38003  
 38004  // MinEndDate sets the optional parameter "minEndDate": Select only
 38005  // placements or placement groups whose end date is on or after the
 38006  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 38007  func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
 38008  	c.urlParams_.Set("minEndDate", minEndDate)
 38009  	return c
 38010  }
 38011  
 38012  // MinStartDate sets the optional parameter "minStartDate": Select only
 38013  // placements or placement groups whose start date is on or after the
 38014  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 38015  func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
 38016  	c.urlParams_.Set("minStartDate", minStartDate)
 38017  	return c
 38018  }
 38019  
 38020  // PageToken sets the optional parameter "pageToken": Value of the
 38021  // nextPageToken from the previous result page.
 38022  func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
 38023  	c.urlParams_.Set("pageToken", pageToken)
 38024  	return c
 38025  }
 38026  
 38027  // PlacementGroupType sets the optional parameter "placementGroupType":
 38028  // Select only placement groups belonging with this group type. A
 38029  // package is a simple group of placements that acts as a single pricing
 38030  // point for a group of tags. A roadblock is a group of placements that
 38031  // not only acts as a single pricing point but also assumes that all the
 38032  // tags in it will be served at the same time. A roadblock requires one
 38033  // of its assigned placements to be marked as primary for reporting.
 38034  //
 38035  // Possible values:
 38036  //
 38037  //	"PLACEMENT_PACKAGE"
 38038  //	"PLACEMENT_ROADBLOCK"
 38039  func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
 38040  	c.urlParams_.Set("placementGroupType", placementGroupType)
 38041  	return c
 38042  }
 38043  
 38044  // PlacementStrategyIds sets the optional parameter
 38045  // "placementStrategyIds": Select only placement groups that are
 38046  // associated with these placement strategies.
 38047  func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
 38048  	var placementStrategyIds_ []string
 38049  	for _, v := range placementStrategyIds {
 38050  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 38051  	}
 38052  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 38053  	return c
 38054  }
 38055  
 38056  // PricingTypes sets the optional parameter "pricingTypes": Select only
 38057  // placement groups with these pricing types.
 38058  //
 38059  // Possible values:
 38060  //
 38061  //	"PRICING_TYPE_CPA"
 38062  //	"PRICING_TYPE_CPC"
 38063  //	"PRICING_TYPE_CPM"
 38064  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 38065  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 38066  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 38067  func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
 38068  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 38069  	return c
 38070  }
 38071  
 38072  // SearchString sets the optional parameter "searchString": Allows
 38073  // searching for placement groups by name or ID. Wildcards (*) are
 38074  // allowed. For example, "placement*2015" will return placement groups
 38075  // with names like "placement group June 2015", "placement group May
 38076  // 2015", or simply "placements 2015". Most of the searches also add
 38077  // wildcards implicitly at the start and the end of the search string.
 38078  // For example, a search string of "placementgroup" will match placement
 38079  // groups with name "my placementgroup", "placementgroup 2015", or
 38080  // simply "placementgroup".
 38081  func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
 38082  	c.urlParams_.Set("searchString", searchString)
 38083  	return c
 38084  }
 38085  
 38086  // SiteIds sets the optional parameter "siteIds": Select only placement
 38087  // groups that are associated with these sites.
 38088  func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
 38089  	var siteIds_ []string
 38090  	for _, v := range siteIds {
 38091  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 38092  	}
 38093  	c.urlParams_.SetMulti("siteIds", siteIds_)
 38094  	return c
 38095  }
 38096  
 38097  // SortField sets the optional parameter "sortField": Field by which to
 38098  // sort the list.
 38099  //
 38100  // Possible values:
 38101  //
 38102  //	"ID" (default)
 38103  //	"NAME"
 38104  func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
 38105  	c.urlParams_.Set("sortField", sortField)
 38106  	return c
 38107  }
 38108  
 38109  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 38110  // results.
 38111  //
 38112  // Possible values:
 38113  //
 38114  //	"ASCENDING" (default)
 38115  //	"DESCENDING"
 38116  func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
 38117  	c.urlParams_.Set("sortOrder", sortOrder)
 38118  	return c
 38119  }
 38120  
 38121  // Fields allows partial responses to be retrieved. See
 38122  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38123  // for more information.
 38124  func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
 38125  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38126  	return c
 38127  }
 38128  
 38129  // IfNoneMatch sets the optional parameter which makes the operation
 38130  // fail if the object's ETag matches the given value. This is useful for
 38131  // getting updates only after the object has changed since the last
 38132  // request. Use googleapi.IsNotModified to check whether the response
 38133  // error from Do is the result of In-None-Match.
 38134  func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
 38135  	c.ifNoneMatch_ = entityTag
 38136  	return c
 38137  }
 38138  
 38139  // Context sets the context to be used in this call's Do method. Any
 38140  // pending HTTP request will be aborted if the provided context is
 38141  // canceled.
 38142  func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 38143  	c.ctx_ = ctx
 38144  	return c
 38145  }
 38146  
 38147  // Header returns an http.Header that can be modified by the caller to
 38148  // add HTTP headers to the request.
 38149  func (c *PlacementGroupsListCall) Header() http.Header {
 38150  	if c.header_ == nil {
 38151  		c.header_ = make(http.Header)
 38152  	}
 38153  	return c.header_
 38154  }
 38155  
 38156  func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 38157  	reqHeaders := make(http.Header)
 38158  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38159  	for k, v := range c.header_ {
 38160  		reqHeaders[k] = v
 38161  	}
 38162  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38163  	if c.ifNoneMatch_ != "" {
 38164  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38165  	}
 38166  	var body io.Reader = nil
 38167  	c.urlParams_.Set("alt", alt)
 38168  	c.urlParams_.Set("prettyPrint", "false")
 38169  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38170  	urls += "?" + c.urlParams_.Encode()
 38171  	req, err := http.NewRequest("GET", urls, body)
 38172  	if err != nil {
 38173  		return nil, err
 38174  	}
 38175  	req.Header = reqHeaders
 38176  	googleapi.Expand(req.URL, map[string]string{
 38177  		"profileId": strconv.FormatInt(c.profileId, 10),
 38178  	})
 38179  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38180  }
 38181  
 38182  // Do executes the "dfareporting.placementGroups.list" call.
 38183  // Exactly one of *PlacementGroupsListResponse or error will be non-nil.
 38184  // Any non-2xx status code is an error. Response headers are in either
 38185  // *PlacementGroupsListResponse.ServerResponse.Header or (if a response
 38186  // was returned at all) in error.(*googleapi.Error).Header. Use
 38187  // googleapi.IsNotModified to check whether the returned error was
 38188  // because http.StatusNotModified was returned.
 38189  func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
 38190  	gensupport.SetOptions(c.urlParams_, opts...)
 38191  	res, err := c.doRequest("json")
 38192  	if res != nil && res.StatusCode == http.StatusNotModified {
 38193  		if res.Body != nil {
 38194  			res.Body.Close()
 38195  		}
 38196  		return nil, &googleapi.Error{
 38197  			Code:   res.StatusCode,
 38198  			Header: res.Header,
 38199  		}
 38200  	}
 38201  	if err != nil {
 38202  		return nil, err
 38203  	}
 38204  	defer googleapi.CloseBody(res)
 38205  	if err := googleapi.CheckResponse(res); err != nil {
 38206  		return nil, err
 38207  	}
 38208  	ret := &PlacementGroupsListResponse{
 38209  		ServerResponse: googleapi.ServerResponse{
 38210  			Header:         res.Header,
 38211  			HTTPStatusCode: res.StatusCode,
 38212  		},
 38213  	}
 38214  	target := &ret
 38215  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38216  		return nil, err
 38217  	}
 38218  	return ret, nil
 38219  	// {
 38220  	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
 38221  	//   "httpMethod": "GET",
 38222  	//   "id": "dfareporting.placementGroups.list",
 38223  	//   "parameterOrder": [
 38224  	//     "profileId"
 38225  	//   ],
 38226  	//   "parameters": {
 38227  	//     "advertiserIds": {
 38228  	//       "description": "Select only placement groups that belong to these advertisers.",
 38229  	//       "format": "int64",
 38230  	//       "location": "query",
 38231  	//       "repeated": true,
 38232  	//       "type": "string"
 38233  	//     },
 38234  	//     "archived": {
 38235  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 38236  	//       "location": "query",
 38237  	//       "type": "boolean"
 38238  	//     },
 38239  	//     "campaignIds": {
 38240  	//       "description": "Select only placement groups that belong to these campaigns.",
 38241  	//       "format": "int64",
 38242  	//       "location": "query",
 38243  	//       "repeated": true,
 38244  	//       "type": "string"
 38245  	//     },
 38246  	//     "contentCategoryIds": {
 38247  	//       "description": "Select only placement groups that are associated with these content categories.",
 38248  	//       "format": "int64",
 38249  	//       "location": "query",
 38250  	//       "repeated": true,
 38251  	//       "type": "string"
 38252  	//     },
 38253  	//     "directorySiteIds": {
 38254  	//       "description": "Select only placement groups that are associated with these directory sites.",
 38255  	//       "format": "int64",
 38256  	//       "location": "query",
 38257  	//       "repeated": true,
 38258  	//       "type": "string"
 38259  	//     },
 38260  	//     "ids": {
 38261  	//       "description": "Select only placement groups with these IDs.",
 38262  	//       "format": "int64",
 38263  	//       "location": "query",
 38264  	//       "repeated": true,
 38265  	//       "type": "string"
 38266  	//     },
 38267  	//     "maxEndDate": {
 38268  	//       "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\".",
 38269  	//       "location": "query",
 38270  	//       "type": "string"
 38271  	//     },
 38272  	//     "maxResults": {
 38273  	//       "default": "800",
 38274  	//       "description": "Maximum number of results to return.",
 38275  	//       "format": "int32",
 38276  	//       "location": "query",
 38277  	//       "maximum": "800",
 38278  	//       "minimum": "0",
 38279  	//       "type": "integer"
 38280  	//     },
 38281  	//     "maxStartDate": {
 38282  	//       "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\".",
 38283  	//       "location": "query",
 38284  	//       "type": "string"
 38285  	//     },
 38286  	//     "minEndDate": {
 38287  	//       "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\".",
 38288  	//       "location": "query",
 38289  	//       "type": "string"
 38290  	//     },
 38291  	//     "minStartDate": {
 38292  	//       "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\".",
 38293  	//       "location": "query",
 38294  	//       "type": "string"
 38295  	//     },
 38296  	//     "pageToken": {
 38297  	//       "description": "Value of the nextPageToken from the previous result page.",
 38298  	//       "location": "query",
 38299  	//       "type": "string"
 38300  	//     },
 38301  	//     "placementGroupType": {
 38302  	//       "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.",
 38303  	//       "enum": [
 38304  	//         "PLACEMENT_PACKAGE",
 38305  	//         "PLACEMENT_ROADBLOCK"
 38306  	//       ],
 38307  	//       "enumDescriptions": [
 38308  	//         "",
 38309  	//         ""
 38310  	//       ],
 38311  	//       "location": "query",
 38312  	//       "type": "string"
 38313  	//     },
 38314  	//     "placementStrategyIds": {
 38315  	//       "description": "Select only placement groups that are associated with these placement strategies.",
 38316  	//       "format": "int64",
 38317  	//       "location": "query",
 38318  	//       "repeated": true,
 38319  	//       "type": "string"
 38320  	//     },
 38321  	//     "pricingTypes": {
 38322  	//       "description": "Select only placement groups with these pricing types.",
 38323  	//       "enum": [
 38324  	//         "PRICING_TYPE_CPA",
 38325  	//         "PRICING_TYPE_CPC",
 38326  	//         "PRICING_TYPE_CPM",
 38327  	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
 38328  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 38329  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 38330  	//       ],
 38331  	//       "enumDescriptions": [
 38332  	//         "",
 38333  	//         "",
 38334  	//         "",
 38335  	//         "",
 38336  	//         "",
 38337  	//         ""
 38338  	//       ],
 38339  	//       "location": "query",
 38340  	//       "repeated": true,
 38341  	//       "type": "string"
 38342  	//     },
 38343  	//     "profileId": {
 38344  	//       "description": "User profile ID associated with this request.",
 38345  	//       "format": "int64",
 38346  	//       "location": "path",
 38347  	//       "required": true,
 38348  	//       "type": "string"
 38349  	//     },
 38350  	//     "searchString": {
 38351  	//       "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\".",
 38352  	//       "location": "query",
 38353  	//       "type": "string"
 38354  	//     },
 38355  	//     "siteIds": {
 38356  	//       "description": "Select only placement groups that are associated with these sites.",
 38357  	//       "format": "int64",
 38358  	//       "location": "query",
 38359  	//       "repeated": true,
 38360  	//       "type": "string"
 38361  	//     },
 38362  	//     "sortField": {
 38363  	//       "default": "ID",
 38364  	//       "description": "Field by which to sort the list.",
 38365  	//       "enum": [
 38366  	//         "ID",
 38367  	//         "NAME"
 38368  	//       ],
 38369  	//       "enumDescriptions": [
 38370  	//         "",
 38371  	//         ""
 38372  	//       ],
 38373  	//       "location": "query",
 38374  	//       "type": "string"
 38375  	//     },
 38376  	//     "sortOrder": {
 38377  	//       "default": "ASCENDING",
 38378  	//       "description": "Order of sorted results.",
 38379  	//       "enum": [
 38380  	//         "ASCENDING",
 38381  	//         "DESCENDING"
 38382  	//       ],
 38383  	//       "enumDescriptions": [
 38384  	//         "",
 38385  	//         ""
 38386  	//       ],
 38387  	//       "location": "query",
 38388  	//       "type": "string"
 38389  	//     }
 38390  	//   },
 38391  	//   "path": "userprofiles/{profileId}/placementGroups",
 38392  	//   "response": {
 38393  	//     "$ref": "PlacementGroupsListResponse"
 38394  	//   },
 38395  	//   "scopes": [
 38396  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38397  	//   ]
 38398  	// }
 38399  
 38400  }
 38401  
 38402  // Pages invokes f for each page of results.
 38403  // A non-nil error returned from f will halt the iteration.
 38404  // The provided context supersedes any context provided to the Context method.
 38405  func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
 38406  	c.ctx_ = ctx
 38407  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 38408  	for {
 38409  		x, err := c.Do()
 38410  		if err != nil {
 38411  			return err
 38412  		}
 38413  		if err := f(x); err != nil {
 38414  			return err
 38415  		}
 38416  		if x.NextPageToken == "" {
 38417  			return nil
 38418  		}
 38419  		c.PageToken(x.NextPageToken)
 38420  	}
 38421  }
 38422  
 38423  // method id "dfareporting.placementGroups.patch":
 38424  
 38425  type PlacementGroupsPatchCall struct {
 38426  	s              *Service
 38427  	profileId      int64
 38428  	placementgroup *PlacementGroup
 38429  	urlParams_     gensupport.URLParams
 38430  	ctx_           context.Context
 38431  	header_        http.Header
 38432  }
 38433  
 38434  // Patch: Updates an existing placement group. This method supports
 38435  // patch semantics.
 38436  func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
 38437  	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38438  	c.profileId = profileId
 38439  	c.urlParams_.Set("id", fmt.Sprint(id))
 38440  	c.placementgroup = placementgroup
 38441  	return c
 38442  }
 38443  
 38444  // Fields allows partial responses to be retrieved. See
 38445  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38446  // for more information.
 38447  func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
 38448  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38449  	return c
 38450  }
 38451  
 38452  // Context sets the context to be used in this call's Do method. Any
 38453  // pending HTTP request will be aborted if the provided context is
 38454  // canceled.
 38455  func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 38456  	c.ctx_ = ctx
 38457  	return c
 38458  }
 38459  
 38460  // Header returns an http.Header that can be modified by the caller to
 38461  // add HTTP headers to the request.
 38462  func (c *PlacementGroupsPatchCall) Header() http.Header {
 38463  	if c.header_ == nil {
 38464  		c.header_ = make(http.Header)
 38465  	}
 38466  	return c.header_
 38467  }
 38468  
 38469  func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 38470  	reqHeaders := make(http.Header)
 38471  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38472  	for k, v := range c.header_ {
 38473  		reqHeaders[k] = v
 38474  	}
 38475  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38476  	var body io.Reader = nil
 38477  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38478  	if err != nil {
 38479  		return nil, err
 38480  	}
 38481  	reqHeaders.Set("Content-Type", "application/json")
 38482  	c.urlParams_.Set("alt", alt)
 38483  	c.urlParams_.Set("prettyPrint", "false")
 38484  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38485  	urls += "?" + c.urlParams_.Encode()
 38486  	req, err := http.NewRequest("PATCH", urls, body)
 38487  	if err != nil {
 38488  		return nil, err
 38489  	}
 38490  	req.Header = reqHeaders
 38491  	googleapi.Expand(req.URL, map[string]string{
 38492  		"profileId": strconv.FormatInt(c.profileId, 10),
 38493  	})
 38494  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38495  }
 38496  
 38497  // Do executes the "dfareporting.placementGroups.patch" call.
 38498  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38499  // status code is an error. Response headers are in either
 38500  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38501  // at all) in error.(*googleapi.Error).Header. Use
 38502  // googleapi.IsNotModified to check whether the returned error was
 38503  // because http.StatusNotModified was returned.
 38504  func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38505  	gensupport.SetOptions(c.urlParams_, opts...)
 38506  	res, err := c.doRequest("json")
 38507  	if res != nil && res.StatusCode == http.StatusNotModified {
 38508  		if res.Body != nil {
 38509  			res.Body.Close()
 38510  		}
 38511  		return nil, &googleapi.Error{
 38512  			Code:   res.StatusCode,
 38513  			Header: res.Header,
 38514  		}
 38515  	}
 38516  	if err != nil {
 38517  		return nil, err
 38518  	}
 38519  	defer googleapi.CloseBody(res)
 38520  	if err := googleapi.CheckResponse(res); err != nil {
 38521  		return nil, err
 38522  	}
 38523  	ret := &PlacementGroup{
 38524  		ServerResponse: googleapi.ServerResponse{
 38525  			Header:         res.Header,
 38526  			HTTPStatusCode: res.StatusCode,
 38527  		},
 38528  	}
 38529  	target := &ret
 38530  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38531  		return nil, err
 38532  	}
 38533  	return ret, nil
 38534  	// {
 38535  	//   "description": "Updates an existing placement group. This method supports patch semantics.",
 38536  	//   "httpMethod": "PATCH",
 38537  	//   "id": "dfareporting.placementGroups.patch",
 38538  	//   "parameterOrder": [
 38539  	//     "profileId",
 38540  	//     "id"
 38541  	//   ],
 38542  	//   "parameters": {
 38543  	//     "id": {
 38544  	//       "description": "Placement group ID.",
 38545  	//       "format": "int64",
 38546  	//       "location": "query",
 38547  	//       "required": true,
 38548  	//       "type": "string"
 38549  	//     },
 38550  	//     "profileId": {
 38551  	//       "description": "User profile ID associated with this request.",
 38552  	//       "format": "int64",
 38553  	//       "location": "path",
 38554  	//       "required": true,
 38555  	//       "type": "string"
 38556  	//     }
 38557  	//   },
 38558  	//   "path": "userprofiles/{profileId}/placementGroups",
 38559  	//   "request": {
 38560  	//     "$ref": "PlacementGroup"
 38561  	//   },
 38562  	//   "response": {
 38563  	//     "$ref": "PlacementGroup"
 38564  	//   },
 38565  	//   "scopes": [
 38566  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38567  	//   ]
 38568  	// }
 38569  
 38570  }
 38571  
 38572  // method id "dfareporting.placementGroups.update":
 38573  
 38574  type PlacementGroupsUpdateCall struct {
 38575  	s              *Service
 38576  	profileId      int64
 38577  	placementgroup *PlacementGroup
 38578  	urlParams_     gensupport.URLParams
 38579  	ctx_           context.Context
 38580  	header_        http.Header
 38581  }
 38582  
 38583  // Update: Updates an existing placement group.
 38584  func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
 38585  	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38586  	c.profileId = profileId
 38587  	c.placementgroup = placementgroup
 38588  	return c
 38589  }
 38590  
 38591  // Fields allows partial responses to be retrieved. See
 38592  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38593  // for more information.
 38594  func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
 38595  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38596  	return c
 38597  }
 38598  
 38599  // Context sets the context to be used in this call's Do method. Any
 38600  // pending HTTP request will be aborted if the provided context is
 38601  // canceled.
 38602  func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 38603  	c.ctx_ = ctx
 38604  	return c
 38605  }
 38606  
 38607  // Header returns an http.Header that can be modified by the caller to
 38608  // add HTTP headers to the request.
 38609  func (c *PlacementGroupsUpdateCall) Header() http.Header {
 38610  	if c.header_ == nil {
 38611  		c.header_ = make(http.Header)
 38612  	}
 38613  	return c.header_
 38614  }
 38615  
 38616  func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 38617  	reqHeaders := make(http.Header)
 38618  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38619  	for k, v := range c.header_ {
 38620  		reqHeaders[k] = v
 38621  	}
 38622  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38623  	var body io.Reader = nil
 38624  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38625  	if err != nil {
 38626  		return nil, err
 38627  	}
 38628  	reqHeaders.Set("Content-Type", "application/json")
 38629  	c.urlParams_.Set("alt", alt)
 38630  	c.urlParams_.Set("prettyPrint", "false")
 38631  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38632  	urls += "?" + c.urlParams_.Encode()
 38633  	req, err := http.NewRequest("PUT", urls, body)
 38634  	if err != nil {
 38635  		return nil, err
 38636  	}
 38637  	req.Header = reqHeaders
 38638  	googleapi.Expand(req.URL, map[string]string{
 38639  		"profileId": strconv.FormatInt(c.profileId, 10),
 38640  	})
 38641  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38642  }
 38643  
 38644  // Do executes the "dfareporting.placementGroups.update" call.
 38645  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38646  // status code is an error. Response headers are in either
 38647  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38648  // at all) in error.(*googleapi.Error).Header. Use
 38649  // googleapi.IsNotModified to check whether the returned error was
 38650  // because http.StatusNotModified was returned.
 38651  func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38652  	gensupport.SetOptions(c.urlParams_, opts...)
 38653  	res, err := c.doRequest("json")
 38654  	if res != nil && res.StatusCode == http.StatusNotModified {
 38655  		if res.Body != nil {
 38656  			res.Body.Close()
 38657  		}
 38658  		return nil, &googleapi.Error{
 38659  			Code:   res.StatusCode,
 38660  			Header: res.Header,
 38661  		}
 38662  	}
 38663  	if err != nil {
 38664  		return nil, err
 38665  	}
 38666  	defer googleapi.CloseBody(res)
 38667  	if err := googleapi.CheckResponse(res); err != nil {
 38668  		return nil, err
 38669  	}
 38670  	ret := &PlacementGroup{
 38671  		ServerResponse: googleapi.ServerResponse{
 38672  			Header:         res.Header,
 38673  			HTTPStatusCode: res.StatusCode,
 38674  		},
 38675  	}
 38676  	target := &ret
 38677  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38678  		return nil, err
 38679  	}
 38680  	return ret, nil
 38681  	// {
 38682  	//   "description": "Updates an existing placement group.",
 38683  	//   "httpMethod": "PUT",
 38684  	//   "id": "dfareporting.placementGroups.update",
 38685  	//   "parameterOrder": [
 38686  	//     "profileId"
 38687  	//   ],
 38688  	//   "parameters": {
 38689  	//     "profileId": {
 38690  	//       "description": "User profile ID associated with this request.",
 38691  	//       "format": "int64",
 38692  	//       "location": "path",
 38693  	//       "required": true,
 38694  	//       "type": "string"
 38695  	//     }
 38696  	//   },
 38697  	//   "path": "userprofiles/{profileId}/placementGroups",
 38698  	//   "request": {
 38699  	//     "$ref": "PlacementGroup"
 38700  	//   },
 38701  	//   "response": {
 38702  	//     "$ref": "PlacementGroup"
 38703  	//   },
 38704  	//   "scopes": [
 38705  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38706  	//   ]
 38707  	// }
 38708  
 38709  }
 38710  
 38711  // method id "dfareporting.placementStrategies.delete":
 38712  
 38713  type PlacementStrategiesDeleteCall struct {
 38714  	s          *Service
 38715  	profileId  int64
 38716  	id         int64
 38717  	urlParams_ gensupport.URLParams
 38718  	ctx_       context.Context
 38719  	header_    http.Header
 38720  }
 38721  
 38722  // Delete: Deletes an existing placement strategy.
 38723  func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
 38724  	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38725  	c.profileId = profileId
 38726  	c.id = id
 38727  	return c
 38728  }
 38729  
 38730  // Fields allows partial responses to be retrieved. See
 38731  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38732  // for more information.
 38733  func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
 38734  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38735  	return c
 38736  }
 38737  
 38738  // Context sets the context to be used in this call's Do method. Any
 38739  // pending HTTP request will be aborted if the provided context is
 38740  // canceled.
 38741  func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 38742  	c.ctx_ = ctx
 38743  	return c
 38744  }
 38745  
 38746  // Header returns an http.Header that can be modified by the caller to
 38747  // add HTTP headers to the request.
 38748  func (c *PlacementStrategiesDeleteCall) Header() http.Header {
 38749  	if c.header_ == nil {
 38750  		c.header_ = make(http.Header)
 38751  	}
 38752  	return c.header_
 38753  }
 38754  
 38755  func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 38756  	reqHeaders := make(http.Header)
 38757  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38758  	for k, v := range c.header_ {
 38759  		reqHeaders[k] = v
 38760  	}
 38761  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38762  	var body io.Reader = nil
 38763  	c.urlParams_.Set("alt", alt)
 38764  	c.urlParams_.Set("prettyPrint", "false")
 38765  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 38766  	urls += "?" + c.urlParams_.Encode()
 38767  	req, err := http.NewRequest("DELETE", urls, body)
 38768  	if err != nil {
 38769  		return nil, err
 38770  	}
 38771  	req.Header = reqHeaders
 38772  	googleapi.Expand(req.URL, map[string]string{
 38773  		"profileId": strconv.FormatInt(c.profileId, 10),
 38774  		"id":        strconv.FormatInt(c.id, 10),
 38775  	})
 38776  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38777  }
 38778  
 38779  // Do executes the "dfareporting.placementStrategies.delete" call.
 38780  func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 38781  	gensupport.SetOptions(c.urlParams_, opts...)
 38782  	res, err := c.doRequest("json")
 38783  	if err != nil {
 38784  		return err
 38785  	}
 38786  	defer googleapi.CloseBody(res)
 38787  	if err := googleapi.CheckResponse(res); err != nil {
 38788  		return err
 38789  	}
 38790  	return nil
 38791  	// {
 38792  	//   "description": "Deletes an existing placement strategy.",
 38793  	//   "httpMethod": "DELETE",
 38794  	//   "id": "dfareporting.placementStrategies.delete",
 38795  	//   "parameterOrder": [
 38796  	//     "profileId",
 38797  	//     "id"
 38798  	//   ],
 38799  	//   "parameters": {
 38800  	//     "id": {
 38801  	//       "description": "Placement strategy ID.",
 38802  	//       "format": "int64",
 38803  	//       "location": "path",
 38804  	//       "required": true,
 38805  	//       "type": "string"
 38806  	//     },
 38807  	//     "profileId": {
 38808  	//       "description": "User profile ID associated with this request.",
 38809  	//       "format": "int64",
 38810  	//       "location": "path",
 38811  	//       "required": true,
 38812  	//       "type": "string"
 38813  	//     }
 38814  	//   },
 38815  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 38816  	//   "scopes": [
 38817  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38818  	//   ]
 38819  	// }
 38820  
 38821  }
 38822  
 38823  // method id "dfareporting.placementStrategies.get":
 38824  
 38825  type PlacementStrategiesGetCall struct {
 38826  	s            *Service
 38827  	profileId    int64
 38828  	id           int64
 38829  	urlParams_   gensupport.URLParams
 38830  	ifNoneMatch_ string
 38831  	ctx_         context.Context
 38832  	header_      http.Header
 38833  }
 38834  
 38835  // Get: Gets one placement strategy by ID.
 38836  func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
 38837  	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38838  	c.profileId = profileId
 38839  	c.id = id
 38840  	return c
 38841  }
 38842  
 38843  // Fields allows partial responses to be retrieved. See
 38844  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38845  // for more information.
 38846  func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
 38847  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38848  	return c
 38849  }
 38850  
 38851  // IfNoneMatch sets the optional parameter which makes the operation
 38852  // fail if the object's ETag matches the given value. This is useful for
 38853  // getting updates only after the object has changed since the last
 38854  // request. Use googleapi.IsNotModified to check whether the response
 38855  // error from Do is the result of In-None-Match.
 38856  func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
 38857  	c.ifNoneMatch_ = entityTag
 38858  	return c
 38859  }
 38860  
 38861  // Context sets the context to be used in this call's Do method. Any
 38862  // pending HTTP request will be aborted if the provided context is
 38863  // canceled.
 38864  func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 38865  	c.ctx_ = ctx
 38866  	return c
 38867  }
 38868  
 38869  // Header returns an http.Header that can be modified by the caller to
 38870  // add HTTP headers to the request.
 38871  func (c *PlacementStrategiesGetCall) Header() http.Header {
 38872  	if c.header_ == nil {
 38873  		c.header_ = make(http.Header)
 38874  	}
 38875  	return c.header_
 38876  }
 38877  
 38878  func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 38879  	reqHeaders := make(http.Header)
 38880  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38881  	for k, v := range c.header_ {
 38882  		reqHeaders[k] = v
 38883  	}
 38884  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38885  	if c.ifNoneMatch_ != "" {
 38886  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38887  	}
 38888  	var body io.Reader = nil
 38889  	c.urlParams_.Set("alt", alt)
 38890  	c.urlParams_.Set("prettyPrint", "false")
 38891  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 38892  	urls += "?" + c.urlParams_.Encode()
 38893  	req, err := http.NewRequest("GET", urls, body)
 38894  	if err != nil {
 38895  		return nil, err
 38896  	}
 38897  	req.Header = reqHeaders
 38898  	googleapi.Expand(req.URL, map[string]string{
 38899  		"profileId": strconv.FormatInt(c.profileId, 10),
 38900  		"id":        strconv.FormatInt(c.id, 10),
 38901  	})
 38902  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38903  }
 38904  
 38905  // Do executes the "dfareporting.placementStrategies.get" call.
 38906  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 38907  // non-2xx status code is an error. Response headers are in either
 38908  // *PlacementStrategy.ServerResponse.Header or (if a response was
 38909  // returned at all) in error.(*googleapi.Error).Header. Use
 38910  // googleapi.IsNotModified to check whether the returned error was
 38911  // because http.StatusNotModified was returned.
 38912  func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 38913  	gensupport.SetOptions(c.urlParams_, opts...)
 38914  	res, err := c.doRequest("json")
 38915  	if res != nil && res.StatusCode == http.StatusNotModified {
 38916  		if res.Body != nil {
 38917  			res.Body.Close()
 38918  		}
 38919  		return nil, &googleapi.Error{
 38920  			Code:   res.StatusCode,
 38921  			Header: res.Header,
 38922  		}
 38923  	}
 38924  	if err != nil {
 38925  		return nil, err
 38926  	}
 38927  	defer googleapi.CloseBody(res)
 38928  	if err := googleapi.CheckResponse(res); err != nil {
 38929  		return nil, err
 38930  	}
 38931  	ret := &PlacementStrategy{
 38932  		ServerResponse: googleapi.ServerResponse{
 38933  			Header:         res.Header,
 38934  			HTTPStatusCode: res.StatusCode,
 38935  		},
 38936  	}
 38937  	target := &ret
 38938  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38939  		return nil, err
 38940  	}
 38941  	return ret, nil
 38942  	// {
 38943  	//   "description": "Gets one placement strategy by ID.",
 38944  	//   "httpMethod": "GET",
 38945  	//   "id": "dfareporting.placementStrategies.get",
 38946  	//   "parameterOrder": [
 38947  	//     "profileId",
 38948  	//     "id"
 38949  	//   ],
 38950  	//   "parameters": {
 38951  	//     "id": {
 38952  	//       "description": "Placement strategy ID.",
 38953  	//       "format": "int64",
 38954  	//       "location": "path",
 38955  	//       "required": true,
 38956  	//       "type": "string"
 38957  	//     },
 38958  	//     "profileId": {
 38959  	//       "description": "User profile ID associated with this request.",
 38960  	//       "format": "int64",
 38961  	//       "location": "path",
 38962  	//       "required": true,
 38963  	//       "type": "string"
 38964  	//     }
 38965  	//   },
 38966  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 38967  	//   "response": {
 38968  	//     "$ref": "PlacementStrategy"
 38969  	//   },
 38970  	//   "scopes": [
 38971  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38972  	//   ]
 38973  	// }
 38974  
 38975  }
 38976  
 38977  // method id "dfareporting.placementStrategies.insert":
 38978  
 38979  type PlacementStrategiesInsertCall struct {
 38980  	s                 *Service
 38981  	profileId         int64
 38982  	placementstrategy *PlacementStrategy
 38983  	urlParams_        gensupport.URLParams
 38984  	ctx_              context.Context
 38985  	header_           http.Header
 38986  }
 38987  
 38988  // Insert: Inserts a new placement strategy.
 38989  func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
 38990  	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38991  	c.profileId = profileId
 38992  	c.placementstrategy = placementstrategy
 38993  	return c
 38994  }
 38995  
 38996  // Fields allows partial responses to be retrieved. See
 38997  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38998  // for more information.
 38999  func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
 39000  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39001  	return c
 39002  }
 39003  
 39004  // Context sets the context to be used in this call's Do method. Any
 39005  // pending HTTP request will be aborted if the provided context is
 39006  // canceled.
 39007  func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 39008  	c.ctx_ = ctx
 39009  	return c
 39010  }
 39011  
 39012  // Header returns an http.Header that can be modified by the caller to
 39013  // add HTTP headers to the request.
 39014  func (c *PlacementStrategiesInsertCall) Header() http.Header {
 39015  	if c.header_ == nil {
 39016  		c.header_ = make(http.Header)
 39017  	}
 39018  	return c.header_
 39019  }
 39020  
 39021  func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
 39022  	reqHeaders := make(http.Header)
 39023  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39024  	for k, v := range c.header_ {
 39025  		reqHeaders[k] = v
 39026  	}
 39027  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39028  	var body io.Reader = nil
 39029  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39030  	if err != nil {
 39031  		return nil, err
 39032  	}
 39033  	reqHeaders.Set("Content-Type", "application/json")
 39034  	c.urlParams_.Set("alt", alt)
 39035  	c.urlParams_.Set("prettyPrint", "false")
 39036  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39037  	urls += "?" + c.urlParams_.Encode()
 39038  	req, err := http.NewRequest("POST", urls, body)
 39039  	if err != nil {
 39040  		return nil, err
 39041  	}
 39042  	req.Header = reqHeaders
 39043  	googleapi.Expand(req.URL, map[string]string{
 39044  		"profileId": strconv.FormatInt(c.profileId, 10),
 39045  	})
 39046  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39047  }
 39048  
 39049  // Do executes the "dfareporting.placementStrategies.insert" call.
 39050  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39051  // non-2xx status code is an error. Response headers are in either
 39052  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39053  // returned at all) in error.(*googleapi.Error).Header. Use
 39054  // googleapi.IsNotModified to check whether the returned error was
 39055  // because http.StatusNotModified was returned.
 39056  func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39057  	gensupport.SetOptions(c.urlParams_, opts...)
 39058  	res, err := c.doRequest("json")
 39059  	if res != nil && res.StatusCode == http.StatusNotModified {
 39060  		if res.Body != nil {
 39061  			res.Body.Close()
 39062  		}
 39063  		return nil, &googleapi.Error{
 39064  			Code:   res.StatusCode,
 39065  			Header: res.Header,
 39066  		}
 39067  	}
 39068  	if err != nil {
 39069  		return nil, err
 39070  	}
 39071  	defer googleapi.CloseBody(res)
 39072  	if err := googleapi.CheckResponse(res); err != nil {
 39073  		return nil, err
 39074  	}
 39075  	ret := &PlacementStrategy{
 39076  		ServerResponse: googleapi.ServerResponse{
 39077  			Header:         res.Header,
 39078  			HTTPStatusCode: res.StatusCode,
 39079  		},
 39080  	}
 39081  	target := &ret
 39082  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39083  		return nil, err
 39084  	}
 39085  	return ret, nil
 39086  	// {
 39087  	//   "description": "Inserts a new placement strategy.",
 39088  	//   "httpMethod": "POST",
 39089  	//   "id": "dfareporting.placementStrategies.insert",
 39090  	//   "parameterOrder": [
 39091  	//     "profileId"
 39092  	//   ],
 39093  	//   "parameters": {
 39094  	//     "profileId": {
 39095  	//       "description": "User profile ID associated with this request.",
 39096  	//       "format": "int64",
 39097  	//       "location": "path",
 39098  	//       "required": true,
 39099  	//       "type": "string"
 39100  	//     }
 39101  	//   },
 39102  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39103  	//   "request": {
 39104  	//     "$ref": "PlacementStrategy"
 39105  	//   },
 39106  	//   "response": {
 39107  	//     "$ref": "PlacementStrategy"
 39108  	//   },
 39109  	//   "scopes": [
 39110  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39111  	//   ]
 39112  	// }
 39113  
 39114  }
 39115  
 39116  // method id "dfareporting.placementStrategies.list":
 39117  
 39118  type PlacementStrategiesListCall struct {
 39119  	s            *Service
 39120  	profileId    int64
 39121  	urlParams_   gensupport.URLParams
 39122  	ifNoneMatch_ string
 39123  	ctx_         context.Context
 39124  	header_      http.Header
 39125  }
 39126  
 39127  // List: Retrieves a list of placement strategies, possibly filtered.
 39128  // This method supports paging.
 39129  func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
 39130  	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39131  	c.profileId = profileId
 39132  	return c
 39133  }
 39134  
 39135  // Ids sets the optional parameter "ids": Select only placement
 39136  // strategies with these IDs.
 39137  func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
 39138  	var ids_ []string
 39139  	for _, v := range ids {
 39140  		ids_ = append(ids_, fmt.Sprint(v))
 39141  	}
 39142  	c.urlParams_.SetMulti("ids", ids_)
 39143  	return c
 39144  }
 39145  
 39146  // MaxResults sets the optional parameter "maxResults": Maximum number
 39147  // of results to return.
 39148  func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
 39149  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 39150  	return c
 39151  }
 39152  
 39153  // PageToken sets the optional parameter "pageToken": Value of the
 39154  // nextPageToken from the previous result page.
 39155  func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
 39156  	c.urlParams_.Set("pageToken", pageToken)
 39157  	return c
 39158  }
 39159  
 39160  // SearchString sets the optional parameter "searchString": Allows
 39161  // searching for objects by name or ID. Wildcards (*) are allowed. For
 39162  // example, "placementstrategy*2015" will return objects with names like
 39163  // "placementstrategy June 2015", "placementstrategy April 2015", or
 39164  // simply "placementstrategy 2015". Most of the searches also add
 39165  // wildcards implicitly at the start and the end of the search string.
 39166  // For example, a search string of "placementstrategy" will match
 39167  // objects with name "my placementstrategy", "placementstrategy 2015",
 39168  // or simply "placementstrategy".
 39169  func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
 39170  	c.urlParams_.Set("searchString", searchString)
 39171  	return c
 39172  }
 39173  
 39174  // SortField sets the optional parameter "sortField": Field by which to
 39175  // sort the list.
 39176  //
 39177  // Possible values:
 39178  //
 39179  //	"ID" (default)
 39180  //	"NAME"
 39181  func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
 39182  	c.urlParams_.Set("sortField", sortField)
 39183  	return c
 39184  }
 39185  
 39186  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 39187  // results.
 39188  //
 39189  // Possible values:
 39190  //
 39191  //	"ASCENDING" (default)
 39192  //	"DESCENDING"
 39193  func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
 39194  	c.urlParams_.Set("sortOrder", sortOrder)
 39195  	return c
 39196  }
 39197  
 39198  // Fields allows partial responses to be retrieved. See
 39199  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39200  // for more information.
 39201  func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
 39202  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39203  	return c
 39204  }
 39205  
 39206  // IfNoneMatch sets the optional parameter which makes the operation
 39207  // fail if the object's ETag matches the given value. This is useful for
 39208  // getting updates only after the object has changed since the last
 39209  // request. Use googleapi.IsNotModified to check whether the response
 39210  // error from Do is the result of In-None-Match.
 39211  func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
 39212  	c.ifNoneMatch_ = entityTag
 39213  	return c
 39214  }
 39215  
 39216  // Context sets the context to be used in this call's Do method. Any
 39217  // pending HTTP request will be aborted if the provided context is
 39218  // canceled.
 39219  func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 39220  	c.ctx_ = ctx
 39221  	return c
 39222  }
 39223  
 39224  // Header returns an http.Header that can be modified by the caller to
 39225  // add HTTP headers to the request.
 39226  func (c *PlacementStrategiesListCall) Header() http.Header {
 39227  	if c.header_ == nil {
 39228  		c.header_ = make(http.Header)
 39229  	}
 39230  	return c.header_
 39231  }
 39232  
 39233  func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 39234  	reqHeaders := make(http.Header)
 39235  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39236  	for k, v := range c.header_ {
 39237  		reqHeaders[k] = v
 39238  	}
 39239  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39240  	if c.ifNoneMatch_ != "" {
 39241  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39242  	}
 39243  	var body io.Reader = nil
 39244  	c.urlParams_.Set("alt", alt)
 39245  	c.urlParams_.Set("prettyPrint", "false")
 39246  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39247  	urls += "?" + c.urlParams_.Encode()
 39248  	req, err := http.NewRequest("GET", urls, body)
 39249  	if err != nil {
 39250  		return nil, err
 39251  	}
 39252  	req.Header = reqHeaders
 39253  	googleapi.Expand(req.URL, map[string]string{
 39254  		"profileId": strconv.FormatInt(c.profileId, 10),
 39255  	})
 39256  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39257  }
 39258  
 39259  // Do executes the "dfareporting.placementStrategies.list" call.
 39260  // Exactly one of *PlacementStrategiesListResponse or error will be
 39261  // non-nil. Any non-2xx status code is an error. Response headers are in
 39262  // either *PlacementStrategiesListResponse.ServerResponse.Header or (if
 39263  // a response was returned at all) in error.(*googleapi.Error).Header.
 39264  // Use googleapi.IsNotModified to check whether the returned error was
 39265  // because http.StatusNotModified was returned.
 39266  func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
 39267  	gensupport.SetOptions(c.urlParams_, opts...)
 39268  	res, err := c.doRequest("json")
 39269  	if res != nil && res.StatusCode == http.StatusNotModified {
 39270  		if res.Body != nil {
 39271  			res.Body.Close()
 39272  		}
 39273  		return nil, &googleapi.Error{
 39274  			Code:   res.StatusCode,
 39275  			Header: res.Header,
 39276  		}
 39277  	}
 39278  	if err != nil {
 39279  		return nil, err
 39280  	}
 39281  	defer googleapi.CloseBody(res)
 39282  	if err := googleapi.CheckResponse(res); err != nil {
 39283  		return nil, err
 39284  	}
 39285  	ret := &PlacementStrategiesListResponse{
 39286  		ServerResponse: googleapi.ServerResponse{
 39287  			Header:         res.Header,
 39288  			HTTPStatusCode: res.StatusCode,
 39289  		},
 39290  	}
 39291  	target := &ret
 39292  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39293  		return nil, err
 39294  	}
 39295  	return ret, nil
 39296  	// {
 39297  	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
 39298  	//   "httpMethod": "GET",
 39299  	//   "id": "dfareporting.placementStrategies.list",
 39300  	//   "parameterOrder": [
 39301  	//     "profileId"
 39302  	//   ],
 39303  	//   "parameters": {
 39304  	//     "ids": {
 39305  	//       "description": "Select only placement strategies with these IDs.",
 39306  	//       "format": "int64",
 39307  	//       "location": "query",
 39308  	//       "repeated": true,
 39309  	//       "type": "string"
 39310  	//     },
 39311  	//     "maxResults": {
 39312  	//       "default": "1000",
 39313  	//       "description": "Maximum number of results to return.",
 39314  	//       "format": "int32",
 39315  	//       "location": "query",
 39316  	//       "maximum": "1000",
 39317  	//       "minimum": "0",
 39318  	//       "type": "integer"
 39319  	//     },
 39320  	//     "pageToken": {
 39321  	//       "description": "Value of the nextPageToken from the previous result page.",
 39322  	//       "location": "query",
 39323  	//       "type": "string"
 39324  	//     },
 39325  	//     "profileId": {
 39326  	//       "description": "User profile ID associated with this request.",
 39327  	//       "format": "int64",
 39328  	//       "location": "path",
 39329  	//       "required": true,
 39330  	//       "type": "string"
 39331  	//     },
 39332  	//     "searchString": {
 39333  	//       "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\".",
 39334  	//       "location": "query",
 39335  	//       "type": "string"
 39336  	//     },
 39337  	//     "sortField": {
 39338  	//       "default": "ID",
 39339  	//       "description": "Field by which to sort the list.",
 39340  	//       "enum": [
 39341  	//         "ID",
 39342  	//         "NAME"
 39343  	//       ],
 39344  	//       "enumDescriptions": [
 39345  	//         "",
 39346  	//         ""
 39347  	//       ],
 39348  	//       "location": "query",
 39349  	//       "type": "string"
 39350  	//     },
 39351  	//     "sortOrder": {
 39352  	//       "default": "ASCENDING",
 39353  	//       "description": "Order of sorted results.",
 39354  	//       "enum": [
 39355  	//         "ASCENDING",
 39356  	//         "DESCENDING"
 39357  	//       ],
 39358  	//       "enumDescriptions": [
 39359  	//         "",
 39360  	//         ""
 39361  	//       ],
 39362  	//       "location": "query",
 39363  	//       "type": "string"
 39364  	//     }
 39365  	//   },
 39366  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39367  	//   "response": {
 39368  	//     "$ref": "PlacementStrategiesListResponse"
 39369  	//   },
 39370  	//   "scopes": [
 39371  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39372  	//   ]
 39373  	// }
 39374  
 39375  }
 39376  
 39377  // Pages invokes f for each page of results.
 39378  // A non-nil error returned from f will halt the iteration.
 39379  // The provided context supersedes any context provided to the Context method.
 39380  func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
 39381  	c.ctx_ = ctx
 39382  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 39383  	for {
 39384  		x, err := c.Do()
 39385  		if err != nil {
 39386  			return err
 39387  		}
 39388  		if err := f(x); err != nil {
 39389  			return err
 39390  		}
 39391  		if x.NextPageToken == "" {
 39392  			return nil
 39393  		}
 39394  		c.PageToken(x.NextPageToken)
 39395  	}
 39396  }
 39397  
 39398  // method id "dfareporting.placementStrategies.patch":
 39399  
 39400  type PlacementStrategiesPatchCall struct {
 39401  	s                 *Service
 39402  	profileId         int64
 39403  	placementstrategy *PlacementStrategy
 39404  	urlParams_        gensupport.URLParams
 39405  	ctx_              context.Context
 39406  	header_           http.Header
 39407  }
 39408  
 39409  // Patch: Updates an existing placement strategy. This method supports
 39410  // patch semantics.
 39411  func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
 39412  	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39413  	c.profileId = profileId
 39414  	c.urlParams_.Set("id", fmt.Sprint(id))
 39415  	c.placementstrategy = placementstrategy
 39416  	return c
 39417  }
 39418  
 39419  // Fields allows partial responses to be retrieved. See
 39420  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39421  // for more information.
 39422  func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
 39423  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39424  	return c
 39425  }
 39426  
 39427  // Context sets the context to be used in this call's Do method. Any
 39428  // pending HTTP request will be aborted if the provided context is
 39429  // canceled.
 39430  func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 39431  	c.ctx_ = ctx
 39432  	return c
 39433  }
 39434  
 39435  // Header returns an http.Header that can be modified by the caller to
 39436  // add HTTP headers to the request.
 39437  func (c *PlacementStrategiesPatchCall) Header() http.Header {
 39438  	if c.header_ == nil {
 39439  		c.header_ = make(http.Header)
 39440  	}
 39441  	return c.header_
 39442  }
 39443  
 39444  func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
 39445  	reqHeaders := make(http.Header)
 39446  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39447  	for k, v := range c.header_ {
 39448  		reqHeaders[k] = v
 39449  	}
 39450  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39451  	var body io.Reader = nil
 39452  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39453  	if err != nil {
 39454  		return nil, err
 39455  	}
 39456  	reqHeaders.Set("Content-Type", "application/json")
 39457  	c.urlParams_.Set("alt", alt)
 39458  	c.urlParams_.Set("prettyPrint", "false")
 39459  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39460  	urls += "?" + c.urlParams_.Encode()
 39461  	req, err := http.NewRequest("PATCH", urls, body)
 39462  	if err != nil {
 39463  		return nil, err
 39464  	}
 39465  	req.Header = reqHeaders
 39466  	googleapi.Expand(req.URL, map[string]string{
 39467  		"profileId": strconv.FormatInt(c.profileId, 10),
 39468  	})
 39469  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39470  }
 39471  
 39472  // Do executes the "dfareporting.placementStrategies.patch" call.
 39473  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39474  // non-2xx status code is an error. Response headers are in either
 39475  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39476  // returned at all) in error.(*googleapi.Error).Header. Use
 39477  // googleapi.IsNotModified to check whether the returned error was
 39478  // because http.StatusNotModified was returned.
 39479  func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39480  	gensupport.SetOptions(c.urlParams_, opts...)
 39481  	res, err := c.doRequest("json")
 39482  	if res != nil && res.StatusCode == http.StatusNotModified {
 39483  		if res.Body != nil {
 39484  			res.Body.Close()
 39485  		}
 39486  		return nil, &googleapi.Error{
 39487  			Code:   res.StatusCode,
 39488  			Header: res.Header,
 39489  		}
 39490  	}
 39491  	if err != nil {
 39492  		return nil, err
 39493  	}
 39494  	defer googleapi.CloseBody(res)
 39495  	if err := googleapi.CheckResponse(res); err != nil {
 39496  		return nil, err
 39497  	}
 39498  	ret := &PlacementStrategy{
 39499  		ServerResponse: googleapi.ServerResponse{
 39500  			Header:         res.Header,
 39501  			HTTPStatusCode: res.StatusCode,
 39502  		},
 39503  	}
 39504  	target := &ret
 39505  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39506  		return nil, err
 39507  	}
 39508  	return ret, nil
 39509  	// {
 39510  	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
 39511  	//   "httpMethod": "PATCH",
 39512  	//   "id": "dfareporting.placementStrategies.patch",
 39513  	//   "parameterOrder": [
 39514  	//     "profileId",
 39515  	//     "id"
 39516  	//   ],
 39517  	//   "parameters": {
 39518  	//     "id": {
 39519  	//       "description": "Placement strategy ID.",
 39520  	//       "format": "int64",
 39521  	//       "location": "query",
 39522  	//       "required": true,
 39523  	//       "type": "string"
 39524  	//     },
 39525  	//     "profileId": {
 39526  	//       "description": "User profile ID associated with this request.",
 39527  	//       "format": "int64",
 39528  	//       "location": "path",
 39529  	//       "required": true,
 39530  	//       "type": "string"
 39531  	//     }
 39532  	//   },
 39533  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39534  	//   "request": {
 39535  	//     "$ref": "PlacementStrategy"
 39536  	//   },
 39537  	//   "response": {
 39538  	//     "$ref": "PlacementStrategy"
 39539  	//   },
 39540  	//   "scopes": [
 39541  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39542  	//   ]
 39543  	// }
 39544  
 39545  }
 39546  
 39547  // method id "dfareporting.placementStrategies.update":
 39548  
 39549  type PlacementStrategiesUpdateCall struct {
 39550  	s                 *Service
 39551  	profileId         int64
 39552  	placementstrategy *PlacementStrategy
 39553  	urlParams_        gensupport.URLParams
 39554  	ctx_              context.Context
 39555  	header_           http.Header
 39556  }
 39557  
 39558  // Update: Updates an existing placement strategy.
 39559  func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
 39560  	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39561  	c.profileId = profileId
 39562  	c.placementstrategy = placementstrategy
 39563  	return c
 39564  }
 39565  
 39566  // Fields allows partial responses to be retrieved. See
 39567  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39568  // for more information.
 39569  func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
 39570  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39571  	return c
 39572  }
 39573  
 39574  // Context sets the context to be used in this call's Do method. Any
 39575  // pending HTTP request will be aborted if the provided context is
 39576  // canceled.
 39577  func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 39578  	c.ctx_ = ctx
 39579  	return c
 39580  }
 39581  
 39582  // Header returns an http.Header that can be modified by the caller to
 39583  // add HTTP headers to the request.
 39584  func (c *PlacementStrategiesUpdateCall) Header() http.Header {
 39585  	if c.header_ == nil {
 39586  		c.header_ = make(http.Header)
 39587  	}
 39588  	return c.header_
 39589  }
 39590  
 39591  func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 39592  	reqHeaders := make(http.Header)
 39593  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39594  	for k, v := range c.header_ {
 39595  		reqHeaders[k] = v
 39596  	}
 39597  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39598  	var body io.Reader = nil
 39599  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39600  	if err != nil {
 39601  		return nil, err
 39602  	}
 39603  	reqHeaders.Set("Content-Type", "application/json")
 39604  	c.urlParams_.Set("alt", alt)
 39605  	c.urlParams_.Set("prettyPrint", "false")
 39606  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39607  	urls += "?" + c.urlParams_.Encode()
 39608  	req, err := http.NewRequest("PUT", urls, body)
 39609  	if err != nil {
 39610  		return nil, err
 39611  	}
 39612  	req.Header = reqHeaders
 39613  	googleapi.Expand(req.URL, map[string]string{
 39614  		"profileId": strconv.FormatInt(c.profileId, 10),
 39615  	})
 39616  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39617  }
 39618  
 39619  // Do executes the "dfareporting.placementStrategies.update" call.
 39620  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39621  // non-2xx status code is an error. Response headers are in either
 39622  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39623  // returned at all) in error.(*googleapi.Error).Header. Use
 39624  // googleapi.IsNotModified to check whether the returned error was
 39625  // because http.StatusNotModified was returned.
 39626  func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39627  	gensupport.SetOptions(c.urlParams_, opts...)
 39628  	res, err := c.doRequest("json")
 39629  	if res != nil && res.StatusCode == http.StatusNotModified {
 39630  		if res.Body != nil {
 39631  			res.Body.Close()
 39632  		}
 39633  		return nil, &googleapi.Error{
 39634  			Code:   res.StatusCode,
 39635  			Header: res.Header,
 39636  		}
 39637  	}
 39638  	if err != nil {
 39639  		return nil, err
 39640  	}
 39641  	defer googleapi.CloseBody(res)
 39642  	if err := googleapi.CheckResponse(res); err != nil {
 39643  		return nil, err
 39644  	}
 39645  	ret := &PlacementStrategy{
 39646  		ServerResponse: googleapi.ServerResponse{
 39647  			Header:         res.Header,
 39648  			HTTPStatusCode: res.StatusCode,
 39649  		},
 39650  	}
 39651  	target := &ret
 39652  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39653  		return nil, err
 39654  	}
 39655  	return ret, nil
 39656  	// {
 39657  	//   "description": "Updates an existing placement strategy.",
 39658  	//   "httpMethod": "PUT",
 39659  	//   "id": "dfareporting.placementStrategies.update",
 39660  	//   "parameterOrder": [
 39661  	//     "profileId"
 39662  	//   ],
 39663  	//   "parameters": {
 39664  	//     "profileId": {
 39665  	//       "description": "User profile ID associated with this request.",
 39666  	//       "format": "int64",
 39667  	//       "location": "path",
 39668  	//       "required": true,
 39669  	//       "type": "string"
 39670  	//     }
 39671  	//   },
 39672  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39673  	//   "request": {
 39674  	//     "$ref": "PlacementStrategy"
 39675  	//   },
 39676  	//   "response": {
 39677  	//     "$ref": "PlacementStrategy"
 39678  	//   },
 39679  	//   "scopes": [
 39680  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39681  	//   ]
 39682  	// }
 39683  
 39684  }
 39685  
 39686  // method id "dfareporting.placements.generatetags":
 39687  
 39688  type PlacementsGeneratetagsCall struct {
 39689  	s          *Service
 39690  	profileId  int64
 39691  	urlParams_ gensupport.URLParams
 39692  	ctx_       context.Context
 39693  	header_    http.Header
 39694  }
 39695  
 39696  // Generatetags: Generates tags for a placement.
 39697  func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
 39698  	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39699  	c.profileId = profileId
 39700  	return c
 39701  }
 39702  
 39703  // CampaignId sets the optional parameter "campaignId": Generate
 39704  // placements belonging to this campaign. This is a required field.
 39705  func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
 39706  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 39707  	return c
 39708  }
 39709  
 39710  // PlacementIds sets the optional parameter "placementIds": Generate
 39711  // tags for these placements.
 39712  func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
 39713  	var placementIds_ []string
 39714  	for _, v := range placementIds {
 39715  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 39716  	}
 39717  	c.urlParams_.SetMulti("placementIds", placementIds_)
 39718  	return c
 39719  }
 39720  
 39721  // TagFormats sets the optional parameter "tagFormats": Tag formats to
 39722  // generate for these placements.
 39723  //
 39724  // Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1
 39725  // placements.
 39726  //
 39727  // Possible values:
 39728  //
 39729  //	"PLACEMENT_TAG_CLICK_COMMANDS"
 39730  //	"PLACEMENT_TAG_IFRAME_ILAYER"
 39731  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 39732  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 39733  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 39734  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 39735  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 39736  //	"PLACEMENT_TAG_INTERNAL_REDIRECT"
 39737  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 39738  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 39739  //	"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 39740  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 39741  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 39742  //	"PLACEMENT_TAG_JAVASCRIPT"
 39743  //	"PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 39744  //	"PLACEMENT_TAG_STANDARD"
 39745  //	"PLACEMENT_TAG_TRACKING"
 39746  //	"PLACEMENT_TAG_TRACKING_IFRAME"
 39747  //	"PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 39748  func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
 39749  	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
 39750  	return c
 39751  }
 39752  
 39753  // Fields allows partial responses to be retrieved. See
 39754  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39755  // for more information.
 39756  func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
 39757  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39758  	return c
 39759  }
 39760  
 39761  // Context sets the context to be used in this call's Do method. Any
 39762  // pending HTTP request will be aborted if the provided context is
 39763  // canceled.
 39764  func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 39765  	c.ctx_ = ctx
 39766  	return c
 39767  }
 39768  
 39769  // Header returns an http.Header that can be modified by the caller to
 39770  // add HTTP headers to the request.
 39771  func (c *PlacementsGeneratetagsCall) Header() http.Header {
 39772  	if c.header_ == nil {
 39773  		c.header_ = make(http.Header)
 39774  	}
 39775  	return c.header_
 39776  }
 39777  
 39778  func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 39779  	reqHeaders := make(http.Header)
 39780  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39781  	for k, v := range c.header_ {
 39782  		reqHeaders[k] = v
 39783  	}
 39784  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39785  	var body io.Reader = nil
 39786  	c.urlParams_.Set("alt", alt)
 39787  	c.urlParams_.Set("prettyPrint", "false")
 39788  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
 39789  	urls += "?" + c.urlParams_.Encode()
 39790  	req, err := http.NewRequest("POST", urls, body)
 39791  	if err != nil {
 39792  		return nil, err
 39793  	}
 39794  	req.Header = reqHeaders
 39795  	googleapi.Expand(req.URL, map[string]string{
 39796  		"profileId": strconv.FormatInt(c.profileId, 10),
 39797  	})
 39798  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39799  }
 39800  
 39801  // Do executes the "dfareporting.placements.generatetags" call.
 39802  // Exactly one of *PlacementsGenerateTagsResponse or error will be
 39803  // non-nil. Any non-2xx status code is an error. Response headers are in
 39804  // either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
 39805  // response was returned at all) in error.(*googleapi.Error).Header. Use
 39806  // googleapi.IsNotModified to check whether the returned error was
 39807  // because http.StatusNotModified was returned.
 39808  func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
 39809  	gensupport.SetOptions(c.urlParams_, opts...)
 39810  	res, err := c.doRequest("json")
 39811  	if res != nil && res.StatusCode == http.StatusNotModified {
 39812  		if res.Body != nil {
 39813  			res.Body.Close()
 39814  		}
 39815  		return nil, &googleapi.Error{
 39816  			Code:   res.StatusCode,
 39817  			Header: res.Header,
 39818  		}
 39819  	}
 39820  	if err != nil {
 39821  		return nil, err
 39822  	}
 39823  	defer googleapi.CloseBody(res)
 39824  	if err := googleapi.CheckResponse(res); err != nil {
 39825  		return nil, err
 39826  	}
 39827  	ret := &PlacementsGenerateTagsResponse{
 39828  		ServerResponse: googleapi.ServerResponse{
 39829  			Header:         res.Header,
 39830  			HTTPStatusCode: res.StatusCode,
 39831  		},
 39832  	}
 39833  	target := &ret
 39834  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39835  		return nil, err
 39836  	}
 39837  	return ret, nil
 39838  	// {
 39839  	//   "description": "Generates tags for a placement.",
 39840  	//   "httpMethod": "POST",
 39841  	//   "id": "dfareporting.placements.generatetags",
 39842  	//   "parameterOrder": [
 39843  	//     "profileId"
 39844  	//   ],
 39845  	//   "parameters": {
 39846  	//     "campaignId": {
 39847  	//       "description": "Generate placements belonging to this campaign. This is a required field.",
 39848  	//       "format": "int64",
 39849  	//       "location": "query",
 39850  	//       "type": "string"
 39851  	//     },
 39852  	//     "placementIds": {
 39853  	//       "description": "Generate tags for these placements.",
 39854  	//       "format": "int64",
 39855  	//       "location": "query",
 39856  	//       "repeated": true,
 39857  	//       "type": "string"
 39858  	//     },
 39859  	//     "profileId": {
 39860  	//       "description": "User profile ID associated with this request.",
 39861  	//       "format": "int64",
 39862  	//       "location": "path",
 39863  	//       "required": true,
 39864  	//       "type": "string"
 39865  	//     },
 39866  	//     "tagFormats": {
 39867  	//       "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
 39868  	//       "enum": [
 39869  	//         "PLACEMENT_TAG_CLICK_COMMANDS",
 39870  	//         "PLACEMENT_TAG_IFRAME_ILAYER",
 39871  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
 39872  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
 39873  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
 39874  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
 39875  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
 39876  	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
 39877  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
 39878  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
 39879  	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
 39880  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
 39881  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
 39882  	//         "PLACEMENT_TAG_JAVASCRIPT",
 39883  	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
 39884  	//         "PLACEMENT_TAG_STANDARD",
 39885  	//         "PLACEMENT_TAG_TRACKING",
 39886  	//         "PLACEMENT_TAG_TRACKING_IFRAME",
 39887  	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 39888  	//       ],
 39889  	//       "enumDescriptions": [
 39890  	//         "",
 39891  	//         "",
 39892  	//         "",
 39893  	//         "",
 39894  	//         "",
 39895  	//         "",
 39896  	//         "",
 39897  	//         "",
 39898  	//         "",
 39899  	//         "",
 39900  	//         "",
 39901  	//         "",
 39902  	//         "",
 39903  	//         "",
 39904  	//         "",
 39905  	//         "",
 39906  	//         "",
 39907  	//         "",
 39908  	//         ""
 39909  	//       ],
 39910  	//       "location": "query",
 39911  	//       "repeated": true,
 39912  	//       "type": "string"
 39913  	//     }
 39914  	//   },
 39915  	//   "path": "userprofiles/{profileId}/placements/generatetags",
 39916  	//   "response": {
 39917  	//     "$ref": "PlacementsGenerateTagsResponse"
 39918  	//   },
 39919  	//   "scopes": [
 39920  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39921  	//   ]
 39922  	// }
 39923  
 39924  }
 39925  
 39926  // method id "dfareporting.placements.get":
 39927  
 39928  type PlacementsGetCall struct {
 39929  	s            *Service
 39930  	profileId    int64
 39931  	id           int64
 39932  	urlParams_   gensupport.URLParams
 39933  	ifNoneMatch_ string
 39934  	ctx_         context.Context
 39935  	header_      http.Header
 39936  }
 39937  
 39938  // Get: Gets one placement by ID.
 39939  func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
 39940  	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39941  	c.profileId = profileId
 39942  	c.id = id
 39943  	return c
 39944  }
 39945  
 39946  // Fields allows partial responses to be retrieved. See
 39947  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39948  // for more information.
 39949  func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
 39950  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39951  	return c
 39952  }
 39953  
 39954  // IfNoneMatch sets the optional parameter which makes the operation
 39955  // fail if the object's ETag matches the given value. This is useful for
 39956  // getting updates only after the object has changed since the last
 39957  // request. Use googleapi.IsNotModified to check whether the response
 39958  // error from Do is the result of In-None-Match.
 39959  func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
 39960  	c.ifNoneMatch_ = entityTag
 39961  	return c
 39962  }
 39963  
 39964  // Context sets the context to be used in this call's Do method. Any
 39965  // pending HTTP request will be aborted if the provided context is
 39966  // canceled.
 39967  func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 39968  	c.ctx_ = ctx
 39969  	return c
 39970  }
 39971  
 39972  // Header returns an http.Header that can be modified by the caller to
 39973  // add HTTP headers to the request.
 39974  func (c *PlacementsGetCall) Header() http.Header {
 39975  	if c.header_ == nil {
 39976  		c.header_ = make(http.Header)
 39977  	}
 39978  	return c.header_
 39979  }
 39980  
 39981  func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 39982  	reqHeaders := make(http.Header)
 39983  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39984  	for k, v := range c.header_ {
 39985  		reqHeaders[k] = v
 39986  	}
 39987  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39988  	if c.ifNoneMatch_ != "" {
 39989  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39990  	}
 39991  	var body io.Reader = nil
 39992  	c.urlParams_.Set("alt", alt)
 39993  	c.urlParams_.Set("prettyPrint", "false")
 39994  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
 39995  	urls += "?" + c.urlParams_.Encode()
 39996  	req, err := http.NewRequest("GET", urls, body)
 39997  	if err != nil {
 39998  		return nil, err
 39999  	}
 40000  	req.Header = reqHeaders
 40001  	googleapi.Expand(req.URL, map[string]string{
 40002  		"profileId": strconv.FormatInt(c.profileId, 10),
 40003  		"id":        strconv.FormatInt(c.id, 10),
 40004  	})
 40005  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40006  }
 40007  
 40008  // Do executes the "dfareporting.placements.get" call.
 40009  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40010  // status code is an error. Response headers are in either
 40011  // *Placement.ServerResponse.Header or (if a response was returned at
 40012  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40013  // to check whether the returned error was because
 40014  // http.StatusNotModified was returned.
 40015  func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40016  	gensupport.SetOptions(c.urlParams_, opts...)
 40017  	res, err := c.doRequest("json")
 40018  	if res != nil && res.StatusCode == http.StatusNotModified {
 40019  		if res.Body != nil {
 40020  			res.Body.Close()
 40021  		}
 40022  		return nil, &googleapi.Error{
 40023  			Code:   res.StatusCode,
 40024  			Header: res.Header,
 40025  		}
 40026  	}
 40027  	if err != nil {
 40028  		return nil, err
 40029  	}
 40030  	defer googleapi.CloseBody(res)
 40031  	if err := googleapi.CheckResponse(res); err != nil {
 40032  		return nil, err
 40033  	}
 40034  	ret := &Placement{
 40035  		ServerResponse: googleapi.ServerResponse{
 40036  			Header:         res.Header,
 40037  			HTTPStatusCode: res.StatusCode,
 40038  		},
 40039  	}
 40040  	target := &ret
 40041  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40042  		return nil, err
 40043  	}
 40044  	return ret, nil
 40045  	// {
 40046  	//   "description": "Gets one placement by ID.",
 40047  	//   "httpMethod": "GET",
 40048  	//   "id": "dfareporting.placements.get",
 40049  	//   "parameterOrder": [
 40050  	//     "profileId",
 40051  	//     "id"
 40052  	//   ],
 40053  	//   "parameters": {
 40054  	//     "id": {
 40055  	//       "description": "Placement ID.",
 40056  	//       "format": "int64",
 40057  	//       "location": "path",
 40058  	//       "required": true,
 40059  	//       "type": "string"
 40060  	//     },
 40061  	//     "profileId": {
 40062  	//       "description": "User profile ID associated with this request.",
 40063  	//       "format": "int64",
 40064  	//       "location": "path",
 40065  	//       "required": true,
 40066  	//       "type": "string"
 40067  	//     }
 40068  	//   },
 40069  	//   "path": "userprofiles/{profileId}/placements/{id}",
 40070  	//   "response": {
 40071  	//     "$ref": "Placement"
 40072  	//   },
 40073  	//   "scopes": [
 40074  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40075  	//   ]
 40076  	// }
 40077  
 40078  }
 40079  
 40080  // method id "dfareporting.placements.insert":
 40081  
 40082  type PlacementsInsertCall struct {
 40083  	s          *Service
 40084  	profileId  int64
 40085  	placement  *Placement
 40086  	urlParams_ gensupport.URLParams
 40087  	ctx_       context.Context
 40088  	header_    http.Header
 40089  }
 40090  
 40091  // Insert: Inserts a new placement.
 40092  func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
 40093  	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40094  	c.profileId = profileId
 40095  	c.placement = placement
 40096  	return c
 40097  }
 40098  
 40099  // Fields allows partial responses to be retrieved. See
 40100  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40101  // for more information.
 40102  func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
 40103  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40104  	return c
 40105  }
 40106  
 40107  // Context sets the context to be used in this call's Do method. Any
 40108  // pending HTTP request will be aborted if the provided context is
 40109  // canceled.
 40110  func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 40111  	c.ctx_ = ctx
 40112  	return c
 40113  }
 40114  
 40115  // Header returns an http.Header that can be modified by the caller to
 40116  // add HTTP headers to the request.
 40117  func (c *PlacementsInsertCall) Header() http.Header {
 40118  	if c.header_ == nil {
 40119  		c.header_ = make(http.Header)
 40120  	}
 40121  	return c.header_
 40122  }
 40123  
 40124  func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
 40125  	reqHeaders := make(http.Header)
 40126  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40127  	for k, v := range c.header_ {
 40128  		reqHeaders[k] = v
 40129  	}
 40130  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40131  	var body io.Reader = nil
 40132  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 40133  	if err != nil {
 40134  		return nil, err
 40135  	}
 40136  	reqHeaders.Set("Content-Type", "application/json")
 40137  	c.urlParams_.Set("alt", alt)
 40138  	c.urlParams_.Set("prettyPrint", "false")
 40139  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40140  	urls += "?" + c.urlParams_.Encode()
 40141  	req, err := http.NewRequest("POST", urls, body)
 40142  	if err != nil {
 40143  		return nil, err
 40144  	}
 40145  	req.Header = reqHeaders
 40146  	googleapi.Expand(req.URL, map[string]string{
 40147  		"profileId": strconv.FormatInt(c.profileId, 10),
 40148  	})
 40149  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40150  }
 40151  
 40152  // Do executes the "dfareporting.placements.insert" call.
 40153  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40154  // status code is an error. Response headers are in either
 40155  // *Placement.ServerResponse.Header or (if a response was returned at
 40156  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40157  // to check whether the returned error was because
 40158  // http.StatusNotModified was returned.
 40159  func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40160  	gensupport.SetOptions(c.urlParams_, opts...)
 40161  	res, err := c.doRequest("json")
 40162  	if res != nil && res.StatusCode == http.StatusNotModified {
 40163  		if res.Body != nil {
 40164  			res.Body.Close()
 40165  		}
 40166  		return nil, &googleapi.Error{
 40167  			Code:   res.StatusCode,
 40168  			Header: res.Header,
 40169  		}
 40170  	}
 40171  	if err != nil {
 40172  		return nil, err
 40173  	}
 40174  	defer googleapi.CloseBody(res)
 40175  	if err := googleapi.CheckResponse(res); err != nil {
 40176  		return nil, err
 40177  	}
 40178  	ret := &Placement{
 40179  		ServerResponse: googleapi.ServerResponse{
 40180  			Header:         res.Header,
 40181  			HTTPStatusCode: res.StatusCode,
 40182  		},
 40183  	}
 40184  	target := &ret
 40185  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40186  		return nil, err
 40187  	}
 40188  	return ret, nil
 40189  	// {
 40190  	//   "description": "Inserts a new placement.",
 40191  	//   "httpMethod": "POST",
 40192  	//   "id": "dfareporting.placements.insert",
 40193  	//   "parameterOrder": [
 40194  	//     "profileId"
 40195  	//   ],
 40196  	//   "parameters": {
 40197  	//     "profileId": {
 40198  	//       "description": "User profile ID associated with this request.",
 40199  	//       "format": "int64",
 40200  	//       "location": "path",
 40201  	//       "required": true,
 40202  	//       "type": "string"
 40203  	//     }
 40204  	//   },
 40205  	//   "path": "userprofiles/{profileId}/placements",
 40206  	//   "request": {
 40207  	//     "$ref": "Placement"
 40208  	//   },
 40209  	//   "response": {
 40210  	//     "$ref": "Placement"
 40211  	//   },
 40212  	//   "scopes": [
 40213  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40214  	//   ]
 40215  	// }
 40216  
 40217  }
 40218  
 40219  // method id "dfareporting.placements.list":
 40220  
 40221  type PlacementsListCall struct {
 40222  	s            *Service
 40223  	profileId    int64
 40224  	urlParams_   gensupport.URLParams
 40225  	ifNoneMatch_ string
 40226  	ctx_         context.Context
 40227  	header_      http.Header
 40228  }
 40229  
 40230  // List: Retrieves a list of placements, possibly filtered. This method
 40231  // supports paging.
 40232  func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
 40233  	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40234  	c.profileId = profileId
 40235  	return c
 40236  }
 40237  
 40238  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 40239  // only placements that belong to these advertisers.
 40240  func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
 40241  	var advertiserIds_ []string
 40242  	for _, v := range advertiserIds {
 40243  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 40244  	}
 40245  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 40246  	return c
 40247  }
 40248  
 40249  // Archived sets the optional parameter "archived": Select only archived
 40250  // placements. Don't set this field to select both archived and
 40251  // non-archived placements.
 40252  func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
 40253  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 40254  	return c
 40255  }
 40256  
 40257  // CampaignIds sets the optional parameter "campaignIds": Select only
 40258  // placements that belong to these campaigns.
 40259  func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
 40260  	var campaignIds_ []string
 40261  	for _, v := range campaignIds {
 40262  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 40263  	}
 40264  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 40265  	return c
 40266  }
 40267  
 40268  // Compatibilities sets the optional parameter "compatibilities": Select
 40269  // only placements that are associated with these compatibilities.
 40270  // DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
 40271  // or on mobile devices for regular or interstitial ads respectively.
 40272  // APP and APP_INTERSTITIAL are for rendering in mobile apps.
 40273  // IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
 40274  // with the VAST standard.
 40275  //
 40276  // Possible values:
 40277  //
 40278  //	"APP"
 40279  //	"APP_INTERSTITIAL"
 40280  //	"DISPLAY"
 40281  //	"DISPLAY_INTERSTITIAL"
 40282  //	"IN_STREAM_AUDIO"
 40283  //	"IN_STREAM_VIDEO"
 40284  func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
 40285  	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
 40286  	return c
 40287  }
 40288  
 40289  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 40290  // Select only placements that are associated with these content
 40291  // categories.
 40292  func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
 40293  	var contentCategoryIds_ []string
 40294  	for _, v := range contentCategoryIds {
 40295  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 40296  	}
 40297  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 40298  	return c
 40299  }
 40300  
 40301  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 40302  // Select only placements that are associated with these directory
 40303  // sites.
 40304  func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
 40305  	var directorySiteIds_ []string
 40306  	for _, v := range directorySiteIds {
 40307  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 40308  	}
 40309  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 40310  	return c
 40311  }
 40312  
 40313  // GroupIds sets the optional parameter "groupIds": Select only
 40314  // placements that belong to these placement groups.
 40315  func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
 40316  	var groupIds_ []string
 40317  	for _, v := range groupIds {
 40318  		groupIds_ = append(groupIds_, fmt.Sprint(v))
 40319  	}
 40320  	c.urlParams_.SetMulti("groupIds", groupIds_)
 40321  	return c
 40322  }
 40323  
 40324  // Ids sets the optional parameter "ids": Select only placements with
 40325  // these IDs.
 40326  func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
 40327  	var ids_ []string
 40328  	for _, v := range ids {
 40329  		ids_ = append(ids_, fmt.Sprint(v))
 40330  	}
 40331  	c.urlParams_.SetMulti("ids", ids_)
 40332  	return c
 40333  }
 40334  
 40335  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 40336  // placements or placement groups whose end date is on or before the
 40337  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 40338  func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
 40339  	c.urlParams_.Set("maxEndDate", maxEndDate)
 40340  	return c
 40341  }
 40342  
 40343  // MaxResults sets the optional parameter "maxResults": Maximum number
 40344  // of results to return.
 40345  func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
 40346  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 40347  	return c
 40348  }
 40349  
 40350  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 40351  // placements or placement groups whose start date is on or before the
 40352  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 40353  func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
 40354  	c.urlParams_.Set("maxStartDate", maxStartDate)
 40355  	return c
 40356  }
 40357  
 40358  // MinEndDate sets the optional parameter "minEndDate": Select only
 40359  // placements or placement groups whose end date is on or after the
 40360  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 40361  func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
 40362  	c.urlParams_.Set("minEndDate", minEndDate)
 40363  	return c
 40364  }
 40365  
 40366  // MinStartDate sets the optional parameter "minStartDate": Select only
 40367  // placements or placement groups whose start date is on or after the
 40368  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 40369  func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
 40370  	c.urlParams_.Set("minStartDate", minStartDate)
 40371  	return c
 40372  }
 40373  
 40374  // PageToken sets the optional parameter "pageToken": Value of the
 40375  // nextPageToken from the previous result page.
 40376  func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
 40377  	c.urlParams_.Set("pageToken", pageToken)
 40378  	return c
 40379  }
 40380  
 40381  // PaymentSource sets the optional parameter "paymentSource": Select
 40382  // only placements with this payment source.
 40383  //
 40384  // Possible values:
 40385  //
 40386  //	"PLACEMENT_AGENCY_PAID"
 40387  //	"PLACEMENT_PUBLISHER_PAID"
 40388  func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
 40389  	c.urlParams_.Set("paymentSource", paymentSource)
 40390  	return c
 40391  }
 40392  
 40393  // PlacementStrategyIds sets the optional parameter
 40394  // "placementStrategyIds": Select only placements that are associated
 40395  // with these placement strategies.
 40396  func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
 40397  	var placementStrategyIds_ []string
 40398  	for _, v := range placementStrategyIds {
 40399  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 40400  	}
 40401  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 40402  	return c
 40403  }
 40404  
 40405  // PricingTypes sets the optional parameter "pricingTypes": Select only
 40406  // placements with these pricing types.
 40407  //
 40408  // Possible values:
 40409  //
 40410  //	"PRICING_TYPE_CPA"
 40411  //	"PRICING_TYPE_CPC"
 40412  //	"PRICING_TYPE_CPM"
 40413  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 40414  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 40415  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 40416  func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
 40417  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 40418  	return c
 40419  }
 40420  
 40421  // SearchString sets the optional parameter "searchString": Allows
 40422  // searching for placements by name or ID. Wildcards (*) are allowed.
 40423  // For example, "placement*2015" will return placements with names like
 40424  // "placement June 2015", "placement May 2015", or simply "placements
 40425  // 2015". Most of the searches also add wildcards implicitly at the
 40426  // start and the end of the search string. For example, a search string
 40427  // of "placement" will match placements with name "my placement",
 40428  // "placement 2015", or simply "placement".
 40429  func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
 40430  	c.urlParams_.Set("searchString", searchString)
 40431  	return c
 40432  }
 40433  
 40434  // SiteIds sets the optional parameter "siteIds": Select only placements
 40435  // that are associated with these sites.
 40436  func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
 40437  	var siteIds_ []string
 40438  	for _, v := range siteIds {
 40439  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 40440  	}
 40441  	c.urlParams_.SetMulti("siteIds", siteIds_)
 40442  	return c
 40443  }
 40444  
 40445  // SizeIds sets the optional parameter "sizeIds": Select only placements
 40446  // that are associated with these sizes.
 40447  func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
 40448  	var sizeIds_ []string
 40449  	for _, v := range sizeIds {
 40450  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 40451  	}
 40452  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 40453  	return c
 40454  }
 40455  
 40456  // SortField sets the optional parameter "sortField": Field by which to
 40457  // sort the list.
 40458  //
 40459  // Possible values:
 40460  //
 40461  //	"ID" (default)
 40462  //	"NAME"
 40463  func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
 40464  	c.urlParams_.Set("sortField", sortField)
 40465  	return c
 40466  }
 40467  
 40468  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 40469  // results.
 40470  //
 40471  // Possible values:
 40472  //
 40473  //	"ASCENDING" (default)
 40474  //	"DESCENDING"
 40475  func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
 40476  	c.urlParams_.Set("sortOrder", sortOrder)
 40477  	return c
 40478  }
 40479  
 40480  // Fields allows partial responses to be retrieved. See
 40481  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40482  // for more information.
 40483  func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
 40484  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40485  	return c
 40486  }
 40487  
 40488  // IfNoneMatch sets the optional parameter which makes the operation
 40489  // fail if the object's ETag matches the given value. This is useful for
 40490  // getting updates only after the object has changed since the last
 40491  // request. Use googleapi.IsNotModified to check whether the response
 40492  // error from Do is the result of In-None-Match.
 40493  func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
 40494  	c.ifNoneMatch_ = entityTag
 40495  	return c
 40496  }
 40497  
 40498  // Context sets the context to be used in this call's Do method. Any
 40499  // pending HTTP request will be aborted if the provided context is
 40500  // canceled.
 40501  func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 40502  	c.ctx_ = ctx
 40503  	return c
 40504  }
 40505  
 40506  // Header returns an http.Header that can be modified by the caller to
 40507  // add HTTP headers to the request.
 40508  func (c *PlacementsListCall) Header() http.Header {
 40509  	if c.header_ == nil {
 40510  		c.header_ = make(http.Header)
 40511  	}
 40512  	return c.header_
 40513  }
 40514  
 40515  func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 40516  	reqHeaders := make(http.Header)
 40517  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40518  	for k, v := range c.header_ {
 40519  		reqHeaders[k] = v
 40520  	}
 40521  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40522  	if c.ifNoneMatch_ != "" {
 40523  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40524  	}
 40525  	var body io.Reader = nil
 40526  	c.urlParams_.Set("alt", alt)
 40527  	c.urlParams_.Set("prettyPrint", "false")
 40528  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40529  	urls += "?" + c.urlParams_.Encode()
 40530  	req, err := http.NewRequest("GET", urls, body)
 40531  	if err != nil {
 40532  		return nil, err
 40533  	}
 40534  	req.Header = reqHeaders
 40535  	googleapi.Expand(req.URL, map[string]string{
 40536  		"profileId": strconv.FormatInt(c.profileId, 10),
 40537  	})
 40538  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40539  }
 40540  
 40541  // Do executes the "dfareporting.placements.list" call.
 40542  // Exactly one of *PlacementsListResponse or error will be non-nil. Any
 40543  // non-2xx status code is an error. Response headers are in either
 40544  // *PlacementsListResponse.ServerResponse.Header or (if a response was
 40545  // returned at all) in error.(*googleapi.Error).Header. Use
 40546  // googleapi.IsNotModified to check whether the returned error was
 40547  // because http.StatusNotModified was returned.
 40548  func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
 40549  	gensupport.SetOptions(c.urlParams_, opts...)
 40550  	res, err := c.doRequest("json")
 40551  	if res != nil && res.StatusCode == http.StatusNotModified {
 40552  		if res.Body != nil {
 40553  			res.Body.Close()
 40554  		}
 40555  		return nil, &googleapi.Error{
 40556  			Code:   res.StatusCode,
 40557  			Header: res.Header,
 40558  		}
 40559  	}
 40560  	if err != nil {
 40561  		return nil, err
 40562  	}
 40563  	defer googleapi.CloseBody(res)
 40564  	if err := googleapi.CheckResponse(res); err != nil {
 40565  		return nil, err
 40566  	}
 40567  	ret := &PlacementsListResponse{
 40568  		ServerResponse: googleapi.ServerResponse{
 40569  			Header:         res.Header,
 40570  			HTTPStatusCode: res.StatusCode,
 40571  		},
 40572  	}
 40573  	target := &ret
 40574  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40575  		return nil, err
 40576  	}
 40577  	return ret, nil
 40578  	// {
 40579  	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
 40580  	//   "httpMethod": "GET",
 40581  	//   "id": "dfareporting.placements.list",
 40582  	//   "parameterOrder": [
 40583  	//     "profileId"
 40584  	//   ],
 40585  	//   "parameters": {
 40586  	//     "advertiserIds": {
 40587  	//       "description": "Select only placements that belong to these advertisers.",
 40588  	//       "format": "int64",
 40589  	//       "location": "query",
 40590  	//       "repeated": true,
 40591  	//       "type": "string"
 40592  	//     },
 40593  	//     "archived": {
 40594  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 40595  	//       "location": "query",
 40596  	//       "type": "boolean"
 40597  	//     },
 40598  	//     "campaignIds": {
 40599  	//       "description": "Select only placements that belong to these campaigns.",
 40600  	//       "format": "int64",
 40601  	//       "location": "query",
 40602  	//       "repeated": true,
 40603  	//       "type": "string"
 40604  	//     },
 40605  	//     "compatibilities": {
 40606  	//       "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.",
 40607  	//       "enum": [
 40608  	//         "APP",
 40609  	//         "APP_INTERSTITIAL",
 40610  	//         "DISPLAY",
 40611  	//         "DISPLAY_INTERSTITIAL",
 40612  	//         "IN_STREAM_AUDIO",
 40613  	//         "IN_STREAM_VIDEO"
 40614  	//       ],
 40615  	//       "enumDescriptions": [
 40616  	//         "",
 40617  	//         "",
 40618  	//         "",
 40619  	//         "",
 40620  	//         "",
 40621  	//         ""
 40622  	//       ],
 40623  	//       "location": "query",
 40624  	//       "repeated": true,
 40625  	//       "type": "string"
 40626  	//     },
 40627  	//     "contentCategoryIds": {
 40628  	//       "description": "Select only placements that are associated with these content categories.",
 40629  	//       "format": "int64",
 40630  	//       "location": "query",
 40631  	//       "repeated": true,
 40632  	//       "type": "string"
 40633  	//     },
 40634  	//     "directorySiteIds": {
 40635  	//       "description": "Select only placements that are associated with these directory sites.",
 40636  	//       "format": "int64",
 40637  	//       "location": "query",
 40638  	//       "repeated": true,
 40639  	//       "type": "string"
 40640  	//     },
 40641  	//     "groupIds": {
 40642  	//       "description": "Select only placements that belong to these placement groups.",
 40643  	//       "format": "int64",
 40644  	//       "location": "query",
 40645  	//       "repeated": true,
 40646  	//       "type": "string"
 40647  	//     },
 40648  	//     "ids": {
 40649  	//       "description": "Select only placements with these IDs.",
 40650  	//       "format": "int64",
 40651  	//       "location": "query",
 40652  	//       "repeated": true,
 40653  	//       "type": "string"
 40654  	//     },
 40655  	//     "maxEndDate": {
 40656  	//       "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\".",
 40657  	//       "location": "query",
 40658  	//       "type": "string"
 40659  	//     },
 40660  	//     "maxResults": {
 40661  	//       "default": "1000",
 40662  	//       "description": "Maximum number of results to return.",
 40663  	//       "format": "int32",
 40664  	//       "location": "query",
 40665  	//       "maximum": "1000",
 40666  	//       "minimum": "0",
 40667  	//       "type": "integer"
 40668  	//     },
 40669  	//     "maxStartDate": {
 40670  	//       "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\".",
 40671  	//       "location": "query",
 40672  	//       "type": "string"
 40673  	//     },
 40674  	//     "minEndDate": {
 40675  	//       "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\".",
 40676  	//       "location": "query",
 40677  	//       "type": "string"
 40678  	//     },
 40679  	//     "minStartDate": {
 40680  	//       "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\".",
 40681  	//       "location": "query",
 40682  	//       "type": "string"
 40683  	//     },
 40684  	//     "pageToken": {
 40685  	//       "description": "Value of the nextPageToken from the previous result page.",
 40686  	//       "location": "query",
 40687  	//       "type": "string"
 40688  	//     },
 40689  	//     "paymentSource": {
 40690  	//       "description": "Select only placements with this payment source.",
 40691  	//       "enum": [
 40692  	//         "PLACEMENT_AGENCY_PAID",
 40693  	//         "PLACEMENT_PUBLISHER_PAID"
 40694  	//       ],
 40695  	//       "enumDescriptions": [
 40696  	//         "",
 40697  	//         ""
 40698  	//       ],
 40699  	//       "location": "query",
 40700  	//       "type": "string"
 40701  	//     },
 40702  	//     "placementStrategyIds": {
 40703  	//       "description": "Select only placements that are associated with these placement strategies.",
 40704  	//       "format": "int64",
 40705  	//       "location": "query",
 40706  	//       "repeated": true,
 40707  	//       "type": "string"
 40708  	//     },
 40709  	//     "pricingTypes": {
 40710  	//       "description": "Select only placements with these pricing types.",
 40711  	//       "enum": [
 40712  	//         "PRICING_TYPE_CPA",
 40713  	//         "PRICING_TYPE_CPC",
 40714  	//         "PRICING_TYPE_CPM",
 40715  	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
 40716  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 40717  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 40718  	//       ],
 40719  	//       "enumDescriptions": [
 40720  	//         "",
 40721  	//         "",
 40722  	//         "",
 40723  	//         "",
 40724  	//         "",
 40725  	//         ""
 40726  	//       ],
 40727  	//       "location": "query",
 40728  	//       "repeated": true,
 40729  	//       "type": "string"
 40730  	//     },
 40731  	//     "profileId": {
 40732  	//       "description": "User profile ID associated with this request.",
 40733  	//       "format": "int64",
 40734  	//       "location": "path",
 40735  	//       "required": true,
 40736  	//       "type": "string"
 40737  	//     },
 40738  	//     "searchString": {
 40739  	//       "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\".",
 40740  	//       "location": "query",
 40741  	//       "type": "string"
 40742  	//     },
 40743  	//     "siteIds": {
 40744  	//       "description": "Select only placements that are associated with these sites.",
 40745  	//       "format": "int64",
 40746  	//       "location": "query",
 40747  	//       "repeated": true,
 40748  	//       "type": "string"
 40749  	//     },
 40750  	//     "sizeIds": {
 40751  	//       "description": "Select only placements that are associated with these sizes.",
 40752  	//       "format": "int64",
 40753  	//       "location": "query",
 40754  	//       "repeated": true,
 40755  	//       "type": "string"
 40756  	//     },
 40757  	//     "sortField": {
 40758  	//       "default": "ID",
 40759  	//       "description": "Field by which to sort the list.",
 40760  	//       "enum": [
 40761  	//         "ID",
 40762  	//         "NAME"
 40763  	//       ],
 40764  	//       "enumDescriptions": [
 40765  	//         "",
 40766  	//         ""
 40767  	//       ],
 40768  	//       "location": "query",
 40769  	//       "type": "string"
 40770  	//     },
 40771  	//     "sortOrder": {
 40772  	//       "default": "ASCENDING",
 40773  	//       "description": "Order of sorted results.",
 40774  	//       "enum": [
 40775  	//         "ASCENDING",
 40776  	//         "DESCENDING"
 40777  	//       ],
 40778  	//       "enumDescriptions": [
 40779  	//         "",
 40780  	//         ""
 40781  	//       ],
 40782  	//       "location": "query",
 40783  	//       "type": "string"
 40784  	//     }
 40785  	//   },
 40786  	//   "path": "userprofiles/{profileId}/placements",
 40787  	//   "response": {
 40788  	//     "$ref": "PlacementsListResponse"
 40789  	//   },
 40790  	//   "scopes": [
 40791  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40792  	//   ]
 40793  	// }
 40794  
 40795  }
 40796  
 40797  // Pages invokes f for each page of results.
 40798  // A non-nil error returned from f will halt the iteration.
 40799  // The provided context supersedes any context provided to the Context method.
 40800  func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
 40801  	c.ctx_ = ctx
 40802  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 40803  	for {
 40804  		x, err := c.Do()
 40805  		if err != nil {
 40806  			return err
 40807  		}
 40808  		if err := f(x); err != nil {
 40809  			return err
 40810  		}
 40811  		if x.NextPageToken == "" {
 40812  			return nil
 40813  		}
 40814  		c.PageToken(x.NextPageToken)
 40815  	}
 40816  }
 40817  
 40818  // method id "dfareporting.placements.patch":
 40819  
 40820  type PlacementsPatchCall struct {
 40821  	s          *Service
 40822  	profileId  int64
 40823  	placement  *Placement
 40824  	urlParams_ gensupport.URLParams
 40825  	ctx_       context.Context
 40826  	header_    http.Header
 40827  }
 40828  
 40829  // Patch: Updates an existing placement. This method supports patch
 40830  // semantics.
 40831  func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
 40832  	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40833  	c.profileId = profileId
 40834  	c.urlParams_.Set("id", fmt.Sprint(id))
 40835  	c.placement = placement
 40836  	return c
 40837  }
 40838  
 40839  // Fields allows partial responses to be retrieved. See
 40840  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40841  // for more information.
 40842  func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
 40843  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40844  	return c
 40845  }
 40846  
 40847  // Context sets the context to be used in this call's Do method. Any
 40848  // pending HTTP request will be aborted if the provided context is
 40849  // canceled.
 40850  func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 40851  	c.ctx_ = ctx
 40852  	return c
 40853  }
 40854  
 40855  // Header returns an http.Header that can be modified by the caller to
 40856  // add HTTP headers to the request.
 40857  func (c *PlacementsPatchCall) Header() http.Header {
 40858  	if c.header_ == nil {
 40859  		c.header_ = make(http.Header)
 40860  	}
 40861  	return c.header_
 40862  }
 40863  
 40864  func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
 40865  	reqHeaders := make(http.Header)
 40866  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40867  	for k, v := range c.header_ {
 40868  		reqHeaders[k] = v
 40869  	}
 40870  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40871  	var body io.Reader = nil
 40872  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 40873  	if err != nil {
 40874  		return nil, err
 40875  	}
 40876  	reqHeaders.Set("Content-Type", "application/json")
 40877  	c.urlParams_.Set("alt", alt)
 40878  	c.urlParams_.Set("prettyPrint", "false")
 40879  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40880  	urls += "?" + c.urlParams_.Encode()
 40881  	req, err := http.NewRequest("PATCH", urls, body)
 40882  	if err != nil {
 40883  		return nil, err
 40884  	}
 40885  	req.Header = reqHeaders
 40886  	googleapi.Expand(req.URL, map[string]string{
 40887  		"profileId": strconv.FormatInt(c.profileId, 10),
 40888  	})
 40889  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40890  }
 40891  
 40892  // Do executes the "dfareporting.placements.patch" call.
 40893  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40894  // status code is an error. Response headers are in either
 40895  // *Placement.ServerResponse.Header or (if a response was returned at
 40896  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40897  // to check whether the returned error was because
 40898  // http.StatusNotModified was returned.
 40899  func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40900  	gensupport.SetOptions(c.urlParams_, opts...)
 40901  	res, err := c.doRequest("json")
 40902  	if res != nil && res.StatusCode == http.StatusNotModified {
 40903  		if res.Body != nil {
 40904  			res.Body.Close()
 40905  		}
 40906  		return nil, &googleapi.Error{
 40907  			Code:   res.StatusCode,
 40908  			Header: res.Header,
 40909  		}
 40910  	}
 40911  	if err != nil {
 40912  		return nil, err
 40913  	}
 40914  	defer googleapi.CloseBody(res)
 40915  	if err := googleapi.CheckResponse(res); err != nil {
 40916  		return nil, err
 40917  	}
 40918  	ret := &Placement{
 40919  		ServerResponse: googleapi.ServerResponse{
 40920  			Header:         res.Header,
 40921  			HTTPStatusCode: res.StatusCode,
 40922  		},
 40923  	}
 40924  	target := &ret
 40925  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40926  		return nil, err
 40927  	}
 40928  	return ret, nil
 40929  	// {
 40930  	//   "description": "Updates an existing placement. This method supports patch semantics.",
 40931  	//   "httpMethod": "PATCH",
 40932  	//   "id": "dfareporting.placements.patch",
 40933  	//   "parameterOrder": [
 40934  	//     "profileId",
 40935  	//     "id"
 40936  	//   ],
 40937  	//   "parameters": {
 40938  	//     "id": {
 40939  	//       "description": "Placement ID.",
 40940  	//       "format": "int64",
 40941  	//       "location": "query",
 40942  	//       "required": true,
 40943  	//       "type": "string"
 40944  	//     },
 40945  	//     "profileId": {
 40946  	//       "description": "User profile ID associated with this request.",
 40947  	//       "format": "int64",
 40948  	//       "location": "path",
 40949  	//       "required": true,
 40950  	//       "type": "string"
 40951  	//     }
 40952  	//   },
 40953  	//   "path": "userprofiles/{profileId}/placements",
 40954  	//   "request": {
 40955  	//     "$ref": "Placement"
 40956  	//   },
 40957  	//   "response": {
 40958  	//     "$ref": "Placement"
 40959  	//   },
 40960  	//   "scopes": [
 40961  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40962  	//   ]
 40963  	// }
 40964  
 40965  }
 40966  
 40967  // method id "dfareporting.placements.update":
 40968  
 40969  type PlacementsUpdateCall struct {
 40970  	s          *Service
 40971  	profileId  int64
 40972  	placement  *Placement
 40973  	urlParams_ gensupport.URLParams
 40974  	ctx_       context.Context
 40975  	header_    http.Header
 40976  }
 40977  
 40978  // Update: Updates an existing placement.
 40979  func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
 40980  	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40981  	c.profileId = profileId
 40982  	c.placement = placement
 40983  	return c
 40984  }
 40985  
 40986  // Fields allows partial responses to be retrieved. See
 40987  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40988  // for more information.
 40989  func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
 40990  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40991  	return c
 40992  }
 40993  
 40994  // Context sets the context to be used in this call's Do method. Any
 40995  // pending HTTP request will be aborted if the provided context is
 40996  // canceled.
 40997  func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 40998  	c.ctx_ = ctx
 40999  	return c
 41000  }
 41001  
 41002  // Header returns an http.Header that can be modified by the caller to
 41003  // add HTTP headers to the request.
 41004  func (c *PlacementsUpdateCall) Header() http.Header {
 41005  	if c.header_ == nil {
 41006  		c.header_ = make(http.Header)
 41007  	}
 41008  	return c.header_
 41009  }
 41010  
 41011  func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 41012  	reqHeaders := make(http.Header)
 41013  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41014  	for k, v := range c.header_ {
 41015  		reqHeaders[k] = v
 41016  	}
 41017  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41018  	var body io.Reader = nil
 41019  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 41020  	if err != nil {
 41021  		return nil, err
 41022  	}
 41023  	reqHeaders.Set("Content-Type", "application/json")
 41024  	c.urlParams_.Set("alt", alt)
 41025  	c.urlParams_.Set("prettyPrint", "false")
 41026  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 41027  	urls += "?" + c.urlParams_.Encode()
 41028  	req, err := http.NewRequest("PUT", urls, body)
 41029  	if err != nil {
 41030  		return nil, err
 41031  	}
 41032  	req.Header = reqHeaders
 41033  	googleapi.Expand(req.URL, map[string]string{
 41034  		"profileId": strconv.FormatInt(c.profileId, 10),
 41035  	})
 41036  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41037  }
 41038  
 41039  // Do executes the "dfareporting.placements.update" call.
 41040  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 41041  // status code is an error. Response headers are in either
 41042  // *Placement.ServerResponse.Header or (if a response was returned at
 41043  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41044  // to check whether the returned error was because
 41045  // http.StatusNotModified was returned.
 41046  func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 41047  	gensupport.SetOptions(c.urlParams_, opts...)
 41048  	res, err := c.doRequest("json")
 41049  	if res != nil && res.StatusCode == http.StatusNotModified {
 41050  		if res.Body != nil {
 41051  			res.Body.Close()
 41052  		}
 41053  		return nil, &googleapi.Error{
 41054  			Code:   res.StatusCode,
 41055  			Header: res.Header,
 41056  		}
 41057  	}
 41058  	if err != nil {
 41059  		return nil, err
 41060  	}
 41061  	defer googleapi.CloseBody(res)
 41062  	if err := googleapi.CheckResponse(res); err != nil {
 41063  		return nil, err
 41064  	}
 41065  	ret := &Placement{
 41066  		ServerResponse: googleapi.ServerResponse{
 41067  			Header:         res.Header,
 41068  			HTTPStatusCode: res.StatusCode,
 41069  		},
 41070  	}
 41071  	target := &ret
 41072  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41073  		return nil, err
 41074  	}
 41075  	return ret, nil
 41076  	// {
 41077  	//   "description": "Updates an existing placement.",
 41078  	//   "httpMethod": "PUT",
 41079  	//   "id": "dfareporting.placements.update",
 41080  	//   "parameterOrder": [
 41081  	//     "profileId"
 41082  	//   ],
 41083  	//   "parameters": {
 41084  	//     "profileId": {
 41085  	//       "description": "User profile ID associated with this request.",
 41086  	//       "format": "int64",
 41087  	//       "location": "path",
 41088  	//       "required": true,
 41089  	//       "type": "string"
 41090  	//     }
 41091  	//   },
 41092  	//   "path": "userprofiles/{profileId}/placements",
 41093  	//   "request": {
 41094  	//     "$ref": "Placement"
 41095  	//   },
 41096  	//   "response": {
 41097  	//     "$ref": "Placement"
 41098  	//   },
 41099  	//   "scopes": [
 41100  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41101  	//   ]
 41102  	// }
 41103  
 41104  }
 41105  
 41106  // method id "dfareporting.platformTypes.get":
 41107  
 41108  type PlatformTypesGetCall struct {
 41109  	s            *Service
 41110  	profileId    int64
 41111  	id           int64
 41112  	urlParams_   gensupport.URLParams
 41113  	ifNoneMatch_ string
 41114  	ctx_         context.Context
 41115  	header_      http.Header
 41116  }
 41117  
 41118  // Get: Gets one platform type by ID.
 41119  func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
 41120  	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41121  	c.profileId = profileId
 41122  	c.id = id
 41123  	return c
 41124  }
 41125  
 41126  // Fields allows partial responses to be retrieved. See
 41127  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41128  // for more information.
 41129  func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
 41130  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41131  	return c
 41132  }
 41133  
 41134  // IfNoneMatch sets the optional parameter which makes the operation
 41135  // fail if the object's ETag matches the given value. This is useful for
 41136  // getting updates only after the object has changed since the last
 41137  // request. Use googleapi.IsNotModified to check whether the response
 41138  // error from Do is the result of In-None-Match.
 41139  func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
 41140  	c.ifNoneMatch_ = entityTag
 41141  	return c
 41142  }
 41143  
 41144  // Context sets the context to be used in this call's Do method. Any
 41145  // pending HTTP request will be aborted if the provided context is
 41146  // canceled.
 41147  func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
 41148  	c.ctx_ = ctx
 41149  	return c
 41150  }
 41151  
 41152  // Header returns an http.Header that can be modified by the caller to
 41153  // add HTTP headers to the request.
 41154  func (c *PlatformTypesGetCall) Header() http.Header {
 41155  	if c.header_ == nil {
 41156  		c.header_ = make(http.Header)
 41157  	}
 41158  	return c.header_
 41159  }
 41160  
 41161  func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 41162  	reqHeaders := make(http.Header)
 41163  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41164  	for k, v := range c.header_ {
 41165  		reqHeaders[k] = v
 41166  	}
 41167  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41168  	if c.ifNoneMatch_ != "" {
 41169  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41170  	}
 41171  	var body io.Reader = nil
 41172  	c.urlParams_.Set("alt", alt)
 41173  	c.urlParams_.Set("prettyPrint", "false")
 41174  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
 41175  	urls += "?" + c.urlParams_.Encode()
 41176  	req, err := http.NewRequest("GET", urls, body)
 41177  	if err != nil {
 41178  		return nil, err
 41179  	}
 41180  	req.Header = reqHeaders
 41181  	googleapi.Expand(req.URL, map[string]string{
 41182  		"profileId": strconv.FormatInt(c.profileId, 10),
 41183  		"id":        strconv.FormatInt(c.id, 10),
 41184  	})
 41185  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41186  }
 41187  
 41188  // Do executes the "dfareporting.platformTypes.get" call.
 41189  // Exactly one of *PlatformType or error will be non-nil. Any non-2xx
 41190  // status code is an error. Response headers are in either
 41191  // *PlatformType.ServerResponse.Header or (if a response was returned at
 41192  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41193  // to check whether the returned error was because
 41194  // http.StatusNotModified was returned.
 41195  func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
 41196  	gensupport.SetOptions(c.urlParams_, opts...)
 41197  	res, err := c.doRequest("json")
 41198  	if res != nil && res.StatusCode == http.StatusNotModified {
 41199  		if res.Body != nil {
 41200  			res.Body.Close()
 41201  		}
 41202  		return nil, &googleapi.Error{
 41203  			Code:   res.StatusCode,
 41204  			Header: res.Header,
 41205  		}
 41206  	}
 41207  	if err != nil {
 41208  		return nil, err
 41209  	}
 41210  	defer googleapi.CloseBody(res)
 41211  	if err := googleapi.CheckResponse(res); err != nil {
 41212  		return nil, err
 41213  	}
 41214  	ret := &PlatformType{
 41215  		ServerResponse: googleapi.ServerResponse{
 41216  			Header:         res.Header,
 41217  			HTTPStatusCode: res.StatusCode,
 41218  		},
 41219  	}
 41220  	target := &ret
 41221  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41222  		return nil, err
 41223  	}
 41224  	return ret, nil
 41225  	// {
 41226  	//   "description": "Gets one platform type by ID.",
 41227  	//   "httpMethod": "GET",
 41228  	//   "id": "dfareporting.platformTypes.get",
 41229  	//   "parameterOrder": [
 41230  	//     "profileId",
 41231  	//     "id"
 41232  	//   ],
 41233  	//   "parameters": {
 41234  	//     "id": {
 41235  	//       "description": "Platform type ID.",
 41236  	//       "format": "int64",
 41237  	//       "location": "path",
 41238  	//       "required": true,
 41239  	//       "type": "string"
 41240  	//     },
 41241  	//     "profileId": {
 41242  	//       "description": "User profile ID associated with this request.",
 41243  	//       "format": "int64",
 41244  	//       "location": "path",
 41245  	//       "required": true,
 41246  	//       "type": "string"
 41247  	//     }
 41248  	//   },
 41249  	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
 41250  	//   "response": {
 41251  	//     "$ref": "PlatformType"
 41252  	//   },
 41253  	//   "scopes": [
 41254  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41255  	//   ]
 41256  	// }
 41257  
 41258  }
 41259  
 41260  // method id "dfareporting.platformTypes.list":
 41261  
 41262  type PlatformTypesListCall struct {
 41263  	s            *Service
 41264  	profileId    int64
 41265  	urlParams_   gensupport.URLParams
 41266  	ifNoneMatch_ string
 41267  	ctx_         context.Context
 41268  	header_      http.Header
 41269  }
 41270  
 41271  // List: Retrieves a list of platform types.
 41272  func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
 41273  	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41274  	c.profileId = profileId
 41275  	return c
 41276  }
 41277  
 41278  // Fields allows partial responses to be retrieved. See
 41279  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41280  // for more information.
 41281  func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
 41282  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41283  	return c
 41284  }
 41285  
 41286  // IfNoneMatch sets the optional parameter which makes the operation
 41287  // fail if the object's ETag matches the given value. This is useful for
 41288  // getting updates only after the object has changed since the last
 41289  // request. Use googleapi.IsNotModified to check whether the response
 41290  // error from Do is the result of In-None-Match.
 41291  func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
 41292  	c.ifNoneMatch_ = entityTag
 41293  	return c
 41294  }
 41295  
 41296  // Context sets the context to be used in this call's Do method. Any
 41297  // pending HTTP request will be aborted if the provided context is
 41298  // canceled.
 41299  func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 41300  	c.ctx_ = ctx
 41301  	return c
 41302  }
 41303  
 41304  // Header returns an http.Header that can be modified by the caller to
 41305  // add HTTP headers to the request.
 41306  func (c *PlatformTypesListCall) Header() http.Header {
 41307  	if c.header_ == nil {
 41308  		c.header_ = make(http.Header)
 41309  	}
 41310  	return c.header_
 41311  }
 41312  
 41313  func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 41314  	reqHeaders := make(http.Header)
 41315  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41316  	for k, v := range c.header_ {
 41317  		reqHeaders[k] = v
 41318  	}
 41319  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41320  	if c.ifNoneMatch_ != "" {
 41321  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41322  	}
 41323  	var body io.Reader = nil
 41324  	c.urlParams_.Set("alt", alt)
 41325  	c.urlParams_.Set("prettyPrint", "false")
 41326  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
 41327  	urls += "?" + c.urlParams_.Encode()
 41328  	req, err := http.NewRequest("GET", urls, body)
 41329  	if err != nil {
 41330  		return nil, err
 41331  	}
 41332  	req.Header = reqHeaders
 41333  	googleapi.Expand(req.URL, map[string]string{
 41334  		"profileId": strconv.FormatInt(c.profileId, 10),
 41335  	})
 41336  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41337  }
 41338  
 41339  // Do executes the "dfareporting.platformTypes.list" call.
 41340  // Exactly one of *PlatformTypesListResponse or error will be non-nil.
 41341  // Any non-2xx status code is an error. Response headers are in either
 41342  // *PlatformTypesListResponse.ServerResponse.Header or (if a response
 41343  // was returned at all) in error.(*googleapi.Error).Header. Use
 41344  // googleapi.IsNotModified to check whether the returned error was
 41345  // because http.StatusNotModified was returned.
 41346  func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
 41347  	gensupport.SetOptions(c.urlParams_, opts...)
 41348  	res, err := c.doRequest("json")
 41349  	if res != nil && res.StatusCode == http.StatusNotModified {
 41350  		if res.Body != nil {
 41351  			res.Body.Close()
 41352  		}
 41353  		return nil, &googleapi.Error{
 41354  			Code:   res.StatusCode,
 41355  			Header: res.Header,
 41356  		}
 41357  	}
 41358  	if err != nil {
 41359  		return nil, err
 41360  	}
 41361  	defer googleapi.CloseBody(res)
 41362  	if err := googleapi.CheckResponse(res); err != nil {
 41363  		return nil, err
 41364  	}
 41365  	ret := &PlatformTypesListResponse{
 41366  		ServerResponse: googleapi.ServerResponse{
 41367  			Header:         res.Header,
 41368  			HTTPStatusCode: res.StatusCode,
 41369  		},
 41370  	}
 41371  	target := &ret
 41372  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41373  		return nil, err
 41374  	}
 41375  	return ret, nil
 41376  	// {
 41377  	//   "description": "Retrieves a list of platform types.",
 41378  	//   "httpMethod": "GET",
 41379  	//   "id": "dfareporting.platformTypes.list",
 41380  	//   "parameterOrder": [
 41381  	//     "profileId"
 41382  	//   ],
 41383  	//   "parameters": {
 41384  	//     "profileId": {
 41385  	//       "description": "User profile ID associated with this request.",
 41386  	//       "format": "int64",
 41387  	//       "location": "path",
 41388  	//       "required": true,
 41389  	//       "type": "string"
 41390  	//     }
 41391  	//   },
 41392  	//   "path": "userprofiles/{profileId}/platformTypes",
 41393  	//   "response": {
 41394  	//     "$ref": "PlatformTypesListResponse"
 41395  	//   },
 41396  	//   "scopes": [
 41397  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41398  	//   ]
 41399  	// }
 41400  
 41401  }
 41402  
 41403  // method id "dfareporting.postalCodes.get":
 41404  
 41405  type PostalCodesGetCall struct {
 41406  	s            *Service
 41407  	profileId    int64
 41408  	code         string
 41409  	urlParams_   gensupport.URLParams
 41410  	ifNoneMatch_ string
 41411  	ctx_         context.Context
 41412  	header_      http.Header
 41413  }
 41414  
 41415  // Get: Gets one postal code by ID.
 41416  func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
 41417  	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41418  	c.profileId = profileId
 41419  	c.code = code
 41420  	return c
 41421  }
 41422  
 41423  // Fields allows partial responses to be retrieved. See
 41424  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41425  // for more information.
 41426  func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
 41427  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41428  	return c
 41429  }
 41430  
 41431  // IfNoneMatch sets the optional parameter which makes the operation
 41432  // fail if the object's ETag matches the given value. This is useful for
 41433  // getting updates only after the object has changed since the last
 41434  // request. Use googleapi.IsNotModified to check whether the response
 41435  // error from Do is the result of In-None-Match.
 41436  func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
 41437  	c.ifNoneMatch_ = entityTag
 41438  	return c
 41439  }
 41440  
 41441  // Context sets the context to be used in this call's Do method. Any
 41442  // pending HTTP request will be aborted if the provided context is
 41443  // canceled.
 41444  func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
 41445  	c.ctx_ = ctx
 41446  	return c
 41447  }
 41448  
 41449  // Header returns an http.Header that can be modified by the caller to
 41450  // add HTTP headers to the request.
 41451  func (c *PostalCodesGetCall) Header() http.Header {
 41452  	if c.header_ == nil {
 41453  		c.header_ = make(http.Header)
 41454  	}
 41455  	return c.header_
 41456  }
 41457  
 41458  func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 41459  	reqHeaders := make(http.Header)
 41460  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41461  	for k, v := range c.header_ {
 41462  		reqHeaders[k] = v
 41463  	}
 41464  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41465  	if c.ifNoneMatch_ != "" {
 41466  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41467  	}
 41468  	var body io.Reader = nil
 41469  	c.urlParams_.Set("alt", alt)
 41470  	c.urlParams_.Set("prettyPrint", "false")
 41471  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
 41472  	urls += "?" + c.urlParams_.Encode()
 41473  	req, err := http.NewRequest("GET", urls, body)
 41474  	if err != nil {
 41475  		return nil, err
 41476  	}
 41477  	req.Header = reqHeaders
 41478  	googleapi.Expand(req.URL, map[string]string{
 41479  		"profileId": strconv.FormatInt(c.profileId, 10),
 41480  		"code":      c.code,
 41481  	})
 41482  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41483  }
 41484  
 41485  // Do executes the "dfareporting.postalCodes.get" call.
 41486  // Exactly one of *PostalCode or error will be non-nil. Any non-2xx
 41487  // status code is an error. Response headers are in either
 41488  // *PostalCode.ServerResponse.Header or (if a response was returned at
 41489  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41490  // to check whether the returned error was because
 41491  // http.StatusNotModified was returned.
 41492  func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
 41493  	gensupport.SetOptions(c.urlParams_, opts...)
 41494  	res, err := c.doRequest("json")
 41495  	if res != nil && res.StatusCode == http.StatusNotModified {
 41496  		if res.Body != nil {
 41497  			res.Body.Close()
 41498  		}
 41499  		return nil, &googleapi.Error{
 41500  			Code:   res.StatusCode,
 41501  			Header: res.Header,
 41502  		}
 41503  	}
 41504  	if err != nil {
 41505  		return nil, err
 41506  	}
 41507  	defer googleapi.CloseBody(res)
 41508  	if err := googleapi.CheckResponse(res); err != nil {
 41509  		return nil, err
 41510  	}
 41511  	ret := &PostalCode{
 41512  		ServerResponse: googleapi.ServerResponse{
 41513  			Header:         res.Header,
 41514  			HTTPStatusCode: res.StatusCode,
 41515  		},
 41516  	}
 41517  	target := &ret
 41518  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41519  		return nil, err
 41520  	}
 41521  	return ret, nil
 41522  	// {
 41523  	//   "description": "Gets one postal code by ID.",
 41524  	//   "httpMethod": "GET",
 41525  	//   "id": "dfareporting.postalCodes.get",
 41526  	//   "parameterOrder": [
 41527  	//     "profileId",
 41528  	//     "code"
 41529  	//   ],
 41530  	//   "parameters": {
 41531  	//     "code": {
 41532  	//       "description": "Postal code ID.",
 41533  	//       "location": "path",
 41534  	//       "required": true,
 41535  	//       "type": "string"
 41536  	//     },
 41537  	//     "profileId": {
 41538  	//       "description": "User profile ID associated with this request.",
 41539  	//       "format": "int64",
 41540  	//       "location": "path",
 41541  	//       "required": true,
 41542  	//       "type": "string"
 41543  	//     }
 41544  	//   },
 41545  	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
 41546  	//   "response": {
 41547  	//     "$ref": "PostalCode"
 41548  	//   },
 41549  	//   "scopes": [
 41550  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41551  	//   ]
 41552  	// }
 41553  
 41554  }
 41555  
 41556  // method id "dfareporting.postalCodes.list":
 41557  
 41558  type PostalCodesListCall struct {
 41559  	s            *Service
 41560  	profileId    int64
 41561  	urlParams_   gensupport.URLParams
 41562  	ifNoneMatch_ string
 41563  	ctx_         context.Context
 41564  	header_      http.Header
 41565  }
 41566  
 41567  // List: Retrieves a list of postal codes.
 41568  func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
 41569  	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41570  	c.profileId = profileId
 41571  	return c
 41572  }
 41573  
 41574  // Fields allows partial responses to be retrieved. See
 41575  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41576  // for more information.
 41577  func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
 41578  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41579  	return c
 41580  }
 41581  
 41582  // IfNoneMatch sets the optional parameter which makes the operation
 41583  // fail if the object's ETag matches the given value. This is useful for
 41584  // getting updates only after the object has changed since the last
 41585  // request. Use googleapi.IsNotModified to check whether the response
 41586  // error from Do is the result of In-None-Match.
 41587  func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
 41588  	c.ifNoneMatch_ = entityTag
 41589  	return c
 41590  }
 41591  
 41592  // Context sets the context to be used in this call's Do method. Any
 41593  // pending HTTP request will be aborted if the provided context is
 41594  // canceled.
 41595  func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 41596  	c.ctx_ = ctx
 41597  	return c
 41598  }
 41599  
 41600  // Header returns an http.Header that can be modified by the caller to
 41601  // add HTTP headers to the request.
 41602  func (c *PostalCodesListCall) Header() http.Header {
 41603  	if c.header_ == nil {
 41604  		c.header_ = make(http.Header)
 41605  	}
 41606  	return c.header_
 41607  }
 41608  
 41609  func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 41610  	reqHeaders := make(http.Header)
 41611  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41612  	for k, v := range c.header_ {
 41613  		reqHeaders[k] = v
 41614  	}
 41615  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41616  	if c.ifNoneMatch_ != "" {
 41617  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41618  	}
 41619  	var body io.Reader = nil
 41620  	c.urlParams_.Set("alt", alt)
 41621  	c.urlParams_.Set("prettyPrint", "false")
 41622  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
 41623  	urls += "?" + c.urlParams_.Encode()
 41624  	req, err := http.NewRequest("GET", urls, body)
 41625  	if err != nil {
 41626  		return nil, err
 41627  	}
 41628  	req.Header = reqHeaders
 41629  	googleapi.Expand(req.URL, map[string]string{
 41630  		"profileId": strconv.FormatInt(c.profileId, 10),
 41631  	})
 41632  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41633  }
 41634  
 41635  // Do executes the "dfareporting.postalCodes.list" call.
 41636  // Exactly one of *PostalCodesListResponse or error will be non-nil. Any
 41637  // non-2xx status code is an error. Response headers are in either
 41638  // *PostalCodesListResponse.ServerResponse.Header or (if a response was
 41639  // returned at all) in error.(*googleapi.Error).Header. Use
 41640  // googleapi.IsNotModified to check whether the returned error was
 41641  // because http.StatusNotModified was returned.
 41642  func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
 41643  	gensupport.SetOptions(c.urlParams_, opts...)
 41644  	res, err := c.doRequest("json")
 41645  	if res != nil && res.StatusCode == http.StatusNotModified {
 41646  		if res.Body != nil {
 41647  			res.Body.Close()
 41648  		}
 41649  		return nil, &googleapi.Error{
 41650  			Code:   res.StatusCode,
 41651  			Header: res.Header,
 41652  		}
 41653  	}
 41654  	if err != nil {
 41655  		return nil, err
 41656  	}
 41657  	defer googleapi.CloseBody(res)
 41658  	if err := googleapi.CheckResponse(res); err != nil {
 41659  		return nil, err
 41660  	}
 41661  	ret := &PostalCodesListResponse{
 41662  		ServerResponse: googleapi.ServerResponse{
 41663  			Header:         res.Header,
 41664  			HTTPStatusCode: res.StatusCode,
 41665  		},
 41666  	}
 41667  	target := &ret
 41668  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41669  		return nil, err
 41670  	}
 41671  	return ret, nil
 41672  	// {
 41673  	//   "description": "Retrieves a list of postal codes.",
 41674  	//   "httpMethod": "GET",
 41675  	//   "id": "dfareporting.postalCodes.list",
 41676  	//   "parameterOrder": [
 41677  	//     "profileId"
 41678  	//   ],
 41679  	//   "parameters": {
 41680  	//     "profileId": {
 41681  	//       "description": "User profile ID associated with this request.",
 41682  	//       "format": "int64",
 41683  	//       "location": "path",
 41684  	//       "required": true,
 41685  	//       "type": "string"
 41686  	//     }
 41687  	//   },
 41688  	//   "path": "userprofiles/{profileId}/postalCodes",
 41689  	//   "response": {
 41690  	//     "$ref": "PostalCodesListResponse"
 41691  	//   },
 41692  	//   "scopes": [
 41693  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41694  	//   ]
 41695  	// }
 41696  
 41697  }
 41698  
 41699  // method id "dfareporting.projects.get":
 41700  
 41701  type ProjectsGetCall struct {
 41702  	s            *Service
 41703  	profileId    int64
 41704  	id           int64
 41705  	urlParams_   gensupport.URLParams
 41706  	ifNoneMatch_ string
 41707  	ctx_         context.Context
 41708  	header_      http.Header
 41709  }
 41710  
 41711  // Get: Gets one project by ID.
 41712  func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
 41713  	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41714  	c.profileId = profileId
 41715  	c.id = id
 41716  	return c
 41717  }
 41718  
 41719  // Fields allows partial responses to be retrieved. See
 41720  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41721  // for more information.
 41722  func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
 41723  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41724  	return c
 41725  }
 41726  
 41727  // IfNoneMatch sets the optional parameter which makes the operation
 41728  // fail if the object's ETag matches the given value. This is useful for
 41729  // getting updates only after the object has changed since the last
 41730  // request. Use googleapi.IsNotModified to check whether the response
 41731  // error from Do is the result of In-None-Match.
 41732  func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
 41733  	c.ifNoneMatch_ = entityTag
 41734  	return c
 41735  }
 41736  
 41737  // Context sets the context to be used in this call's Do method. Any
 41738  // pending HTTP request will be aborted if the provided context is
 41739  // canceled.
 41740  func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 41741  	c.ctx_ = ctx
 41742  	return c
 41743  }
 41744  
 41745  // Header returns an http.Header that can be modified by the caller to
 41746  // add HTTP headers to the request.
 41747  func (c *ProjectsGetCall) Header() http.Header {
 41748  	if c.header_ == nil {
 41749  		c.header_ = make(http.Header)
 41750  	}
 41751  	return c.header_
 41752  }
 41753  
 41754  func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 41755  	reqHeaders := make(http.Header)
 41756  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41757  	for k, v := range c.header_ {
 41758  		reqHeaders[k] = v
 41759  	}
 41760  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41761  	if c.ifNoneMatch_ != "" {
 41762  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41763  	}
 41764  	var body io.Reader = nil
 41765  	c.urlParams_.Set("alt", alt)
 41766  	c.urlParams_.Set("prettyPrint", "false")
 41767  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
 41768  	urls += "?" + c.urlParams_.Encode()
 41769  	req, err := http.NewRequest("GET", urls, body)
 41770  	if err != nil {
 41771  		return nil, err
 41772  	}
 41773  	req.Header = reqHeaders
 41774  	googleapi.Expand(req.URL, map[string]string{
 41775  		"profileId": strconv.FormatInt(c.profileId, 10),
 41776  		"id":        strconv.FormatInt(c.id, 10),
 41777  	})
 41778  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41779  }
 41780  
 41781  // Do executes the "dfareporting.projects.get" call.
 41782  // Exactly one of *Project or error will be non-nil. Any non-2xx status
 41783  // code is an error. Response headers are in either
 41784  // *Project.ServerResponse.Header or (if a response was returned at all)
 41785  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 41786  // check whether the returned error was because http.StatusNotModified
 41787  // was returned.
 41788  func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
 41789  	gensupport.SetOptions(c.urlParams_, opts...)
 41790  	res, err := c.doRequest("json")
 41791  	if res != nil && res.StatusCode == http.StatusNotModified {
 41792  		if res.Body != nil {
 41793  			res.Body.Close()
 41794  		}
 41795  		return nil, &googleapi.Error{
 41796  			Code:   res.StatusCode,
 41797  			Header: res.Header,
 41798  		}
 41799  	}
 41800  	if err != nil {
 41801  		return nil, err
 41802  	}
 41803  	defer googleapi.CloseBody(res)
 41804  	if err := googleapi.CheckResponse(res); err != nil {
 41805  		return nil, err
 41806  	}
 41807  	ret := &Project{
 41808  		ServerResponse: googleapi.ServerResponse{
 41809  			Header:         res.Header,
 41810  			HTTPStatusCode: res.StatusCode,
 41811  		},
 41812  	}
 41813  	target := &ret
 41814  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41815  		return nil, err
 41816  	}
 41817  	return ret, nil
 41818  	// {
 41819  	//   "description": "Gets one project by ID.",
 41820  	//   "httpMethod": "GET",
 41821  	//   "id": "dfareporting.projects.get",
 41822  	//   "parameterOrder": [
 41823  	//     "profileId",
 41824  	//     "id"
 41825  	//   ],
 41826  	//   "parameters": {
 41827  	//     "id": {
 41828  	//       "description": "Project ID.",
 41829  	//       "format": "int64",
 41830  	//       "location": "path",
 41831  	//       "required": true,
 41832  	//       "type": "string"
 41833  	//     },
 41834  	//     "profileId": {
 41835  	//       "description": "User profile ID associated with this request.",
 41836  	//       "format": "int64",
 41837  	//       "location": "path",
 41838  	//       "required": true,
 41839  	//       "type": "string"
 41840  	//     }
 41841  	//   },
 41842  	//   "path": "userprofiles/{profileId}/projects/{id}",
 41843  	//   "response": {
 41844  	//     "$ref": "Project"
 41845  	//   },
 41846  	//   "scopes": [
 41847  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41848  	//   ]
 41849  	// }
 41850  
 41851  }
 41852  
 41853  // method id "dfareporting.projects.list":
 41854  
 41855  type ProjectsListCall struct {
 41856  	s            *Service
 41857  	profileId    int64
 41858  	urlParams_   gensupport.URLParams
 41859  	ifNoneMatch_ string
 41860  	ctx_         context.Context
 41861  	header_      http.Header
 41862  }
 41863  
 41864  // List: Retrieves a list of projects, possibly filtered. This method
 41865  // supports paging.
 41866  func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
 41867  	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41868  	c.profileId = profileId
 41869  	return c
 41870  }
 41871  
 41872  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 41873  // only projects with these advertiser IDs.
 41874  func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
 41875  	var advertiserIds_ []string
 41876  	for _, v := range advertiserIds {
 41877  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 41878  	}
 41879  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 41880  	return c
 41881  }
 41882  
 41883  // Ids sets the optional parameter "ids": Select only projects with
 41884  // these IDs.
 41885  func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
 41886  	var ids_ []string
 41887  	for _, v := range ids {
 41888  		ids_ = append(ids_, fmt.Sprint(v))
 41889  	}
 41890  	c.urlParams_.SetMulti("ids", ids_)
 41891  	return c
 41892  }
 41893  
 41894  // MaxResults sets the optional parameter "maxResults": Maximum number
 41895  // of results to return.
 41896  func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
 41897  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 41898  	return c
 41899  }
 41900  
 41901  // PageToken sets the optional parameter "pageToken": Value of the
 41902  // nextPageToken from the previous result page.
 41903  func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
 41904  	c.urlParams_.Set("pageToken", pageToken)
 41905  	return c
 41906  }
 41907  
 41908  // SearchString sets the optional parameter "searchString": Allows
 41909  // searching for projects by name or ID. Wildcards (*) are allowed. For
 41910  // example, "project*2015" will return projects with names like "project
 41911  // June 2015", "project April 2015", or simply "project 2015". Most of
 41912  // the searches also add wildcards implicitly at the start and the end
 41913  // of the search string. For example, a search string of "project" will
 41914  // match projects with name "my project", "project 2015", or simply
 41915  // "project".
 41916  func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
 41917  	c.urlParams_.Set("searchString", searchString)
 41918  	return c
 41919  }
 41920  
 41921  // SortField sets the optional parameter "sortField": Field by which to
 41922  // sort the list.
 41923  //
 41924  // Possible values:
 41925  //
 41926  //	"ID" (default)
 41927  //	"NAME"
 41928  func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
 41929  	c.urlParams_.Set("sortField", sortField)
 41930  	return c
 41931  }
 41932  
 41933  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 41934  // results.
 41935  //
 41936  // Possible values:
 41937  //
 41938  //	"ASCENDING" (default)
 41939  //	"DESCENDING"
 41940  func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
 41941  	c.urlParams_.Set("sortOrder", sortOrder)
 41942  	return c
 41943  }
 41944  
 41945  // Fields allows partial responses to be retrieved. See
 41946  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41947  // for more information.
 41948  func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
 41949  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41950  	return c
 41951  }
 41952  
 41953  // IfNoneMatch sets the optional parameter which makes the operation
 41954  // fail if the object's ETag matches the given value. This is useful for
 41955  // getting updates only after the object has changed since the last
 41956  // request. Use googleapi.IsNotModified to check whether the response
 41957  // error from Do is the result of In-None-Match.
 41958  func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
 41959  	c.ifNoneMatch_ = entityTag
 41960  	return c
 41961  }
 41962  
 41963  // Context sets the context to be used in this call's Do method. Any
 41964  // pending HTTP request will be aborted if the provided context is
 41965  // canceled.
 41966  func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 41967  	c.ctx_ = ctx
 41968  	return c
 41969  }
 41970  
 41971  // Header returns an http.Header that can be modified by the caller to
 41972  // add HTTP headers to the request.
 41973  func (c *ProjectsListCall) Header() http.Header {
 41974  	if c.header_ == nil {
 41975  		c.header_ = make(http.Header)
 41976  	}
 41977  	return c.header_
 41978  }
 41979  
 41980  func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 41981  	reqHeaders := make(http.Header)
 41982  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41983  	for k, v := range c.header_ {
 41984  		reqHeaders[k] = v
 41985  	}
 41986  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41987  	if c.ifNoneMatch_ != "" {
 41988  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41989  	}
 41990  	var body io.Reader = nil
 41991  	c.urlParams_.Set("alt", alt)
 41992  	c.urlParams_.Set("prettyPrint", "false")
 41993  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
 41994  	urls += "?" + c.urlParams_.Encode()
 41995  	req, err := http.NewRequest("GET", urls, body)
 41996  	if err != nil {
 41997  		return nil, err
 41998  	}
 41999  	req.Header = reqHeaders
 42000  	googleapi.Expand(req.URL, map[string]string{
 42001  		"profileId": strconv.FormatInt(c.profileId, 10),
 42002  	})
 42003  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42004  }
 42005  
 42006  // Do executes the "dfareporting.projects.list" call.
 42007  // Exactly one of *ProjectsListResponse or error will be non-nil. Any
 42008  // non-2xx status code is an error. Response headers are in either
 42009  // *ProjectsListResponse.ServerResponse.Header or (if a response was
 42010  // returned at all) in error.(*googleapi.Error).Header. Use
 42011  // googleapi.IsNotModified to check whether the returned error was
 42012  // because http.StatusNotModified was returned.
 42013  func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
 42014  	gensupport.SetOptions(c.urlParams_, opts...)
 42015  	res, err := c.doRequest("json")
 42016  	if res != nil && res.StatusCode == http.StatusNotModified {
 42017  		if res.Body != nil {
 42018  			res.Body.Close()
 42019  		}
 42020  		return nil, &googleapi.Error{
 42021  			Code:   res.StatusCode,
 42022  			Header: res.Header,
 42023  		}
 42024  	}
 42025  	if err != nil {
 42026  		return nil, err
 42027  	}
 42028  	defer googleapi.CloseBody(res)
 42029  	if err := googleapi.CheckResponse(res); err != nil {
 42030  		return nil, err
 42031  	}
 42032  	ret := &ProjectsListResponse{
 42033  		ServerResponse: googleapi.ServerResponse{
 42034  			Header:         res.Header,
 42035  			HTTPStatusCode: res.StatusCode,
 42036  		},
 42037  	}
 42038  	target := &ret
 42039  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42040  		return nil, err
 42041  	}
 42042  	return ret, nil
 42043  	// {
 42044  	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
 42045  	//   "httpMethod": "GET",
 42046  	//   "id": "dfareporting.projects.list",
 42047  	//   "parameterOrder": [
 42048  	//     "profileId"
 42049  	//   ],
 42050  	//   "parameters": {
 42051  	//     "advertiserIds": {
 42052  	//       "description": "Select only projects with these advertiser IDs.",
 42053  	//       "format": "int64",
 42054  	//       "location": "query",
 42055  	//       "repeated": true,
 42056  	//       "type": "string"
 42057  	//     },
 42058  	//     "ids": {
 42059  	//       "description": "Select only projects with these IDs.",
 42060  	//       "format": "int64",
 42061  	//       "location": "query",
 42062  	//       "repeated": true,
 42063  	//       "type": "string"
 42064  	//     },
 42065  	//     "maxResults": {
 42066  	//       "default": "1000",
 42067  	//       "description": "Maximum number of results to return.",
 42068  	//       "format": "int32",
 42069  	//       "location": "query",
 42070  	//       "maximum": "1000",
 42071  	//       "minimum": "0",
 42072  	//       "type": "integer"
 42073  	//     },
 42074  	//     "pageToken": {
 42075  	//       "description": "Value of the nextPageToken from the previous result page.",
 42076  	//       "location": "query",
 42077  	//       "type": "string"
 42078  	//     },
 42079  	//     "profileId": {
 42080  	//       "description": "User profile ID associated with this request.",
 42081  	//       "format": "int64",
 42082  	//       "location": "path",
 42083  	//       "required": true,
 42084  	//       "type": "string"
 42085  	//     },
 42086  	//     "searchString": {
 42087  	//       "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\".",
 42088  	//       "location": "query",
 42089  	//       "type": "string"
 42090  	//     },
 42091  	//     "sortField": {
 42092  	//       "default": "ID",
 42093  	//       "description": "Field by which to sort the list.",
 42094  	//       "enum": [
 42095  	//         "ID",
 42096  	//         "NAME"
 42097  	//       ],
 42098  	//       "enumDescriptions": [
 42099  	//         "",
 42100  	//         ""
 42101  	//       ],
 42102  	//       "location": "query",
 42103  	//       "type": "string"
 42104  	//     },
 42105  	//     "sortOrder": {
 42106  	//       "default": "ASCENDING",
 42107  	//       "description": "Order of sorted results.",
 42108  	//       "enum": [
 42109  	//         "ASCENDING",
 42110  	//         "DESCENDING"
 42111  	//       ],
 42112  	//       "enumDescriptions": [
 42113  	//         "",
 42114  	//         ""
 42115  	//       ],
 42116  	//       "location": "query",
 42117  	//       "type": "string"
 42118  	//     }
 42119  	//   },
 42120  	//   "path": "userprofiles/{profileId}/projects",
 42121  	//   "response": {
 42122  	//     "$ref": "ProjectsListResponse"
 42123  	//   },
 42124  	//   "scopes": [
 42125  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42126  	//   ]
 42127  	// }
 42128  
 42129  }
 42130  
 42131  // Pages invokes f for each page of results.
 42132  // A non-nil error returned from f will halt the iteration.
 42133  // The provided context supersedes any context provided to the Context method.
 42134  func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
 42135  	c.ctx_ = ctx
 42136  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 42137  	for {
 42138  		x, err := c.Do()
 42139  		if err != nil {
 42140  			return err
 42141  		}
 42142  		if err := f(x); err != nil {
 42143  			return err
 42144  		}
 42145  		if x.NextPageToken == "" {
 42146  			return nil
 42147  		}
 42148  		c.PageToken(x.NextPageToken)
 42149  	}
 42150  }
 42151  
 42152  // method id "dfareporting.regions.list":
 42153  
 42154  type RegionsListCall struct {
 42155  	s            *Service
 42156  	profileId    int64
 42157  	urlParams_   gensupport.URLParams
 42158  	ifNoneMatch_ string
 42159  	ctx_         context.Context
 42160  	header_      http.Header
 42161  }
 42162  
 42163  // List: Retrieves a list of regions.
 42164  func (r *RegionsService) List(profileId int64) *RegionsListCall {
 42165  	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42166  	c.profileId = profileId
 42167  	return c
 42168  }
 42169  
 42170  // Fields allows partial responses to be retrieved. See
 42171  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42172  // for more information.
 42173  func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
 42174  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42175  	return c
 42176  }
 42177  
 42178  // IfNoneMatch sets the optional parameter which makes the operation
 42179  // fail if the object's ETag matches the given value. This is useful for
 42180  // getting updates only after the object has changed since the last
 42181  // request. Use googleapi.IsNotModified to check whether the response
 42182  // error from Do is the result of In-None-Match.
 42183  func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
 42184  	c.ifNoneMatch_ = entityTag
 42185  	return c
 42186  }
 42187  
 42188  // Context sets the context to be used in this call's Do method. Any
 42189  // pending HTTP request will be aborted if the provided context is
 42190  // canceled.
 42191  func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 42192  	c.ctx_ = ctx
 42193  	return c
 42194  }
 42195  
 42196  // Header returns an http.Header that can be modified by the caller to
 42197  // add HTTP headers to the request.
 42198  func (c *RegionsListCall) Header() http.Header {
 42199  	if c.header_ == nil {
 42200  		c.header_ = make(http.Header)
 42201  	}
 42202  	return c.header_
 42203  }
 42204  
 42205  func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 42206  	reqHeaders := make(http.Header)
 42207  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42208  	for k, v := range c.header_ {
 42209  		reqHeaders[k] = v
 42210  	}
 42211  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42212  	if c.ifNoneMatch_ != "" {
 42213  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42214  	}
 42215  	var body io.Reader = nil
 42216  	c.urlParams_.Set("alt", alt)
 42217  	c.urlParams_.Set("prettyPrint", "false")
 42218  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
 42219  	urls += "?" + c.urlParams_.Encode()
 42220  	req, err := http.NewRequest("GET", urls, body)
 42221  	if err != nil {
 42222  		return nil, err
 42223  	}
 42224  	req.Header = reqHeaders
 42225  	googleapi.Expand(req.URL, map[string]string{
 42226  		"profileId": strconv.FormatInt(c.profileId, 10),
 42227  	})
 42228  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42229  }
 42230  
 42231  // Do executes the "dfareporting.regions.list" call.
 42232  // Exactly one of *RegionsListResponse or error will be non-nil. Any
 42233  // non-2xx status code is an error. Response headers are in either
 42234  // *RegionsListResponse.ServerResponse.Header or (if a response was
 42235  // returned at all) in error.(*googleapi.Error).Header. Use
 42236  // googleapi.IsNotModified to check whether the returned error was
 42237  // because http.StatusNotModified was returned.
 42238  func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
 42239  	gensupport.SetOptions(c.urlParams_, opts...)
 42240  	res, err := c.doRequest("json")
 42241  	if res != nil && res.StatusCode == http.StatusNotModified {
 42242  		if res.Body != nil {
 42243  			res.Body.Close()
 42244  		}
 42245  		return nil, &googleapi.Error{
 42246  			Code:   res.StatusCode,
 42247  			Header: res.Header,
 42248  		}
 42249  	}
 42250  	if err != nil {
 42251  		return nil, err
 42252  	}
 42253  	defer googleapi.CloseBody(res)
 42254  	if err := googleapi.CheckResponse(res); err != nil {
 42255  		return nil, err
 42256  	}
 42257  	ret := &RegionsListResponse{
 42258  		ServerResponse: googleapi.ServerResponse{
 42259  			Header:         res.Header,
 42260  			HTTPStatusCode: res.StatusCode,
 42261  		},
 42262  	}
 42263  	target := &ret
 42264  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42265  		return nil, err
 42266  	}
 42267  	return ret, nil
 42268  	// {
 42269  	//   "description": "Retrieves a list of regions.",
 42270  	//   "httpMethod": "GET",
 42271  	//   "id": "dfareporting.regions.list",
 42272  	//   "parameterOrder": [
 42273  	//     "profileId"
 42274  	//   ],
 42275  	//   "parameters": {
 42276  	//     "profileId": {
 42277  	//       "description": "User profile ID associated with this request.",
 42278  	//       "format": "int64",
 42279  	//       "location": "path",
 42280  	//       "required": true,
 42281  	//       "type": "string"
 42282  	//     }
 42283  	//   },
 42284  	//   "path": "userprofiles/{profileId}/regions",
 42285  	//   "response": {
 42286  	//     "$ref": "RegionsListResponse"
 42287  	//   },
 42288  	//   "scopes": [
 42289  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42290  	//   ]
 42291  	// }
 42292  
 42293  }
 42294  
 42295  // method id "dfareporting.remarketingListShares.get":
 42296  
 42297  type RemarketingListSharesGetCall struct {
 42298  	s                 *Service
 42299  	profileId         int64
 42300  	remarketingListId int64
 42301  	urlParams_        gensupport.URLParams
 42302  	ifNoneMatch_      string
 42303  	ctx_              context.Context
 42304  	header_           http.Header
 42305  }
 42306  
 42307  // Get: Gets one remarketing list share by remarketing list ID.
 42308  func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
 42309  	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42310  	c.profileId = profileId
 42311  	c.remarketingListId = remarketingListId
 42312  	return c
 42313  }
 42314  
 42315  // Fields allows partial responses to be retrieved. See
 42316  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42317  // for more information.
 42318  func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
 42319  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42320  	return c
 42321  }
 42322  
 42323  // IfNoneMatch sets the optional parameter which makes the operation
 42324  // fail if the object's ETag matches the given value. This is useful for
 42325  // getting updates only after the object has changed since the last
 42326  // request. Use googleapi.IsNotModified to check whether the response
 42327  // error from Do is the result of In-None-Match.
 42328  func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
 42329  	c.ifNoneMatch_ = entityTag
 42330  	return c
 42331  }
 42332  
 42333  // Context sets the context to be used in this call's Do method. Any
 42334  // pending HTTP request will be aborted if the provided context is
 42335  // canceled.
 42336  func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
 42337  	c.ctx_ = ctx
 42338  	return c
 42339  }
 42340  
 42341  // Header returns an http.Header that can be modified by the caller to
 42342  // add HTTP headers to the request.
 42343  func (c *RemarketingListSharesGetCall) Header() http.Header {
 42344  	if c.header_ == nil {
 42345  		c.header_ = make(http.Header)
 42346  	}
 42347  	return c.header_
 42348  }
 42349  
 42350  func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 42351  	reqHeaders := make(http.Header)
 42352  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42353  	for k, v := range c.header_ {
 42354  		reqHeaders[k] = v
 42355  	}
 42356  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42357  	if c.ifNoneMatch_ != "" {
 42358  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42359  	}
 42360  	var body io.Reader = nil
 42361  	c.urlParams_.Set("alt", alt)
 42362  	c.urlParams_.Set("prettyPrint", "false")
 42363  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
 42364  	urls += "?" + c.urlParams_.Encode()
 42365  	req, err := http.NewRequest("GET", urls, body)
 42366  	if err != nil {
 42367  		return nil, err
 42368  	}
 42369  	req.Header = reqHeaders
 42370  	googleapi.Expand(req.URL, map[string]string{
 42371  		"profileId":         strconv.FormatInt(c.profileId, 10),
 42372  		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 42373  	})
 42374  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42375  }
 42376  
 42377  // Do executes the "dfareporting.remarketingListShares.get" call.
 42378  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42379  // non-2xx status code is an error. Response headers are in either
 42380  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42381  // returned at all) in error.(*googleapi.Error).Header. Use
 42382  // googleapi.IsNotModified to check whether the returned error was
 42383  // because http.StatusNotModified was returned.
 42384  func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42385  	gensupport.SetOptions(c.urlParams_, opts...)
 42386  	res, err := c.doRequest("json")
 42387  	if res != nil && res.StatusCode == http.StatusNotModified {
 42388  		if res.Body != nil {
 42389  			res.Body.Close()
 42390  		}
 42391  		return nil, &googleapi.Error{
 42392  			Code:   res.StatusCode,
 42393  			Header: res.Header,
 42394  		}
 42395  	}
 42396  	if err != nil {
 42397  		return nil, err
 42398  	}
 42399  	defer googleapi.CloseBody(res)
 42400  	if err := googleapi.CheckResponse(res); err != nil {
 42401  		return nil, err
 42402  	}
 42403  	ret := &RemarketingListShare{
 42404  		ServerResponse: googleapi.ServerResponse{
 42405  			Header:         res.Header,
 42406  			HTTPStatusCode: res.StatusCode,
 42407  		},
 42408  	}
 42409  	target := &ret
 42410  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42411  		return nil, err
 42412  	}
 42413  	return ret, nil
 42414  	// {
 42415  	//   "description": "Gets one remarketing list share by remarketing list ID.",
 42416  	//   "httpMethod": "GET",
 42417  	//   "id": "dfareporting.remarketingListShares.get",
 42418  	//   "parameterOrder": [
 42419  	//     "profileId",
 42420  	//     "remarketingListId"
 42421  	//   ],
 42422  	//   "parameters": {
 42423  	//     "profileId": {
 42424  	//       "description": "User profile ID associated with this request.",
 42425  	//       "format": "int64",
 42426  	//       "location": "path",
 42427  	//       "required": true,
 42428  	//       "type": "string"
 42429  	//     },
 42430  	//     "remarketingListId": {
 42431  	//       "description": "Remarketing list ID.",
 42432  	//       "format": "int64",
 42433  	//       "location": "path",
 42434  	//       "required": true,
 42435  	//       "type": "string"
 42436  	//     }
 42437  	//   },
 42438  	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 42439  	//   "response": {
 42440  	//     "$ref": "RemarketingListShare"
 42441  	//   },
 42442  	//   "scopes": [
 42443  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42444  	//   ]
 42445  	// }
 42446  
 42447  }
 42448  
 42449  // method id "dfareporting.remarketingListShares.patch":
 42450  
 42451  type RemarketingListSharesPatchCall struct {
 42452  	s                    *Service
 42453  	profileId            int64
 42454  	remarketinglistshare *RemarketingListShare
 42455  	urlParams_           gensupport.URLParams
 42456  	ctx_                 context.Context
 42457  	header_              http.Header
 42458  }
 42459  
 42460  // Patch: Updates an existing remarketing list share. This method
 42461  // supports patch semantics.
 42462  func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
 42463  	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42464  	c.profileId = profileId
 42465  	c.urlParams_.Set("remarketingListId", fmt.Sprint(remarketingListId))
 42466  	c.remarketinglistshare = remarketinglistshare
 42467  	return c
 42468  }
 42469  
 42470  // Fields allows partial responses to be retrieved. See
 42471  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42472  // for more information.
 42473  func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
 42474  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42475  	return c
 42476  }
 42477  
 42478  // Context sets the context to be used in this call's Do method. Any
 42479  // pending HTTP request will be aborted if the provided context is
 42480  // canceled.
 42481  func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
 42482  	c.ctx_ = ctx
 42483  	return c
 42484  }
 42485  
 42486  // Header returns an http.Header that can be modified by the caller to
 42487  // add HTTP headers to the request.
 42488  func (c *RemarketingListSharesPatchCall) Header() http.Header {
 42489  	if c.header_ == nil {
 42490  		c.header_ = make(http.Header)
 42491  	}
 42492  	return c.header_
 42493  }
 42494  
 42495  func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
 42496  	reqHeaders := make(http.Header)
 42497  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42498  	for k, v := range c.header_ {
 42499  		reqHeaders[k] = v
 42500  	}
 42501  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42502  	var body io.Reader = nil
 42503  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 42504  	if err != nil {
 42505  		return nil, err
 42506  	}
 42507  	reqHeaders.Set("Content-Type", "application/json")
 42508  	c.urlParams_.Set("alt", alt)
 42509  	c.urlParams_.Set("prettyPrint", "false")
 42510  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 42511  	urls += "?" + c.urlParams_.Encode()
 42512  	req, err := http.NewRequest("PATCH", urls, body)
 42513  	if err != nil {
 42514  		return nil, err
 42515  	}
 42516  	req.Header = reqHeaders
 42517  	googleapi.Expand(req.URL, map[string]string{
 42518  		"profileId": strconv.FormatInt(c.profileId, 10),
 42519  	})
 42520  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42521  }
 42522  
 42523  // Do executes the "dfareporting.remarketingListShares.patch" call.
 42524  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42525  // non-2xx status code is an error. Response headers are in either
 42526  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42527  // returned at all) in error.(*googleapi.Error).Header. Use
 42528  // googleapi.IsNotModified to check whether the returned error was
 42529  // because http.StatusNotModified was returned.
 42530  func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42531  	gensupport.SetOptions(c.urlParams_, opts...)
 42532  	res, err := c.doRequest("json")
 42533  	if res != nil && res.StatusCode == http.StatusNotModified {
 42534  		if res.Body != nil {
 42535  			res.Body.Close()
 42536  		}
 42537  		return nil, &googleapi.Error{
 42538  			Code:   res.StatusCode,
 42539  			Header: res.Header,
 42540  		}
 42541  	}
 42542  	if err != nil {
 42543  		return nil, err
 42544  	}
 42545  	defer googleapi.CloseBody(res)
 42546  	if err := googleapi.CheckResponse(res); err != nil {
 42547  		return nil, err
 42548  	}
 42549  	ret := &RemarketingListShare{
 42550  		ServerResponse: googleapi.ServerResponse{
 42551  			Header:         res.Header,
 42552  			HTTPStatusCode: res.StatusCode,
 42553  		},
 42554  	}
 42555  	target := &ret
 42556  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42557  		return nil, err
 42558  	}
 42559  	return ret, nil
 42560  	// {
 42561  	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
 42562  	//   "httpMethod": "PATCH",
 42563  	//   "id": "dfareporting.remarketingListShares.patch",
 42564  	//   "parameterOrder": [
 42565  	//     "profileId",
 42566  	//     "remarketingListId"
 42567  	//   ],
 42568  	//   "parameters": {
 42569  	//     "profileId": {
 42570  	//       "description": "User profile ID associated with this request.",
 42571  	//       "format": "int64",
 42572  	//       "location": "path",
 42573  	//       "required": true,
 42574  	//       "type": "string"
 42575  	//     },
 42576  	//     "remarketingListId": {
 42577  	//       "description": "Remarketing list ID.",
 42578  	//       "format": "int64",
 42579  	//       "location": "query",
 42580  	//       "required": true,
 42581  	//       "type": "string"
 42582  	//     }
 42583  	//   },
 42584  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 42585  	//   "request": {
 42586  	//     "$ref": "RemarketingListShare"
 42587  	//   },
 42588  	//   "response": {
 42589  	//     "$ref": "RemarketingListShare"
 42590  	//   },
 42591  	//   "scopes": [
 42592  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42593  	//   ]
 42594  	// }
 42595  
 42596  }
 42597  
 42598  // method id "dfareporting.remarketingListShares.update":
 42599  
 42600  type RemarketingListSharesUpdateCall struct {
 42601  	s                    *Service
 42602  	profileId            int64
 42603  	remarketinglistshare *RemarketingListShare
 42604  	urlParams_           gensupport.URLParams
 42605  	ctx_                 context.Context
 42606  	header_              http.Header
 42607  }
 42608  
 42609  // Update: Updates an existing remarketing list share.
 42610  func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
 42611  	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42612  	c.profileId = profileId
 42613  	c.remarketinglistshare = remarketinglistshare
 42614  	return c
 42615  }
 42616  
 42617  // Fields allows partial responses to be retrieved. See
 42618  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42619  // for more information.
 42620  func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
 42621  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42622  	return c
 42623  }
 42624  
 42625  // Context sets the context to be used in this call's Do method. Any
 42626  // pending HTTP request will be aborted if the provided context is
 42627  // canceled.
 42628  func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
 42629  	c.ctx_ = ctx
 42630  	return c
 42631  }
 42632  
 42633  // Header returns an http.Header that can be modified by the caller to
 42634  // add HTTP headers to the request.
 42635  func (c *RemarketingListSharesUpdateCall) Header() http.Header {
 42636  	if c.header_ == nil {
 42637  		c.header_ = make(http.Header)
 42638  	}
 42639  	return c.header_
 42640  }
 42641  
 42642  func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
 42643  	reqHeaders := make(http.Header)
 42644  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42645  	for k, v := range c.header_ {
 42646  		reqHeaders[k] = v
 42647  	}
 42648  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42649  	var body io.Reader = nil
 42650  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 42651  	if err != nil {
 42652  		return nil, err
 42653  	}
 42654  	reqHeaders.Set("Content-Type", "application/json")
 42655  	c.urlParams_.Set("alt", alt)
 42656  	c.urlParams_.Set("prettyPrint", "false")
 42657  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 42658  	urls += "?" + c.urlParams_.Encode()
 42659  	req, err := http.NewRequest("PUT", urls, body)
 42660  	if err != nil {
 42661  		return nil, err
 42662  	}
 42663  	req.Header = reqHeaders
 42664  	googleapi.Expand(req.URL, map[string]string{
 42665  		"profileId": strconv.FormatInt(c.profileId, 10),
 42666  	})
 42667  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42668  }
 42669  
 42670  // Do executes the "dfareporting.remarketingListShares.update" call.
 42671  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42672  // non-2xx status code is an error. Response headers are in either
 42673  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42674  // returned at all) in error.(*googleapi.Error).Header. Use
 42675  // googleapi.IsNotModified to check whether the returned error was
 42676  // because http.StatusNotModified was returned.
 42677  func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42678  	gensupport.SetOptions(c.urlParams_, opts...)
 42679  	res, err := c.doRequest("json")
 42680  	if res != nil && res.StatusCode == http.StatusNotModified {
 42681  		if res.Body != nil {
 42682  			res.Body.Close()
 42683  		}
 42684  		return nil, &googleapi.Error{
 42685  			Code:   res.StatusCode,
 42686  			Header: res.Header,
 42687  		}
 42688  	}
 42689  	if err != nil {
 42690  		return nil, err
 42691  	}
 42692  	defer googleapi.CloseBody(res)
 42693  	if err := googleapi.CheckResponse(res); err != nil {
 42694  		return nil, err
 42695  	}
 42696  	ret := &RemarketingListShare{
 42697  		ServerResponse: googleapi.ServerResponse{
 42698  			Header:         res.Header,
 42699  			HTTPStatusCode: res.StatusCode,
 42700  		},
 42701  	}
 42702  	target := &ret
 42703  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42704  		return nil, err
 42705  	}
 42706  	return ret, nil
 42707  	// {
 42708  	//   "description": "Updates an existing remarketing list share.",
 42709  	//   "httpMethod": "PUT",
 42710  	//   "id": "dfareporting.remarketingListShares.update",
 42711  	//   "parameterOrder": [
 42712  	//     "profileId"
 42713  	//   ],
 42714  	//   "parameters": {
 42715  	//     "profileId": {
 42716  	//       "description": "User profile ID associated with this request.",
 42717  	//       "format": "int64",
 42718  	//       "location": "path",
 42719  	//       "required": true,
 42720  	//       "type": "string"
 42721  	//     }
 42722  	//   },
 42723  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 42724  	//   "request": {
 42725  	//     "$ref": "RemarketingListShare"
 42726  	//   },
 42727  	//   "response": {
 42728  	//     "$ref": "RemarketingListShare"
 42729  	//   },
 42730  	//   "scopes": [
 42731  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42732  	//   ]
 42733  	// }
 42734  
 42735  }
 42736  
 42737  // method id "dfareporting.remarketingLists.get":
 42738  
 42739  type RemarketingListsGetCall struct {
 42740  	s            *Service
 42741  	profileId    int64
 42742  	id           int64
 42743  	urlParams_   gensupport.URLParams
 42744  	ifNoneMatch_ string
 42745  	ctx_         context.Context
 42746  	header_      http.Header
 42747  }
 42748  
 42749  // Get: Gets one remarketing list by ID.
 42750  func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
 42751  	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42752  	c.profileId = profileId
 42753  	c.id = id
 42754  	return c
 42755  }
 42756  
 42757  // Fields allows partial responses to be retrieved. See
 42758  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42759  // for more information.
 42760  func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
 42761  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42762  	return c
 42763  }
 42764  
 42765  // IfNoneMatch sets the optional parameter which makes the operation
 42766  // fail if the object's ETag matches the given value. This is useful for
 42767  // getting updates only after the object has changed since the last
 42768  // request. Use googleapi.IsNotModified to check whether the response
 42769  // error from Do is the result of In-None-Match.
 42770  func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
 42771  	c.ifNoneMatch_ = entityTag
 42772  	return c
 42773  }
 42774  
 42775  // Context sets the context to be used in this call's Do method. Any
 42776  // pending HTTP request will be aborted if the provided context is
 42777  // canceled.
 42778  func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
 42779  	c.ctx_ = ctx
 42780  	return c
 42781  }
 42782  
 42783  // Header returns an http.Header that can be modified by the caller to
 42784  // add HTTP headers to the request.
 42785  func (c *RemarketingListsGetCall) Header() http.Header {
 42786  	if c.header_ == nil {
 42787  		c.header_ = make(http.Header)
 42788  	}
 42789  	return c.header_
 42790  }
 42791  
 42792  func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 42793  	reqHeaders := make(http.Header)
 42794  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42795  	for k, v := range c.header_ {
 42796  		reqHeaders[k] = v
 42797  	}
 42798  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42799  	if c.ifNoneMatch_ != "" {
 42800  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42801  	}
 42802  	var body io.Reader = nil
 42803  	c.urlParams_.Set("alt", alt)
 42804  	c.urlParams_.Set("prettyPrint", "false")
 42805  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
 42806  	urls += "?" + c.urlParams_.Encode()
 42807  	req, err := http.NewRequest("GET", urls, body)
 42808  	if err != nil {
 42809  		return nil, err
 42810  	}
 42811  	req.Header = reqHeaders
 42812  	googleapi.Expand(req.URL, map[string]string{
 42813  		"profileId": strconv.FormatInt(c.profileId, 10),
 42814  		"id":        strconv.FormatInt(c.id, 10),
 42815  	})
 42816  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42817  }
 42818  
 42819  // Do executes the "dfareporting.remarketingLists.get" call.
 42820  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 42821  // status code is an error. Response headers are in either
 42822  // *RemarketingList.ServerResponse.Header or (if a response was returned
 42823  // at all) in error.(*googleapi.Error).Header. Use
 42824  // googleapi.IsNotModified to check whether the returned error was
 42825  // because http.StatusNotModified was returned.
 42826  func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 42827  	gensupport.SetOptions(c.urlParams_, opts...)
 42828  	res, err := c.doRequest("json")
 42829  	if res != nil && res.StatusCode == http.StatusNotModified {
 42830  		if res.Body != nil {
 42831  			res.Body.Close()
 42832  		}
 42833  		return nil, &googleapi.Error{
 42834  			Code:   res.StatusCode,
 42835  			Header: res.Header,
 42836  		}
 42837  	}
 42838  	if err != nil {
 42839  		return nil, err
 42840  	}
 42841  	defer googleapi.CloseBody(res)
 42842  	if err := googleapi.CheckResponse(res); err != nil {
 42843  		return nil, err
 42844  	}
 42845  	ret := &RemarketingList{
 42846  		ServerResponse: googleapi.ServerResponse{
 42847  			Header:         res.Header,
 42848  			HTTPStatusCode: res.StatusCode,
 42849  		},
 42850  	}
 42851  	target := &ret
 42852  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42853  		return nil, err
 42854  	}
 42855  	return ret, nil
 42856  	// {
 42857  	//   "description": "Gets one remarketing list by ID.",
 42858  	//   "httpMethod": "GET",
 42859  	//   "id": "dfareporting.remarketingLists.get",
 42860  	//   "parameterOrder": [
 42861  	//     "profileId",
 42862  	//     "id"
 42863  	//   ],
 42864  	//   "parameters": {
 42865  	//     "id": {
 42866  	//       "description": "Remarketing list ID.",
 42867  	//       "format": "int64",
 42868  	//       "location": "path",
 42869  	//       "required": true,
 42870  	//       "type": "string"
 42871  	//     },
 42872  	//     "profileId": {
 42873  	//       "description": "User profile ID associated with this request.",
 42874  	//       "format": "int64",
 42875  	//       "location": "path",
 42876  	//       "required": true,
 42877  	//       "type": "string"
 42878  	//     }
 42879  	//   },
 42880  	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
 42881  	//   "response": {
 42882  	//     "$ref": "RemarketingList"
 42883  	//   },
 42884  	//   "scopes": [
 42885  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42886  	//   ]
 42887  	// }
 42888  
 42889  }
 42890  
 42891  // method id "dfareporting.remarketingLists.insert":
 42892  
 42893  type RemarketingListsInsertCall struct {
 42894  	s               *Service
 42895  	profileId       int64
 42896  	remarketinglist *RemarketingList
 42897  	urlParams_      gensupport.URLParams
 42898  	ctx_            context.Context
 42899  	header_         http.Header
 42900  }
 42901  
 42902  // Insert: Inserts a new remarketing list.
 42903  func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
 42904  	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42905  	c.profileId = profileId
 42906  	c.remarketinglist = remarketinglist
 42907  	return c
 42908  }
 42909  
 42910  // Fields allows partial responses to be retrieved. See
 42911  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42912  // for more information.
 42913  func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
 42914  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42915  	return c
 42916  }
 42917  
 42918  // Context sets the context to be used in this call's Do method. Any
 42919  // pending HTTP request will be aborted if the provided context is
 42920  // canceled.
 42921  func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
 42922  	c.ctx_ = ctx
 42923  	return c
 42924  }
 42925  
 42926  // Header returns an http.Header that can be modified by the caller to
 42927  // add HTTP headers to the request.
 42928  func (c *RemarketingListsInsertCall) Header() http.Header {
 42929  	if c.header_ == nil {
 42930  		c.header_ = make(http.Header)
 42931  	}
 42932  	return c.header_
 42933  }
 42934  
 42935  func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
 42936  	reqHeaders := make(http.Header)
 42937  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42938  	for k, v := range c.header_ {
 42939  		reqHeaders[k] = v
 42940  	}
 42941  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42942  	var body io.Reader = nil
 42943  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 42944  	if err != nil {
 42945  		return nil, err
 42946  	}
 42947  	reqHeaders.Set("Content-Type", "application/json")
 42948  	c.urlParams_.Set("alt", alt)
 42949  	c.urlParams_.Set("prettyPrint", "false")
 42950  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 42951  	urls += "?" + c.urlParams_.Encode()
 42952  	req, err := http.NewRequest("POST", urls, body)
 42953  	if err != nil {
 42954  		return nil, err
 42955  	}
 42956  	req.Header = reqHeaders
 42957  	googleapi.Expand(req.URL, map[string]string{
 42958  		"profileId": strconv.FormatInt(c.profileId, 10),
 42959  	})
 42960  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42961  }
 42962  
 42963  // Do executes the "dfareporting.remarketingLists.insert" call.
 42964  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 42965  // status code is an error. Response headers are in either
 42966  // *RemarketingList.ServerResponse.Header or (if a response was returned
 42967  // at all) in error.(*googleapi.Error).Header. Use
 42968  // googleapi.IsNotModified to check whether the returned error was
 42969  // because http.StatusNotModified was returned.
 42970  func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 42971  	gensupport.SetOptions(c.urlParams_, opts...)
 42972  	res, err := c.doRequest("json")
 42973  	if res != nil && res.StatusCode == http.StatusNotModified {
 42974  		if res.Body != nil {
 42975  			res.Body.Close()
 42976  		}
 42977  		return nil, &googleapi.Error{
 42978  			Code:   res.StatusCode,
 42979  			Header: res.Header,
 42980  		}
 42981  	}
 42982  	if err != nil {
 42983  		return nil, err
 42984  	}
 42985  	defer googleapi.CloseBody(res)
 42986  	if err := googleapi.CheckResponse(res); err != nil {
 42987  		return nil, err
 42988  	}
 42989  	ret := &RemarketingList{
 42990  		ServerResponse: googleapi.ServerResponse{
 42991  			Header:         res.Header,
 42992  			HTTPStatusCode: res.StatusCode,
 42993  		},
 42994  	}
 42995  	target := &ret
 42996  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42997  		return nil, err
 42998  	}
 42999  	return ret, nil
 43000  	// {
 43001  	//   "description": "Inserts a new remarketing list.",
 43002  	//   "httpMethod": "POST",
 43003  	//   "id": "dfareporting.remarketingLists.insert",
 43004  	//   "parameterOrder": [
 43005  	//     "profileId"
 43006  	//   ],
 43007  	//   "parameters": {
 43008  	//     "profileId": {
 43009  	//       "description": "User profile ID associated with this request.",
 43010  	//       "format": "int64",
 43011  	//       "location": "path",
 43012  	//       "required": true,
 43013  	//       "type": "string"
 43014  	//     }
 43015  	//   },
 43016  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43017  	//   "request": {
 43018  	//     "$ref": "RemarketingList"
 43019  	//   },
 43020  	//   "response": {
 43021  	//     "$ref": "RemarketingList"
 43022  	//   },
 43023  	//   "scopes": [
 43024  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43025  	//   ]
 43026  	// }
 43027  
 43028  }
 43029  
 43030  // method id "dfareporting.remarketingLists.list":
 43031  
 43032  type RemarketingListsListCall struct {
 43033  	s            *Service
 43034  	profileId    int64
 43035  	urlParams_   gensupport.URLParams
 43036  	ifNoneMatch_ string
 43037  	ctx_         context.Context
 43038  	header_      http.Header
 43039  }
 43040  
 43041  // List: Retrieves a list of remarketing lists, possibly filtered. This
 43042  // method supports paging.
 43043  func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
 43044  	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43045  	c.profileId = profileId
 43046  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 43047  	return c
 43048  }
 43049  
 43050  // Active sets the optional parameter "active": Select only active or
 43051  // only inactive remarketing lists.
 43052  func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
 43053  	c.urlParams_.Set("active", fmt.Sprint(active))
 43054  	return c
 43055  }
 43056  
 43057  // FloodlightActivityId sets the optional parameter
 43058  // "floodlightActivityId": Select only remarketing lists that have this
 43059  // floodlight activity ID.
 43060  func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
 43061  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 43062  	return c
 43063  }
 43064  
 43065  // MaxResults sets the optional parameter "maxResults": Maximum number
 43066  // of results to return.
 43067  func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
 43068  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 43069  	return c
 43070  }
 43071  
 43072  // Name sets the optional parameter "name": Allows searching for objects
 43073  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 43074  // list*2015" will return objects with names like "remarketing list June
 43075  // 2015", "remarketing list April 2015", or simply "remarketing list
 43076  // 2015". Most of the searches also add wildcards implicitly at the
 43077  // start and the end of the search string. For example, a search string
 43078  // of "remarketing list" will match objects with name "my remarketing
 43079  // list", "remarketing list 2015", or simply "remarketing list".
 43080  func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
 43081  	c.urlParams_.Set("name", name)
 43082  	return c
 43083  }
 43084  
 43085  // PageToken sets the optional parameter "pageToken": Value of the
 43086  // nextPageToken from the previous result page.
 43087  func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
 43088  	c.urlParams_.Set("pageToken", pageToken)
 43089  	return c
 43090  }
 43091  
 43092  // SortField sets the optional parameter "sortField": Field by which to
 43093  // sort the list.
 43094  //
 43095  // Possible values:
 43096  //
 43097  //	"ID" (default)
 43098  //	"NAME"
 43099  func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
 43100  	c.urlParams_.Set("sortField", sortField)
 43101  	return c
 43102  }
 43103  
 43104  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 43105  // results.
 43106  //
 43107  // Possible values:
 43108  //
 43109  //	"ASCENDING" (default)
 43110  //	"DESCENDING"
 43111  func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
 43112  	c.urlParams_.Set("sortOrder", sortOrder)
 43113  	return c
 43114  }
 43115  
 43116  // Fields allows partial responses to be retrieved. See
 43117  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43118  // for more information.
 43119  func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
 43120  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43121  	return c
 43122  }
 43123  
 43124  // IfNoneMatch sets the optional parameter which makes the operation
 43125  // fail if the object's ETag matches the given value. This is useful for
 43126  // getting updates only after the object has changed since the last
 43127  // request. Use googleapi.IsNotModified to check whether the response
 43128  // error from Do is the result of In-None-Match.
 43129  func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
 43130  	c.ifNoneMatch_ = entityTag
 43131  	return c
 43132  }
 43133  
 43134  // Context sets the context to be used in this call's Do method. Any
 43135  // pending HTTP request will be aborted if the provided context is
 43136  // canceled.
 43137  func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
 43138  	c.ctx_ = ctx
 43139  	return c
 43140  }
 43141  
 43142  // Header returns an http.Header that can be modified by the caller to
 43143  // add HTTP headers to the request.
 43144  func (c *RemarketingListsListCall) Header() http.Header {
 43145  	if c.header_ == nil {
 43146  		c.header_ = make(http.Header)
 43147  	}
 43148  	return c.header_
 43149  }
 43150  
 43151  func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 43152  	reqHeaders := make(http.Header)
 43153  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43154  	for k, v := range c.header_ {
 43155  		reqHeaders[k] = v
 43156  	}
 43157  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43158  	if c.ifNoneMatch_ != "" {
 43159  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43160  	}
 43161  	var body io.Reader = nil
 43162  	c.urlParams_.Set("alt", alt)
 43163  	c.urlParams_.Set("prettyPrint", "false")
 43164  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43165  	urls += "?" + c.urlParams_.Encode()
 43166  	req, err := http.NewRequest("GET", urls, body)
 43167  	if err != nil {
 43168  		return nil, err
 43169  	}
 43170  	req.Header = reqHeaders
 43171  	googleapi.Expand(req.URL, map[string]string{
 43172  		"profileId": strconv.FormatInt(c.profileId, 10),
 43173  	})
 43174  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43175  }
 43176  
 43177  // Do executes the "dfareporting.remarketingLists.list" call.
 43178  // Exactly one of *RemarketingListsListResponse or error will be
 43179  // non-nil. Any non-2xx status code is an error. Response headers are in
 43180  // either *RemarketingListsListResponse.ServerResponse.Header or (if a
 43181  // response was returned at all) in error.(*googleapi.Error).Header. Use
 43182  // googleapi.IsNotModified to check whether the returned error was
 43183  // because http.StatusNotModified was returned.
 43184  func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
 43185  	gensupport.SetOptions(c.urlParams_, opts...)
 43186  	res, err := c.doRequest("json")
 43187  	if res != nil && res.StatusCode == http.StatusNotModified {
 43188  		if res.Body != nil {
 43189  			res.Body.Close()
 43190  		}
 43191  		return nil, &googleapi.Error{
 43192  			Code:   res.StatusCode,
 43193  			Header: res.Header,
 43194  		}
 43195  	}
 43196  	if err != nil {
 43197  		return nil, err
 43198  	}
 43199  	defer googleapi.CloseBody(res)
 43200  	if err := googleapi.CheckResponse(res); err != nil {
 43201  		return nil, err
 43202  	}
 43203  	ret := &RemarketingListsListResponse{
 43204  		ServerResponse: googleapi.ServerResponse{
 43205  			Header:         res.Header,
 43206  			HTTPStatusCode: res.StatusCode,
 43207  		},
 43208  	}
 43209  	target := &ret
 43210  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43211  		return nil, err
 43212  	}
 43213  	return ret, nil
 43214  	// {
 43215  	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
 43216  	//   "httpMethod": "GET",
 43217  	//   "id": "dfareporting.remarketingLists.list",
 43218  	//   "parameterOrder": [
 43219  	//     "profileId",
 43220  	//     "advertiserId"
 43221  	//   ],
 43222  	//   "parameters": {
 43223  	//     "active": {
 43224  	//       "description": "Select only active or only inactive remarketing lists.",
 43225  	//       "location": "query",
 43226  	//       "type": "boolean"
 43227  	//     },
 43228  	//     "advertiserId": {
 43229  	//       "description": "Select only remarketing lists owned by this advertiser.",
 43230  	//       "format": "int64",
 43231  	//       "location": "query",
 43232  	//       "required": true,
 43233  	//       "type": "string"
 43234  	//     },
 43235  	//     "floodlightActivityId": {
 43236  	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
 43237  	//       "format": "int64",
 43238  	//       "location": "query",
 43239  	//       "type": "string"
 43240  	//     },
 43241  	//     "maxResults": {
 43242  	//       "default": "1000",
 43243  	//       "description": "Maximum number of results to return.",
 43244  	//       "format": "int32",
 43245  	//       "location": "query",
 43246  	//       "maximum": "1000",
 43247  	//       "minimum": "0",
 43248  	//       "type": "integer"
 43249  	//     },
 43250  	//     "name": {
 43251  	//       "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\".",
 43252  	//       "location": "query",
 43253  	//       "type": "string"
 43254  	//     },
 43255  	//     "pageToken": {
 43256  	//       "description": "Value of the nextPageToken from the previous result page.",
 43257  	//       "location": "query",
 43258  	//       "type": "string"
 43259  	//     },
 43260  	//     "profileId": {
 43261  	//       "description": "User profile ID associated with this request.",
 43262  	//       "format": "int64",
 43263  	//       "location": "path",
 43264  	//       "required": true,
 43265  	//       "type": "string"
 43266  	//     },
 43267  	//     "sortField": {
 43268  	//       "default": "ID",
 43269  	//       "description": "Field by which to sort the list.",
 43270  	//       "enum": [
 43271  	//         "ID",
 43272  	//         "NAME"
 43273  	//       ],
 43274  	//       "enumDescriptions": [
 43275  	//         "",
 43276  	//         ""
 43277  	//       ],
 43278  	//       "location": "query",
 43279  	//       "type": "string"
 43280  	//     },
 43281  	//     "sortOrder": {
 43282  	//       "default": "ASCENDING",
 43283  	//       "description": "Order of sorted results.",
 43284  	//       "enum": [
 43285  	//         "ASCENDING",
 43286  	//         "DESCENDING"
 43287  	//       ],
 43288  	//       "enumDescriptions": [
 43289  	//         "",
 43290  	//         ""
 43291  	//       ],
 43292  	//       "location": "query",
 43293  	//       "type": "string"
 43294  	//     }
 43295  	//   },
 43296  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43297  	//   "response": {
 43298  	//     "$ref": "RemarketingListsListResponse"
 43299  	//   },
 43300  	//   "scopes": [
 43301  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43302  	//   ]
 43303  	// }
 43304  
 43305  }
 43306  
 43307  // Pages invokes f for each page of results.
 43308  // A non-nil error returned from f will halt the iteration.
 43309  // The provided context supersedes any context provided to the Context method.
 43310  func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
 43311  	c.ctx_ = ctx
 43312  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 43313  	for {
 43314  		x, err := c.Do()
 43315  		if err != nil {
 43316  			return err
 43317  		}
 43318  		if err := f(x); err != nil {
 43319  			return err
 43320  		}
 43321  		if x.NextPageToken == "" {
 43322  			return nil
 43323  		}
 43324  		c.PageToken(x.NextPageToken)
 43325  	}
 43326  }
 43327  
 43328  // method id "dfareporting.remarketingLists.patch":
 43329  
 43330  type RemarketingListsPatchCall struct {
 43331  	s               *Service
 43332  	profileId       int64
 43333  	remarketinglist *RemarketingList
 43334  	urlParams_      gensupport.URLParams
 43335  	ctx_            context.Context
 43336  	header_         http.Header
 43337  }
 43338  
 43339  // Patch: Updates an existing remarketing list. This method supports
 43340  // patch semantics.
 43341  func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
 43342  	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43343  	c.profileId = profileId
 43344  	c.urlParams_.Set("id", fmt.Sprint(id))
 43345  	c.remarketinglist = remarketinglist
 43346  	return c
 43347  }
 43348  
 43349  // Fields allows partial responses to be retrieved. See
 43350  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43351  // for more information.
 43352  func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
 43353  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43354  	return c
 43355  }
 43356  
 43357  // Context sets the context to be used in this call's Do method. Any
 43358  // pending HTTP request will be aborted if the provided context is
 43359  // canceled.
 43360  func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
 43361  	c.ctx_ = ctx
 43362  	return c
 43363  }
 43364  
 43365  // Header returns an http.Header that can be modified by the caller to
 43366  // add HTTP headers to the request.
 43367  func (c *RemarketingListsPatchCall) Header() http.Header {
 43368  	if c.header_ == nil {
 43369  		c.header_ = make(http.Header)
 43370  	}
 43371  	return c.header_
 43372  }
 43373  
 43374  func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
 43375  	reqHeaders := make(http.Header)
 43376  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43377  	for k, v := range c.header_ {
 43378  		reqHeaders[k] = v
 43379  	}
 43380  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43381  	var body io.Reader = nil
 43382  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 43383  	if err != nil {
 43384  		return nil, err
 43385  	}
 43386  	reqHeaders.Set("Content-Type", "application/json")
 43387  	c.urlParams_.Set("alt", alt)
 43388  	c.urlParams_.Set("prettyPrint", "false")
 43389  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43390  	urls += "?" + c.urlParams_.Encode()
 43391  	req, err := http.NewRequest("PATCH", urls, body)
 43392  	if err != nil {
 43393  		return nil, err
 43394  	}
 43395  	req.Header = reqHeaders
 43396  	googleapi.Expand(req.URL, map[string]string{
 43397  		"profileId": strconv.FormatInt(c.profileId, 10),
 43398  	})
 43399  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43400  }
 43401  
 43402  // Do executes the "dfareporting.remarketingLists.patch" call.
 43403  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43404  // status code is an error. Response headers are in either
 43405  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43406  // at all) in error.(*googleapi.Error).Header. Use
 43407  // googleapi.IsNotModified to check whether the returned error was
 43408  // because http.StatusNotModified was returned.
 43409  func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43410  	gensupport.SetOptions(c.urlParams_, opts...)
 43411  	res, err := c.doRequest("json")
 43412  	if res != nil && res.StatusCode == http.StatusNotModified {
 43413  		if res.Body != nil {
 43414  			res.Body.Close()
 43415  		}
 43416  		return nil, &googleapi.Error{
 43417  			Code:   res.StatusCode,
 43418  			Header: res.Header,
 43419  		}
 43420  	}
 43421  	if err != nil {
 43422  		return nil, err
 43423  	}
 43424  	defer googleapi.CloseBody(res)
 43425  	if err := googleapi.CheckResponse(res); err != nil {
 43426  		return nil, err
 43427  	}
 43428  	ret := &RemarketingList{
 43429  		ServerResponse: googleapi.ServerResponse{
 43430  			Header:         res.Header,
 43431  			HTTPStatusCode: res.StatusCode,
 43432  		},
 43433  	}
 43434  	target := &ret
 43435  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43436  		return nil, err
 43437  	}
 43438  	return ret, nil
 43439  	// {
 43440  	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
 43441  	//   "httpMethod": "PATCH",
 43442  	//   "id": "dfareporting.remarketingLists.patch",
 43443  	//   "parameterOrder": [
 43444  	//     "profileId",
 43445  	//     "id"
 43446  	//   ],
 43447  	//   "parameters": {
 43448  	//     "id": {
 43449  	//       "description": "Remarketing list ID.",
 43450  	//       "format": "int64",
 43451  	//       "location": "query",
 43452  	//       "required": true,
 43453  	//       "type": "string"
 43454  	//     },
 43455  	//     "profileId": {
 43456  	//       "description": "User profile ID associated with this request.",
 43457  	//       "format": "int64",
 43458  	//       "location": "path",
 43459  	//       "required": true,
 43460  	//       "type": "string"
 43461  	//     }
 43462  	//   },
 43463  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43464  	//   "request": {
 43465  	//     "$ref": "RemarketingList"
 43466  	//   },
 43467  	//   "response": {
 43468  	//     "$ref": "RemarketingList"
 43469  	//   },
 43470  	//   "scopes": [
 43471  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43472  	//   ]
 43473  	// }
 43474  
 43475  }
 43476  
 43477  // method id "dfareporting.remarketingLists.update":
 43478  
 43479  type RemarketingListsUpdateCall struct {
 43480  	s               *Service
 43481  	profileId       int64
 43482  	remarketinglist *RemarketingList
 43483  	urlParams_      gensupport.URLParams
 43484  	ctx_            context.Context
 43485  	header_         http.Header
 43486  }
 43487  
 43488  // Update: Updates an existing remarketing list.
 43489  func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
 43490  	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43491  	c.profileId = profileId
 43492  	c.remarketinglist = remarketinglist
 43493  	return c
 43494  }
 43495  
 43496  // Fields allows partial responses to be retrieved. See
 43497  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43498  // for more information.
 43499  func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
 43500  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43501  	return c
 43502  }
 43503  
 43504  // Context sets the context to be used in this call's Do method. Any
 43505  // pending HTTP request will be aborted if the provided context is
 43506  // canceled.
 43507  func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
 43508  	c.ctx_ = ctx
 43509  	return c
 43510  }
 43511  
 43512  // Header returns an http.Header that can be modified by the caller to
 43513  // add HTTP headers to the request.
 43514  func (c *RemarketingListsUpdateCall) Header() http.Header {
 43515  	if c.header_ == nil {
 43516  		c.header_ = make(http.Header)
 43517  	}
 43518  	return c.header_
 43519  }
 43520  
 43521  func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 43522  	reqHeaders := make(http.Header)
 43523  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43524  	for k, v := range c.header_ {
 43525  		reqHeaders[k] = v
 43526  	}
 43527  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43528  	var body io.Reader = nil
 43529  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 43530  	if err != nil {
 43531  		return nil, err
 43532  	}
 43533  	reqHeaders.Set("Content-Type", "application/json")
 43534  	c.urlParams_.Set("alt", alt)
 43535  	c.urlParams_.Set("prettyPrint", "false")
 43536  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43537  	urls += "?" + c.urlParams_.Encode()
 43538  	req, err := http.NewRequest("PUT", urls, body)
 43539  	if err != nil {
 43540  		return nil, err
 43541  	}
 43542  	req.Header = reqHeaders
 43543  	googleapi.Expand(req.URL, map[string]string{
 43544  		"profileId": strconv.FormatInt(c.profileId, 10),
 43545  	})
 43546  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43547  }
 43548  
 43549  // Do executes the "dfareporting.remarketingLists.update" call.
 43550  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43551  // status code is an error. Response headers are in either
 43552  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43553  // at all) in error.(*googleapi.Error).Header. Use
 43554  // googleapi.IsNotModified to check whether the returned error was
 43555  // because http.StatusNotModified was returned.
 43556  func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43557  	gensupport.SetOptions(c.urlParams_, opts...)
 43558  	res, err := c.doRequest("json")
 43559  	if res != nil && res.StatusCode == http.StatusNotModified {
 43560  		if res.Body != nil {
 43561  			res.Body.Close()
 43562  		}
 43563  		return nil, &googleapi.Error{
 43564  			Code:   res.StatusCode,
 43565  			Header: res.Header,
 43566  		}
 43567  	}
 43568  	if err != nil {
 43569  		return nil, err
 43570  	}
 43571  	defer googleapi.CloseBody(res)
 43572  	if err := googleapi.CheckResponse(res); err != nil {
 43573  		return nil, err
 43574  	}
 43575  	ret := &RemarketingList{
 43576  		ServerResponse: googleapi.ServerResponse{
 43577  			Header:         res.Header,
 43578  			HTTPStatusCode: res.StatusCode,
 43579  		},
 43580  	}
 43581  	target := &ret
 43582  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43583  		return nil, err
 43584  	}
 43585  	return ret, nil
 43586  	// {
 43587  	//   "description": "Updates an existing remarketing list.",
 43588  	//   "httpMethod": "PUT",
 43589  	//   "id": "dfareporting.remarketingLists.update",
 43590  	//   "parameterOrder": [
 43591  	//     "profileId"
 43592  	//   ],
 43593  	//   "parameters": {
 43594  	//     "profileId": {
 43595  	//       "description": "User profile ID associated with this request.",
 43596  	//       "format": "int64",
 43597  	//       "location": "path",
 43598  	//       "required": true,
 43599  	//       "type": "string"
 43600  	//     }
 43601  	//   },
 43602  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43603  	//   "request": {
 43604  	//     "$ref": "RemarketingList"
 43605  	//   },
 43606  	//   "response": {
 43607  	//     "$ref": "RemarketingList"
 43608  	//   },
 43609  	//   "scopes": [
 43610  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43611  	//   ]
 43612  	// }
 43613  
 43614  }
 43615  
 43616  // method id "dfareporting.reports.delete":
 43617  
 43618  type ReportsDeleteCall struct {
 43619  	s          *Service
 43620  	profileId  int64
 43621  	reportId   int64
 43622  	urlParams_ gensupport.URLParams
 43623  	ctx_       context.Context
 43624  	header_    http.Header
 43625  }
 43626  
 43627  // Delete: Deletes a report by its ID.
 43628  func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
 43629  	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43630  	c.profileId = profileId
 43631  	c.reportId = reportId
 43632  	return c
 43633  }
 43634  
 43635  // Fields allows partial responses to be retrieved. See
 43636  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43637  // for more information.
 43638  func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
 43639  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43640  	return c
 43641  }
 43642  
 43643  // Context sets the context to be used in this call's Do method. Any
 43644  // pending HTTP request will be aborted if the provided context is
 43645  // canceled.
 43646  func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 43647  	c.ctx_ = ctx
 43648  	return c
 43649  }
 43650  
 43651  // Header returns an http.Header that can be modified by the caller to
 43652  // add HTTP headers to the request.
 43653  func (c *ReportsDeleteCall) Header() http.Header {
 43654  	if c.header_ == nil {
 43655  		c.header_ = make(http.Header)
 43656  	}
 43657  	return c.header_
 43658  }
 43659  
 43660  func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 43661  	reqHeaders := make(http.Header)
 43662  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43663  	for k, v := range c.header_ {
 43664  		reqHeaders[k] = v
 43665  	}
 43666  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43667  	var body io.Reader = nil
 43668  	c.urlParams_.Set("alt", alt)
 43669  	c.urlParams_.Set("prettyPrint", "false")
 43670  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 43671  	urls += "?" + c.urlParams_.Encode()
 43672  	req, err := http.NewRequest("DELETE", urls, body)
 43673  	if err != nil {
 43674  		return nil, err
 43675  	}
 43676  	req.Header = reqHeaders
 43677  	googleapi.Expand(req.URL, map[string]string{
 43678  		"profileId": strconv.FormatInt(c.profileId, 10),
 43679  		"reportId":  strconv.FormatInt(c.reportId, 10),
 43680  	})
 43681  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43682  }
 43683  
 43684  // Do executes the "dfareporting.reports.delete" call.
 43685  func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
 43686  	gensupport.SetOptions(c.urlParams_, opts...)
 43687  	res, err := c.doRequest("json")
 43688  	if err != nil {
 43689  		return err
 43690  	}
 43691  	defer googleapi.CloseBody(res)
 43692  	if err := googleapi.CheckResponse(res); err != nil {
 43693  		return err
 43694  	}
 43695  	return nil
 43696  	// {
 43697  	//   "description": "Deletes a report by its ID.",
 43698  	//   "httpMethod": "DELETE",
 43699  	//   "id": "dfareporting.reports.delete",
 43700  	//   "parameterOrder": [
 43701  	//     "profileId",
 43702  	//     "reportId"
 43703  	//   ],
 43704  	//   "parameters": {
 43705  	//     "profileId": {
 43706  	//       "description": "The DFA user profile ID.",
 43707  	//       "format": "int64",
 43708  	//       "location": "path",
 43709  	//       "required": true,
 43710  	//       "type": "string"
 43711  	//     },
 43712  	//     "reportId": {
 43713  	//       "description": "The ID of the report.",
 43714  	//       "format": "int64",
 43715  	//       "location": "path",
 43716  	//       "required": true,
 43717  	//       "type": "string"
 43718  	//     }
 43719  	//   },
 43720  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 43721  	//   "scopes": [
 43722  	//     "https://www.googleapis.com/auth/dfareporting"
 43723  	//   ]
 43724  	// }
 43725  
 43726  }
 43727  
 43728  // method id "dfareporting.reports.get":
 43729  
 43730  type ReportsGetCall struct {
 43731  	s            *Service
 43732  	profileId    int64
 43733  	reportId     int64
 43734  	urlParams_   gensupport.URLParams
 43735  	ifNoneMatch_ string
 43736  	ctx_         context.Context
 43737  	header_      http.Header
 43738  }
 43739  
 43740  // Get: Retrieves a report by its ID.
 43741  func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
 43742  	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43743  	c.profileId = profileId
 43744  	c.reportId = reportId
 43745  	return c
 43746  }
 43747  
 43748  // Fields allows partial responses to be retrieved. See
 43749  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43750  // for more information.
 43751  func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
 43752  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43753  	return c
 43754  }
 43755  
 43756  // IfNoneMatch sets the optional parameter which makes the operation
 43757  // fail if the object's ETag matches the given value. This is useful for
 43758  // getting updates only after the object has changed since the last
 43759  // request. Use googleapi.IsNotModified to check whether the response
 43760  // error from Do is the result of In-None-Match.
 43761  func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
 43762  	c.ifNoneMatch_ = entityTag
 43763  	return c
 43764  }
 43765  
 43766  // Context sets the context to be used in this call's Do method. Any
 43767  // pending HTTP request will be aborted if the provided context is
 43768  // canceled.
 43769  func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 43770  	c.ctx_ = ctx
 43771  	return c
 43772  }
 43773  
 43774  // Header returns an http.Header that can be modified by the caller to
 43775  // add HTTP headers to the request.
 43776  func (c *ReportsGetCall) Header() http.Header {
 43777  	if c.header_ == nil {
 43778  		c.header_ = make(http.Header)
 43779  	}
 43780  	return c.header_
 43781  }
 43782  
 43783  func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 43784  	reqHeaders := make(http.Header)
 43785  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43786  	for k, v := range c.header_ {
 43787  		reqHeaders[k] = v
 43788  	}
 43789  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43790  	if c.ifNoneMatch_ != "" {
 43791  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43792  	}
 43793  	var body io.Reader = nil
 43794  	c.urlParams_.Set("alt", alt)
 43795  	c.urlParams_.Set("prettyPrint", "false")
 43796  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 43797  	urls += "?" + c.urlParams_.Encode()
 43798  	req, err := http.NewRequest("GET", urls, body)
 43799  	if err != nil {
 43800  		return nil, err
 43801  	}
 43802  	req.Header = reqHeaders
 43803  	googleapi.Expand(req.URL, map[string]string{
 43804  		"profileId": strconv.FormatInt(c.profileId, 10),
 43805  		"reportId":  strconv.FormatInt(c.reportId, 10),
 43806  	})
 43807  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43808  }
 43809  
 43810  // Do executes the "dfareporting.reports.get" call.
 43811  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 43812  // code is an error. Response headers are in either
 43813  // *Report.ServerResponse.Header or (if a response was returned at all)
 43814  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 43815  // check whether the returned error was because http.StatusNotModified
 43816  // was returned.
 43817  func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 43818  	gensupport.SetOptions(c.urlParams_, opts...)
 43819  	res, err := c.doRequest("json")
 43820  	if res != nil && res.StatusCode == http.StatusNotModified {
 43821  		if res.Body != nil {
 43822  			res.Body.Close()
 43823  		}
 43824  		return nil, &googleapi.Error{
 43825  			Code:   res.StatusCode,
 43826  			Header: res.Header,
 43827  		}
 43828  	}
 43829  	if err != nil {
 43830  		return nil, err
 43831  	}
 43832  	defer googleapi.CloseBody(res)
 43833  	if err := googleapi.CheckResponse(res); err != nil {
 43834  		return nil, err
 43835  	}
 43836  	ret := &Report{
 43837  		ServerResponse: googleapi.ServerResponse{
 43838  			Header:         res.Header,
 43839  			HTTPStatusCode: res.StatusCode,
 43840  		},
 43841  	}
 43842  	target := &ret
 43843  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43844  		return nil, err
 43845  	}
 43846  	return ret, nil
 43847  	// {
 43848  	//   "description": "Retrieves a report by its ID.",
 43849  	//   "httpMethod": "GET",
 43850  	//   "id": "dfareporting.reports.get",
 43851  	//   "parameterOrder": [
 43852  	//     "profileId",
 43853  	//     "reportId"
 43854  	//   ],
 43855  	//   "parameters": {
 43856  	//     "profileId": {
 43857  	//       "description": "The DFA user profile ID.",
 43858  	//       "format": "int64",
 43859  	//       "location": "path",
 43860  	//       "required": true,
 43861  	//       "type": "string"
 43862  	//     },
 43863  	//     "reportId": {
 43864  	//       "description": "The ID of the report.",
 43865  	//       "format": "int64",
 43866  	//       "location": "path",
 43867  	//       "required": true,
 43868  	//       "type": "string"
 43869  	//     }
 43870  	//   },
 43871  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 43872  	//   "response": {
 43873  	//     "$ref": "Report"
 43874  	//   },
 43875  	//   "scopes": [
 43876  	//     "https://www.googleapis.com/auth/dfareporting"
 43877  	//   ]
 43878  	// }
 43879  
 43880  }
 43881  
 43882  // method id "dfareporting.reports.insert":
 43883  
 43884  type ReportsInsertCall struct {
 43885  	s          *Service
 43886  	profileId  int64
 43887  	report     *Report
 43888  	urlParams_ gensupport.URLParams
 43889  	ctx_       context.Context
 43890  	header_    http.Header
 43891  }
 43892  
 43893  // Insert: Creates a report.
 43894  func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
 43895  	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43896  	c.profileId = profileId
 43897  	c.report = report
 43898  	return c
 43899  }
 43900  
 43901  // Fields allows partial responses to be retrieved. See
 43902  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43903  // for more information.
 43904  func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
 43905  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43906  	return c
 43907  }
 43908  
 43909  // Context sets the context to be used in this call's Do method. Any
 43910  // pending HTTP request will be aborted if the provided context is
 43911  // canceled.
 43912  func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 43913  	c.ctx_ = ctx
 43914  	return c
 43915  }
 43916  
 43917  // Header returns an http.Header that can be modified by the caller to
 43918  // add HTTP headers to the request.
 43919  func (c *ReportsInsertCall) Header() http.Header {
 43920  	if c.header_ == nil {
 43921  		c.header_ = make(http.Header)
 43922  	}
 43923  	return c.header_
 43924  }
 43925  
 43926  func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 43927  	reqHeaders := make(http.Header)
 43928  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43929  	for k, v := range c.header_ {
 43930  		reqHeaders[k] = v
 43931  	}
 43932  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43933  	var body io.Reader = nil
 43934  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 43935  	if err != nil {
 43936  		return nil, err
 43937  	}
 43938  	reqHeaders.Set("Content-Type", "application/json")
 43939  	c.urlParams_.Set("alt", alt)
 43940  	c.urlParams_.Set("prettyPrint", "false")
 43941  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 43942  	urls += "?" + c.urlParams_.Encode()
 43943  	req, err := http.NewRequest("POST", urls, body)
 43944  	if err != nil {
 43945  		return nil, err
 43946  	}
 43947  	req.Header = reqHeaders
 43948  	googleapi.Expand(req.URL, map[string]string{
 43949  		"profileId": strconv.FormatInt(c.profileId, 10),
 43950  	})
 43951  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43952  }
 43953  
 43954  // Do executes the "dfareporting.reports.insert" call.
 43955  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 43956  // code is an error. Response headers are in either
 43957  // *Report.ServerResponse.Header or (if a response was returned at all)
 43958  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 43959  // check whether the returned error was because http.StatusNotModified
 43960  // was returned.
 43961  func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 43962  	gensupport.SetOptions(c.urlParams_, opts...)
 43963  	res, err := c.doRequest("json")
 43964  	if res != nil && res.StatusCode == http.StatusNotModified {
 43965  		if res.Body != nil {
 43966  			res.Body.Close()
 43967  		}
 43968  		return nil, &googleapi.Error{
 43969  			Code:   res.StatusCode,
 43970  			Header: res.Header,
 43971  		}
 43972  	}
 43973  	if err != nil {
 43974  		return nil, err
 43975  	}
 43976  	defer googleapi.CloseBody(res)
 43977  	if err := googleapi.CheckResponse(res); err != nil {
 43978  		return nil, err
 43979  	}
 43980  	ret := &Report{
 43981  		ServerResponse: googleapi.ServerResponse{
 43982  			Header:         res.Header,
 43983  			HTTPStatusCode: res.StatusCode,
 43984  		},
 43985  	}
 43986  	target := &ret
 43987  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43988  		return nil, err
 43989  	}
 43990  	return ret, nil
 43991  	// {
 43992  	//   "description": "Creates a report.",
 43993  	//   "httpMethod": "POST",
 43994  	//   "id": "dfareporting.reports.insert",
 43995  	//   "parameterOrder": [
 43996  	//     "profileId"
 43997  	//   ],
 43998  	//   "parameters": {
 43999  	//     "profileId": {
 44000  	//       "description": "The DFA user profile ID.",
 44001  	//       "format": "int64",
 44002  	//       "location": "path",
 44003  	//       "required": true,
 44004  	//       "type": "string"
 44005  	//     }
 44006  	//   },
 44007  	//   "path": "userprofiles/{profileId}/reports",
 44008  	//   "request": {
 44009  	//     "$ref": "Report"
 44010  	//   },
 44011  	//   "response": {
 44012  	//     "$ref": "Report"
 44013  	//   },
 44014  	//   "scopes": [
 44015  	//     "https://www.googleapis.com/auth/dfareporting"
 44016  	//   ]
 44017  	// }
 44018  
 44019  }
 44020  
 44021  // method id "dfareporting.reports.list":
 44022  
 44023  type ReportsListCall struct {
 44024  	s            *Service
 44025  	profileId    int64
 44026  	urlParams_   gensupport.URLParams
 44027  	ifNoneMatch_ string
 44028  	ctx_         context.Context
 44029  	header_      http.Header
 44030  }
 44031  
 44032  // List: Retrieves list of reports.
 44033  func (r *ReportsService) List(profileId int64) *ReportsListCall {
 44034  	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44035  	c.profileId = profileId
 44036  	return c
 44037  }
 44038  
 44039  // MaxResults sets the optional parameter "maxResults": Maximum number
 44040  // of results to return.
 44041  func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
 44042  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 44043  	return c
 44044  }
 44045  
 44046  // PageToken sets the optional parameter "pageToken": The value of the
 44047  // nextToken from the previous result page.
 44048  func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
 44049  	c.urlParams_.Set("pageToken", pageToken)
 44050  	return c
 44051  }
 44052  
 44053  // Scope sets the optional parameter "scope": The scope that defines
 44054  // which results are returned.
 44055  //
 44056  // Possible values:
 44057  //
 44058  //	"ALL" - All reports in account.
 44059  //	"MINE" (default) - My reports.
 44060  func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
 44061  	c.urlParams_.Set("scope", scope)
 44062  	return c
 44063  }
 44064  
 44065  // SortField sets the optional parameter "sortField": The field by which
 44066  // to sort the list.
 44067  //
 44068  // Possible values:
 44069  //
 44070  //	"ID" - Sort by report ID.
 44071  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 44072  //	"NAME" - Sort by name of reports.
 44073  func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
 44074  	c.urlParams_.Set("sortField", sortField)
 44075  	return c
 44076  }
 44077  
 44078  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 44079  // results.
 44080  //
 44081  // Possible values:
 44082  //
 44083  //	"ASCENDING" - Ascending order.
 44084  //	"DESCENDING" (default) - Descending order.
 44085  func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
 44086  	c.urlParams_.Set("sortOrder", sortOrder)
 44087  	return c
 44088  }
 44089  
 44090  // Fields allows partial responses to be retrieved. See
 44091  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44092  // for more information.
 44093  func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
 44094  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44095  	return c
 44096  }
 44097  
 44098  // IfNoneMatch sets the optional parameter which makes the operation
 44099  // fail if the object's ETag matches the given value. This is useful for
 44100  // getting updates only after the object has changed since the last
 44101  // request. Use googleapi.IsNotModified to check whether the response
 44102  // error from Do is the result of In-None-Match.
 44103  func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
 44104  	c.ifNoneMatch_ = entityTag
 44105  	return c
 44106  }
 44107  
 44108  // Context sets the context to be used in this call's Do method. Any
 44109  // pending HTTP request will be aborted if the provided context is
 44110  // canceled.
 44111  func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 44112  	c.ctx_ = ctx
 44113  	return c
 44114  }
 44115  
 44116  // Header returns an http.Header that can be modified by the caller to
 44117  // add HTTP headers to the request.
 44118  func (c *ReportsListCall) Header() http.Header {
 44119  	if c.header_ == nil {
 44120  		c.header_ = make(http.Header)
 44121  	}
 44122  	return c.header_
 44123  }
 44124  
 44125  func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 44126  	reqHeaders := make(http.Header)
 44127  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44128  	for k, v := range c.header_ {
 44129  		reqHeaders[k] = v
 44130  	}
 44131  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44132  	if c.ifNoneMatch_ != "" {
 44133  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44134  	}
 44135  	var body io.Reader = nil
 44136  	c.urlParams_.Set("alt", alt)
 44137  	c.urlParams_.Set("prettyPrint", "false")
 44138  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 44139  	urls += "?" + c.urlParams_.Encode()
 44140  	req, err := http.NewRequest("GET", urls, body)
 44141  	if err != nil {
 44142  		return nil, err
 44143  	}
 44144  	req.Header = reqHeaders
 44145  	googleapi.Expand(req.URL, map[string]string{
 44146  		"profileId": strconv.FormatInt(c.profileId, 10),
 44147  	})
 44148  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44149  }
 44150  
 44151  // Do executes the "dfareporting.reports.list" call.
 44152  // Exactly one of *ReportList or error will be non-nil. Any non-2xx
 44153  // status code is an error. Response headers are in either
 44154  // *ReportList.ServerResponse.Header or (if a response was returned at
 44155  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 44156  // to check whether the returned error was because
 44157  // http.StatusNotModified was returned.
 44158  func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
 44159  	gensupport.SetOptions(c.urlParams_, opts...)
 44160  	res, err := c.doRequest("json")
 44161  	if res != nil && res.StatusCode == http.StatusNotModified {
 44162  		if res.Body != nil {
 44163  			res.Body.Close()
 44164  		}
 44165  		return nil, &googleapi.Error{
 44166  			Code:   res.StatusCode,
 44167  			Header: res.Header,
 44168  		}
 44169  	}
 44170  	if err != nil {
 44171  		return nil, err
 44172  	}
 44173  	defer googleapi.CloseBody(res)
 44174  	if err := googleapi.CheckResponse(res); err != nil {
 44175  		return nil, err
 44176  	}
 44177  	ret := &ReportList{
 44178  		ServerResponse: googleapi.ServerResponse{
 44179  			Header:         res.Header,
 44180  			HTTPStatusCode: res.StatusCode,
 44181  		},
 44182  	}
 44183  	target := &ret
 44184  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44185  		return nil, err
 44186  	}
 44187  	return ret, nil
 44188  	// {
 44189  	//   "description": "Retrieves list of reports.",
 44190  	//   "httpMethod": "GET",
 44191  	//   "id": "dfareporting.reports.list",
 44192  	//   "parameterOrder": [
 44193  	//     "profileId"
 44194  	//   ],
 44195  	//   "parameters": {
 44196  	//     "maxResults": {
 44197  	//       "default": "10",
 44198  	//       "description": "Maximum number of results to return.",
 44199  	//       "format": "int32",
 44200  	//       "location": "query",
 44201  	//       "maximum": "10",
 44202  	//       "minimum": "0",
 44203  	//       "type": "integer"
 44204  	//     },
 44205  	//     "pageToken": {
 44206  	//       "description": "The value of the nextToken from the previous result page.",
 44207  	//       "location": "query",
 44208  	//       "type": "string"
 44209  	//     },
 44210  	//     "profileId": {
 44211  	//       "description": "The DFA user profile ID.",
 44212  	//       "format": "int64",
 44213  	//       "location": "path",
 44214  	//       "required": true,
 44215  	//       "type": "string"
 44216  	//     },
 44217  	//     "scope": {
 44218  	//       "default": "MINE",
 44219  	//       "description": "The scope that defines which results are returned.",
 44220  	//       "enum": [
 44221  	//         "ALL",
 44222  	//         "MINE"
 44223  	//       ],
 44224  	//       "enumDescriptions": [
 44225  	//         "All reports in account.",
 44226  	//         "My reports."
 44227  	//       ],
 44228  	//       "location": "query",
 44229  	//       "type": "string"
 44230  	//     },
 44231  	//     "sortField": {
 44232  	//       "default": "LAST_MODIFIED_TIME",
 44233  	//       "description": "The field by which to sort the list.",
 44234  	//       "enum": [
 44235  	//         "ID",
 44236  	//         "LAST_MODIFIED_TIME",
 44237  	//         "NAME"
 44238  	//       ],
 44239  	//       "enumDescriptions": [
 44240  	//         "Sort by report ID.",
 44241  	//         "Sort by 'lastModifiedTime' field.",
 44242  	//         "Sort by name of reports."
 44243  	//       ],
 44244  	//       "location": "query",
 44245  	//       "type": "string"
 44246  	//     },
 44247  	//     "sortOrder": {
 44248  	//       "default": "DESCENDING",
 44249  	//       "description": "Order of sorted results.",
 44250  	//       "enum": [
 44251  	//         "ASCENDING",
 44252  	//         "DESCENDING"
 44253  	//       ],
 44254  	//       "enumDescriptions": [
 44255  	//         "Ascending order.",
 44256  	//         "Descending order."
 44257  	//       ],
 44258  	//       "location": "query",
 44259  	//       "type": "string"
 44260  	//     }
 44261  	//   },
 44262  	//   "path": "userprofiles/{profileId}/reports",
 44263  	//   "response": {
 44264  	//     "$ref": "ReportList"
 44265  	//   },
 44266  	//   "scopes": [
 44267  	//     "https://www.googleapis.com/auth/dfareporting"
 44268  	//   ]
 44269  	// }
 44270  
 44271  }
 44272  
 44273  // Pages invokes f for each page of results.
 44274  // A non-nil error returned from f will halt the iteration.
 44275  // The provided context supersedes any context provided to the Context method.
 44276  func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
 44277  	c.ctx_ = ctx
 44278  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 44279  	for {
 44280  		x, err := c.Do()
 44281  		if err != nil {
 44282  			return err
 44283  		}
 44284  		if err := f(x); err != nil {
 44285  			return err
 44286  		}
 44287  		if x.NextPageToken == "" {
 44288  			return nil
 44289  		}
 44290  		c.PageToken(x.NextPageToken)
 44291  	}
 44292  }
 44293  
 44294  // method id "dfareporting.reports.patch":
 44295  
 44296  type ReportsPatchCall struct {
 44297  	s          *Service
 44298  	profileId  int64
 44299  	reportId   int64
 44300  	report     *Report
 44301  	urlParams_ gensupport.URLParams
 44302  	ctx_       context.Context
 44303  	header_    http.Header
 44304  }
 44305  
 44306  // Patch: Updates a report. This method supports patch semantics.
 44307  func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
 44308  	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44309  	c.profileId = profileId
 44310  	c.reportId = reportId
 44311  	c.report = report
 44312  	return c
 44313  }
 44314  
 44315  // Fields allows partial responses to be retrieved. See
 44316  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44317  // for more information.
 44318  func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
 44319  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44320  	return c
 44321  }
 44322  
 44323  // Context sets the context to be used in this call's Do method. Any
 44324  // pending HTTP request will be aborted if the provided context is
 44325  // canceled.
 44326  func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 44327  	c.ctx_ = ctx
 44328  	return c
 44329  }
 44330  
 44331  // Header returns an http.Header that can be modified by the caller to
 44332  // add HTTP headers to the request.
 44333  func (c *ReportsPatchCall) Header() http.Header {
 44334  	if c.header_ == nil {
 44335  		c.header_ = make(http.Header)
 44336  	}
 44337  	return c.header_
 44338  }
 44339  
 44340  func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
 44341  	reqHeaders := make(http.Header)
 44342  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44343  	for k, v := range c.header_ {
 44344  		reqHeaders[k] = v
 44345  	}
 44346  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44347  	var body io.Reader = nil
 44348  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44349  	if err != nil {
 44350  		return nil, err
 44351  	}
 44352  	reqHeaders.Set("Content-Type", "application/json")
 44353  	c.urlParams_.Set("alt", alt)
 44354  	c.urlParams_.Set("prettyPrint", "false")
 44355  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44356  	urls += "?" + c.urlParams_.Encode()
 44357  	req, err := http.NewRequest("PATCH", urls, body)
 44358  	if err != nil {
 44359  		return nil, err
 44360  	}
 44361  	req.Header = reqHeaders
 44362  	googleapi.Expand(req.URL, map[string]string{
 44363  		"profileId": strconv.FormatInt(c.profileId, 10),
 44364  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44365  	})
 44366  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44367  }
 44368  
 44369  // Do executes the "dfareporting.reports.patch" call.
 44370  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44371  // code is an error. Response headers are in either
 44372  // *Report.ServerResponse.Header or (if a response was returned at all)
 44373  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44374  // check whether the returned error was because http.StatusNotModified
 44375  // was returned.
 44376  func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44377  	gensupport.SetOptions(c.urlParams_, opts...)
 44378  	res, err := c.doRequest("json")
 44379  	if res != nil && res.StatusCode == http.StatusNotModified {
 44380  		if res.Body != nil {
 44381  			res.Body.Close()
 44382  		}
 44383  		return nil, &googleapi.Error{
 44384  			Code:   res.StatusCode,
 44385  			Header: res.Header,
 44386  		}
 44387  	}
 44388  	if err != nil {
 44389  		return nil, err
 44390  	}
 44391  	defer googleapi.CloseBody(res)
 44392  	if err := googleapi.CheckResponse(res); err != nil {
 44393  		return nil, err
 44394  	}
 44395  	ret := &Report{
 44396  		ServerResponse: googleapi.ServerResponse{
 44397  			Header:         res.Header,
 44398  			HTTPStatusCode: res.StatusCode,
 44399  		},
 44400  	}
 44401  	target := &ret
 44402  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44403  		return nil, err
 44404  	}
 44405  	return ret, nil
 44406  	// {
 44407  	//   "description": "Updates a report. This method supports patch semantics.",
 44408  	//   "httpMethod": "PATCH",
 44409  	//   "id": "dfareporting.reports.patch",
 44410  	//   "parameterOrder": [
 44411  	//     "profileId",
 44412  	//     "reportId"
 44413  	//   ],
 44414  	//   "parameters": {
 44415  	//     "profileId": {
 44416  	//       "description": "The DFA user profile ID.",
 44417  	//       "format": "int64",
 44418  	//       "location": "path",
 44419  	//       "required": true,
 44420  	//       "type": "string"
 44421  	//     },
 44422  	//     "reportId": {
 44423  	//       "description": "The ID of the report.",
 44424  	//       "format": "int64",
 44425  	//       "location": "path",
 44426  	//       "required": true,
 44427  	//       "type": "string"
 44428  	//     }
 44429  	//   },
 44430  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44431  	//   "request": {
 44432  	//     "$ref": "Report"
 44433  	//   },
 44434  	//   "response": {
 44435  	//     "$ref": "Report"
 44436  	//   },
 44437  	//   "scopes": [
 44438  	//     "https://www.googleapis.com/auth/dfareporting"
 44439  	//   ]
 44440  	// }
 44441  
 44442  }
 44443  
 44444  // method id "dfareporting.reports.run":
 44445  
 44446  type ReportsRunCall struct {
 44447  	s          *Service
 44448  	profileId  int64
 44449  	reportId   int64
 44450  	urlParams_ gensupport.URLParams
 44451  	ctx_       context.Context
 44452  	header_    http.Header
 44453  }
 44454  
 44455  // Run: Runs a report.
 44456  func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
 44457  	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44458  	c.profileId = profileId
 44459  	c.reportId = reportId
 44460  	return c
 44461  }
 44462  
 44463  // Synchronous sets the optional parameter "synchronous": If set and
 44464  // true, tries to run the report synchronously.
 44465  func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
 44466  	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
 44467  	return c
 44468  }
 44469  
 44470  // Fields allows partial responses to be retrieved. See
 44471  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44472  // for more information.
 44473  func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
 44474  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44475  	return c
 44476  }
 44477  
 44478  // Context sets the context to be used in this call's Do method. Any
 44479  // pending HTTP request will be aborted if the provided context is
 44480  // canceled.
 44481  func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 44482  	c.ctx_ = ctx
 44483  	return c
 44484  }
 44485  
 44486  // Header returns an http.Header that can be modified by the caller to
 44487  // add HTTP headers to the request.
 44488  func (c *ReportsRunCall) Header() http.Header {
 44489  	if c.header_ == nil {
 44490  		c.header_ = make(http.Header)
 44491  	}
 44492  	return c.header_
 44493  }
 44494  
 44495  func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 44496  	reqHeaders := make(http.Header)
 44497  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44498  	for k, v := range c.header_ {
 44499  		reqHeaders[k] = v
 44500  	}
 44501  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44502  	var body io.Reader = nil
 44503  	c.urlParams_.Set("alt", alt)
 44504  	c.urlParams_.Set("prettyPrint", "false")
 44505  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
 44506  	urls += "?" + c.urlParams_.Encode()
 44507  	req, err := http.NewRequest("POST", urls, body)
 44508  	if err != nil {
 44509  		return nil, err
 44510  	}
 44511  	req.Header = reqHeaders
 44512  	googleapi.Expand(req.URL, map[string]string{
 44513  		"profileId": strconv.FormatInt(c.profileId, 10),
 44514  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44515  	})
 44516  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44517  }
 44518  
 44519  // Do executes the "dfareporting.reports.run" call.
 44520  // Exactly one of *File or error will be non-nil. Any non-2xx status
 44521  // code is an error. Response headers are in either
 44522  // *File.ServerResponse.Header or (if a response was returned at all) in
 44523  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 44524  // whether the returned error was because http.StatusNotModified was
 44525  // returned.
 44526  func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
 44527  	gensupport.SetOptions(c.urlParams_, opts...)
 44528  	res, err := c.doRequest("json")
 44529  	if res != nil && res.StatusCode == http.StatusNotModified {
 44530  		if res.Body != nil {
 44531  			res.Body.Close()
 44532  		}
 44533  		return nil, &googleapi.Error{
 44534  			Code:   res.StatusCode,
 44535  			Header: res.Header,
 44536  		}
 44537  	}
 44538  	if err != nil {
 44539  		return nil, err
 44540  	}
 44541  	defer googleapi.CloseBody(res)
 44542  	if err := googleapi.CheckResponse(res); err != nil {
 44543  		return nil, err
 44544  	}
 44545  	ret := &File{
 44546  		ServerResponse: googleapi.ServerResponse{
 44547  			Header:         res.Header,
 44548  			HTTPStatusCode: res.StatusCode,
 44549  		},
 44550  	}
 44551  	target := &ret
 44552  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44553  		return nil, err
 44554  	}
 44555  	return ret, nil
 44556  	// {
 44557  	//   "description": "Runs a report.",
 44558  	//   "httpMethod": "POST",
 44559  	//   "id": "dfareporting.reports.run",
 44560  	//   "parameterOrder": [
 44561  	//     "profileId",
 44562  	//     "reportId"
 44563  	//   ],
 44564  	//   "parameters": {
 44565  	//     "profileId": {
 44566  	//       "description": "The DFA profile ID.",
 44567  	//       "format": "int64",
 44568  	//       "location": "path",
 44569  	//       "required": true,
 44570  	//       "type": "string"
 44571  	//     },
 44572  	//     "reportId": {
 44573  	//       "description": "The ID of the report.",
 44574  	//       "format": "int64",
 44575  	//       "location": "path",
 44576  	//       "required": true,
 44577  	//       "type": "string"
 44578  	//     },
 44579  	//     "synchronous": {
 44580  	//       "default": "false",
 44581  	//       "description": "If set and true, tries to run the report synchronously.",
 44582  	//       "location": "query",
 44583  	//       "type": "boolean"
 44584  	//     }
 44585  	//   },
 44586  	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
 44587  	//   "response": {
 44588  	//     "$ref": "File"
 44589  	//   },
 44590  	//   "scopes": [
 44591  	//     "https://www.googleapis.com/auth/dfareporting"
 44592  	//   ]
 44593  	// }
 44594  
 44595  }
 44596  
 44597  // method id "dfareporting.reports.update":
 44598  
 44599  type ReportsUpdateCall struct {
 44600  	s          *Service
 44601  	profileId  int64
 44602  	reportId   int64
 44603  	report     *Report
 44604  	urlParams_ gensupport.URLParams
 44605  	ctx_       context.Context
 44606  	header_    http.Header
 44607  }
 44608  
 44609  // Update: Updates a report.
 44610  func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
 44611  	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44612  	c.profileId = profileId
 44613  	c.reportId = reportId
 44614  	c.report = report
 44615  	return c
 44616  }
 44617  
 44618  // Fields allows partial responses to be retrieved. See
 44619  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44620  // for more information.
 44621  func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
 44622  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44623  	return c
 44624  }
 44625  
 44626  // Context sets the context to be used in this call's Do method. Any
 44627  // pending HTTP request will be aborted if the provided context is
 44628  // canceled.
 44629  func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 44630  	c.ctx_ = ctx
 44631  	return c
 44632  }
 44633  
 44634  // Header returns an http.Header that can be modified by the caller to
 44635  // add HTTP headers to the request.
 44636  func (c *ReportsUpdateCall) Header() http.Header {
 44637  	if c.header_ == nil {
 44638  		c.header_ = make(http.Header)
 44639  	}
 44640  	return c.header_
 44641  }
 44642  
 44643  func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 44644  	reqHeaders := make(http.Header)
 44645  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44646  	for k, v := range c.header_ {
 44647  		reqHeaders[k] = v
 44648  	}
 44649  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44650  	var body io.Reader = nil
 44651  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44652  	if err != nil {
 44653  		return nil, err
 44654  	}
 44655  	reqHeaders.Set("Content-Type", "application/json")
 44656  	c.urlParams_.Set("alt", alt)
 44657  	c.urlParams_.Set("prettyPrint", "false")
 44658  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44659  	urls += "?" + c.urlParams_.Encode()
 44660  	req, err := http.NewRequest("PUT", urls, body)
 44661  	if err != nil {
 44662  		return nil, err
 44663  	}
 44664  	req.Header = reqHeaders
 44665  	googleapi.Expand(req.URL, map[string]string{
 44666  		"profileId": strconv.FormatInt(c.profileId, 10),
 44667  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44668  	})
 44669  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44670  }
 44671  
 44672  // Do executes the "dfareporting.reports.update" call.
 44673  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44674  // code is an error. Response headers are in either
 44675  // *Report.ServerResponse.Header or (if a response was returned at all)
 44676  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44677  // check whether the returned error was because http.StatusNotModified
 44678  // was returned.
 44679  func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44680  	gensupport.SetOptions(c.urlParams_, opts...)
 44681  	res, err := c.doRequest("json")
 44682  	if res != nil && res.StatusCode == http.StatusNotModified {
 44683  		if res.Body != nil {
 44684  			res.Body.Close()
 44685  		}
 44686  		return nil, &googleapi.Error{
 44687  			Code:   res.StatusCode,
 44688  			Header: res.Header,
 44689  		}
 44690  	}
 44691  	if err != nil {
 44692  		return nil, err
 44693  	}
 44694  	defer googleapi.CloseBody(res)
 44695  	if err := googleapi.CheckResponse(res); err != nil {
 44696  		return nil, err
 44697  	}
 44698  	ret := &Report{
 44699  		ServerResponse: googleapi.ServerResponse{
 44700  			Header:         res.Header,
 44701  			HTTPStatusCode: res.StatusCode,
 44702  		},
 44703  	}
 44704  	target := &ret
 44705  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44706  		return nil, err
 44707  	}
 44708  	return ret, nil
 44709  	// {
 44710  	//   "description": "Updates a report.",
 44711  	//   "httpMethod": "PUT",
 44712  	//   "id": "dfareporting.reports.update",
 44713  	//   "parameterOrder": [
 44714  	//     "profileId",
 44715  	//     "reportId"
 44716  	//   ],
 44717  	//   "parameters": {
 44718  	//     "profileId": {
 44719  	//       "description": "The DFA user profile ID.",
 44720  	//       "format": "int64",
 44721  	//       "location": "path",
 44722  	//       "required": true,
 44723  	//       "type": "string"
 44724  	//     },
 44725  	//     "reportId": {
 44726  	//       "description": "The ID of the report.",
 44727  	//       "format": "int64",
 44728  	//       "location": "path",
 44729  	//       "required": true,
 44730  	//       "type": "string"
 44731  	//     }
 44732  	//   },
 44733  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44734  	//   "request": {
 44735  	//     "$ref": "Report"
 44736  	//   },
 44737  	//   "response": {
 44738  	//     "$ref": "Report"
 44739  	//   },
 44740  	//   "scopes": [
 44741  	//     "https://www.googleapis.com/auth/dfareporting"
 44742  	//   ]
 44743  	// }
 44744  
 44745  }
 44746  
 44747  // method id "dfareporting.reports.compatibleFields.query":
 44748  
 44749  type ReportsCompatibleFieldsQueryCall struct {
 44750  	s          *Service
 44751  	profileId  int64
 44752  	report     *Report
 44753  	urlParams_ gensupport.URLParams
 44754  	ctx_       context.Context
 44755  	header_    http.Header
 44756  }
 44757  
 44758  // Query: Returns the fields that are compatible to be selected in the
 44759  // respective sections of a report criteria, given the fields already
 44760  // selected in the input report and user permissions.
 44761  func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
 44762  	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44763  	c.profileId = profileId
 44764  	c.report = report
 44765  	return c
 44766  }
 44767  
 44768  // Fields allows partial responses to be retrieved. See
 44769  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44770  // for more information.
 44771  func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
 44772  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44773  	return c
 44774  }
 44775  
 44776  // Context sets the context to be used in this call's Do method. Any
 44777  // pending HTTP request will be aborted if the provided context is
 44778  // canceled.
 44779  func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 44780  	c.ctx_ = ctx
 44781  	return c
 44782  }
 44783  
 44784  // Header returns an http.Header that can be modified by the caller to
 44785  // add HTTP headers to the request.
 44786  func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
 44787  	if c.header_ == nil {
 44788  		c.header_ = make(http.Header)
 44789  	}
 44790  	return c.header_
 44791  }
 44792  
 44793  func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
 44794  	reqHeaders := make(http.Header)
 44795  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44796  	for k, v := range c.header_ {
 44797  		reqHeaders[k] = v
 44798  	}
 44799  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44800  	var body io.Reader = nil
 44801  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44802  	if err != nil {
 44803  		return nil, err
 44804  	}
 44805  	reqHeaders.Set("Content-Type", "application/json")
 44806  	c.urlParams_.Set("alt", alt)
 44807  	c.urlParams_.Set("prettyPrint", "false")
 44808  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
 44809  	urls += "?" + c.urlParams_.Encode()
 44810  	req, err := http.NewRequest("POST", urls, body)
 44811  	if err != nil {
 44812  		return nil, err
 44813  	}
 44814  	req.Header = reqHeaders
 44815  	googleapi.Expand(req.URL, map[string]string{
 44816  		"profileId": strconv.FormatInt(c.profileId, 10),
 44817  	})
 44818  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44819  }
 44820  
 44821  // Do executes the "dfareporting.reports.compatibleFields.query" call.
 44822  // Exactly one of *CompatibleFields or error will be non-nil. Any
 44823  // non-2xx status code is an error. Response headers are in either
 44824  // *CompatibleFields.ServerResponse.Header or (if a response was
 44825  // returned at all) in error.(*googleapi.Error).Header. Use
 44826  // googleapi.IsNotModified to check whether the returned error was
 44827  // because http.StatusNotModified was returned.
 44828  func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
 44829  	gensupport.SetOptions(c.urlParams_, opts...)
 44830  	res, err := c.doRequest("json")
 44831  	if res != nil && res.StatusCode == http.StatusNotModified {
 44832  		if res.Body != nil {
 44833  			res.Body.Close()
 44834  		}
 44835  		return nil, &googleapi.Error{
 44836  			Code:   res.StatusCode,
 44837  			Header: res.Header,
 44838  		}
 44839  	}
 44840  	if err != nil {
 44841  		return nil, err
 44842  	}
 44843  	defer googleapi.CloseBody(res)
 44844  	if err := googleapi.CheckResponse(res); err != nil {
 44845  		return nil, err
 44846  	}
 44847  	ret := &CompatibleFields{
 44848  		ServerResponse: googleapi.ServerResponse{
 44849  			Header:         res.Header,
 44850  			HTTPStatusCode: res.StatusCode,
 44851  		},
 44852  	}
 44853  	target := &ret
 44854  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44855  		return nil, err
 44856  	}
 44857  	return ret, nil
 44858  	// {
 44859  	//   "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.",
 44860  	//   "httpMethod": "POST",
 44861  	//   "id": "dfareporting.reports.compatibleFields.query",
 44862  	//   "parameterOrder": [
 44863  	//     "profileId"
 44864  	//   ],
 44865  	//   "parameters": {
 44866  	//     "profileId": {
 44867  	//       "description": "The DFA user profile ID.",
 44868  	//       "format": "int64",
 44869  	//       "location": "path",
 44870  	//       "required": true,
 44871  	//       "type": "string"
 44872  	//     }
 44873  	//   },
 44874  	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
 44875  	//   "request": {
 44876  	//     "$ref": "Report"
 44877  	//   },
 44878  	//   "response": {
 44879  	//     "$ref": "CompatibleFields"
 44880  	//   },
 44881  	//   "scopes": [
 44882  	//     "https://www.googleapis.com/auth/dfareporting"
 44883  	//   ]
 44884  	// }
 44885  
 44886  }
 44887  
 44888  // method id "dfareporting.reports.files.get":
 44889  
 44890  type ReportsFilesGetCall struct {
 44891  	s            *Service
 44892  	profileId    int64
 44893  	reportId     int64
 44894  	fileId       int64
 44895  	urlParams_   gensupport.URLParams
 44896  	ifNoneMatch_ string
 44897  	ctx_         context.Context
 44898  	header_      http.Header
 44899  }
 44900  
 44901  // Get: Retrieves a report file. This method supports media download.
 44902  func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
 44903  	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44904  	c.profileId = profileId
 44905  	c.reportId = reportId
 44906  	c.fileId = fileId
 44907  	return c
 44908  }
 44909  
 44910  // Fields allows partial responses to be retrieved. See
 44911  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44912  // for more information.
 44913  func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
 44914  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44915  	return c
 44916  }
 44917  
 44918  // IfNoneMatch sets the optional parameter which makes the operation
 44919  // fail if the object's ETag matches the given value. This is useful for
 44920  // getting updates only after the object has changed since the last
 44921  // request. Use googleapi.IsNotModified to check whether the response
 44922  // error from Do is the result of In-None-Match.
 44923  func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
 44924  	c.ifNoneMatch_ = entityTag
 44925  	return c
 44926  }
 44927  
 44928  // Context sets the context to be used in this call's Do and Download
 44929  // methods. Any pending HTTP request will be aborted if the provided
 44930  // context is canceled.
 44931  func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 44932  	c.ctx_ = ctx
 44933  	return c
 44934  }
 44935  
 44936  // Header returns an http.Header that can be modified by the caller to
 44937  // add HTTP headers to the request.
 44938  func (c *ReportsFilesGetCall) Header() http.Header {
 44939  	if c.header_ == nil {
 44940  		c.header_ = make(http.Header)
 44941  	}
 44942  	return c.header_
 44943  }
 44944  
 44945  func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 44946  	reqHeaders := make(http.Header)
 44947  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44948  	for k, v := range c.header_ {
 44949  		reqHeaders[k] = v
 44950  	}
 44951  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44952  	if c.ifNoneMatch_ != "" {
 44953  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44954  	}
 44955  	var body io.Reader = nil
 44956  	c.urlParams_.Set("alt", alt)
 44957  	c.urlParams_.Set("prettyPrint", "false")
 44958  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
 44959  	urls += "?" + c.urlParams_.Encode()
 44960  	req, err := http.NewRequest("GET", urls, body)
 44961  	if err != nil {
 44962  		return nil, err
 44963  	}
 44964  	req.Header = reqHeaders
 44965  	googleapi.Expand(req.URL, map[string]string{
 44966  		"profileId": strconv.FormatInt(c.profileId, 10),
 44967  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44968  		"fileId":    strconv.FormatInt(c.fileId, 10),
 44969  	})
 44970  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44971  }
 44972  
 44973  // Download fetches the API endpoint's "media" value, instead of the normal
 44974  // API response value. If the returned error is nil, the Response is guaranteed to
 44975  // have a 2xx status code. Callers must close the Response.Body as usual.
 44976  func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 44977  	gensupport.SetOptions(c.urlParams_, opts...)
 44978  	res, err := c.doRequest("media")
 44979  	if err != nil {
 44980  		return nil, err
 44981  	}
 44982  	if err := googleapi.CheckMediaResponse(res); err != nil {
 44983  		res.Body.Close()
 44984  		return nil, err
 44985  	}
 44986  	return res, nil
 44987  }
 44988  
 44989  // Do executes the "dfareporting.reports.files.get" call.
 44990  // Exactly one of *File or error will be non-nil. Any non-2xx status
 44991  // code is an error. Response headers are in either
 44992  // *File.ServerResponse.Header or (if a response was returned at all) in
 44993  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 44994  // whether the returned error was because http.StatusNotModified was
 44995  // returned.
 44996  func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 44997  	gensupport.SetOptions(c.urlParams_, opts...)
 44998  	res, err := c.doRequest("json")
 44999  	if res != nil && res.StatusCode == http.StatusNotModified {
 45000  		if res.Body != nil {
 45001  			res.Body.Close()
 45002  		}
 45003  		return nil, &googleapi.Error{
 45004  			Code:   res.StatusCode,
 45005  			Header: res.Header,
 45006  		}
 45007  	}
 45008  	if err != nil {
 45009  		return nil, err
 45010  	}
 45011  	defer googleapi.CloseBody(res)
 45012  	if err := googleapi.CheckResponse(res); err != nil {
 45013  		return nil, err
 45014  	}
 45015  	ret := &File{
 45016  		ServerResponse: googleapi.ServerResponse{
 45017  			Header:         res.Header,
 45018  			HTTPStatusCode: res.StatusCode,
 45019  		},
 45020  	}
 45021  	target := &ret
 45022  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45023  		return nil, err
 45024  	}
 45025  	return ret, nil
 45026  	// {
 45027  	//   "description": "Retrieves a report file. This method supports media download.",
 45028  	//   "httpMethod": "GET",
 45029  	//   "id": "dfareporting.reports.files.get",
 45030  	//   "parameterOrder": [
 45031  	//     "profileId",
 45032  	//     "reportId",
 45033  	//     "fileId"
 45034  	//   ],
 45035  	//   "parameters": {
 45036  	//     "fileId": {
 45037  	//       "description": "The ID of the report file.",
 45038  	//       "format": "int64",
 45039  	//       "location": "path",
 45040  	//       "required": true,
 45041  	//       "type": "string"
 45042  	//     },
 45043  	//     "profileId": {
 45044  	//       "description": "The DFA profile ID.",
 45045  	//       "format": "int64",
 45046  	//       "location": "path",
 45047  	//       "required": true,
 45048  	//       "type": "string"
 45049  	//     },
 45050  	//     "reportId": {
 45051  	//       "description": "The ID of the report.",
 45052  	//       "format": "int64",
 45053  	//       "location": "path",
 45054  	//       "required": true,
 45055  	//       "type": "string"
 45056  	//     }
 45057  	//   },
 45058  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 45059  	//   "response": {
 45060  	//     "$ref": "File"
 45061  	//   },
 45062  	//   "scopes": [
 45063  	//     "https://www.googleapis.com/auth/dfareporting"
 45064  	//   ],
 45065  	//   "supportsMediaDownload": true
 45066  	// }
 45067  
 45068  }
 45069  
 45070  // method id "dfareporting.reports.files.list":
 45071  
 45072  type ReportsFilesListCall struct {
 45073  	s            *Service
 45074  	profileId    int64
 45075  	reportId     int64
 45076  	urlParams_   gensupport.URLParams
 45077  	ifNoneMatch_ string
 45078  	ctx_         context.Context
 45079  	header_      http.Header
 45080  }
 45081  
 45082  // List: Lists files for a report.
 45083  func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
 45084  	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45085  	c.profileId = profileId
 45086  	c.reportId = reportId
 45087  	return c
 45088  }
 45089  
 45090  // MaxResults sets the optional parameter "maxResults": Maximum number
 45091  // of results to return.
 45092  func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
 45093  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 45094  	return c
 45095  }
 45096  
 45097  // PageToken sets the optional parameter "pageToken": The value of the
 45098  // nextToken from the previous result page.
 45099  func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
 45100  	c.urlParams_.Set("pageToken", pageToken)
 45101  	return c
 45102  }
 45103  
 45104  // SortField sets the optional parameter "sortField": The field by which
 45105  // to sort the list.
 45106  //
 45107  // Possible values:
 45108  //
 45109  //	"ID" - Sort by file ID.
 45110  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 45111  func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
 45112  	c.urlParams_.Set("sortField", sortField)
 45113  	return c
 45114  }
 45115  
 45116  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 45117  // results.
 45118  //
 45119  // Possible values:
 45120  //
 45121  //	"ASCENDING" - Ascending order.
 45122  //	"DESCENDING" (default) - Descending order.
 45123  func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
 45124  	c.urlParams_.Set("sortOrder", sortOrder)
 45125  	return c
 45126  }
 45127  
 45128  // Fields allows partial responses to be retrieved. See
 45129  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45130  // for more information.
 45131  func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
 45132  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45133  	return c
 45134  }
 45135  
 45136  // IfNoneMatch sets the optional parameter which makes the operation
 45137  // fail if the object's ETag matches the given value. This is useful for
 45138  // getting updates only after the object has changed since the last
 45139  // request. Use googleapi.IsNotModified to check whether the response
 45140  // error from Do is the result of In-None-Match.
 45141  func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
 45142  	c.ifNoneMatch_ = entityTag
 45143  	return c
 45144  }
 45145  
 45146  // Context sets the context to be used in this call's Do method. Any
 45147  // pending HTTP request will be aborted if the provided context is
 45148  // canceled.
 45149  func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 45150  	c.ctx_ = ctx
 45151  	return c
 45152  }
 45153  
 45154  // Header returns an http.Header that can be modified by the caller to
 45155  // add HTTP headers to the request.
 45156  func (c *ReportsFilesListCall) Header() http.Header {
 45157  	if c.header_ == nil {
 45158  		c.header_ = make(http.Header)
 45159  	}
 45160  	return c.header_
 45161  }
 45162  
 45163  func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 45164  	reqHeaders := make(http.Header)
 45165  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45166  	for k, v := range c.header_ {
 45167  		reqHeaders[k] = v
 45168  	}
 45169  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45170  	if c.ifNoneMatch_ != "" {
 45171  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45172  	}
 45173  	var body io.Reader = nil
 45174  	c.urlParams_.Set("alt", alt)
 45175  	c.urlParams_.Set("prettyPrint", "false")
 45176  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
 45177  	urls += "?" + c.urlParams_.Encode()
 45178  	req, err := http.NewRequest("GET", urls, body)
 45179  	if err != nil {
 45180  		return nil, err
 45181  	}
 45182  	req.Header = reqHeaders
 45183  	googleapi.Expand(req.URL, map[string]string{
 45184  		"profileId": strconv.FormatInt(c.profileId, 10),
 45185  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45186  	})
 45187  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45188  }
 45189  
 45190  // Do executes the "dfareporting.reports.files.list" call.
 45191  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 45192  // code is an error. Response headers are in either
 45193  // *FileList.ServerResponse.Header or (if a response was returned at
 45194  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 45195  // to check whether the returned error was because
 45196  // http.StatusNotModified was returned.
 45197  func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 45198  	gensupport.SetOptions(c.urlParams_, opts...)
 45199  	res, err := c.doRequest("json")
 45200  	if res != nil && res.StatusCode == http.StatusNotModified {
 45201  		if res.Body != nil {
 45202  			res.Body.Close()
 45203  		}
 45204  		return nil, &googleapi.Error{
 45205  			Code:   res.StatusCode,
 45206  			Header: res.Header,
 45207  		}
 45208  	}
 45209  	if err != nil {
 45210  		return nil, err
 45211  	}
 45212  	defer googleapi.CloseBody(res)
 45213  	if err := googleapi.CheckResponse(res); err != nil {
 45214  		return nil, err
 45215  	}
 45216  	ret := &FileList{
 45217  		ServerResponse: googleapi.ServerResponse{
 45218  			Header:         res.Header,
 45219  			HTTPStatusCode: res.StatusCode,
 45220  		},
 45221  	}
 45222  	target := &ret
 45223  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45224  		return nil, err
 45225  	}
 45226  	return ret, nil
 45227  	// {
 45228  	//   "description": "Lists files for a report.",
 45229  	//   "httpMethod": "GET",
 45230  	//   "id": "dfareporting.reports.files.list",
 45231  	//   "parameterOrder": [
 45232  	//     "profileId",
 45233  	//     "reportId"
 45234  	//   ],
 45235  	//   "parameters": {
 45236  	//     "maxResults": {
 45237  	//       "default": "10",
 45238  	//       "description": "Maximum number of results to return.",
 45239  	//       "format": "int32",
 45240  	//       "location": "query",
 45241  	//       "maximum": "10",
 45242  	//       "minimum": "0",
 45243  	//       "type": "integer"
 45244  	//     },
 45245  	//     "pageToken": {
 45246  	//       "description": "The value of the nextToken from the previous result page.",
 45247  	//       "location": "query",
 45248  	//       "type": "string"
 45249  	//     },
 45250  	//     "profileId": {
 45251  	//       "description": "The DFA profile ID.",
 45252  	//       "format": "int64",
 45253  	//       "location": "path",
 45254  	//       "required": true,
 45255  	//       "type": "string"
 45256  	//     },
 45257  	//     "reportId": {
 45258  	//       "description": "The ID of the parent report.",
 45259  	//       "format": "int64",
 45260  	//       "location": "path",
 45261  	//       "required": true,
 45262  	//       "type": "string"
 45263  	//     },
 45264  	//     "sortField": {
 45265  	//       "default": "LAST_MODIFIED_TIME",
 45266  	//       "description": "The field by which to sort the list.",
 45267  	//       "enum": [
 45268  	//         "ID",
 45269  	//         "LAST_MODIFIED_TIME"
 45270  	//       ],
 45271  	//       "enumDescriptions": [
 45272  	//         "Sort by file ID.",
 45273  	//         "Sort by 'lastmodifiedAt' field."
 45274  	//       ],
 45275  	//       "location": "query",
 45276  	//       "type": "string"
 45277  	//     },
 45278  	//     "sortOrder": {
 45279  	//       "default": "DESCENDING",
 45280  	//       "description": "Order of sorted results.",
 45281  	//       "enum": [
 45282  	//         "ASCENDING",
 45283  	//         "DESCENDING"
 45284  	//       ],
 45285  	//       "enumDescriptions": [
 45286  	//         "Ascending order.",
 45287  	//         "Descending order."
 45288  	//       ],
 45289  	//       "location": "query",
 45290  	//       "type": "string"
 45291  	//     }
 45292  	//   },
 45293  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
 45294  	//   "response": {
 45295  	//     "$ref": "FileList"
 45296  	//   },
 45297  	//   "scopes": [
 45298  	//     "https://www.googleapis.com/auth/dfareporting"
 45299  	//   ]
 45300  	// }
 45301  
 45302  }
 45303  
 45304  // Pages invokes f for each page of results.
 45305  // A non-nil error returned from f will halt the iteration.
 45306  // The provided context supersedes any context provided to the Context method.
 45307  func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 45308  	c.ctx_ = ctx
 45309  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 45310  	for {
 45311  		x, err := c.Do()
 45312  		if err != nil {
 45313  			return err
 45314  		}
 45315  		if err := f(x); err != nil {
 45316  			return err
 45317  		}
 45318  		if x.NextPageToken == "" {
 45319  			return nil
 45320  		}
 45321  		c.PageToken(x.NextPageToken)
 45322  	}
 45323  }
 45324  
 45325  // method id "dfareporting.sites.get":
 45326  
 45327  type SitesGetCall struct {
 45328  	s            *Service
 45329  	profileId    int64
 45330  	id           int64
 45331  	urlParams_   gensupport.URLParams
 45332  	ifNoneMatch_ string
 45333  	ctx_         context.Context
 45334  	header_      http.Header
 45335  }
 45336  
 45337  // Get: Gets one site by ID.
 45338  func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
 45339  	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45340  	c.profileId = profileId
 45341  	c.id = id
 45342  	return c
 45343  }
 45344  
 45345  // Fields allows partial responses to be retrieved. See
 45346  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45347  // for more information.
 45348  func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
 45349  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45350  	return c
 45351  }
 45352  
 45353  // IfNoneMatch sets the optional parameter which makes the operation
 45354  // fail if the object's ETag matches the given value. This is useful for
 45355  // getting updates only after the object has changed since the last
 45356  // request. Use googleapi.IsNotModified to check whether the response
 45357  // error from Do is the result of In-None-Match.
 45358  func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
 45359  	c.ifNoneMatch_ = entityTag
 45360  	return c
 45361  }
 45362  
 45363  // Context sets the context to be used in this call's Do method. Any
 45364  // pending HTTP request will be aborted if the provided context is
 45365  // canceled.
 45366  func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 45367  	c.ctx_ = ctx
 45368  	return c
 45369  }
 45370  
 45371  // Header returns an http.Header that can be modified by the caller to
 45372  // add HTTP headers to the request.
 45373  func (c *SitesGetCall) Header() http.Header {
 45374  	if c.header_ == nil {
 45375  		c.header_ = make(http.Header)
 45376  	}
 45377  	return c.header_
 45378  }
 45379  
 45380  func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 45381  	reqHeaders := make(http.Header)
 45382  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45383  	for k, v := range c.header_ {
 45384  		reqHeaders[k] = v
 45385  	}
 45386  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45387  	if c.ifNoneMatch_ != "" {
 45388  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45389  	}
 45390  	var body io.Reader = nil
 45391  	c.urlParams_.Set("alt", alt)
 45392  	c.urlParams_.Set("prettyPrint", "false")
 45393  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
 45394  	urls += "?" + c.urlParams_.Encode()
 45395  	req, err := http.NewRequest("GET", urls, body)
 45396  	if err != nil {
 45397  		return nil, err
 45398  	}
 45399  	req.Header = reqHeaders
 45400  	googleapi.Expand(req.URL, map[string]string{
 45401  		"profileId": strconv.FormatInt(c.profileId, 10),
 45402  		"id":        strconv.FormatInt(c.id, 10),
 45403  	})
 45404  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45405  }
 45406  
 45407  // Do executes the "dfareporting.sites.get" call.
 45408  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45409  // code is an error. Response headers are in either
 45410  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45411  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45412  // whether the returned error was because http.StatusNotModified was
 45413  // returned.
 45414  func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45415  	gensupport.SetOptions(c.urlParams_, opts...)
 45416  	res, err := c.doRequest("json")
 45417  	if res != nil && res.StatusCode == http.StatusNotModified {
 45418  		if res.Body != nil {
 45419  			res.Body.Close()
 45420  		}
 45421  		return nil, &googleapi.Error{
 45422  			Code:   res.StatusCode,
 45423  			Header: res.Header,
 45424  		}
 45425  	}
 45426  	if err != nil {
 45427  		return nil, err
 45428  	}
 45429  	defer googleapi.CloseBody(res)
 45430  	if err := googleapi.CheckResponse(res); err != nil {
 45431  		return nil, err
 45432  	}
 45433  	ret := &Site{
 45434  		ServerResponse: googleapi.ServerResponse{
 45435  			Header:         res.Header,
 45436  			HTTPStatusCode: res.StatusCode,
 45437  		},
 45438  	}
 45439  	target := &ret
 45440  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45441  		return nil, err
 45442  	}
 45443  	return ret, nil
 45444  	// {
 45445  	//   "description": "Gets one site by ID.",
 45446  	//   "httpMethod": "GET",
 45447  	//   "id": "dfareporting.sites.get",
 45448  	//   "parameterOrder": [
 45449  	//     "profileId",
 45450  	//     "id"
 45451  	//   ],
 45452  	//   "parameters": {
 45453  	//     "id": {
 45454  	//       "description": "Site ID.",
 45455  	//       "format": "int64",
 45456  	//       "location": "path",
 45457  	//       "required": true,
 45458  	//       "type": "string"
 45459  	//     },
 45460  	//     "profileId": {
 45461  	//       "description": "User profile ID associated with this request.",
 45462  	//       "format": "int64",
 45463  	//       "location": "path",
 45464  	//       "required": true,
 45465  	//       "type": "string"
 45466  	//     }
 45467  	//   },
 45468  	//   "path": "userprofiles/{profileId}/sites/{id}",
 45469  	//   "response": {
 45470  	//     "$ref": "Site"
 45471  	//   },
 45472  	//   "scopes": [
 45473  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45474  	//   ]
 45475  	// }
 45476  
 45477  }
 45478  
 45479  // method id "dfareporting.sites.insert":
 45480  
 45481  type SitesInsertCall struct {
 45482  	s          *Service
 45483  	profileId  int64
 45484  	site       *Site
 45485  	urlParams_ gensupport.URLParams
 45486  	ctx_       context.Context
 45487  	header_    http.Header
 45488  }
 45489  
 45490  // Insert: Inserts a new site.
 45491  func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
 45492  	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45493  	c.profileId = profileId
 45494  	c.site = site
 45495  	return c
 45496  }
 45497  
 45498  // Fields allows partial responses to be retrieved. See
 45499  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45500  // for more information.
 45501  func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
 45502  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45503  	return c
 45504  }
 45505  
 45506  // Context sets the context to be used in this call's Do method. Any
 45507  // pending HTTP request will be aborted if the provided context is
 45508  // canceled.
 45509  func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 45510  	c.ctx_ = ctx
 45511  	return c
 45512  }
 45513  
 45514  // Header returns an http.Header that can be modified by the caller to
 45515  // add HTTP headers to the request.
 45516  func (c *SitesInsertCall) Header() http.Header {
 45517  	if c.header_ == nil {
 45518  		c.header_ = make(http.Header)
 45519  	}
 45520  	return c.header_
 45521  }
 45522  
 45523  func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
 45524  	reqHeaders := make(http.Header)
 45525  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45526  	for k, v := range c.header_ {
 45527  		reqHeaders[k] = v
 45528  	}
 45529  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45530  	var body io.Reader = nil
 45531  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 45532  	if err != nil {
 45533  		return nil, err
 45534  	}
 45535  	reqHeaders.Set("Content-Type", "application/json")
 45536  	c.urlParams_.Set("alt", alt)
 45537  	c.urlParams_.Set("prettyPrint", "false")
 45538  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45539  	urls += "?" + c.urlParams_.Encode()
 45540  	req, err := http.NewRequest("POST", urls, body)
 45541  	if err != nil {
 45542  		return nil, err
 45543  	}
 45544  	req.Header = reqHeaders
 45545  	googleapi.Expand(req.URL, map[string]string{
 45546  		"profileId": strconv.FormatInt(c.profileId, 10),
 45547  	})
 45548  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45549  }
 45550  
 45551  // Do executes the "dfareporting.sites.insert" call.
 45552  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45553  // code is an error. Response headers are in either
 45554  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45555  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45556  // whether the returned error was because http.StatusNotModified was
 45557  // returned.
 45558  func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45559  	gensupport.SetOptions(c.urlParams_, opts...)
 45560  	res, err := c.doRequest("json")
 45561  	if res != nil && res.StatusCode == http.StatusNotModified {
 45562  		if res.Body != nil {
 45563  			res.Body.Close()
 45564  		}
 45565  		return nil, &googleapi.Error{
 45566  			Code:   res.StatusCode,
 45567  			Header: res.Header,
 45568  		}
 45569  	}
 45570  	if err != nil {
 45571  		return nil, err
 45572  	}
 45573  	defer googleapi.CloseBody(res)
 45574  	if err := googleapi.CheckResponse(res); err != nil {
 45575  		return nil, err
 45576  	}
 45577  	ret := &Site{
 45578  		ServerResponse: googleapi.ServerResponse{
 45579  			Header:         res.Header,
 45580  			HTTPStatusCode: res.StatusCode,
 45581  		},
 45582  	}
 45583  	target := &ret
 45584  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45585  		return nil, err
 45586  	}
 45587  	return ret, nil
 45588  	// {
 45589  	//   "description": "Inserts a new site.",
 45590  	//   "httpMethod": "POST",
 45591  	//   "id": "dfareporting.sites.insert",
 45592  	//   "parameterOrder": [
 45593  	//     "profileId"
 45594  	//   ],
 45595  	//   "parameters": {
 45596  	//     "profileId": {
 45597  	//       "description": "User profile ID associated with this request.",
 45598  	//       "format": "int64",
 45599  	//       "location": "path",
 45600  	//       "required": true,
 45601  	//       "type": "string"
 45602  	//     }
 45603  	//   },
 45604  	//   "path": "userprofiles/{profileId}/sites",
 45605  	//   "request": {
 45606  	//     "$ref": "Site"
 45607  	//   },
 45608  	//   "response": {
 45609  	//     "$ref": "Site"
 45610  	//   },
 45611  	//   "scopes": [
 45612  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45613  	//   ]
 45614  	// }
 45615  
 45616  }
 45617  
 45618  // method id "dfareporting.sites.list":
 45619  
 45620  type SitesListCall struct {
 45621  	s            *Service
 45622  	profileId    int64
 45623  	urlParams_   gensupport.URLParams
 45624  	ifNoneMatch_ string
 45625  	ctx_         context.Context
 45626  	header_      http.Header
 45627  }
 45628  
 45629  // List: Retrieves a list of sites, possibly filtered. This method
 45630  // supports paging.
 45631  func (r *SitesService) List(profileId int64) *SitesListCall {
 45632  	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45633  	c.profileId = profileId
 45634  	return c
 45635  }
 45636  
 45637  // AcceptsInStreamVideoPlacements sets the optional parameter
 45638  // "acceptsInStreamVideoPlacements": This search filter is no longer
 45639  // supported and will have no effect on the results returned.
 45640  func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
 45641  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 45642  	return c
 45643  }
 45644  
 45645  // AcceptsInterstitialPlacements sets the optional parameter
 45646  // "acceptsInterstitialPlacements": This search filter is no longer
 45647  // supported and will have no effect on the results returned.
 45648  func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
 45649  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 45650  	return c
 45651  }
 45652  
 45653  // AcceptsPublisherPaidPlacements sets the optional parameter
 45654  // "acceptsPublisherPaidPlacements": Select only sites that accept
 45655  // publisher paid placements.
 45656  func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
 45657  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 45658  	return c
 45659  }
 45660  
 45661  // AdWordsSite sets the optional parameter "adWordsSite": Select only
 45662  // AdWords sites.
 45663  func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
 45664  	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
 45665  	return c
 45666  }
 45667  
 45668  // Approved sets the optional parameter "approved": Select only approved
 45669  // sites.
 45670  func (c *SitesListCall) Approved(approved bool) *SitesListCall {
 45671  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 45672  	return c
 45673  }
 45674  
 45675  // CampaignIds sets the optional parameter "campaignIds": Select only
 45676  // sites with these campaign IDs.
 45677  func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
 45678  	var campaignIds_ []string
 45679  	for _, v := range campaignIds {
 45680  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 45681  	}
 45682  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 45683  	return c
 45684  }
 45685  
 45686  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 45687  // Select only sites with these directory site IDs.
 45688  func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
 45689  	var directorySiteIds_ []string
 45690  	for _, v := range directorySiteIds {
 45691  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 45692  	}
 45693  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 45694  	return c
 45695  }
 45696  
 45697  // Ids sets the optional parameter "ids": Select only sites with these
 45698  // IDs.
 45699  func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
 45700  	var ids_ []string
 45701  	for _, v := range ids {
 45702  		ids_ = append(ids_, fmt.Sprint(v))
 45703  	}
 45704  	c.urlParams_.SetMulti("ids", ids_)
 45705  	return c
 45706  }
 45707  
 45708  // MaxResults sets the optional parameter "maxResults": Maximum number
 45709  // of results to return.
 45710  func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
 45711  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 45712  	return c
 45713  }
 45714  
 45715  // PageToken sets the optional parameter "pageToken": Value of the
 45716  // nextPageToken from the previous result page.
 45717  func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
 45718  	c.urlParams_.Set("pageToken", pageToken)
 45719  	return c
 45720  }
 45721  
 45722  // SearchString sets the optional parameter "searchString": Allows
 45723  // searching for objects by name, ID or keyName. Wildcards (*) are
 45724  // allowed. For example, "site*2015" will return objects with names like
 45725  // "site June 2015", "site April 2015", or simply "site 2015". Most of
 45726  // the searches also add wildcards implicitly at the start and the end
 45727  // of the search string. For example, a search string of "site" will
 45728  // match objects with name "my site", "site 2015", or simply "site".
 45729  func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
 45730  	c.urlParams_.Set("searchString", searchString)
 45731  	return c
 45732  }
 45733  
 45734  // SortField sets the optional parameter "sortField": Field by which to
 45735  // sort the list.
 45736  //
 45737  // Possible values:
 45738  //
 45739  //	"ID" (default)
 45740  //	"NAME"
 45741  func (c *SitesListCall) SortField(sortField string) *SitesListCall {
 45742  	c.urlParams_.Set("sortField", sortField)
 45743  	return c
 45744  }
 45745  
 45746  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 45747  // results.
 45748  //
 45749  // Possible values:
 45750  //
 45751  //	"ASCENDING" (default)
 45752  //	"DESCENDING"
 45753  func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
 45754  	c.urlParams_.Set("sortOrder", sortOrder)
 45755  	return c
 45756  }
 45757  
 45758  // SubaccountId sets the optional parameter "subaccountId": Select only
 45759  // sites with this subaccount ID.
 45760  func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
 45761  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 45762  	return c
 45763  }
 45764  
 45765  // UnmappedSite sets the optional parameter "unmappedSite": Select only
 45766  // sites that have not been mapped to a directory site.
 45767  func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
 45768  	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
 45769  	return c
 45770  }
 45771  
 45772  // Fields allows partial responses to be retrieved. See
 45773  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45774  // for more information.
 45775  func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
 45776  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45777  	return c
 45778  }
 45779  
 45780  // IfNoneMatch sets the optional parameter which makes the operation
 45781  // fail if the object's ETag matches the given value. This is useful for
 45782  // getting updates only after the object has changed since the last
 45783  // request. Use googleapi.IsNotModified to check whether the response
 45784  // error from Do is the result of In-None-Match.
 45785  func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
 45786  	c.ifNoneMatch_ = entityTag
 45787  	return c
 45788  }
 45789  
 45790  // Context sets the context to be used in this call's Do method. Any
 45791  // pending HTTP request will be aborted if the provided context is
 45792  // canceled.
 45793  func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 45794  	c.ctx_ = ctx
 45795  	return c
 45796  }
 45797  
 45798  // Header returns an http.Header that can be modified by the caller to
 45799  // add HTTP headers to the request.
 45800  func (c *SitesListCall) Header() http.Header {
 45801  	if c.header_ == nil {
 45802  		c.header_ = make(http.Header)
 45803  	}
 45804  	return c.header_
 45805  }
 45806  
 45807  func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 45808  	reqHeaders := make(http.Header)
 45809  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45810  	for k, v := range c.header_ {
 45811  		reqHeaders[k] = v
 45812  	}
 45813  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45814  	if c.ifNoneMatch_ != "" {
 45815  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45816  	}
 45817  	var body io.Reader = nil
 45818  	c.urlParams_.Set("alt", alt)
 45819  	c.urlParams_.Set("prettyPrint", "false")
 45820  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 45821  	urls += "?" + c.urlParams_.Encode()
 45822  	req, err := http.NewRequest("GET", urls, body)
 45823  	if err != nil {
 45824  		return nil, err
 45825  	}
 45826  	req.Header = reqHeaders
 45827  	googleapi.Expand(req.URL, map[string]string{
 45828  		"profileId": strconv.FormatInt(c.profileId, 10),
 45829  	})
 45830  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45831  }
 45832  
 45833  // Do executes the "dfareporting.sites.list" call.
 45834  // Exactly one of *SitesListResponse or error will be non-nil. Any
 45835  // non-2xx status code is an error. Response headers are in either
 45836  // *SitesListResponse.ServerResponse.Header or (if a response was
 45837  // returned at all) in error.(*googleapi.Error).Header. Use
 45838  // googleapi.IsNotModified to check whether the returned error was
 45839  // because http.StatusNotModified was returned.
 45840  func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
 45841  	gensupport.SetOptions(c.urlParams_, opts...)
 45842  	res, err := c.doRequest("json")
 45843  	if res != nil && res.StatusCode == http.StatusNotModified {
 45844  		if res.Body != nil {
 45845  			res.Body.Close()
 45846  		}
 45847  		return nil, &googleapi.Error{
 45848  			Code:   res.StatusCode,
 45849  			Header: res.Header,
 45850  		}
 45851  	}
 45852  	if err != nil {
 45853  		return nil, err
 45854  	}
 45855  	defer googleapi.CloseBody(res)
 45856  	if err := googleapi.CheckResponse(res); err != nil {
 45857  		return nil, err
 45858  	}
 45859  	ret := &SitesListResponse{
 45860  		ServerResponse: googleapi.ServerResponse{
 45861  			Header:         res.Header,
 45862  			HTTPStatusCode: res.StatusCode,
 45863  		},
 45864  	}
 45865  	target := &ret
 45866  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45867  		return nil, err
 45868  	}
 45869  	return ret, nil
 45870  	// {
 45871  	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
 45872  	//   "httpMethod": "GET",
 45873  	//   "id": "dfareporting.sites.list",
 45874  	//   "parameterOrder": [
 45875  	//     "profileId"
 45876  	//   ],
 45877  	//   "parameters": {
 45878  	//     "acceptsInStreamVideoPlacements": {
 45879  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 45880  	//       "location": "query",
 45881  	//       "type": "boolean"
 45882  	//     },
 45883  	//     "acceptsInterstitialPlacements": {
 45884  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 45885  	//       "location": "query",
 45886  	//       "type": "boolean"
 45887  	//     },
 45888  	//     "acceptsPublisherPaidPlacements": {
 45889  	//       "description": "Select only sites that accept publisher paid placements.",
 45890  	//       "location": "query",
 45891  	//       "type": "boolean"
 45892  	//     },
 45893  	//     "adWordsSite": {
 45894  	//       "description": "Select only AdWords sites.",
 45895  	//       "location": "query",
 45896  	//       "type": "boolean"
 45897  	//     },
 45898  	//     "approved": {
 45899  	//       "description": "Select only approved sites.",
 45900  	//       "location": "query",
 45901  	//       "type": "boolean"
 45902  	//     },
 45903  	//     "campaignIds": {
 45904  	//       "description": "Select only sites with these campaign IDs.",
 45905  	//       "format": "int64",
 45906  	//       "location": "query",
 45907  	//       "repeated": true,
 45908  	//       "type": "string"
 45909  	//     },
 45910  	//     "directorySiteIds": {
 45911  	//       "description": "Select only sites with these directory site IDs.",
 45912  	//       "format": "int64",
 45913  	//       "location": "query",
 45914  	//       "repeated": true,
 45915  	//       "type": "string"
 45916  	//     },
 45917  	//     "ids": {
 45918  	//       "description": "Select only sites with these IDs.",
 45919  	//       "format": "int64",
 45920  	//       "location": "query",
 45921  	//       "repeated": true,
 45922  	//       "type": "string"
 45923  	//     },
 45924  	//     "maxResults": {
 45925  	//       "default": "1000",
 45926  	//       "description": "Maximum number of results to return.",
 45927  	//       "format": "int32",
 45928  	//       "location": "query",
 45929  	//       "maximum": "1000",
 45930  	//       "minimum": "0",
 45931  	//       "type": "integer"
 45932  	//     },
 45933  	//     "pageToken": {
 45934  	//       "description": "Value of the nextPageToken from the previous result page.",
 45935  	//       "location": "query",
 45936  	//       "type": "string"
 45937  	//     },
 45938  	//     "profileId": {
 45939  	//       "description": "User profile ID associated with this request.",
 45940  	//       "format": "int64",
 45941  	//       "location": "path",
 45942  	//       "required": true,
 45943  	//       "type": "string"
 45944  	//     },
 45945  	//     "searchString": {
 45946  	//       "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\".",
 45947  	//       "location": "query",
 45948  	//       "type": "string"
 45949  	//     },
 45950  	//     "sortField": {
 45951  	//       "default": "ID",
 45952  	//       "description": "Field by which to sort the list.",
 45953  	//       "enum": [
 45954  	//         "ID",
 45955  	//         "NAME"
 45956  	//       ],
 45957  	//       "enumDescriptions": [
 45958  	//         "",
 45959  	//         ""
 45960  	//       ],
 45961  	//       "location": "query",
 45962  	//       "type": "string"
 45963  	//     },
 45964  	//     "sortOrder": {
 45965  	//       "default": "ASCENDING",
 45966  	//       "description": "Order of sorted results.",
 45967  	//       "enum": [
 45968  	//         "ASCENDING",
 45969  	//         "DESCENDING"
 45970  	//       ],
 45971  	//       "enumDescriptions": [
 45972  	//         "",
 45973  	//         ""
 45974  	//       ],
 45975  	//       "location": "query",
 45976  	//       "type": "string"
 45977  	//     },
 45978  	//     "subaccountId": {
 45979  	//       "description": "Select only sites with this subaccount ID.",
 45980  	//       "format": "int64",
 45981  	//       "location": "query",
 45982  	//       "type": "string"
 45983  	//     },
 45984  	//     "unmappedSite": {
 45985  	//       "description": "Select only sites that have not been mapped to a directory site.",
 45986  	//       "location": "query",
 45987  	//       "type": "boolean"
 45988  	//     }
 45989  	//   },
 45990  	//   "path": "userprofiles/{profileId}/sites",
 45991  	//   "response": {
 45992  	//     "$ref": "SitesListResponse"
 45993  	//   },
 45994  	//   "scopes": [
 45995  	//     "https://www.googleapis.com/auth/dfatrafficking"
 45996  	//   ]
 45997  	// }
 45998  
 45999  }
 46000  
 46001  // Pages invokes f for each page of results.
 46002  // A non-nil error returned from f will halt the iteration.
 46003  // The provided context supersedes any context provided to the Context method.
 46004  func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
 46005  	c.ctx_ = ctx
 46006  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 46007  	for {
 46008  		x, err := c.Do()
 46009  		if err != nil {
 46010  			return err
 46011  		}
 46012  		if err := f(x); err != nil {
 46013  			return err
 46014  		}
 46015  		if x.NextPageToken == "" {
 46016  			return nil
 46017  		}
 46018  		c.PageToken(x.NextPageToken)
 46019  	}
 46020  }
 46021  
 46022  // method id "dfareporting.sites.patch":
 46023  
 46024  type SitesPatchCall struct {
 46025  	s          *Service
 46026  	profileId  int64
 46027  	site       *Site
 46028  	urlParams_ gensupport.URLParams
 46029  	ctx_       context.Context
 46030  	header_    http.Header
 46031  }
 46032  
 46033  // Patch: Updates an existing site. This method supports patch
 46034  // semantics.
 46035  func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
 46036  	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46037  	c.profileId = profileId
 46038  	c.urlParams_.Set("id", fmt.Sprint(id))
 46039  	c.site = site
 46040  	return c
 46041  }
 46042  
 46043  // Fields allows partial responses to be retrieved. See
 46044  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46045  // for more information.
 46046  func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
 46047  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46048  	return c
 46049  }
 46050  
 46051  // Context sets the context to be used in this call's Do method. Any
 46052  // pending HTTP request will be aborted if the provided context is
 46053  // canceled.
 46054  func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 46055  	c.ctx_ = ctx
 46056  	return c
 46057  }
 46058  
 46059  // Header returns an http.Header that can be modified by the caller to
 46060  // add HTTP headers to the request.
 46061  func (c *SitesPatchCall) Header() http.Header {
 46062  	if c.header_ == nil {
 46063  		c.header_ = make(http.Header)
 46064  	}
 46065  	return c.header_
 46066  }
 46067  
 46068  func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
 46069  	reqHeaders := make(http.Header)
 46070  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46071  	for k, v := range c.header_ {
 46072  		reqHeaders[k] = v
 46073  	}
 46074  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46075  	var body io.Reader = nil
 46076  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46077  	if err != nil {
 46078  		return nil, err
 46079  	}
 46080  	reqHeaders.Set("Content-Type", "application/json")
 46081  	c.urlParams_.Set("alt", alt)
 46082  	c.urlParams_.Set("prettyPrint", "false")
 46083  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46084  	urls += "?" + c.urlParams_.Encode()
 46085  	req, err := http.NewRequest("PATCH", urls, body)
 46086  	if err != nil {
 46087  		return nil, err
 46088  	}
 46089  	req.Header = reqHeaders
 46090  	googleapi.Expand(req.URL, map[string]string{
 46091  		"profileId": strconv.FormatInt(c.profileId, 10),
 46092  	})
 46093  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46094  }
 46095  
 46096  // Do executes the "dfareporting.sites.patch" call.
 46097  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46098  // code is an error. Response headers are in either
 46099  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46100  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46101  // whether the returned error was because http.StatusNotModified was
 46102  // returned.
 46103  func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46104  	gensupport.SetOptions(c.urlParams_, opts...)
 46105  	res, err := c.doRequest("json")
 46106  	if res != nil && res.StatusCode == http.StatusNotModified {
 46107  		if res.Body != nil {
 46108  			res.Body.Close()
 46109  		}
 46110  		return nil, &googleapi.Error{
 46111  			Code:   res.StatusCode,
 46112  			Header: res.Header,
 46113  		}
 46114  	}
 46115  	if err != nil {
 46116  		return nil, err
 46117  	}
 46118  	defer googleapi.CloseBody(res)
 46119  	if err := googleapi.CheckResponse(res); err != nil {
 46120  		return nil, err
 46121  	}
 46122  	ret := &Site{
 46123  		ServerResponse: googleapi.ServerResponse{
 46124  			Header:         res.Header,
 46125  			HTTPStatusCode: res.StatusCode,
 46126  		},
 46127  	}
 46128  	target := &ret
 46129  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46130  		return nil, err
 46131  	}
 46132  	return ret, nil
 46133  	// {
 46134  	//   "description": "Updates an existing site. This method supports patch semantics.",
 46135  	//   "httpMethod": "PATCH",
 46136  	//   "id": "dfareporting.sites.patch",
 46137  	//   "parameterOrder": [
 46138  	//     "profileId",
 46139  	//     "id"
 46140  	//   ],
 46141  	//   "parameters": {
 46142  	//     "id": {
 46143  	//       "description": "Site ID.",
 46144  	//       "format": "int64",
 46145  	//       "location": "query",
 46146  	//       "required": true,
 46147  	//       "type": "string"
 46148  	//     },
 46149  	//     "profileId": {
 46150  	//       "description": "User profile ID associated with this request.",
 46151  	//       "format": "int64",
 46152  	//       "location": "path",
 46153  	//       "required": true,
 46154  	//       "type": "string"
 46155  	//     }
 46156  	//   },
 46157  	//   "path": "userprofiles/{profileId}/sites",
 46158  	//   "request": {
 46159  	//     "$ref": "Site"
 46160  	//   },
 46161  	//   "response": {
 46162  	//     "$ref": "Site"
 46163  	//   },
 46164  	//   "scopes": [
 46165  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46166  	//   ]
 46167  	// }
 46168  
 46169  }
 46170  
 46171  // method id "dfareporting.sites.update":
 46172  
 46173  type SitesUpdateCall struct {
 46174  	s          *Service
 46175  	profileId  int64
 46176  	site       *Site
 46177  	urlParams_ gensupport.URLParams
 46178  	ctx_       context.Context
 46179  	header_    http.Header
 46180  }
 46181  
 46182  // Update: Updates an existing site.
 46183  func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
 46184  	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46185  	c.profileId = profileId
 46186  	c.site = site
 46187  	return c
 46188  }
 46189  
 46190  // Fields allows partial responses to be retrieved. See
 46191  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46192  // for more information.
 46193  func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
 46194  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46195  	return c
 46196  }
 46197  
 46198  // Context sets the context to be used in this call's Do method. Any
 46199  // pending HTTP request will be aborted if the provided context is
 46200  // canceled.
 46201  func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 46202  	c.ctx_ = ctx
 46203  	return c
 46204  }
 46205  
 46206  // Header returns an http.Header that can be modified by the caller to
 46207  // add HTTP headers to the request.
 46208  func (c *SitesUpdateCall) Header() http.Header {
 46209  	if c.header_ == nil {
 46210  		c.header_ = make(http.Header)
 46211  	}
 46212  	return c.header_
 46213  }
 46214  
 46215  func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
 46216  	reqHeaders := make(http.Header)
 46217  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46218  	for k, v := range c.header_ {
 46219  		reqHeaders[k] = v
 46220  	}
 46221  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46222  	var body io.Reader = nil
 46223  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46224  	if err != nil {
 46225  		return nil, err
 46226  	}
 46227  	reqHeaders.Set("Content-Type", "application/json")
 46228  	c.urlParams_.Set("alt", alt)
 46229  	c.urlParams_.Set("prettyPrint", "false")
 46230  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46231  	urls += "?" + c.urlParams_.Encode()
 46232  	req, err := http.NewRequest("PUT", urls, body)
 46233  	if err != nil {
 46234  		return nil, err
 46235  	}
 46236  	req.Header = reqHeaders
 46237  	googleapi.Expand(req.URL, map[string]string{
 46238  		"profileId": strconv.FormatInt(c.profileId, 10),
 46239  	})
 46240  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46241  }
 46242  
 46243  // Do executes the "dfareporting.sites.update" call.
 46244  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46245  // code is an error. Response headers are in either
 46246  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46247  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46248  // whether the returned error was because http.StatusNotModified was
 46249  // returned.
 46250  func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46251  	gensupport.SetOptions(c.urlParams_, opts...)
 46252  	res, err := c.doRequest("json")
 46253  	if res != nil && res.StatusCode == http.StatusNotModified {
 46254  		if res.Body != nil {
 46255  			res.Body.Close()
 46256  		}
 46257  		return nil, &googleapi.Error{
 46258  			Code:   res.StatusCode,
 46259  			Header: res.Header,
 46260  		}
 46261  	}
 46262  	if err != nil {
 46263  		return nil, err
 46264  	}
 46265  	defer googleapi.CloseBody(res)
 46266  	if err := googleapi.CheckResponse(res); err != nil {
 46267  		return nil, err
 46268  	}
 46269  	ret := &Site{
 46270  		ServerResponse: googleapi.ServerResponse{
 46271  			Header:         res.Header,
 46272  			HTTPStatusCode: res.StatusCode,
 46273  		},
 46274  	}
 46275  	target := &ret
 46276  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46277  		return nil, err
 46278  	}
 46279  	return ret, nil
 46280  	// {
 46281  	//   "description": "Updates an existing site.",
 46282  	//   "httpMethod": "PUT",
 46283  	//   "id": "dfareporting.sites.update",
 46284  	//   "parameterOrder": [
 46285  	//     "profileId"
 46286  	//   ],
 46287  	//   "parameters": {
 46288  	//     "profileId": {
 46289  	//       "description": "User profile ID associated with this request.",
 46290  	//       "format": "int64",
 46291  	//       "location": "path",
 46292  	//       "required": true,
 46293  	//       "type": "string"
 46294  	//     }
 46295  	//   },
 46296  	//   "path": "userprofiles/{profileId}/sites",
 46297  	//   "request": {
 46298  	//     "$ref": "Site"
 46299  	//   },
 46300  	//   "response": {
 46301  	//     "$ref": "Site"
 46302  	//   },
 46303  	//   "scopes": [
 46304  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46305  	//   ]
 46306  	// }
 46307  
 46308  }
 46309  
 46310  // method id "dfareporting.sizes.get":
 46311  
 46312  type SizesGetCall struct {
 46313  	s            *Service
 46314  	profileId    int64
 46315  	id           int64
 46316  	urlParams_   gensupport.URLParams
 46317  	ifNoneMatch_ string
 46318  	ctx_         context.Context
 46319  	header_      http.Header
 46320  }
 46321  
 46322  // Get: Gets one size by ID.
 46323  func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
 46324  	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46325  	c.profileId = profileId
 46326  	c.id = id
 46327  	return c
 46328  }
 46329  
 46330  // Fields allows partial responses to be retrieved. See
 46331  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46332  // for more information.
 46333  func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
 46334  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46335  	return c
 46336  }
 46337  
 46338  // IfNoneMatch sets the optional parameter which makes the operation
 46339  // fail if the object's ETag matches the given value. This is useful for
 46340  // getting updates only after the object has changed since the last
 46341  // request. Use googleapi.IsNotModified to check whether the response
 46342  // error from Do is the result of In-None-Match.
 46343  func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
 46344  	c.ifNoneMatch_ = entityTag
 46345  	return c
 46346  }
 46347  
 46348  // Context sets the context to be used in this call's Do method. Any
 46349  // pending HTTP request will be aborted if the provided context is
 46350  // canceled.
 46351  func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 46352  	c.ctx_ = ctx
 46353  	return c
 46354  }
 46355  
 46356  // Header returns an http.Header that can be modified by the caller to
 46357  // add HTTP headers to the request.
 46358  func (c *SizesGetCall) Header() http.Header {
 46359  	if c.header_ == nil {
 46360  		c.header_ = make(http.Header)
 46361  	}
 46362  	return c.header_
 46363  }
 46364  
 46365  func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 46366  	reqHeaders := make(http.Header)
 46367  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46368  	for k, v := range c.header_ {
 46369  		reqHeaders[k] = v
 46370  	}
 46371  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46372  	if c.ifNoneMatch_ != "" {
 46373  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46374  	}
 46375  	var body io.Reader = nil
 46376  	c.urlParams_.Set("alt", alt)
 46377  	c.urlParams_.Set("prettyPrint", "false")
 46378  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
 46379  	urls += "?" + c.urlParams_.Encode()
 46380  	req, err := http.NewRequest("GET", urls, body)
 46381  	if err != nil {
 46382  		return nil, err
 46383  	}
 46384  	req.Header = reqHeaders
 46385  	googleapi.Expand(req.URL, map[string]string{
 46386  		"profileId": strconv.FormatInt(c.profileId, 10),
 46387  		"id":        strconv.FormatInt(c.id, 10),
 46388  	})
 46389  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46390  }
 46391  
 46392  // Do executes the "dfareporting.sizes.get" call.
 46393  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 46394  // code is an error. Response headers are in either
 46395  // *Size.ServerResponse.Header or (if a response was returned at all) in
 46396  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46397  // whether the returned error was because http.StatusNotModified was
 46398  // returned.
 46399  func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 46400  	gensupport.SetOptions(c.urlParams_, opts...)
 46401  	res, err := c.doRequest("json")
 46402  	if res != nil && res.StatusCode == http.StatusNotModified {
 46403  		if res.Body != nil {
 46404  			res.Body.Close()
 46405  		}
 46406  		return nil, &googleapi.Error{
 46407  			Code:   res.StatusCode,
 46408  			Header: res.Header,
 46409  		}
 46410  	}
 46411  	if err != nil {
 46412  		return nil, err
 46413  	}
 46414  	defer googleapi.CloseBody(res)
 46415  	if err := googleapi.CheckResponse(res); err != nil {
 46416  		return nil, err
 46417  	}
 46418  	ret := &Size{
 46419  		ServerResponse: googleapi.ServerResponse{
 46420  			Header:         res.Header,
 46421  			HTTPStatusCode: res.StatusCode,
 46422  		},
 46423  	}
 46424  	target := &ret
 46425  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46426  		return nil, err
 46427  	}
 46428  	return ret, nil
 46429  	// {
 46430  	//   "description": "Gets one size by ID.",
 46431  	//   "httpMethod": "GET",
 46432  	//   "id": "dfareporting.sizes.get",
 46433  	//   "parameterOrder": [
 46434  	//     "profileId",
 46435  	//     "id"
 46436  	//   ],
 46437  	//   "parameters": {
 46438  	//     "id": {
 46439  	//       "description": "Size ID.",
 46440  	//       "format": "int64",
 46441  	//       "location": "path",
 46442  	//       "required": true,
 46443  	//       "type": "string"
 46444  	//     },
 46445  	//     "profileId": {
 46446  	//       "description": "User profile ID associated with this request.",
 46447  	//       "format": "int64",
 46448  	//       "location": "path",
 46449  	//       "required": true,
 46450  	//       "type": "string"
 46451  	//     }
 46452  	//   },
 46453  	//   "path": "userprofiles/{profileId}/sizes/{id}",
 46454  	//   "response": {
 46455  	//     "$ref": "Size"
 46456  	//   },
 46457  	//   "scopes": [
 46458  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46459  	//   ]
 46460  	// }
 46461  
 46462  }
 46463  
 46464  // method id "dfareporting.sizes.insert":
 46465  
 46466  type SizesInsertCall struct {
 46467  	s          *Service
 46468  	profileId  int64
 46469  	size       *Size
 46470  	urlParams_ gensupport.URLParams
 46471  	ctx_       context.Context
 46472  	header_    http.Header
 46473  }
 46474  
 46475  // Insert: Inserts a new size.
 46476  func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
 46477  	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46478  	c.profileId = profileId
 46479  	c.size = size
 46480  	return c
 46481  }
 46482  
 46483  // Fields allows partial responses to be retrieved. See
 46484  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46485  // for more information.
 46486  func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
 46487  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46488  	return c
 46489  }
 46490  
 46491  // Context sets the context to be used in this call's Do method. Any
 46492  // pending HTTP request will be aborted if the provided context is
 46493  // canceled.
 46494  func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 46495  	c.ctx_ = ctx
 46496  	return c
 46497  }
 46498  
 46499  // Header returns an http.Header that can be modified by the caller to
 46500  // add HTTP headers to the request.
 46501  func (c *SizesInsertCall) Header() http.Header {
 46502  	if c.header_ == nil {
 46503  		c.header_ = make(http.Header)
 46504  	}
 46505  	return c.header_
 46506  }
 46507  
 46508  func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
 46509  	reqHeaders := make(http.Header)
 46510  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46511  	for k, v := range c.header_ {
 46512  		reqHeaders[k] = v
 46513  	}
 46514  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46515  	var body io.Reader = nil
 46516  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
 46517  	if err != nil {
 46518  		return nil, err
 46519  	}
 46520  	reqHeaders.Set("Content-Type", "application/json")
 46521  	c.urlParams_.Set("alt", alt)
 46522  	c.urlParams_.Set("prettyPrint", "false")
 46523  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 46524  	urls += "?" + c.urlParams_.Encode()
 46525  	req, err := http.NewRequest("POST", urls, body)
 46526  	if err != nil {
 46527  		return nil, err
 46528  	}
 46529  	req.Header = reqHeaders
 46530  	googleapi.Expand(req.URL, map[string]string{
 46531  		"profileId": strconv.FormatInt(c.profileId, 10),
 46532  	})
 46533  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46534  }
 46535  
 46536  // Do executes the "dfareporting.sizes.insert" call.
 46537  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 46538  // code is an error. Response headers are in either
 46539  // *Size.ServerResponse.Header or (if a response was returned at all) in
 46540  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46541  // whether the returned error was because http.StatusNotModified was
 46542  // returned.
 46543  func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 46544  	gensupport.SetOptions(c.urlParams_, opts...)
 46545  	res, err := c.doRequest("json")
 46546  	if res != nil && res.StatusCode == http.StatusNotModified {
 46547  		if res.Body != nil {
 46548  			res.Body.Close()
 46549  		}
 46550  		return nil, &googleapi.Error{
 46551  			Code:   res.StatusCode,
 46552  			Header: res.Header,
 46553  		}
 46554  	}
 46555  	if err != nil {
 46556  		return nil, err
 46557  	}
 46558  	defer googleapi.CloseBody(res)
 46559  	if err := googleapi.CheckResponse(res); err != nil {
 46560  		return nil, err
 46561  	}
 46562  	ret := &Size{
 46563  		ServerResponse: googleapi.ServerResponse{
 46564  			Header:         res.Header,
 46565  			HTTPStatusCode: res.StatusCode,
 46566  		},
 46567  	}
 46568  	target := &ret
 46569  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46570  		return nil, err
 46571  	}
 46572  	return ret, nil
 46573  	// {
 46574  	//   "description": "Inserts a new size.",
 46575  	//   "httpMethod": "POST",
 46576  	//   "id": "dfareporting.sizes.insert",
 46577  	//   "parameterOrder": [
 46578  	//     "profileId"
 46579  	//   ],
 46580  	//   "parameters": {
 46581  	//     "profileId": {
 46582  	//       "description": "User profile ID associated with this request.",
 46583  	//       "format": "int64",
 46584  	//       "location": "path",
 46585  	//       "required": true,
 46586  	//       "type": "string"
 46587  	//     }
 46588  	//   },
 46589  	//   "path": "userprofiles/{profileId}/sizes",
 46590  	//   "request": {
 46591  	//     "$ref": "Size"
 46592  	//   },
 46593  	//   "response": {
 46594  	//     "$ref": "Size"
 46595  	//   },
 46596  	//   "scopes": [
 46597  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46598  	//   ]
 46599  	// }
 46600  
 46601  }
 46602  
 46603  // method id "dfareporting.sizes.list":
 46604  
 46605  type SizesListCall struct {
 46606  	s            *Service
 46607  	profileId    int64
 46608  	urlParams_   gensupport.URLParams
 46609  	ifNoneMatch_ string
 46610  	ctx_         context.Context
 46611  	header_      http.Header
 46612  }
 46613  
 46614  // List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
 46615  // are globally unique and may include values not currently in use by
 46616  // your account. Due to this, the list of sizes returned by this method
 46617  // may differ from the list seen in the Trafficking UI.
 46618  func (r *SizesService) List(profileId int64) *SizesListCall {
 46619  	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46620  	c.profileId = profileId
 46621  	return c
 46622  }
 46623  
 46624  // Height sets the optional parameter "height": Select only sizes with
 46625  // this height.
 46626  func (c *SizesListCall) Height(height int64) *SizesListCall {
 46627  	c.urlParams_.Set("height", fmt.Sprint(height))
 46628  	return c
 46629  }
 46630  
 46631  // IabStandard sets the optional parameter "iabStandard": Select only
 46632  // IAB standard sizes.
 46633  func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
 46634  	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
 46635  	return c
 46636  }
 46637  
 46638  // Ids sets the optional parameter "ids": Select only sizes with these
 46639  // IDs.
 46640  func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
 46641  	var ids_ []string
 46642  	for _, v := range ids {
 46643  		ids_ = append(ids_, fmt.Sprint(v))
 46644  	}
 46645  	c.urlParams_.SetMulti("ids", ids_)
 46646  	return c
 46647  }
 46648  
 46649  // Width sets the optional parameter "width": Select only sizes with
 46650  // this width.
 46651  func (c *SizesListCall) Width(width int64) *SizesListCall {
 46652  	c.urlParams_.Set("width", fmt.Sprint(width))
 46653  	return c
 46654  }
 46655  
 46656  // Fields allows partial responses to be retrieved. See
 46657  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46658  // for more information.
 46659  func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
 46660  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46661  	return c
 46662  }
 46663  
 46664  // IfNoneMatch sets the optional parameter which makes the operation
 46665  // fail if the object's ETag matches the given value. This is useful for
 46666  // getting updates only after the object has changed since the last
 46667  // request. Use googleapi.IsNotModified to check whether the response
 46668  // error from Do is the result of In-None-Match.
 46669  func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
 46670  	c.ifNoneMatch_ = entityTag
 46671  	return c
 46672  }
 46673  
 46674  // Context sets the context to be used in this call's Do method. Any
 46675  // pending HTTP request will be aborted if the provided context is
 46676  // canceled.
 46677  func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 46678  	c.ctx_ = ctx
 46679  	return c
 46680  }
 46681  
 46682  // Header returns an http.Header that can be modified by the caller to
 46683  // add HTTP headers to the request.
 46684  func (c *SizesListCall) Header() http.Header {
 46685  	if c.header_ == nil {
 46686  		c.header_ = make(http.Header)
 46687  	}
 46688  	return c.header_
 46689  }
 46690  
 46691  func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 46692  	reqHeaders := make(http.Header)
 46693  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46694  	for k, v := range c.header_ {
 46695  		reqHeaders[k] = v
 46696  	}
 46697  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46698  	if c.ifNoneMatch_ != "" {
 46699  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46700  	}
 46701  	var body io.Reader = nil
 46702  	c.urlParams_.Set("alt", alt)
 46703  	c.urlParams_.Set("prettyPrint", "false")
 46704  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 46705  	urls += "?" + c.urlParams_.Encode()
 46706  	req, err := http.NewRequest("GET", urls, body)
 46707  	if err != nil {
 46708  		return nil, err
 46709  	}
 46710  	req.Header = reqHeaders
 46711  	googleapi.Expand(req.URL, map[string]string{
 46712  		"profileId": strconv.FormatInt(c.profileId, 10),
 46713  	})
 46714  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46715  }
 46716  
 46717  // Do executes the "dfareporting.sizes.list" call.
 46718  // Exactly one of *SizesListResponse or error will be non-nil. Any
 46719  // non-2xx status code is an error. Response headers are in either
 46720  // *SizesListResponse.ServerResponse.Header or (if a response was
 46721  // returned at all) in error.(*googleapi.Error).Header. Use
 46722  // googleapi.IsNotModified to check whether the returned error was
 46723  // because http.StatusNotModified was returned.
 46724  func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
 46725  	gensupport.SetOptions(c.urlParams_, opts...)
 46726  	res, err := c.doRequest("json")
 46727  	if res != nil && res.StatusCode == http.StatusNotModified {
 46728  		if res.Body != nil {
 46729  			res.Body.Close()
 46730  		}
 46731  		return nil, &googleapi.Error{
 46732  			Code:   res.StatusCode,
 46733  			Header: res.Header,
 46734  		}
 46735  	}
 46736  	if err != nil {
 46737  		return nil, err
 46738  	}
 46739  	defer googleapi.CloseBody(res)
 46740  	if err := googleapi.CheckResponse(res); err != nil {
 46741  		return nil, err
 46742  	}
 46743  	ret := &SizesListResponse{
 46744  		ServerResponse: googleapi.ServerResponse{
 46745  			Header:         res.Header,
 46746  			HTTPStatusCode: res.StatusCode,
 46747  		},
 46748  	}
 46749  	target := &ret
 46750  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46751  		return nil, err
 46752  	}
 46753  	return ret, nil
 46754  	// {
 46755  	//   "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.",
 46756  	//   "httpMethod": "GET",
 46757  	//   "id": "dfareporting.sizes.list",
 46758  	//   "parameterOrder": [
 46759  	//     "profileId"
 46760  	//   ],
 46761  	//   "parameters": {
 46762  	//     "height": {
 46763  	//       "description": "Select only sizes with this height.",
 46764  	//       "format": "int32",
 46765  	//       "location": "query",
 46766  	//       "maximum": "32767",
 46767  	//       "minimum": "0",
 46768  	//       "type": "integer"
 46769  	//     },
 46770  	//     "iabStandard": {
 46771  	//       "description": "Select only IAB standard sizes.",
 46772  	//       "location": "query",
 46773  	//       "type": "boolean"
 46774  	//     },
 46775  	//     "ids": {
 46776  	//       "description": "Select only sizes with these IDs.",
 46777  	//       "format": "int64",
 46778  	//       "location": "query",
 46779  	//       "repeated": true,
 46780  	//       "type": "string"
 46781  	//     },
 46782  	//     "profileId": {
 46783  	//       "description": "User profile ID associated with this request.",
 46784  	//       "format": "int64",
 46785  	//       "location": "path",
 46786  	//       "required": true,
 46787  	//       "type": "string"
 46788  	//     },
 46789  	//     "width": {
 46790  	//       "description": "Select only sizes with this width.",
 46791  	//       "format": "int32",
 46792  	//       "location": "query",
 46793  	//       "maximum": "32767",
 46794  	//       "minimum": "0",
 46795  	//       "type": "integer"
 46796  	//     }
 46797  	//   },
 46798  	//   "path": "userprofiles/{profileId}/sizes",
 46799  	//   "response": {
 46800  	//     "$ref": "SizesListResponse"
 46801  	//   },
 46802  	//   "scopes": [
 46803  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46804  	//   ]
 46805  	// }
 46806  
 46807  }
 46808  
 46809  // method id "dfareporting.subaccounts.get":
 46810  
 46811  type SubaccountsGetCall struct {
 46812  	s            *Service
 46813  	profileId    int64
 46814  	id           int64
 46815  	urlParams_   gensupport.URLParams
 46816  	ifNoneMatch_ string
 46817  	ctx_         context.Context
 46818  	header_      http.Header
 46819  }
 46820  
 46821  // Get: Gets one subaccount by ID.
 46822  func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
 46823  	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46824  	c.profileId = profileId
 46825  	c.id = id
 46826  	return c
 46827  }
 46828  
 46829  // Fields allows partial responses to be retrieved. See
 46830  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46831  // for more information.
 46832  func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
 46833  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46834  	return c
 46835  }
 46836  
 46837  // IfNoneMatch sets the optional parameter which makes the operation
 46838  // fail if the object's ETag matches the given value. This is useful for
 46839  // getting updates only after the object has changed since the last
 46840  // request. Use googleapi.IsNotModified to check whether the response
 46841  // error from Do is the result of In-None-Match.
 46842  func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
 46843  	c.ifNoneMatch_ = entityTag
 46844  	return c
 46845  }
 46846  
 46847  // Context sets the context to be used in this call's Do method. Any
 46848  // pending HTTP request will be aborted if the provided context is
 46849  // canceled.
 46850  func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 46851  	c.ctx_ = ctx
 46852  	return c
 46853  }
 46854  
 46855  // Header returns an http.Header that can be modified by the caller to
 46856  // add HTTP headers to the request.
 46857  func (c *SubaccountsGetCall) Header() http.Header {
 46858  	if c.header_ == nil {
 46859  		c.header_ = make(http.Header)
 46860  	}
 46861  	return c.header_
 46862  }
 46863  
 46864  func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 46865  	reqHeaders := make(http.Header)
 46866  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46867  	for k, v := range c.header_ {
 46868  		reqHeaders[k] = v
 46869  	}
 46870  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46871  	if c.ifNoneMatch_ != "" {
 46872  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46873  	}
 46874  	var body io.Reader = nil
 46875  	c.urlParams_.Set("alt", alt)
 46876  	c.urlParams_.Set("prettyPrint", "false")
 46877  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
 46878  	urls += "?" + c.urlParams_.Encode()
 46879  	req, err := http.NewRequest("GET", urls, body)
 46880  	if err != nil {
 46881  		return nil, err
 46882  	}
 46883  	req.Header = reqHeaders
 46884  	googleapi.Expand(req.URL, map[string]string{
 46885  		"profileId": strconv.FormatInt(c.profileId, 10),
 46886  		"id":        strconv.FormatInt(c.id, 10),
 46887  	})
 46888  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46889  }
 46890  
 46891  // Do executes the "dfareporting.subaccounts.get" call.
 46892  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 46893  // status code is an error. Response headers are in either
 46894  // *Subaccount.ServerResponse.Header or (if a response was returned at
 46895  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 46896  // to check whether the returned error was because
 46897  // http.StatusNotModified was returned.
 46898  func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 46899  	gensupport.SetOptions(c.urlParams_, opts...)
 46900  	res, err := c.doRequest("json")
 46901  	if res != nil && res.StatusCode == http.StatusNotModified {
 46902  		if res.Body != nil {
 46903  			res.Body.Close()
 46904  		}
 46905  		return nil, &googleapi.Error{
 46906  			Code:   res.StatusCode,
 46907  			Header: res.Header,
 46908  		}
 46909  	}
 46910  	if err != nil {
 46911  		return nil, err
 46912  	}
 46913  	defer googleapi.CloseBody(res)
 46914  	if err := googleapi.CheckResponse(res); err != nil {
 46915  		return nil, err
 46916  	}
 46917  	ret := &Subaccount{
 46918  		ServerResponse: googleapi.ServerResponse{
 46919  			Header:         res.Header,
 46920  			HTTPStatusCode: res.StatusCode,
 46921  		},
 46922  	}
 46923  	target := &ret
 46924  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46925  		return nil, err
 46926  	}
 46927  	return ret, nil
 46928  	// {
 46929  	//   "description": "Gets one subaccount by ID.",
 46930  	//   "httpMethod": "GET",
 46931  	//   "id": "dfareporting.subaccounts.get",
 46932  	//   "parameterOrder": [
 46933  	//     "profileId",
 46934  	//     "id"
 46935  	//   ],
 46936  	//   "parameters": {
 46937  	//     "id": {
 46938  	//       "description": "Subaccount ID.",
 46939  	//       "format": "int64",
 46940  	//       "location": "path",
 46941  	//       "required": true,
 46942  	//       "type": "string"
 46943  	//     },
 46944  	//     "profileId": {
 46945  	//       "description": "User profile ID associated with this request.",
 46946  	//       "format": "int64",
 46947  	//       "location": "path",
 46948  	//       "required": true,
 46949  	//       "type": "string"
 46950  	//     }
 46951  	//   },
 46952  	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
 46953  	//   "response": {
 46954  	//     "$ref": "Subaccount"
 46955  	//   },
 46956  	//   "scopes": [
 46957  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46958  	//   ]
 46959  	// }
 46960  
 46961  }
 46962  
 46963  // method id "dfareporting.subaccounts.insert":
 46964  
 46965  type SubaccountsInsertCall struct {
 46966  	s          *Service
 46967  	profileId  int64
 46968  	subaccount *Subaccount
 46969  	urlParams_ gensupport.URLParams
 46970  	ctx_       context.Context
 46971  	header_    http.Header
 46972  }
 46973  
 46974  // Insert: Inserts a new subaccount.
 46975  func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
 46976  	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46977  	c.profileId = profileId
 46978  	c.subaccount = subaccount
 46979  	return c
 46980  }
 46981  
 46982  // Fields allows partial responses to be retrieved. See
 46983  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46984  // for more information.
 46985  func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
 46986  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46987  	return c
 46988  }
 46989  
 46990  // Context sets the context to be used in this call's Do method. Any
 46991  // pending HTTP request will be aborted if the provided context is
 46992  // canceled.
 46993  func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 46994  	c.ctx_ = ctx
 46995  	return c
 46996  }
 46997  
 46998  // Header returns an http.Header that can be modified by the caller to
 46999  // add HTTP headers to the request.
 47000  func (c *SubaccountsInsertCall) Header() http.Header {
 47001  	if c.header_ == nil {
 47002  		c.header_ = make(http.Header)
 47003  	}
 47004  	return c.header_
 47005  }
 47006  
 47007  func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 47008  	reqHeaders := make(http.Header)
 47009  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47010  	for k, v := range c.header_ {
 47011  		reqHeaders[k] = v
 47012  	}
 47013  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47014  	var body io.Reader = nil
 47015  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47016  	if err != nil {
 47017  		return nil, err
 47018  	}
 47019  	reqHeaders.Set("Content-Type", "application/json")
 47020  	c.urlParams_.Set("alt", alt)
 47021  	c.urlParams_.Set("prettyPrint", "false")
 47022  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47023  	urls += "?" + c.urlParams_.Encode()
 47024  	req, err := http.NewRequest("POST", urls, body)
 47025  	if err != nil {
 47026  		return nil, err
 47027  	}
 47028  	req.Header = reqHeaders
 47029  	googleapi.Expand(req.URL, map[string]string{
 47030  		"profileId": strconv.FormatInt(c.profileId, 10),
 47031  	})
 47032  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47033  }
 47034  
 47035  // Do executes the "dfareporting.subaccounts.insert" call.
 47036  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47037  // status code is an error. Response headers are in either
 47038  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47039  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47040  // to check whether the returned error was because
 47041  // http.StatusNotModified was returned.
 47042  func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47043  	gensupport.SetOptions(c.urlParams_, opts...)
 47044  	res, err := c.doRequest("json")
 47045  	if res != nil && res.StatusCode == http.StatusNotModified {
 47046  		if res.Body != nil {
 47047  			res.Body.Close()
 47048  		}
 47049  		return nil, &googleapi.Error{
 47050  			Code:   res.StatusCode,
 47051  			Header: res.Header,
 47052  		}
 47053  	}
 47054  	if err != nil {
 47055  		return nil, err
 47056  	}
 47057  	defer googleapi.CloseBody(res)
 47058  	if err := googleapi.CheckResponse(res); err != nil {
 47059  		return nil, err
 47060  	}
 47061  	ret := &Subaccount{
 47062  		ServerResponse: googleapi.ServerResponse{
 47063  			Header:         res.Header,
 47064  			HTTPStatusCode: res.StatusCode,
 47065  		},
 47066  	}
 47067  	target := &ret
 47068  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47069  		return nil, err
 47070  	}
 47071  	return ret, nil
 47072  	// {
 47073  	//   "description": "Inserts a new subaccount.",
 47074  	//   "httpMethod": "POST",
 47075  	//   "id": "dfareporting.subaccounts.insert",
 47076  	//   "parameterOrder": [
 47077  	//     "profileId"
 47078  	//   ],
 47079  	//   "parameters": {
 47080  	//     "profileId": {
 47081  	//       "description": "User profile ID associated with this request.",
 47082  	//       "format": "int64",
 47083  	//       "location": "path",
 47084  	//       "required": true,
 47085  	//       "type": "string"
 47086  	//     }
 47087  	//   },
 47088  	//   "path": "userprofiles/{profileId}/subaccounts",
 47089  	//   "request": {
 47090  	//     "$ref": "Subaccount"
 47091  	//   },
 47092  	//   "response": {
 47093  	//     "$ref": "Subaccount"
 47094  	//   },
 47095  	//   "scopes": [
 47096  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47097  	//   ]
 47098  	// }
 47099  
 47100  }
 47101  
 47102  // method id "dfareporting.subaccounts.list":
 47103  
 47104  type SubaccountsListCall struct {
 47105  	s            *Service
 47106  	profileId    int64
 47107  	urlParams_   gensupport.URLParams
 47108  	ifNoneMatch_ string
 47109  	ctx_         context.Context
 47110  	header_      http.Header
 47111  }
 47112  
 47113  // List: Gets a list of subaccounts, possibly filtered. This method
 47114  // supports paging.
 47115  func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
 47116  	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47117  	c.profileId = profileId
 47118  	return c
 47119  }
 47120  
 47121  // Ids sets the optional parameter "ids": Select only subaccounts with
 47122  // these IDs.
 47123  func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
 47124  	var ids_ []string
 47125  	for _, v := range ids {
 47126  		ids_ = append(ids_, fmt.Sprint(v))
 47127  	}
 47128  	c.urlParams_.SetMulti("ids", ids_)
 47129  	return c
 47130  }
 47131  
 47132  // MaxResults sets the optional parameter "maxResults": Maximum number
 47133  // of results to return.
 47134  func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
 47135  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 47136  	return c
 47137  }
 47138  
 47139  // PageToken sets the optional parameter "pageToken": Value of the
 47140  // nextPageToken from the previous result page.
 47141  func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
 47142  	c.urlParams_.Set("pageToken", pageToken)
 47143  	return c
 47144  }
 47145  
 47146  // SearchString sets the optional parameter "searchString": Allows
 47147  // searching for objects by name or ID. Wildcards (*) are allowed. For
 47148  // example, "subaccount*2015" will return objects with names like
 47149  // "subaccount June 2015", "subaccount April 2015", or simply
 47150  // "subaccount 2015". Most of the searches also add wildcards implicitly
 47151  // at the start and the end of the search string. For example, a search
 47152  // string of "subaccount" will match objects with name "my subaccount",
 47153  // "subaccount 2015", or simply "subaccount".
 47154  func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
 47155  	c.urlParams_.Set("searchString", searchString)
 47156  	return c
 47157  }
 47158  
 47159  // SortField sets the optional parameter "sortField": Field by which to
 47160  // sort the list.
 47161  //
 47162  // Possible values:
 47163  //
 47164  //	"ID" (default)
 47165  //	"NAME"
 47166  func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
 47167  	c.urlParams_.Set("sortField", sortField)
 47168  	return c
 47169  }
 47170  
 47171  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 47172  // results.
 47173  //
 47174  // Possible values:
 47175  //
 47176  //	"ASCENDING" (default)
 47177  //	"DESCENDING"
 47178  func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
 47179  	c.urlParams_.Set("sortOrder", sortOrder)
 47180  	return c
 47181  }
 47182  
 47183  // Fields allows partial responses to be retrieved. See
 47184  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47185  // for more information.
 47186  func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
 47187  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47188  	return c
 47189  }
 47190  
 47191  // IfNoneMatch sets the optional parameter which makes the operation
 47192  // fail if the object's ETag matches the given value. This is useful for
 47193  // getting updates only after the object has changed since the last
 47194  // request. Use googleapi.IsNotModified to check whether the response
 47195  // error from Do is the result of In-None-Match.
 47196  func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
 47197  	c.ifNoneMatch_ = entityTag
 47198  	return c
 47199  }
 47200  
 47201  // Context sets the context to be used in this call's Do method. Any
 47202  // pending HTTP request will be aborted if the provided context is
 47203  // canceled.
 47204  func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 47205  	c.ctx_ = ctx
 47206  	return c
 47207  }
 47208  
 47209  // Header returns an http.Header that can be modified by the caller to
 47210  // add HTTP headers to the request.
 47211  func (c *SubaccountsListCall) Header() http.Header {
 47212  	if c.header_ == nil {
 47213  		c.header_ = make(http.Header)
 47214  	}
 47215  	return c.header_
 47216  }
 47217  
 47218  func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 47219  	reqHeaders := make(http.Header)
 47220  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47221  	for k, v := range c.header_ {
 47222  		reqHeaders[k] = v
 47223  	}
 47224  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47225  	if c.ifNoneMatch_ != "" {
 47226  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47227  	}
 47228  	var body io.Reader = nil
 47229  	c.urlParams_.Set("alt", alt)
 47230  	c.urlParams_.Set("prettyPrint", "false")
 47231  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47232  	urls += "?" + c.urlParams_.Encode()
 47233  	req, err := http.NewRequest("GET", urls, body)
 47234  	if err != nil {
 47235  		return nil, err
 47236  	}
 47237  	req.Header = reqHeaders
 47238  	googleapi.Expand(req.URL, map[string]string{
 47239  		"profileId": strconv.FormatInt(c.profileId, 10),
 47240  	})
 47241  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47242  }
 47243  
 47244  // Do executes the "dfareporting.subaccounts.list" call.
 47245  // Exactly one of *SubaccountsListResponse or error will be non-nil. Any
 47246  // non-2xx status code is an error. Response headers are in either
 47247  // *SubaccountsListResponse.ServerResponse.Header or (if a response was
 47248  // returned at all) in error.(*googleapi.Error).Header. Use
 47249  // googleapi.IsNotModified to check whether the returned error was
 47250  // because http.StatusNotModified was returned.
 47251  func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
 47252  	gensupport.SetOptions(c.urlParams_, opts...)
 47253  	res, err := c.doRequest("json")
 47254  	if res != nil && res.StatusCode == http.StatusNotModified {
 47255  		if res.Body != nil {
 47256  			res.Body.Close()
 47257  		}
 47258  		return nil, &googleapi.Error{
 47259  			Code:   res.StatusCode,
 47260  			Header: res.Header,
 47261  		}
 47262  	}
 47263  	if err != nil {
 47264  		return nil, err
 47265  	}
 47266  	defer googleapi.CloseBody(res)
 47267  	if err := googleapi.CheckResponse(res); err != nil {
 47268  		return nil, err
 47269  	}
 47270  	ret := &SubaccountsListResponse{
 47271  		ServerResponse: googleapi.ServerResponse{
 47272  			Header:         res.Header,
 47273  			HTTPStatusCode: res.StatusCode,
 47274  		},
 47275  	}
 47276  	target := &ret
 47277  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47278  		return nil, err
 47279  	}
 47280  	return ret, nil
 47281  	// {
 47282  	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
 47283  	//   "httpMethod": "GET",
 47284  	//   "id": "dfareporting.subaccounts.list",
 47285  	//   "parameterOrder": [
 47286  	//     "profileId"
 47287  	//   ],
 47288  	//   "parameters": {
 47289  	//     "ids": {
 47290  	//       "description": "Select only subaccounts with these IDs.",
 47291  	//       "format": "int64",
 47292  	//       "location": "query",
 47293  	//       "repeated": true,
 47294  	//       "type": "string"
 47295  	//     },
 47296  	//     "maxResults": {
 47297  	//       "default": "1000",
 47298  	//       "description": "Maximum number of results to return.",
 47299  	//       "format": "int32",
 47300  	//       "location": "query",
 47301  	//       "maximum": "1000",
 47302  	//       "minimum": "0",
 47303  	//       "type": "integer"
 47304  	//     },
 47305  	//     "pageToken": {
 47306  	//       "description": "Value of the nextPageToken from the previous result page.",
 47307  	//       "location": "query",
 47308  	//       "type": "string"
 47309  	//     },
 47310  	//     "profileId": {
 47311  	//       "description": "User profile ID associated with this request.",
 47312  	//       "format": "int64",
 47313  	//       "location": "path",
 47314  	//       "required": true,
 47315  	//       "type": "string"
 47316  	//     },
 47317  	//     "searchString": {
 47318  	//       "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\".",
 47319  	//       "location": "query",
 47320  	//       "type": "string"
 47321  	//     },
 47322  	//     "sortField": {
 47323  	//       "default": "ID",
 47324  	//       "description": "Field by which to sort the list.",
 47325  	//       "enum": [
 47326  	//         "ID",
 47327  	//         "NAME"
 47328  	//       ],
 47329  	//       "enumDescriptions": [
 47330  	//         "",
 47331  	//         ""
 47332  	//       ],
 47333  	//       "location": "query",
 47334  	//       "type": "string"
 47335  	//     },
 47336  	//     "sortOrder": {
 47337  	//       "default": "ASCENDING",
 47338  	//       "description": "Order of sorted results.",
 47339  	//       "enum": [
 47340  	//         "ASCENDING",
 47341  	//         "DESCENDING"
 47342  	//       ],
 47343  	//       "enumDescriptions": [
 47344  	//         "",
 47345  	//         ""
 47346  	//       ],
 47347  	//       "location": "query",
 47348  	//       "type": "string"
 47349  	//     }
 47350  	//   },
 47351  	//   "path": "userprofiles/{profileId}/subaccounts",
 47352  	//   "response": {
 47353  	//     "$ref": "SubaccountsListResponse"
 47354  	//   },
 47355  	//   "scopes": [
 47356  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47357  	//   ]
 47358  	// }
 47359  
 47360  }
 47361  
 47362  // Pages invokes f for each page of results.
 47363  // A non-nil error returned from f will halt the iteration.
 47364  // The provided context supersedes any context provided to the Context method.
 47365  func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
 47366  	c.ctx_ = ctx
 47367  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 47368  	for {
 47369  		x, err := c.Do()
 47370  		if err != nil {
 47371  			return err
 47372  		}
 47373  		if err := f(x); err != nil {
 47374  			return err
 47375  		}
 47376  		if x.NextPageToken == "" {
 47377  			return nil
 47378  		}
 47379  		c.PageToken(x.NextPageToken)
 47380  	}
 47381  }
 47382  
 47383  // method id "dfareporting.subaccounts.patch":
 47384  
 47385  type SubaccountsPatchCall struct {
 47386  	s          *Service
 47387  	profileId  int64
 47388  	subaccount *Subaccount
 47389  	urlParams_ gensupport.URLParams
 47390  	ctx_       context.Context
 47391  	header_    http.Header
 47392  }
 47393  
 47394  // Patch: Updates an existing subaccount. This method supports patch
 47395  // semantics.
 47396  func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
 47397  	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47398  	c.profileId = profileId
 47399  	c.urlParams_.Set("id", fmt.Sprint(id))
 47400  	c.subaccount = subaccount
 47401  	return c
 47402  }
 47403  
 47404  // Fields allows partial responses to be retrieved. See
 47405  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47406  // for more information.
 47407  func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
 47408  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47409  	return c
 47410  }
 47411  
 47412  // Context sets the context to be used in this call's Do method. Any
 47413  // pending HTTP request will be aborted if the provided context is
 47414  // canceled.
 47415  func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 47416  	c.ctx_ = ctx
 47417  	return c
 47418  }
 47419  
 47420  // Header returns an http.Header that can be modified by the caller to
 47421  // add HTTP headers to the request.
 47422  func (c *SubaccountsPatchCall) Header() http.Header {
 47423  	if c.header_ == nil {
 47424  		c.header_ = make(http.Header)
 47425  	}
 47426  	return c.header_
 47427  }
 47428  
 47429  func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 47430  	reqHeaders := make(http.Header)
 47431  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47432  	for k, v := range c.header_ {
 47433  		reqHeaders[k] = v
 47434  	}
 47435  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47436  	var body io.Reader = nil
 47437  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47438  	if err != nil {
 47439  		return nil, err
 47440  	}
 47441  	reqHeaders.Set("Content-Type", "application/json")
 47442  	c.urlParams_.Set("alt", alt)
 47443  	c.urlParams_.Set("prettyPrint", "false")
 47444  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47445  	urls += "?" + c.urlParams_.Encode()
 47446  	req, err := http.NewRequest("PATCH", urls, body)
 47447  	if err != nil {
 47448  		return nil, err
 47449  	}
 47450  	req.Header = reqHeaders
 47451  	googleapi.Expand(req.URL, map[string]string{
 47452  		"profileId": strconv.FormatInt(c.profileId, 10),
 47453  	})
 47454  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47455  }
 47456  
 47457  // Do executes the "dfareporting.subaccounts.patch" call.
 47458  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47459  // status code is an error. Response headers are in either
 47460  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47461  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47462  // to check whether the returned error was because
 47463  // http.StatusNotModified was returned.
 47464  func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47465  	gensupport.SetOptions(c.urlParams_, opts...)
 47466  	res, err := c.doRequest("json")
 47467  	if res != nil && res.StatusCode == http.StatusNotModified {
 47468  		if res.Body != nil {
 47469  			res.Body.Close()
 47470  		}
 47471  		return nil, &googleapi.Error{
 47472  			Code:   res.StatusCode,
 47473  			Header: res.Header,
 47474  		}
 47475  	}
 47476  	if err != nil {
 47477  		return nil, err
 47478  	}
 47479  	defer googleapi.CloseBody(res)
 47480  	if err := googleapi.CheckResponse(res); err != nil {
 47481  		return nil, err
 47482  	}
 47483  	ret := &Subaccount{
 47484  		ServerResponse: googleapi.ServerResponse{
 47485  			Header:         res.Header,
 47486  			HTTPStatusCode: res.StatusCode,
 47487  		},
 47488  	}
 47489  	target := &ret
 47490  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47491  		return nil, err
 47492  	}
 47493  	return ret, nil
 47494  	// {
 47495  	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
 47496  	//   "httpMethod": "PATCH",
 47497  	//   "id": "dfareporting.subaccounts.patch",
 47498  	//   "parameterOrder": [
 47499  	//     "profileId",
 47500  	//     "id"
 47501  	//   ],
 47502  	//   "parameters": {
 47503  	//     "id": {
 47504  	//       "description": "Subaccount ID.",
 47505  	//       "format": "int64",
 47506  	//       "location": "query",
 47507  	//       "required": true,
 47508  	//       "type": "string"
 47509  	//     },
 47510  	//     "profileId": {
 47511  	//       "description": "User profile ID associated with this request.",
 47512  	//       "format": "int64",
 47513  	//       "location": "path",
 47514  	//       "required": true,
 47515  	//       "type": "string"
 47516  	//     }
 47517  	//   },
 47518  	//   "path": "userprofiles/{profileId}/subaccounts",
 47519  	//   "request": {
 47520  	//     "$ref": "Subaccount"
 47521  	//   },
 47522  	//   "response": {
 47523  	//     "$ref": "Subaccount"
 47524  	//   },
 47525  	//   "scopes": [
 47526  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47527  	//   ]
 47528  	// }
 47529  
 47530  }
 47531  
 47532  // method id "dfareporting.subaccounts.update":
 47533  
 47534  type SubaccountsUpdateCall struct {
 47535  	s          *Service
 47536  	profileId  int64
 47537  	subaccount *Subaccount
 47538  	urlParams_ gensupport.URLParams
 47539  	ctx_       context.Context
 47540  	header_    http.Header
 47541  }
 47542  
 47543  // Update: Updates an existing subaccount.
 47544  func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
 47545  	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47546  	c.profileId = profileId
 47547  	c.subaccount = subaccount
 47548  	return c
 47549  }
 47550  
 47551  // Fields allows partial responses to be retrieved. See
 47552  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47553  // for more information.
 47554  func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
 47555  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47556  	return c
 47557  }
 47558  
 47559  // Context sets the context to be used in this call's Do method. Any
 47560  // pending HTTP request will be aborted if the provided context is
 47561  // canceled.
 47562  func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 47563  	c.ctx_ = ctx
 47564  	return c
 47565  }
 47566  
 47567  // Header returns an http.Header that can be modified by the caller to
 47568  // add HTTP headers to the request.
 47569  func (c *SubaccountsUpdateCall) Header() http.Header {
 47570  	if c.header_ == nil {
 47571  		c.header_ = make(http.Header)
 47572  	}
 47573  	return c.header_
 47574  }
 47575  
 47576  func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 47577  	reqHeaders := make(http.Header)
 47578  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47579  	for k, v := range c.header_ {
 47580  		reqHeaders[k] = v
 47581  	}
 47582  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47583  	var body io.Reader = nil
 47584  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47585  	if err != nil {
 47586  		return nil, err
 47587  	}
 47588  	reqHeaders.Set("Content-Type", "application/json")
 47589  	c.urlParams_.Set("alt", alt)
 47590  	c.urlParams_.Set("prettyPrint", "false")
 47591  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47592  	urls += "?" + c.urlParams_.Encode()
 47593  	req, err := http.NewRequest("PUT", urls, body)
 47594  	if err != nil {
 47595  		return nil, err
 47596  	}
 47597  	req.Header = reqHeaders
 47598  	googleapi.Expand(req.URL, map[string]string{
 47599  		"profileId": strconv.FormatInt(c.profileId, 10),
 47600  	})
 47601  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47602  }
 47603  
 47604  // Do executes the "dfareporting.subaccounts.update" call.
 47605  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47606  // status code is an error. Response headers are in either
 47607  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47608  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47609  // to check whether the returned error was because
 47610  // http.StatusNotModified was returned.
 47611  func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47612  	gensupport.SetOptions(c.urlParams_, opts...)
 47613  	res, err := c.doRequest("json")
 47614  	if res != nil && res.StatusCode == http.StatusNotModified {
 47615  		if res.Body != nil {
 47616  			res.Body.Close()
 47617  		}
 47618  		return nil, &googleapi.Error{
 47619  			Code:   res.StatusCode,
 47620  			Header: res.Header,
 47621  		}
 47622  	}
 47623  	if err != nil {
 47624  		return nil, err
 47625  	}
 47626  	defer googleapi.CloseBody(res)
 47627  	if err := googleapi.CheckResponse(res); err != nil {
 47628  		return nil, err
 47629  	}
 47630  	ret := &Subaccount{
 47631  		ServerResponse: googleapi.ServerResponse{
 47632  			Header:         res.Header,
 47633  			HTTPStatusCode: res.StatusCode,
 47634  		},
 47635  	}
 47636  	target := &ret
 47637  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47638  		return nil, err
 47639  	}
 47640  	return ret, nil
 47641  	// {
 47642  	//   "description": "Updates an existing subaccount.",
 47643  	//   "httpMethod": "PUT",
 47644  	//   "id": "dfareporting.subaccounts.update",
 47645  	//   "parameterOrder": [
 47646  	//     "profileId"
 47647  	//   ],
 47648  	//   "parameters": {
 47649  	//     "profileId": {
 47650  	//       "description": "User profile ID associated with this request.",
 47651  	//       "format": "int64",
 47652  	//       "location": "path",
 47653  	//       "required": true,
 47654  	//       "type": "string"
 47655  	//     }
 47656  	//   },
 47657  	//   "path": "userprofiles/{profileId}/subaccounts",
 47658  	//   "request": {
 47659  	//     "$ref": "Subaccount"
 47660  	//   },
 47661  	//   "response": {
 47662  	//     "$ref": "Subaccount"
 47663  	//   },
 47664  	//   "scopes": [
 47665  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47666  	//   ]
 47667  	// }
 47668  
 47669  }
 47670  
 47671  // method id "dfareporting.targetableRemarketingLists.get":
 47672  
 47673  type TargetableRemarketingListsGetCall struct {
 47674  	s            *Service
 47675  	profileId    int64
 47676  	id           int64
 47677  	urlParams_   gensupport.URLParams
 47678  	ifNoneMatch_ string
 47679  	ctx_         context.Context
 47680  	header_      http.Header
 47681  }
 47682  
 47683  // Get: Gets one remarketing list by ID.
 47684  func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
 47685  	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47686  	c.profileId = profileId
 47687  	c.id = id
 47688  	return c
 47689  }
 47690  
 47691  // Fields allows partial responses to be retrieved. See
 47692  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47693  // for more information.
 47694  func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
 47695  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47696  	return c
 47697  }
 47698  
 47699  // IfNoneMatch sets the optional parameter which makes the operation
 47700  // fail if the object's ETag matches the given value. This is useful for
 47701  // getting updates only after the object has changed since the last
 47702  // request. Use googleapi.IsNotModified to check whether the response
 47703  // error from Do is the result of In-None-Match.
 47704  func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
 47705  	c.ifNoneMatch_ = entityTag
 47706  	return c
 47707  }
 47708  
 47709  // Context sets the context to be used in this call's Do method. Any
 47710  // pending HTTP request will be aborted if the provided context is
 47711  // canceled.
 47712  func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
 47713  	c.ctx_ = ctx
 47714  	return c
 47715  }
 47716  
 47717  // Header returns an http.Header that can be modified by the caller to
 47718  // add HTTP headers to the request.
 47719  func (c *TargetableRemarketingListsGetCall) Header() http.Header {
 47720  	if c.header_ == nil {
 47721  		c.header_ = make(http.Header)
 47722  	}
 47723  	return c.header_
 47724  }
 47725  
 47726  func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 47727  	reqHeaders := make(http.Header)
 47728  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47729  	for k, v := range c.header_ {
 47730  		reqHeaders[k] = v
 47731  	}
 47732  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47733  	if c.ifNoneMatch_ != "" {
 47734  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47735  	}
 47736  	var body io.Reader = nil
 47737  	c.urlParams_.Set("alt", alt)
 47738  	c.urlParams_.Set("prettyPrint", "false")
 47739  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
 47740  	urls += "?" + c.urlParams_.Encode()
 47741  	req, err := http.NewRequest("GET", urls, body)
 47742  	if err != nil {
 47743  		return nil, err
 47744  	}
 47745  	req.Header = reqHeaders
 47746  	googleapi.Expand(req.URL, map[string]string{
 47747  		"profileId": strconv.FormatInt(c.profileId, 10),
 47748  		"id":        strconv.FormatInt(c.id, 10),
 47749  	})
 47750  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47751  }
 47752  
 47753  // Do executes the "dfareporting.targetableRemarketingLists.get" call.
 47754  // Exactly one of *TargetableRemarketingList or error will be non-nil.
 47755  // Any non-2xx status code is an error. Response headers are in either
 47756  // *TargetableRemarketingList.ServerResponse.Header or (if a response
 47757  // was returned at all) in error.(*googleapi.Error).Header. Use
 47758  // googleapi.IsNotModified to check whether the returned error was
 47759  // because http.StatusNotModified was returned.
 47760  func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
 47761  	gensupport.SetOptions(c.urlParams_, opts...)
 47762  	res, err := c.doRequest("json")
 47763  	if res != nil && res.StatusCode == http.StatusNotModified {
 47764  		if res.Body != nil {
 47765  			res.Body.Close()
 47766  		}
 47767  		return nil, &googleapi.Error{
 47768  			Code:   res.StatusCode,
 47769  			Header: res.Header,
 47770  		}
 47771  	}
 47772  	if err != nil {
 47773  		return nil, err
 47774  	}
 47775  	defer googleapi.CloseBody(res)
 47776  	if err := googleapi.CheckResponse(res); err != nil {
 47777  		return nil, err
 47778  	}
 47779  	ret := &TargetableRemarketingList{
 47780  		ServerResponse: googleapi.ServerResponse{
 47781  			Header:         res.Header,
 47782  			HTTPStatusCode: res.StatusCode,
 47783  		},
 47784  	}
 47785  	target := &ret
 47786  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47787  		return nil, err
 47788  	}
 47789  	return ret, nil
 47790  	// {
 47791  	//   "description": "Gets one remarketing list by ID.",
 47792  	//   "httpMethod": "GET",
 47793  	//   "id": "dfareporting.targetableRemarketingLists.get",
 47794  	//   "parameterOrder": [
 47795  	//     "profileId",
 47796  	//     "id"
 47797  	//   ],
 47798  	//   "parameters": {
 47799  	//     "id": {
 47800  	//       "description": "Remarketing list ID.",
 47801  	//       "format": "int64",
 47802  	//       "location": "path",
 47803  	//       "required": true,
 47804  	//       "type": "string"
 47805  	//     },
 47806  	//     "profileId": {
 47807  	//       "description": "User profile ID associated with this request.",
 47808  	//       "format": "int64",
 47809  	//       "location": "path",
 47810  	//       "required": true,
 47811  	//       "type": "string"
 47812  	//     }
 47813  	//   },
 47814  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 47815  	//   "response": {
 47816  	//     "$ref": "TargetableRemarketingList"
 47817  	//   },
 47818  	//   "scopes": [
 47819  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47820  	//   ]
 47821  	// }
 47822  
 47823  }
 47824  
 47825  // method id "dfareporting.targetableRemarketingLists.list":
 47826  
 47827  type TargetableRemarketingListsListCall struct {
 47828  	s            *Service
 47829  	profileId    int64
 47830  	urlParams_   gensupport.URLParams
 47831  	ifNoneMatch_ string
 47832  	ctx_         context.Context
 47833  	header_      http.Header
 47834  }
 47835  
 47836  // List: Retrieves a list of targetable remarketing lists, possibly
 47837  // filtered. This method supports paging.
 47838  func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
 47839  	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47840  	c.profileId = profileId
 47841  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 47842  	return c
 47843  }
 47844  
 47845  // Active sets the optional parameter "active": Select only active or
 47846  // only inactive targetable remarketing lists.
 47847  func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
 47848  	c.urlParams_.Set("active", fmt.Sprint(active))
 47849  	return c
 47850  }
 47851  
 47852  // MaxResults sets the optional parameter "maxResults": Maximum number
 47853  // of results to return.
 47854  func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
 47855  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 47856  	return c
 47857  }
 47858  
 47859  // Name sets the optional parameter "name": Allows searching for objects
 47860  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 47861  // list*2015" will return objects with names like "remarketing list June
 47862  // 2015", "remarketing list April 2015", or simply "remarketing list
 47863  // 2015". Most of the searches also add wildcards implicitly at the
 47864  // start and the end of the search string. For example, a search string
 47865  // of "remarketing list" will match objects with name "my remarketing
 47866  // list", "remarketing list 2015", or simply "remarketing list".
 47867  func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
 47868  	c.urlParams_.Set("name", name)
 47869  	return c
 47870  }
 47871  
 47872  // PageToken sets the optional parameter "pageToken": Value of the
 47873  // nextPageToken from the previous result page.
 47874  func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
 47875  	c.urlParams_.Set("pageToken", pageToken)
 47876  	return c
 47877  }
 47878  
 47879  // SortField sets the optional parameter "sortField": Field by which to
 47880  // sort the list.
 47881  //
 47882  // Possible values:
 47883  //
 47884  //	"ID" (default)
 47885  //	"NAME"
 47886  func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
 47887  	c.urlParams_.Set("sortField", sortField)
 47888  	return c
 47889  }
 47890  
 47891  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 47892  // results.
 47893  //
 47894  // Possible values:
 47895  //
 47896  //	"ASCENDING" (default)
 47897  //	"DESCENDING"
 47898  func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
 47899  	c.urlParams_.Set("sortOrder", sortOrder)
 47900  	return c
 47901  }
 47902  
 47903  // Fields allows partial responses to be retrieved. See
 47904  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47905  // for more information.
 47906  func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
 47907  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47908  	return c
 47909  }
 47910  
 47911  // IfNoneMatch sets the optional parameter which makes the operation
 47912  // fail if the object's ETag matches the given value. This is useful for
 47913  // getting updates only after the object has changed since the last
 47914  // request. Use googleapi.IsNotModified to check whether the response
 47915  // error from Do is the result of In-None-Match.
 47916  func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
 47917  	c.ifNoneMatch_ = entityTag
 47918  	return c
 47919  }
 47920  
 47921  // Context sets the context to be used in this call's Do method. Any
 47922  // pending HTTP request will be aborted if the provided context is
 47923  // canceled.
 47924  func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
 47925  	c.ctx_ = ctx
 47926  	return c
 47927  }
 47928  
 47929  // Header returns an http.Header that can be modified by the caller to
 47930  // add HTTP headers to the request.
 47931  func (c *TargetableRemarketingListsListCall) Header() http.Header {
 47932  	if c.header_ == nil {
 47933  		c.header_ = make(http.Header)
 47934  	}
 47935  	return c.header_
 47936  }
 47937  
 47938  func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 47939  	reqHeaders := make(http.Header)
 47940  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47941  	for k, v := range c.header_ {
 47942  		reqHeaders[k] = v
 47943  	}
 47944  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47945  	if c.ifNoneMatch_ != "" {
 47946  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47947  	}
 47948  	var body io.Reader = nil
 47949  	c.urlParams_.Set("alt", alt)
 47950  	c.urlParams_.Set("prettyPrint", "false")
 47951  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
 47952  	urls += "?" + c.urlParams_.Encode()
 47953  	req, err := http.NewRequest("GET", urls, body)
 47954  	if err != nil {
 47955  		return nil, err
 47956  	}
 47957  	req.Header = reqHeaders
 47958  	googleapi.Expand(req.URL, map[string]string{
 47959  		"profileId": strconv.FormatInt(c.profileId, 10),
 47960  	})
 47961  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47962  }
 47963  
 47964  // Do executes the "dfareporting.targetableRemarketingLists.list" call.
 47965  // Exactly one of *TargetableRemarketingListsListResponse or error will
 47966  // be non-nil. Any non-2xx status code is an error. Response headers are
 47967  // in either
 47968  // *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
 47969  // a response was returned at all) in error.(*googleapi.Error).Header.
 47970  // Use googleapi.IsNotModified to check whether the returned error was
 47971  // because http.StatusNotModified was returned.
 47972  func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
 47973  	gensupport.SetOptions(c.urlParams_, opts...)
 47974  	res, err := c.doRequest("json")
 47975  	if res != nil && res.StatusCode == http.StatusNotModified {
 47976  		if res.Body != nil {
 47977  			res.Body.Close()
 47978  		}
 47979  		return nil, &googleapi.Error{
 47980  			Code:   res.StatusCode,
 47981  			Header: res.Header,
 47982  		}
 47983  	}
 47984  	if err != nil {
 47985  		return nil, err
 47986  	}
 47987  	defer googleapi.CloseBody(res)
 47988  	if err := googleapi.CheckResponse(res); err != nil {
 47989  		return nil, err
 47990  	}
 47991  	ret := &TargetableRemarketingListsListResponse{
 47992  		ServerResponse: googleapi.ServerResponse{
 47993  			Header:         res.Header,
 47994  			HTTPStatusCode: res.StatusCode,
 47995  		},
 47996  	}
 47997  	target := &ret
 47998  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47999  		return nil, err
 48000  	}
 48001  	return ret, nil
 48002  	// {
 48003  	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
 48004  	//   "httpMethod": "GET",
 48005  	//   "id": "dfareporting.targetableRemarketingLists.list",
 48006  	//   "parameterOrder": [
 48007  	//     "profileId",
 48008  	//     "advertiserId"
 48009  	//   ],
 48010  	//   "parameters": {
 48011  	//     "active": {
 48012  	//       "description": "Select only active or only inactive targetable remarketing lists.",
 48013  	//       "location": "query",
 48014  	//       "type": "boolean"
 48015  	//     },
 48016  	//     "advertiserId": {
 48017  	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
 48018  	//       "format": "int64",
 48019  	//       "location": "query",
 48020  	//       "required": true,
 48021  	//       "type": "string"
 48022  	//     },
 48023  	//     "maxResults": {
 48024  	//       "default": "1000",
 48025  	//       "description": "Maximum number of results to return.",
 48026  	//       "format": "int32",
 48027  	//       "location": "query",
 48028  	//       "maximum": "1000",
 48029  	//       "minimum": "0",
 48030  	//       "type": "integer"
 48031  	//     },
 48032  	//     "name": {
 48033  	//       "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\".",
 48034  	//       "location": "query",
 48035  	//       "type": "string"
 48036  	//     },
 48037  	//     "pageToken": {
 48038  	//       "description": "Value of the nextPageToken from the previous result page.",
 48039  	//       "location": "query",
 48040  	//       "type": "string"
 48041  	//     },
 48042  	//     "profileId": {
 48043  	//       "description": "User profile ID associated with this request.",
 48044  	//       "format": "int64",
 48045  	//       "location": "path",
 48046  	//       "required": true,
 48047  	//       "type": "string"
 48048  	//     },
 48049  	//     "sortField": {
 48050  	//       "default": "ID",
 48051  	//       "description": "Field by which to sort the list.",
 48052  	//       "enum": [
 48053  	//         "ID",
 48054  	//         "NAME"
 48055  	//       ],
 48056  	//       "enumDescriptions": [
 48057  	//         "",
 48058  	//         ""
 48059  	//       ],
 48060  	//       "location": "query",
 48061  	//       "type": "string"
 48062  	//     },
 48063  	//     "sortOrder": {
 48064  	//       "default": "ASCENDING",
 48065  	//       "description": "Order of sorted results.",
 48066  	//       "enum": [
 48067  	//         "ASCENDING",
 48068  	//         "DESCENDING"
 48069  	//       ],
 48070  	//       "enumDescriptions": [
 48071  	//         "",
 48072  	//         ""
 48073  	//       ],
 48074  	//       "location": "query",
 48075  	//       "type": "string"
 48076  	//     }
 48077  	//   },
 48078  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
 48079  	//   "response": {
 48080  	//     "$ref": "TargetableRemarketingListsListResponse"
 48081  	//   },
 48082  	//   "scopes": [
 48083  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48084  	//   ]
 48085  	// }
 48086  
 48087  }
 48088  
 48089  // Pages invokes f for each page of results.
 48090  // A non-nil error returned from f will halt the iteration.
 48091  // The provided context supersedes any context provided to the Context method.
 48092  func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
 48093  	c.ctx_ = ctx
 48094  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 48095  	for {
 48096  		x, err := c.Do()
 48097  		if err != nil {
 48098  			return err
 48099  		}
 48100  		if err := f(x); err != nil {
 48101  			return err
 48102  		}
 48103  		if x.NextPageToken == "" {
 48104  			return nil
 48105  		}
 48106  		c.PageToken(x.NextPageToken)
 48107  	}
 48108  }
 48109  
 48110  // method id "dfareporting.targetingTemplates.get":
 48111  
 48112  type TargetingTemplatesGetCall struct {
 48113  	s            *Service
 48114  	profileId    int64
 48115  	id           int64
 48116  	urlParams_   gensupport.URLParams
 48117  	ifNoneMatch_ string
 48118  	ctx_         context.Context
 48119  	header_      http.Header
 48120  }
 48121  
 48122  // Get: Gets one targeting template by ID.
 48123  func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
 48124  	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48125  	c.profileId = profileId
 48126  	c.id = id
 48127  	return c
 48128  }
 48129  
 48130  // Fields allows partial responses to be retrieved. See
 48131  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48132  // for more information.
 48133  func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
 48134  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48135  	return c
 48136  }
 48137  
 48138  // IfNoneMatch sets the optional parameter which makes the operation
 48139  // fail if the object's ETag matches the given value. This is useful for
 48140  // getting updates only after the object has changed since the last
 48141  // request. Use googleapi.IsNotModified to check whether the response
 48142  // error from Do is the result of In-None-Match.
 48143  func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
 48144  	c.ifNoneMatch_ = entityTag
 48145  	return c
 48146  }
 48147  
 48148  // Context sets the context to be used in this call's Do method. Any
 48149  // pending HTTP request will be aborted if the provided context is
 48150  // canceled.
 48151  func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
 48152  	c.ctx_ = ctx
 48153  	return c
 48154  }
 48155  
 48156  // Header returns an http.Header that can be modified by the caller to
 48157  // add HTTP headers to the request.
 48158  func (c *TargetingTemplatesGetCall) Header() http.Header {
 48159  	if c.header_ == nil {
 48160  		c.header_ = make(http.Header)
 48161  	}
 48162  	return c.header_
 48163  }
 48164  
 48165  func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 48166  	reqHeaders := make(http.Header)
 48167  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48168  	for k, v := range c.header_ {
 48169  		reqHeaders[k] = v
 48170  	}
 48171  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48172  	if c.ifNoneMatch_ != "" {
 48173  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48174  	}
 48175  	var body io.Reader = nil
 48176  	c.urlParams_.Set("alt", alt)
 48177  	c.urlParams_.Set("prettyPrint", "false")
 48178  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
 48179  	urls += "?" + c.urlParams_.Encode()
 48180  	req, err := http.NewRequest("GET", urls, body)
 48181  	if err != nil {
 48182  		return nil, err
 48183  	}
 48184  	req.Header = reqHeaders
 48185  	googleapi.Expand(req.URL, map[string]string{
 48186  		"profileId": strconv.FormatInt(c.profileId, 10),
 48187  		"id":        strconv.FormatInt(c.id, 10),
 48188  	})
 48189  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48190  }
 48191  
 48192  // Do executes the "dfareporting.targetingTemplates.get" call.
 48193  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48194  // non-2xx status code is an error. Response headers are in either
 48195  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48196  // returned at all) in error.(*googleapi.Error).Header. Use
 48197  // googleapi.IsNotModified to check whether the returned error was
 48198  // because http.StatusNotModified was returned.
 48199  func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48200  	gensupport.SetOptions(c.urlParams_, opts...)
 48201  	res, err := c.doRequest("json")
 48202  	if res != nil && res.StatusCode == http.StatusNotModified {
 48203  		if res.Body != nil {
 48204  			res.Body.Close()
 48205  		}
 48206  		return nil, &googleapi.Error{
 48207  			Code:   res.StatusCode,
 48208  			Header: res.Header,
 48209  		}
 48210  	}
 48211  	if err != nil {
 48212  		return nil, err
 48213  	}
 48214  	defer googleapi.CloseBody(res)
 48215  	if err := googleapi.CheckResponse(res); err != nil {
 48216  		return nil, err
 48217  	}
 48218  	ret := &TargetingTemplate{
 48219  		ServerResponse: googleapi.ServerResponse{
 48220  			Header:         res.Header,
 48221  			HTTPStatusCode: res.StatusCode,
 48222  		},
 48223  	}
 48224  	target := &ret
 48225  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48226  		return nil, err
 48227  	}
 48228  	return ret, nil
 48229  	// {
 48230  	//   "description": "Gets one targeting template by ID.",
 48231  	//   "httpMethod": "GET",
 48232  	//   "id": "dfareporting.targetingTemplates.get",
 48233  	//   "parameterOrder": [
 48234  	//     "profileId",
 48235  	//     "id"
 48236  	//   ],
 48237  	//   "parameters": {
 48238  	//     "id": {
 48239  	//       "description": "Targeting template ID.",
 48240  	//       "format": "int64",
 48241  	//       "location": "path",
 48242  	//       "required": true,
 48243  	//       "type": "string"
 48244  	//     },
 48245  	//     "profileId": {
 48246  	//       "description": "User profile ID associated with this request.",
 48247  	//       "format": "int64",
 48248  	//       "location": "path",
 48249  	//       "required": true,
 48250  	//       "type": "string"
 48251  	//     }
 48252  	//   },
 48253  	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
 48254  	//   "response": {
 48255  	//     "$ref": "TargetingTemplate"
 48256  	//   },
 48257  	//   "scopes": [
 48258  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48259  	//   ]
 48260  	// }
 48261  
 48262  }
 48263  
 48264  // method id "dfareporting.targetingTemplates.insert":
 48265  
 48266  type TargetingTemplatesInsertCall struct {
 48267  	s                 *Service
 48268  	profileId         int64
 48269  	targetingtemplate *TargetingTemplate
 48270  	urlParams_        gensupport.URLParams
 48271  	ctx_              context.Context
 48272  	header_           http.Header
 48273  }
 48274  
 48275  // Insert: Inserts a new targeting template.
 48276  func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
 48277  	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48278  	c.profileId = profileId
 48279  	c.targetingtemplate = targetingtemplate
 48280  	return c
 48281  }
 48282  
 48283  // Fields allows partial responses to be retrieved. See
 48284  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48285  // for more information.
 48286  func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
 48287  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48288  	return c
 48289  }
 48290  
 48291  // Context sets the context to be used in this call's Do method. Any
 48292  // pending HTTP request will be aborted if the provided context is
 48293  // canceled.
 48294  func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
 48295  	c.ctx_ = ctx
 48296  	return c
 48297  }
 48298  
 48299  // Header returns an http.Header that can be modified by the caller to
 48300  // add HTTP headers to the request.
 48301  func (c *TargetingTemplatesInsertCall) Header() http.Header {
 48302  	if c.header_ == nil {
 48303  		c.header_ = make(http.Header)
 48304  	}
 48305  	return c.header_
 48306  }
 48307  
 48308  func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 48309  	reqHeaders := make(http.Header)
 48310  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48311  	for k, v := range c.header_ {
 48312  		reqHeaders[k] = v
 48313  	}
 48314  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48315  	var body io.Reader = nil
 48316  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48317  	if err != nil {
 48318  		return nil, err
 48319  	}
 48320  	reqHeaders.Set("Content-Type", "application/json")
 48321  	c.urlParams_.Set("alt", alt)
 48322  	c.urlParams_.Set("prettyPrint", "false")
 48323  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48324  	urls += "?" + c.urlParams_.Encode()
 48325  	req, err := http.NewRequest("POST", urls, body)
 48326  	if err != nil {
 48327  		return nil, err
 48328  	}
 48329  	req.Header = reqHeaders
 48330  	googleapi.Expand(req.URL, map[string]string{
 48331  		"profileId": strconv.FormatInt(c.profileId, 10),
 48332  	})
 48333  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48334  }
 48335  
 48336  // Do executes the "dfareporting.targetingTemplates.insert" call.
 48337  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48338  // non-2xx status code is an error. Response headers are in either
 48339  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48340  // returned at all) in error.(*googleapi.Error).Header. Use
 48341  // googleapi.IsNotModified to check whether the returned error was
 48342  // because http.StatusNotModified was returned.
 48343  func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48344  	gensupport.SetOptions(c.urlParams_, opts...)
 48345  	res, err := c.doRequest("json")
 48346  	if res != nil && res.StatusCode == http.StatusNotModified {
 48347  		if res.Body != nil {
 48348  			res.Body.Close()
 48349  		}
 48350  		return nil, &googleapi.Error{
 48351  			Code:   res.StatusCode,
 48352  			Header: res.Header,
 48353  		}
 48354  	}
 48355  	if err != nil {
 48356  		return nil, err
 48357  	}
 48358  	defer googleapi.CloseBody(res)
 48359  	if err := googleapi.CheckResponse(res); err != nil {
 48360  		return nil, err
 48361  	}
 48362  	ret := &TargetingTemplate{
 48363  		ServerResponse: googleapi.ServerResponse{
 48364  			Header:         res.Header,
 48365  			HTTPStatusCode: res.StatusCode,
 48366  		},
 48367  	}
 48368  	target := &ret
 48369  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48370  		return nil, err
 48371  	}
 48372  	return ret, nil
 48373  	// {
 48374  	//   "description": "Inserts a new targeting template.",
 48375  	//   "httpMethod": "POST",
 48376  	//   "id": "dfareporting.targetingTemplates.insert",
 48377  	//   "parameterOrder": [
 48378  	//     "profileId"
 48379  	//   ],
 48380  	//   "parameters": {
 48381  	//     "profileId": {
 48382  	//       "description": "User profile ID associated with this request.",
 48383  	//       "format": "int64",
 48384  	//       "location": "path",
 48385  	//       "required": true,
 48386  	//       "type": "string"
 48387  	//     }
 48388  	//   },
 48389  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48390  	//   "request": {
 48391  	//     "$ref": "TargetingTemplate"
 48392  	//   },
 48393  	//   "response": {
 48394  	//     "$ref": "TargetingTemplate"
 48395  	//   },
 48396  	//   "scopes": [
 48397  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48398  	//   ]
 48399  	// }
 48400  
 48401  }
 48402  
 48403  // method id "dfareporting.targetingTemplates.list":
 48404  
 48405  type TargetingTemplatesListCall struct {
 48406  	s            *Service
 48407  	profileId    int64
 48408  	urlParams_   gensupport.URLParams
 48409  	ifNoneMatch_ string
 48410  	ctx_         context.Context
 48411  	header_      http.Header
 48412  }
 48413  
 48414  // List: Retrieves a list of targeting templates, optionally filtered.
 48415  // This method supports paging.
 48416  func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
 48417  	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48418  	c.profileId = profileId
 48419  	return c
 48420  }
 48421  
 48422  // AdvertiserId sets the optional parameter "advertiserId": Select only
 48423  // targeting templates with this advertiser ID.
 48424  func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
 48425  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 48426  	return c
 48427  }
 48428  
 48429  // Ids sets the optional parameter "ids": Select only targeting
 48430  // templates with these IDs.
 48431  func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
 48432  	var ids_ []string
 48433  	for _, v := range ids {
 48434  		ids_ = append(ids_, fmt.Sprint(v))
 48435  	}
 48436  	c.urlParams_.SetMulti("ids", ids_)
 48437  	return c
 48438  }
 48439  
 48440  // MaxResults sets the optional parameter "maxResults": Maximum number
 48441  // of results to return.
 48442  func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
 48443  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 48444  	return c
 48445  }
 48446  
 48447  // PageToken sets the optional parameter "pageToken": Value of the
 48448  // nextPageToken from the previous result page.
 48449  func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
 48450  	c.urlParams_.Set("pageToken", pageToken)
 48451  	return c
 48452  }
 48453  
 48454  // SearchString sets the optional parameter "searchString": Allows
 48455  // searching for objects by name or ID. Wildcards (*) are allowed. For
 48456  // example, "template*2015" will return objects with names like
 48457  // "template June 2015", "template April 2015", or simply "template
 48458  // 2015". Most of the searches also add wildcards implicitly at the
 48459  // start and the end of the search string. For example, a search string
 48460  // of "template" will match objects with name "my template", "template
 48461  // 2015", or simply "template".
 48462  func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
 48463  	c.urlParams_.Set("searchString", searchString)
 48464  	return c
 48465  }
 48466  
 48467  // SortField sets the optional parameter "sortField": Field by which to
 48468  // sort the list.
 48469  //
 48470  // Possible values:
 48471  //
 48472  //	"ID" (default)
 48473  //	"NAME"
 48474  func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
 48475  	c.urlParams_.Set("sortField", sortField)
 48476  	return c
 48477  }
 48478  
 48479  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 48480  // results.
 48481  //
 48482  // Possible values:
 48483  //
 48484  //	"ASCENDING" (default)
 48485  //	"DESCENDING"
 48486  func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
 48487  	c.urlParams_.Set("sortOrder", sortOrder)
 48488  	return c
 48489  }
 48490  
 48491  // Fields allows partial responses to be retrieved. See
 48492  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48493  // for more information.
 48494  func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
 48495  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48496  	return c
 48497  }
 48498  
 48499  // IfNoneMatch sets the optional parameter which makes the operation
 48500  // fail if the object's ETag matches the given value. This is useful for
 48501  // getting updates only after the object has changed since the last
 48502  // request. Use googleapi.IsNotModified to check whether the response
 48503  // error from Do is the result of In-None-Match.
 48504  func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
 48505  	c.ifNoneMatch_ = entityTag
 48506  	return c
 48507  }
 48508  
 48509  // Context sets the context to be used in this call's Do method. Any
 48510  // pending HTTP request will be aborted if the provided context is
 48511  // canceled.
 48512  func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
 48513  	c.ctx_ = ctx
 48514  	return c
 48515  }
 48516  
 48517  // Header returns an http.Header that can be modified by the caller to
 48518  // add HTTP headers to the request.
 48519  func (c *TargetingTemplatesListCall) Header() http.Header {
 48520  	if c.header_ == nil {
 48521  		c.header_ = make(http.Header)
 48522  	}
 48523  	return c.header_
 48524  }
 48525  
 48526  func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 48527  	reqHeaders := make(http.Header)
 48528  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48529  	for k, v := range c.header_ {
 48530  		reqHeaders[k] = v
 48531  	}
 48532  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48533  	if c.ifNoneMatch_ != "" {
 48534  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48535  	}
 48536  	var body io.Reader = nil
 48537  	c.urlParams_.Set("alt", alt)
 48538  	c.urlParams_.Set("prettyPrint", "false")
 48539  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48540  	urls += "?" + c.urlParams_.Encode()
 48541  	req, err := http.NewRequest("GET", urls, body)
 48542  	if err != nil {
 48543  		return nil, err
 48544  	}
 48545  	req.Header = reqHeaders
 48546  	googleapi.Expand(req.URL, map[string]string{
 48547  		"profileId": strconv.FormatInt(c.profileId, 10),
 48548  	})
 48549  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48550  }
 48551  
 48552  // Do executes the "dfareporting.targetingTemplates.list" call.
 48553  // Exactly one of *TargetingTemplatesListResponse or error will be
 48554  // non-nil. Any non-2xx status code is an error. Response headers are in
 48555  // either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
 48556  // response was returned at all) in error.(*googleapi.Error).Header. Use
 48557  // googleapi.IsNotModified to check whether the returned error was
 48558  // because http.StatusNotModified was returned.
 48559  func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
 48560  	gensupport.SetOptions(c.urlParams_, opts...)
 48561  	res, err := c.doRequest("json")
 48562  	if res != nil && res.StatusCode == http.StatusNotModified {
 48563  		if res.Body != nil {
 48564  			res.Body.Close()
 48565  		}
 48566  		return nil, &googleapi.Error{
 48567  			Code:   res.StatusCode,
 48568  			Header: res.Header,
 48569  		}
 48570  	}
 48571  	if err != nil {
 48572  		return nil, err
 48573  	}
 48574  	defer googleapi.CloseBody(res)
 48575  	if err := googleapi.CheckResponse(res); err != nil {
 48576  		return nil, err
 48577  	}
 48578  	ret := &TargetingTemplatesListResponse{
 48579  		ServerResponse: googleapi.ServerResponse{
 48580  			Header:         res.Header,
 48581  			HTTPStatusCode: res.StatusCode,
 48582  		},
 48583  	}
 48584  	target := &ret
 48585  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48586  		return nil, err
 48587  	}
 48588  	return ret, nil
 48589  	// {
 48590  	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
 48591  	//   "httpMethod": "GET",
 48592  	//   "id": "dfareporting.targetingTemplates.list",
 48593  	//   "parameterOrder": [
 48594  	//     "profileId"
 48595  	//   ],
 48596  	//   "parameters": {
 48597  	//     "advertiserId": {
 48598  	//       "description": "Select only targeting templates with this advertiser ID.",
 48599  	//       "format": "int64",
 48600  	//       "location": "query",
 48601  	//       "type": "string"
 48602  	//     },
 48603  	//     "ids": {
 48604  	//       "description": "Select only targeting templates with these IDs.",
 48605  	//       "format": "int64",
 48606  	//       "location": "query",
 48607  	//       "repeated": true,
 48608  	//       "type": "string"
 48609  	//     },
 48610  	//     "maxResults": {
 48611  	//       "default": "1000",
 48612  	//       "description": "Maximum number of results to return.",
 48613  	//       "format": "int32",
 48614  	//       "location": "query",
 48615  	//       "maximum": "1000",
 48616  	//       "minimum": "0",
 48617  	//       "type": "integer"
 48618  	//     },
 48619  	//     "pageToken": {
 48620  	//       "description": "Value of the nextPageToken from the previous result page.",
 48621  	//       "location": "query",
 48622  	//       "type": "string"
 48623  	//     },
 48624  	//     "profileId": {
 48625  	//       "description": "User profile ID associated with this request.",
 48626  	//       "format": "int64",
 48627  	//       "location": "path",
 48628  	//       "required": true,
 48629  	//       "type": "string"
 48630  	//     },
 48631  	//     "searchString": {
 48632  	//       "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\".",
 48633  	//       "location": "query",
 48634  	//       "type": "string"
 48635  	//     },
 48636  	//     "sortField": {
 48637  	//       "default": "ID",
 48638  	//       "description": "Field by which to sort the list.",
 48639  	//       "enum": [
 48640  	//         "ID",
 48641  	//         "NAME"
 48642  	//       ],
 48643  	//       "enumDescriptions": [
 48644  	//         "",
 48645  	//         ""
 48646  	//       ],
 48647  	//       "location": "query",
 48648  	//       "type": "string"
 48649  	//     },
 48650  	//     "sortOrder": {
 48651  	//       "default": "ASCENDING",
 48652  	//       "description": "Order of sorted results.",
 48653  	//       "enum": [
 48654  	//         "ASCENDING",
 48655  	//         "DESCENDING"
 48656  	//       ],
 48657  	//       "enumDescriptions": [
 48658  	//         "",
 48659  	//         ""
 48660  	//       ],
 48661  	//       "location": "query",
 48662  	//       "type": "string"
 48663  	//     }
 48664  	//   },
 48665  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48666  	//   "response": {
 48667  	//     "$ref": "TargetingTemplatesListResponse"
 48668  	//   },
 48669  	//   "scopes": [
 48670  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48671  	//   ]
 48672  	// }
 48673  
 48674  }
 48675  
 48676  // Pages invokes f for each page of results.
 48677  // A non-nil error returned from f will halt the iteration.
 48678  // The provided context supersedes any context provided to the Context method.
 48679  func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
 48680  	c.ctx_ = ctx
 48681  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 48682  	for {
 48683  		x, err := c.Do()
 48684  		if err != nil {
 48685  			return err
 48686  		}
 48687  		if err := f(x); err != nil {
 48688  			return err
 48689  		}
 48690  		if x.NextPageToken == "" {
 48691  			return nil
 48692  		}
 48693  		c.PageToken(x.NextPageToken)
 48694  	}
 48695  }
 48696  
 48697  // method id "dfareporting.targetingTemplates.patch":
 48698  
 48699  type TargetingTemplatesPatchCall struct {
 48700  	s                 *Service
 48701  	profileId         int64
 48702  	targetingtemplate *TargetingTemplate
 48703  	urlParams_        gensupport.URLParams
 48704  	ctx_              context.Context
 48705  	header_           http.Header
 48706  }
 48707  
 48708  // Patch: Updates an existing targeting template. This method supports
 48709  // patch semantics.
 48710  func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
 48711  	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48712  	c.profileId = profileId
 48713  	c.urlParams_.Set("id", fmt.Sprint(id))
 48714  	c.targetingtemplate = targetingtemplate
 48715  	return c
 48716  }
 48717  
 48718  // Fields allows partial responses to be retrieved. See
 48719  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48720  // for more information.
 48721  func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
 48722  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48723  	return c
 48724  }
 48725  
 48726  // Context sets the context to be used in this call's Do method. Any
 48727  // pending HTTP request will be aborted if the provided context is
 48728  // canceled.
 48729  func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
 48730  	c.ctx_ = ctx
 48731  	return c
 48732  }
 48733  
 48734  // Header returns an http.Header that can be modified by the caller to
 48735  // add HTTP headers to the request.
 48736  func (c *TargetingTemplatesPatchCall) Header() http.Header {
 48737  	if c.header_ == nil {
 48738  		c.header_ = make(http.Header)
 48739  	}
 48740  	return c.header_
 48741  }
 48742  
 48743  func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 48744  	reqHeaders := make(http.Header)
 48745  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48746  	for k, v := range c.header_ {
 48747  		reqHeaders[k] = v
 48748  	}
 48749  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48750  	var body io.Reader = nil
 48751  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48752  	if err != nil {
 48753  		return nil, err
 48754  	}
 48755  	reqHeaders.Set("Content-Type", "application/json")
 48756  	c.urlParams_.Set("alt", alt)
 48757  	c.urlParams_.Set("prettyPrint", "false")
 48758  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48759  	urls += "?" + c.urlParams_.Encode()
 48760  	req, err := http.NewRequest("PATCH", urls, body)
 48761  	if err != nil {
 48762  		return nil, err
 48763  	}
 48764  	req.Header = reqHeaders
 48765  	googleapi.Expand(req.URL, map[string]string{
 48766  		"profileId": strconv.FormatInt(c.profileId, 10),
 48767  	})
 48768  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48769  }
 48770  
 48771  // Do executes the "dfareporting.targetingTemplates.patch" call.
 48772  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48773  // non-2xx status code is an error. Response headers are in either
 48774  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48775  // returned at all) in error.(*googleapi.Error).Header. Use
 48776  // googleapi.IsNotModified to check whether the returned error was
 48777  // because http.StatusNotModified was returned.
 48778  func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48779  	gensupport.SetOptions(c.urlParams_, opts...)
 48780  	res, err := c.doRequest("json")
 48781  	if res != nil && res.StatusCode == http.StatusNotModified {
 48782  		if res.Body != nil {
 48783  			res.Body.Close()
 48784  		}
 48785  		return nil, &googleapi.Error{
 48786  			Code:   res.StatusCode,
 48787  			Header: res.Header,
 48788  		}
 48789  	}
 48790  	if err != nil {
 48791  		return nil, err
 48792  	}
 48793  	defer googleapi.CloseBody(res)
 48794  	if err := googleapi.CheckResponse(res); err != nil {
 48795  		return nil, err
 48796  	}
 48797  	ret := &TargetingTemplate{
 48798  		ServerResponse: googleapi.ServerResponse{
 48799  			Header:         res.Header,
 48800  			HTTPStatusCode: res.StatusCode,
 48801  		},
 48802  	}
 48803  	target := &ret
 48804  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48805  		return nil, err
 48806  	}
 48807  	return ret, nil
 48808  	// {
 48809  	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
 48810  	//   "httpMethod": "PATCH",
 48811  	//   "id": "dfareporting.targetingTemplates.patch",
 48812  	//   "parameterOrder": [
 48813  	//     "profileId",
 48814  	//     "id"
 48815  	//   ],
 48816  	//   "parameters": {
 48817  	//     "id": {
 48818  	//       "description": "Targeting template ID.",
 48819  	//       "format": "int64",
 48820  	//       "location": "query",
 48821  	//       "required": true,
 48822  	//       "type": "string"
 48823  	//     },
 48824  	//     "profileId": {
 48825  	//       "description": "User profile ID associated with this request.",
 48826  	//       "format": "int64",
 48827  	//       "location": "path",
 48828  	//       "required": true,
 48829  	//       "type": "string"
 48830  	//     }
 48831  	//   },
 48832  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48833  	//   "request": {
 48834  	//     "$ref": "TargetingTemplate"
 48835  	//   },
 48836  	//   "response": {
 48837  	//     "$ref": "TargetingTemplate"
 48838  	//   },
 48839  	//   "scopes": [
 48840  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48841  	//   ]
 48842  	// }
 48843  
 48844  }
 48845  
 48846  // method id "dfareporting.targetingTemplates.update":
 48847  
 48848  type TargetingTemplatesUpdateCall struct {
 48849  	s                 *Service
 48850  	profileId         int64
 48851  	targetingtemplate *TargetingTemplate
 48852  	urlParams_        gensupport.URLParams
 48853  	ctx_              context.Context
 48854  	header_           http.Header
 48855  }
 48856  
 48857  // Update: Updates an existing targeting template.
 48858  func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
 48859  	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48860  	c.profileId = profileId
 48861  	c.targetingtemplate = targetingtemplate
 48862  	return c
 48863  }
 48864  
 48865  // Fields allows partial responses to be retrieved. See
 48866  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48867  // for more information.
 48868  func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
 48869  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48870  	return c
 48871  }
 48872  
 48873  // Context sets the context to be used in this call's Do method. Any
 48874  // pending HTTP request will be aborted if the provided context is
 48875  // canceled.
 48876  func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
 48877  	c.ctx_ = ctx
 48878  	return c
 48879  }
 48880  
 48881  // Header returns an http.Header that can be modified by the caller to
 48882  // add HTTP headers to the request.
 48883  func (c *TargetingTemplatesUpdateCall) Header() http.Header {
 48884  	if c.header_ == nil {
 48885  		c.header_ = make(http.Header)
 48886  	}
 48887  	return c.header_
 48888  }
 48889  
 48890  func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 48891  	reqHeaders := make(http.Header)
 48892  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48893  	for k, v := range c.header_ {
 48894  		reqHeaders[k] = v
 48895  	}
 48896  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48897  	var body io.Reader = nil
 48898  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48899  	if err != nil {
 48900  		return nil, err
 48901  	}
 48902  	reqHeaders.Set("Content-Type", "application/json")
 48903  	c.urlParams_.Set("alt", alt)
 48904  	c.urlParams_.Set("prettyPrint", "false")
 48905  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48906  	urls += "?" + c.urlParams_.Encode()
 48907  	req, err := http.NewRequest("PUT", urls, body)
 48908  	if err != nil {
 48909  		return nil, err
 48910  	}
 48911  	req.Header = reqHeaders
 48912  	googleapi.Expand(req.URL, map[string]string{
 48913  		"profileId": strconv.FormatInt(c.profileId, 10),
 48914  	})
 48915  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48916  }
 48917  
 48918  // Do executes the "dfareporting.targetingTemplates.update" call.
 48919  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48920  // non-2xx status code is an error. Response headers are in either
 48921  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48922  // returned at all) in error.(*googleapi.Error).Header. Use
 48923  // googleapi.IsNotModified to check whether the returned error was
 48924  // because http.StatusNotModified was returned.
 48925  func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48926  	gensupport.SetOptions(c.urlParams_, opts...)
 48927  	res, err := c.doRequest("json")
 48928  	if res != nil && res.StatusCode == http.StatusNotModified {
 48929  		if res.Body != nil {
 48930  			res.Body.Close()
 48931  		}
 48932  		return nil, &googleapi.Error{
 48933  			Code:   res.StatusCode,
 48934  			Header: res.Header,
 48935  		}
 48936  	}
 48937  	if err != nil {
 48938  		return nil, err
 48939  	}
 48940  	defer googleapi.CloseBody(res)
 48941  	if err := googleapi.CheckResponse(res); err != nil {
 48942  		return nil, err
 48943  	}
 48944  	ret := &TargetingTemplate{
 48945  		ServerResponse: googleapi.ServerResponse{
 48946  			Header:         res.Header,
 48947  			HTTPStatusCode: res.StatusCode,
 48948  		},
 48949  	}
 48950  	target := &ret
 48951  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48952  		return nil, err
 48953  	}
 48954  	return ret, nil
 48955  	// {
 48956  	//   "description": "Updates an existing targeting template.",
 48957  	//   "httpMethod": "PUT",
 48958  	//   "id": "dfareporting.targetingTemplates.update",
 48959  	//   "parameterOrder": [
 48960  	//     "profileId"
 48961  	//   ],
 48962  	//   "parameters": {
 48963  	//     "profileId": {
 48964  	//       "description": "User profile ID associated with this request.",
 48965  	//       "format": "int64",
 48966  	//       "location": "path",
 48967  	//       "required": true,
 48968  	//       "type": "string"
 48969  	//     }
 48970  	//   },
 48971  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 48972  	//   "request": {
 48973  	//     "$ref": "TargetingTemplate"
 48974  	//   },
 48975  	//   "response": {
 48976  	//     "$ref": "TargetingTemplate"
 48977  	//   },
 48978  	//   "scopes": [
 48979  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48980  	//   ]
 48981  	// }
 48982  
 48983  }
 48984  
 48985  // method id "dfareporting.userProfiles.get":
 48986  
 48987  type UserProfilesGetCall struct {
 48988  	s            *Service
 48989  	profileId    int64
 48990  	urlParams_   gensupport.URLParams
 48991  	ifNoneMatch_ string
 48992  	ctx_         context.Context
 48993  	header_      http.Header
 48994  }
 48995  
 48996  // Get: Gets one user profile by ID.
 48997  func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
 48998  	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48999  	c.profileId = profileId
 49000  	return c
 49001  }
 49002  
 49003  // Fields allows partial responses to be retrieved. See
 49004  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49005  // for more information.
 49006  func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
 49007  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49008  	return c
 49009  }
 49010  
 49011  // IfNoneMatch sets the optional parameter which makes the operation
 49012  // fail if the object's ETag matches the given value. This is useful for
 49013  // getting updates only after the object has changed since the last
 49014  // request. Use googleapi.IsNotModified to check whether the response
 49015  // error from Do is the result of In-None-Match.
 49016  func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
 49017  	c.ifNoneMatch_ = entityTag
 49018  	return c
 49019  }
 49020  
 49021  // Context sets the context to be used in this call's Do method. Any
 49022  // pending HTTP request will be aborted if the provided context is
 49023  // canceled.
 49024  func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 49025  	c.ctx_ = ctx
 49026  	return c
 49027  }
 49028  
 49029  // Header returns an http.Header that can be modified by the caller to
 49030  // add HTTP headers to the request.
 49031  func (c *UserProfilesGetCall) Header() http.Header {
 49032  	if c.header_ == nil {
 49033  		c.header_ = make(http.Header)
 49034  	}
 49035  	return c.header_
 49036  }
 49037  
 49038  func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 49039  	reqHeaders := make(http.Header)
 49040  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49041  	for k, v := range c.header_ {
 49042  		reqHeaders[k] = v
 49043  	}
 49044  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49045  	if c.ifNoneMatch_ != "" {
 49046  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49047  	}
 49048  	var body io.Reader = nil
 49049  	c.urlParams_.Set("alt", alt)
 49050  	c.urlParams_.Set("prettyPrint", "false")
 49051  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
 49052  	urls += "?" + c.urlParams_.Encode()
 49053  	req, err := http.NewRequest("GET", urls, body)
 49054  	if err != nil {
 49055  		return nil, err
 49056  	}
 49057  	req.Header = reqHeaders
 49058  	googleapi.Expand(req.URL, map[string]string{
 49059  		"profileId": strconv.FormatInt(c.profileId, 10),
 49060  	})
 49061  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49062  }
 49063  
 49064  // Do executes the "dfareporting.userProfiles.get" call.
 49065  // Exactly one of *UserProfile or error will be non-nil. Any non-2xx
 49066  // status code is an error. Response headers are in either
 49067  // *UserProfile.ServerResponse.Header or (if a response was returned at
 49068  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 49069  // to check whether the returned error was because
 49070  // http.StatusNotModified was returned.
 49071  func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
 49072  	gensupport.SetOptions(c.urlParams_, opts...)
 49073  	res, err := c.doRequest("json")
 49074  	if res != nil && res.StatusCode == http.StatusNotModified {
 49075  		if res.Body != nil {
 49076  			res.Body.Close()
 49077  		}
 49078  		return nil, &googleapi.Error{
 49079  			Code:   res.StatusCode,
 49080  			Header: res.Header,
 49081  		}
 49082  	}
 49083  	if err != nil {
 49084  		return nil, err
 49085  	}
 49086  	defer googleapi.CloseBody(res)
 49087  	if err := googleapi.CheckResponse(res); err != nil {
 49088  		return nil, err
 49089  	}
 49090  	ret := &UserProfile{
 49091  		ServerResponse: googleapi.ServerResponse{
 49092  			Header:         res.Header,
 49093  			HTTPStatusCode: res.StatusCode,
 49094  		},
 49095  	}
 49096  	target := &ret
 49097  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49098  		return nil, err
 49099  	}
 49100  	return ret, nil
 49101  	// {
 49102  	//   "description": "Gets one user profile by ID.",
 49103  	//   "httpMethod": "GET",
 49104  	//   "id": "dfareporting.userProfiles.get",
 49105  	//   "parameterOrder": [
 49106  	//     "profileId"
 49107  	//   ],
 49108  	//   "parameters": {
 49109  	//     "profileId": {
 49110  	//       "description": "The user profile ID.",
 49111  	//       "format": "int64",
 49112  	//       "location": "path",
 49113  	//       "required": true,
 49114  	//       "type": "string"
 49115  	//     }
 49116  	//   },
 49117  	//   "path": "userprofiles/{profileId}",
 49118  	//   "response": {
 49119  	//     "$ref": "UserProfile"
 49120  	//   },
 49121  	//   "scopes": [
 49122  	//     "https://www.googleapis.com/auth/dfareporting",
 49123  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49124  	//   ]
 49125  	// }
 49126  
 49127  }
 49128  
 49129  // method id "dfareporting.userProfiles.list":
 49130  
 49131  type UserProfilesListCall struct {
 49132  	s            *Service
 49133  	urlParams_   gensupport.URLParams
 49134  	ifNoneMatch_ string
 49135  	ctx_         context.Context
 49136  	header_      http.Header
 49137  }
 49138  
 49139  // List: Retrieves list of user profiles for a user.
 49140  func (r *UserProfilesService) List() *UserProfilesListCall {
 49141  	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49142  	return c
 49143  }
 49144  
 49145  // Fields allows partial responses to be retrieved. See
 49146  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49147  // for more information.
 49148  func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
 49149  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49150  	return c
 49151  }
 49152  
 49153  // IfNoneMatch sets the optional parameter which makes the operation
 49154  // fail if the object's ETag matches the given value. This is useful for
 49155  // getting updates only after the object has changed since the last
 49156  // request. Use googleapi.IsNotModified to check whether the response
 49157  // error from Do is the result of In-None-Match.
 49158  func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
 49159  	c.ifNoneMatch_ = entityTag
 49160  	return c
 49161  }
 49162  
 49163  // Context sets the context to be used in this call's Do method. Any
 49164  // pending HTTP request will be aborted if the provided context is
 49165  // canceled.
 49166  func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 49167  	c.ctx_ = ctx
 49168  	return c
 49169  }
 49170  
 49171  // Header returns an http.Header that can be modified by the caller to
 49172  // add HTTP headers to the request.
 49173  func (c *UserProfilesListCall) Header() http.Header {
 49174  	if c.header_ == nil {
 49175  		c.header_ = make(http.Header)
 49176  	}
 49177  	return c.header_
 49178  }
 49179  
 49180  func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 49181  	reqHeaders := make(http.Header)
 49182  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49183  	for k, v := range c.header_ {
 49184  		reqHeaders[k] = v
 49185  	}
 49186  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49187  	if c.ifNoneMatch_ != "" {
 49188  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49189  	}
 49190  	var body io.Reader = nil
 49191  	c.urlParams_.Set("alt", alt)
 49192  	c.urlParams_.Set("prettyPrint", "false")
 49193  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
 49194  	urls += "?" + c.urlParams_.Encode()
 49195  	req, err := http.NewRequest("GET", urls, body)
 49196  	if err != nil {
 49197  		return nil, err
 49198  	}
 49199  	req.Header = reqHeaders
 49200  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49201  }
 49202  
 49203  // Do executes the "dfareporting.userProfiles.list" call.
 49204  // Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
 49205  // status code is an error. Response headers are in either
 49206  // *UserProfileList.ServerResponse.Header or (if a response was returned
 49207  // at all) in error.(*googleapi.Error).Header. Use
 49208  // googleapi.IsNotModified to check whether the returned error was
 49209  // because http.StatusNotModified was returned.
 49210  func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
 49211  	gensupport.SetOptions(c.urlParams_, opts...)
 49212  	res, err := c.doRequest("json")
 49213  	if res != nil && res.StatusCode == http.StatusNotModified {
 49214  		if res.Body != nil {
 49215  			res.Body.Close()
 49216  		}
 49217  		return nil, &googleapi.Error{
 49218  			Code:   res.StatusCode,
 49219  			Header: res.Header,
 49220  		}
 49221  	}
 49222  	if err != nil {
 49223  		return nil, err
 49224  	}
 49225  	defer googleapi.CloseBody(res)
 49226  	if err := googleapi.CheckResponse(res); err != nil {
 49227  		return nil, err
 49228  	}
 49229  	ret := &UserProfileList{
 49230  		ServerResponse: googleapi.ServerResponse{
 49231  			Header:         res.Header,
 49232  			HTTPStatusCode: res.StatusCode,
 49233  		},
 49234  	}
 49235  	target := &ret
 49236  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49237  		return nil, err
 49238  	}
 49239  	return ret, nil
 49240  	// {
 49241  	//   "description": "Retrieves list of user profiles for a user.",
 49242  	//   "httpMethod": "GET",
 49243  	//   "id": "dfareporting.userProfiles.list",
 49244  	//   "path": "userprofiles",
 49245  	//   "response": {
 49246  	//     "$ref": "UserProfileList"
 49247  	//   },
 49248  	//   "scopes": [
 49249  	//     "https://www.googleapis.com/auth/dfareporting",
 49250  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49251  	//   ]
 49252  	// }
 49253  
 49254  }
 49255  
 49256  // method id "dfareporting.userRolePermissionGroups.get":
 49257  
 49258  type UserRolePermissionGroupsGetCall struct {
 49259  	s            *Service
 49260  	profileId    int64
 49261  	id           int64
 49262  	urlParams_   gensupport.URLParams
 49263  	ifNoneMatch_ string
 49264  	ctx_         context.Context
 49265  	header_      http.Header
 49266  }
 49267  
 49268  // Get: Gets one user role permission group by ID.
 49269  func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
 49270  	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49271  	c.profileId = profileId
 49272  	c.id = id
 49273  	return c
 49274  }
 49275  
 49276  // Fields allows partial responses to be retrieved. See
 49277  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49278  // for more information.
 49279  func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
 49280  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49281  	return c
 49282  }
 49283  
 49284  // IfNoneMatch sets the optional parameter which makes the operation
 49285  // fail if the object's ETag matches the given value. This is useful for
 49286  // getting updates only after the object has changed since the last
 49287  // request. Use googleapi.IsNotModified to check whether the response
 49288  // error from Do is the result of In-None-Match.
 49289  func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
 49290  	c.ifNoneMatch_ = entityTag
 49291  	return c
 49292  }
 49293  
 49294  // Context sets the context to be used in this call's Do method. Any
 49295  // pending HTTP request will be aborted if the provided context is
 49296  // canceled.
 49297  func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 49298  	c.ctx_ = ctx
 49299  	return c
 49300  }
 49301  
 49302  // Header returns an http.Header that can be modified by the caller to
 49303  // add HTTP headers to the request.
 49304  func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
 49305  	if c.header_ == nil {
 49306  		c.header_ = make(http.Header)
 49307  	}
 49308  	return c.header_
 49309  }
 49310  
 49311  func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 49312  	reqHeaders := make(http.Header)
 49313  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49314  	for k, v := range c.header_ {
 49315  		reqHeaders[k] = v
 49316  	}
 49317  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49318  	if c.ifNoneMatch_ != "" {
 49319  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49320  	}
 49321  	var body io.Reader = nil
 49322  	c.urlParams_.Set("alt", alt)
 49323  	c.urlParams_.Set("prettyPrint", "false")
 49324  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
 49325  	urls += "?" + c.urlParams_.Encode()
 49326  	req, err := http.NewRequest("GET", urls, body)
 49327  	if err != nil {
 49328  		return nil, err
 49329  	}
 49330  	req.Header = reqHeaders
 49331  	googleapi.Expand(req.URL, map[string]string{
 49332  		"profileId": strconv.FormatInt(c.profileId, 10),
 49333  		"id":        strconv.FormatInt(c.id, 10),
 49334  	})
 49335  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49336  }
 49337  
 49338  // Do executes the "dfareporting.userRolePermissionGroups.get" call.
 49339  // Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
 49340  // non-2xx status code is an error. Response headers are in either
 49341  // *UserRolePermissionGroup.ServerResponse.Header or (if a response was
 49342  // returned at all) in error.(*googleapi.Error).Header. Use
 49343  // googleapi.IsNotModified to check whether the returned error was
 49344  // because http.StatusNotModified was returned.
 49345  func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
 49346  	gensupport.SetOptions(c.urlParams_, opts...)
 49347  	res, err := c.doRequest("json")
 49348  	if res != nil && res.StatusCode == http.StatusNotModified {
 49349  		if res.Body != nil {
 49350  			res.Body.Close()
 49351  		}
 49352  		return nil, &googleapi.Error{
 49353  			Code:   res.StatusCode,
 49354  			Header: res.Header,
 49355  		}
 49356  	}
 49357  	if err != nil {
 49358  		return nil, err
 49359  	}
 49360  	defer googleapi.CloseBody(res)
 49361  	if err := googleapi.CheckResponse(res); err != nil {
 49362  		return nil, err
 49363  	}
 49364  	ret := &UserRolePermissionGroup{
 49365  		ServerResponse: googleapi.ServerResponse{
 49366  			Header:         res.Header,
 49367  			HTTPStatusCode: res.StatusCode,
 49368  		},
 49369  	}
 49370  	target := &ret
 49371  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49372  		return nil, err
 49373  	}
 49374  	return ret, nil
 49375  	// {
 49376  	//   "description": "Gets one user role permission group by ID.",
 49377  	//   "httpMethod": "GET",
 49378  	//   "id": "dfareporting.userRolePermissionGroups.get",
 49379  	//   "parameterOrder": [
 49380  	//     "profileId",
 49381  	//     "id"
 49382  	//   ],
 49383  	//   "parameters": {
 49384  	//     "id": {
 49385  	//       "description": "User role permission group ID.",
 49386  	//       "format": "int64",
 49387  	//       "location": "path",
 49388  	//       "required": true,
 49389  	//       "type": "string"
 49390  	//     },
 49391  	//     "profileId": {
 49392  	//       "description": "User profile ID associated with this request.",
 49393  	//       "format": "int64",
 49394  	//       "location": "path",
 49395  	//       "required": true,
 49396  	//       "type": "string"
 49397  	//     }
 49398  	//   },
 49399  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 49400  	//   "response": {
 49401  	//     "$ref": "UserRolePermissionGroup"
 49402  	//   },
 49403  	//   "scopes": [
 49404  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49405  	//   ]
 49406  	// }
 49407  
 49408  }
 49409  
 49410  // method id "dfareporting.userRolePermissionGroups.list":
 49411  
 49412  type UserRolePermissionGroupsListCall struct {
 49413  	s            *Service
 49414  	profileId    int64
 49415  	urlParams_   gensupport.URLParams
 49416  	ifNoneMatch_ string
 49417  	ctx_         context.Context
 49418  	header_      http.Header
 49419  }
 49420  
 49421  // List: Gets a list of all supported user role permission groups.
 49422  func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
 49423  	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49424  	c.profileId = profileId
 49425  	return c
 49426  }
 49427  
 49428  // Fields allows partial responses to be retrieved. See
 49429  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49430  // for more information.
 49431  func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
 49432  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49433  	return c
 49434  }
 49435  
 49436  // IfNoneMatch sets the optional parameter which makes the operation
 49437  // fail if the object's ETag matches the given value. This is useful for
 49438  // getting updates only after the object has changed since the last
 49439  // request. Use googleapi.IsNotModified to check whether the response
 49440  // error from Do is the result of In-None-Match.
 49441  func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
 49442  	c.ifNoneMatch_ = entityTag
 49443  	return c
 49444  }
 49445  
 49446  // Context sets the context to be used in this call's Do method. Any
 49447  // pending HTTP request will be aborted if the provided context is
 49448  // canceled.
 49449  func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 49450  	c.ctx_ = ctx
 49451  	return c
 49452  }
 49453  
 49454  // Header returns an http.Header that can be modified by the caller to
 49455  // add HTTP headers to the request.
 49456  func (c *UserRolePermissionGroupsListCall) Header() http.Header {
 49457  	if c.header_ == nil {
 49458  		c.header_ = make(http.Header)
 49459  	}
 49460  	return c.header_
 49461  }
 49462  
 49463  func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 49464  	reqHeaders := make(http.Header)
 49465  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49466  	for k, v := range c.header_ {
 49467  		reqHeaders[k] = v
 49468  	}
 49469  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49470  	if c.ifNoneMatch_ != "" {
 49471  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49472  	}
 49473  	var body io.Reader = nil
 49474  	c.urlParams_.Set("alt", alt)
 49475  	c.urlParams_.Set("prettyPrint", "false")
 49476  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
 49477  	urls += "?" + c.urlParams_.Encode()
 49478  	req, err := http.NewRequest("GET", urls, body)
 49479  	if err != nil {
 49480  		return nil, err
 49481  	}
 49482  	req.Header = reqHeaders
 49483  	googleapi.Expand(req.URL, map[string]string{
 49484  		"profileId": strconv.FormatInt(c.profileId, 10),
 49485  	})
 49486  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49487  }
 49488  
 49489  // Do executes the "dfareporting.userRolePermissionGroups.list" call.
 49490  // Exactly one of *UserRolePermissionGroupsListResponse or error will be
 49491  // non-nil. Any non-2xx status code is an error. Response headers are in
 49492  // either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
 49493  // (if a response was returned at all) in
 49494  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 49495  // whether the returned error was because http.StatusNotModified was
 49496  // returned.
 49497  func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
 49498  	gensupport.SetOptions(c.urlParams_, opts...)
 49499  	res, err := c.doRequest("json")
 49500  	if res != nil && res.StatusCode == http.StatusNotModified {
 49501  		if res.Body != nil {
 49502  			res.Body.Close()
 49503  		}
 49504  		return nil, &googleapi.Error{
 49505  			Code:   res.StatusCode,
 49506  			Header: res.Header,
 49507  		}
 49508  	}
 49509  	if err != nil {
 49510  		return nil, err
 49511  	}
 49512  	defer googleapi.CloseBody(res)
 49513  	if err := googleapi.CheckResponse(res); err != nil {
 49514  		return nil, err
 49515  	}
 49516  	ret := &UserRolePermissionGroupsListResponse{
 49517  		ServerResponse: googleapi.ServerResponse{
 49518  			Header:         res.Header,
 49519  			HTTPStatusCode: res.StatusCode,
 49520  		},
 49521  	}
 49522  	target := &ret
 49523  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49524  		return nil, err
 49525  	}
 49526  	return ret, nil
 49527  	// {
 49528  	//   "description": "Gets a list of all supported user role permission groups.",
 49529  	//   "httpMethod": "GET",
 49530  	//   "id": "dfareporting.userRolePermissionGroups.list",
 49531  	//   "parameterOrder": [
 49532  	//     "profileId"
 49533  	//   ],
 49534  	//   "parameters": {
 49535  	//     "profileId": {
 49536  	//       "description": "User profile ID associated with this request.",
 49537  	//       "format": "int64",
 49538  	//       "location": "path",
 49539  	//       "required": true,
 49540  	//       "type": "string"
 49541  	//     }
 49542  	//   },
 49543  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
 49544  	//   "response": {
 49545  	//     "$ref": "UserRolePermissionGroupsListResponse"
 49546  	//   },
 49547  	//   "scopes": [
 49548  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49549  	//   ]
 49550  	// }
 49551  
 49552  }
 49553  
 49554  // method id "dfareporting.userRolePermissions.get":
 49555  
 49556  type UserRolePermissionsGetCall struct {
 49557  	s            *Service
 49558  	profileId    int64
 49559  	id           int64
 49560  	urlParams_   gensupport.URLParams
 49561  	ifNoneMatch_ string
 49562  	ctx_         context.Context
 49563  	header_      http.Header
 49564  }
 49565  
 49566  // Get: Gets one user role permission by ID.
 49567  func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
 49568  	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49569  	c.profileId = profileId
 49570  	c.id = id
 49571  	return c
 49572  }
 49573  
 49574  // Fields allows partial responses to be retrieved. See
 49575  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49576  // for more information.
 49577  func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
 49578  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49579  	return c
 49580  }
 49581  
 49582  // IfNoneMatch sets the optional parameter which makes the operation
 49583  // fail if the object's ETag matches the given value. This is useful for
 49584  // getting updates only after the object has changed since the last
 49585  // request. Use googleapi.IsNotModified to check whether the response
 49586  // error from Do is the result of In-None-Match.
 49587  func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
 49588  	c.ifNoneMatch_ = entityTag
 49589  	return c
 49590  }
 49591  
 49592  // Context sets the context to be used in this call's Do method. Any
 49593  // pending HTTP request will be aborted if the provided context is
 49594  // canceled.
 49595  func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 49596  	c.ctx_ = ctx
 49597  	return c
 49598  }
 49599  
 49600  // Header returns an http.Header that can be modified by the caller to
 49601  // add HTTP headers to the request.
 49602  func (c *UserRolePermissionsGetCall) Header() http.Header {
 49603  	if c.header_ == nil {
 49604  		c.header_ = make(http.Header)
 49605  	}
 49606  	return c.header_
 49607  }
 49608  
 49609  func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 49610  	reqHeaders := make(http.Header)
 49611  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49612  	for k, v := range c.header_ {
 49613  		reqHeaders[k] = v
 49614  	}
 49615  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49616  	if c.ifNoneMatch_ != "" {
 49617  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49618  	}
 49619  	var body io.Reader = nil
 49620  	c.urlParams_.Set("alt", alt)
 49621  	c.urlParams_.Set("prettyPrint", "false")
 49622  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
 49623  	urls += "?" + c.urlParams_.Encode()
 49624  	req, err := http.NewRequest("GET", urls, body)
 49625  	if err != nil {
 49626  		return nil, err
 49627  	}
 49628  	req.Header = reqHeaders
 49629  	googleapi.Expand(req.URL, map[string]string{
 49630  		"profileId": strconv.FormatInt(c.profileId, 10),
 49631  		"id":        strconv.FormatInt(c.id, 10),
 49632  	})
 49633  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49634  }
 49635  
 49636  // Do executes the "dfareporting.userRolePermissions.get" call.
 49637  // Exactly one of *UserRolePermission or error will be non-nil. Any
 49638  // non-2xx status code is an error. Response headers are in either
 49639  // *UserRolePermission.ServerResponse.Header or (if a response was
 49640  // returned at all) in error.(*googleapi.Error).Header. Use
 49641  // googleapi.IsNotModified to check whether the returned error was
 49642  // because http.StatusNotModified was returned.
 49643  func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
 49644  	gensupport.SetOptions(c.urlParams_, opts...)
 49645  	res, err := c.doRequest("json")
 49646  	if res != nil && res.StatusCode == http.StatusNotModified {
 49647  		if res.Body != nil {
 49648  			res.Body.Close()
 49649  		}
 49650  		return nil, &googleapi.Error{
 49651  			Code:   res.StatusCode,
 49652  			Header: res.Header,
 49653  		}
 49654  	}
 49655  	if err != nil {
 49656  		return nil, err
 49657  	}
 49658  	defer googleapi.CloseBody(res)
 49659  	if err := googleapi.CheckResponse(res); err != nil {
 49660  		return nil, err
 49661  	}
 49662  	ret := &UserRolePermission{
 49663  		ServerResponse: googleapi.ServerResponse{
 49664  			Header:         res.Header,
 49665  			HTTPStatusCode: res.StatusCode,
 49666  		},
 49667  	}
 49668  	target := &ret
 49669  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49670  		return nil, err
 49671  	}
 49672  	return ret, nil
 49673  	// {
 49674  	//   "description": "Gets one user role permission by ID.",
 49675  	//   "httpMethod": "GET",
 49676  	//   "id": "dfareporting.userRolePermissions.get",
 49677  	//   "parameterOrder": [
 49678  	//     "profileId",
 49679  	//     "id"
 49680  	//   ],
 49681  	//   "parameters": {
 49682  	//     "id": {
 49683  	//       "description": "User role permission ID.",
 49684  	//       "format": "int64",
 49685  	//       "location": "path",
 49686  	//       "required": true,
 49687  	//       "type": "string"
 49688  	//     },
 49689  	//     "profileId": {
 49690  	//       "description": "User profile ID associated with this request.",
 49691  	//       "format": "int64",
 49692  	//       "location": "path",
 49693  	//       "required": true,
 49694  	//       "type": "string"
 49695  	//     }
 49696  	//   },
 49697  	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
 49698  	//   "response": {
 49699  	//     "$ref": "UserRolePermission"
 49700  	//   },
 49701  	//   "scopes": [
 49702  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49703  	//   ]
 49704  	// }
 49705  
 49706  }
 49707  
 49708  // method id "dfareporting.userRolePermissions.list":
 49709  
 49710  type UserRolePermissionsListCall struct {
 49711  	s            *Service
 49712  	profileId    int64
 49713  	urlParams_   gensupport.URLParams
 49714  	ifNoneMatch_ string
 49715  	ctx_         context.Context
 49716  	header_      http.Header
 49717  }
 49718  
 49719  // List: Gets a list of user role permissions, possibly filtered.
 49720  func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
 49721  	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49722  	c.profileId = profileId
 49723  	return c
 49724  }
 49725  
 49726  // Ids sets the optional parameter "ids": Select only user role
 49727  // permissions with these IDs.
 49728  func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
 49729  	var ids_ []string
 49730  	for _, v := range ids {
 49731  		ids_ = append(ids_, fmt.Sprint(v))
 49732  	}
 49733  	c.urlParams_.SetMulti("ids", ids_)
 49734  	return c
 49735  }
 49736  
 49737  // Fields allows partial responses to be retrieved. See
 49738  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49739  // for more information.
 49740  func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
 49741  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49742  	return c
 49743  }
 49744  
 49745  // IfNoneMatch sets the optional parameter which makes the operation
 49746  // fail if the object's ETag matches the given value. This is useful for
 49747  // getting updates only after the object has changed since the last
 49748  // request. Use googleapi.IsNotModified to check whether the response
 49749  // error from Do is the result of In-None-Match.
 49750  func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
 49751  	c.ifNoneMatch_ = entityTag
 49752  	return c
 49753  }
 49754  
 49755  // Context sets the context to be used in this call's Do method. Any
 49756  // pending HTTP request will be aborted if the provided context is
 49757  // canceled.
 49758  func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 49759  	c.ctx_ = ctx
 49760  	return c
 49761  }
 49762  
 49763  // Header returns an http.Header that can be modified by the caller to
 49764  // add HTTP headers to the request.
 49765  func (c *UserRolePermissionsListCall) Header() http.Header {
 49766  	if c.header_ == nil {
 49767  		c.header_ = make(http.Header)
 49768  	}
 49769  	return c.header_
 49770  }
 49771  
 49772  func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 49773  	reqHeaders := make(http.Header)
 49774  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49775  	for k, v := range c.header_ {
 49776  		reqHeaders[k] = v
 49777  	}
 49778  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49779  	if c.ifNoneMatch_ != "" {
 49780  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49781  	}
 49782  	var body io.Reader = nil
 49783  	c.urlParams_.Set("alt", alt)
 49784  	c.urlParams_.Set("prettyPrint", "false")
 49785  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
 49786  	urls += "?" + c.urlParams_.Encode()
 49787  	req, err := http.NewRequest("GET", urls, body)
 49788  	if err != nil {
 49789  		return nil, err
 49790  	}
 49791  	req.Header = reqHeaders
 49792  	googleapi.Expand(req.URL, map[string]string{
 49793  		"profileId": strconv.FormatInt(c.profileId, 10),
 49794  	})
 49795  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49796  }
 49797  
 49798  // Do executes the "dfareporting.userRolePermissions.list" call.
 49799  // Exactly one of *UserRolePermissionsListResponse or error will be
 49800  // non-nil. Any non-2xx status code is an error. Response headers are in
 49801  // either *UserRolePermissionsListResponse.ServerResponse.Header or (if
 49802  // a response was returned at all) in error.(*googleapi.Error).Header.
 49803  // Use googleapi.IsNotModified to check whether the returned error was
 49804  // because http.StatusNotModified was returned.
 49805  func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
 49806  	gensupport.SetOptions(c.urlParams_, opts...)
 49807  	res, err := c.doRequest("json")
 49808  	if res != nil && res.StatusCode == http.StatusNotModified {
 49809  		if res.Body != nil {
 49810  			res.Body.Close()
 49811  		}
 49812  		return nil, &googleapi.Error{
 49813  			Code:   res.StatusCode,
 49814  			Header: res.Header,
 49815  		}
 49816  	}
 49817  	if err != nil {
 49818  		return nil, err
 49819  	}
 49820  	defer googleapi.CloseBody(res)
 49821  	if err := googleapi.CheckResponse(res); err != nil {
 49822  		return nil, err
 49823  	}
 49824  	ret := &UserRolePermissionsListResponse{
 49825  		ServerResponse: googleapi.ServerResponse{
 49826  			Header:         res.Header,
 49827  			HTTPStatusCode: res.StatusCode,
 49828  		},
 49829  	}
 49830  	target := &ret
 49831  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49832  		return nil, err
 49833  	}
 49834  	return ret, nil
 49835  	// {
 49836  	//   "description": "Gets a list of user role permissions, possibly filtered.",
 49837  	//   "httpMethod": "GET",
 49838  	//   "id": "dfareporting.userRolePermissions.list",
 49839  	//   "parameterOrder": [
 49840  	//     "profileId"
 49841  	//   ],
 49842  	//   "parameters": {
 49843  	//     "ids": {
 49844  	//       "description": "Select only user role permissions with these IDs.",
 49845  	//       "format": "int64",
 49846  	//       "location": "query",
 49847  	//       "repeated": true,
 49848  	//       "type": "string"
 49849  	//     },
 49850  	//     "profileId": {
 49851  	//       "description": "User profile ID associated with this request.",
 49852  	//       "format": "int64",
 49853  	//       "location": "path",
 49854  	//       "required": true,
 49855  	//       "type": "string"
 49856  	//     }
 49857  	//   },
 49858  	//   "path": "userprofiles/{profileId}/userRolePermissions",
 49859  	//   "response": {
 49860  	//     "$ref": "UserRolePermissionsListResponse"
 49861  	//   },
 49862  	//   "scopes": [
 49863  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49864  	//   ]
 49865  	// }
 49866  
 49867  }
 49868  
 49869  // method id "dfareporting.userRoles.delete":
 49870  
 49871  type UserRolesDeleteCall struct {
 49872  	s          *Service
 49873  	profileId  int64
 49874  	id         int64
 49875  	urlParams_ gensupport.URLParams
 49876  	ctx_       context.Context
 49877  	header_    http.Header
 49878  }
 49879  
 49880  // Delete: Deletes an existing user role.
 49881  func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
 49882  	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49883  	c.profileId = profileId
 49884  	c.id = id
 49885  	return c
 49886  }
 49887  
 49888  // Fields allows partial responses to be retrieved. See
 49889  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49890  // for more information.
 49891  func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
 49892  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49893  	return c
 49894  }
 49895  
 49896  // Context sets the context to be used in this call's Do method. Any
 49897  // pending HTTP request will be aborted if the provided context is
 49898  // canceled.
 49899  func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 49900  	c.ctx_ = ctx
 49901  	return c
 49902  }
 49903  
 49904  // Header returns an http.Header that can be modified by the caller to
 49905  // add HTTP headers to the request.
 49906  func (c *UserRolesDeleteCall) Header() http.Header {
 49907  	if c.header_ == nil {
 49908  		c.header_ = make(http.Header)
 49909  	}
 49910  	return c.header_
 49911  }
 49912  
 49913  func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 49914  	reqHeaders := make(http.Header)
 49915  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49916  	for k, v := range c.header_ {
 49917  		reqHeaders[k] = v
 49918  	}
 49919  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49920  	var body io.Reader = nil
 49921  	c.urlParams_.Set("alt", alt)
 49922  	c.urlParams_.Set("prettyPrint", "false")
 49923  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 49924  	urls += "?" + c.urlParams_.Encode()
 49925  	req, err := http.NewRequest("DELETE", urls, body)
 49926  	if err != nil {
 49927  		return nil, err
 49928  	}
 49929  	req.Header = reqHeaders
 49930  	googleapi.Expand(req.URL, map[string]string{
 49931  		"profileId": strconv.FormatInt(c.profileId, 10),
 49932  		"id":        strconv.FormatInt(c.id, 10),
 49933  	})
 49934  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49935  }
 49936  
 49937  // Do executes the "dfareporting.userRoles.delete" call.
 49938  func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
 49939  	gensupport.SetOptions(c.urlParams_, opts...)
 49940  	res, err := c.doRequest("json")
 49941  	if err != nil {
 49942  		return err
 49943  	}
 49944  	defer googleapi.CloseBody(res)
 49945  	if err := googleapi.CheckResponse(res); err != nil {
 49946  		return err
 49947  	}
 49948  	return nil
 49949  	// {
 49950  	//   "description": "Deletes an existing user role.",
 49951  	//   "httpMethod": "DELETE",
 49952  	//   "id": "dfareporting.userRoles.delete",
 49953  	//   "parameterOrder": [
 49954  	//     "profileId",
 49955  	//     "id"
 49956  	//   ],
 49957  	//   "parameters": {
 49958  	//     "id": {
 49959  	//       "description": "User role ID.",
 49960  	//       "format": "int64",
 49961  	//       "location": "path",
 49962  	//       "required": true,
 49963  	//       "type": "string"
 49964  	//     },
 49965  	//     "profileId": {
 49966  	//       "description": "User profile ID associated with this request.",
 49967  	//       "format": "int64",
 49968  	//       "location": "path",
 49969  	//       "required": true,
 49970  	//       "type": "string"
 49971  	//     }
 49972  	//   },
 49973  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 49974  	//   "scopes": [
 49975  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49976  	//   ]
 49977  	// }
 49978  
 49979  }
 49980  
 49981  // method id "dfareporting.userRoles.get":
 49982  
 49983  type UserRolesGetCall struct {
 49984  	s            *Service
 49985  	profileId    int64
 49986  	id           int64
 49987  	urlParams_   gensupport.URLParams
 49988  	ifNoneMatch_ string
 49989  	ctx_         context.Context
 49990  	header_      http.Header
 49991  }
 49992  
 49993  // Get: Gets one user role by ID.
 49994  func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
 49995  	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49996  	c.profileId = profileId
 49997  	c.id = id
 49998  	return c
 49999  }
 50000  
 50001  // Fields allows partial responses to be retrieved. See
 50002  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50003  // for more information.
 50004  func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
 50005  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50006  	return c
 50007  }
 50008  
 50009  // IfNoneMatch sets the optional parameter which makes the operation
 50010  // fail if the object's ETag matches the given value. This is useful for
 50011  // getting updates only after the object has changed since the last
 50012  // request. Use googleapi.IsNotModified to check whether the response
 50013  // error from Do is the result of In-None-Match.
 50014  func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
 50015  	c.ifNoneMatch_ = entityTag
 50016  	return c
 50017  }
 50018  
 50019  // Context sets the context to be used in this call's Do method. Any
 50020  // pending HTTP request will be aborted if the provided context is
 50021  // canceled.
 50022  func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 50023  	c.ctx_ = ctx
 50024  	return c
 50025  }
 50026  
 50027  // Header returns an http.Header that can be modified by the caller to
 50028  // add HTTP headers to the request.
 50029  func (c *UserRolesGetCall) Header() http.Header {
 50030  	if c.header_ == nil {
 50031  		c.header_ = make(http.Header)
 50032  	}
 50033  	return c.header_
 50034  }
 50035  
 50036  func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 50037  	reqHeaders := make(http.Header)
 50038  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50039  	for k, v := range c.header_ {
 50040  		reqHeaders[k] = v
 50041  	}
 50042  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50043  	if c.ifNoneMatch_ != "" {
 50044  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50045  	}
 50046  	var body io.Reader = nil
 50047  	c.urlParams_.Set("alt", alt)
 50048  	c.urlParams_.Set("prettyPrint", "false")
 50049  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 50050  	urls += "?" + c.urlParams_.Encode()
 50051  	req, err := http.NewRequest("GET", urls, body)
 50052  	if err != nil {
 50053  		return nil, err
 50054  	}
 50055  	req.Header = reqHeaders
 50056  	googleapi.Expand(req.URL, map[string]string{
 50057  		"profileId": strconv.FormatInt(c.profileId, 10),
 50058  		"id":        strconv.FormatInt(c.id, 10),
 50059  	})
 50060  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50061  }
 50062  
 50063  // Do executes the "dfareporting.userRoles.get" call.
 50064  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50065  // code is an error. Response headers are in either
 50066  // *UserRole.ServerResponse.Header or (if a response was returned at
 50067  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50068  // to check whether the returned error was because
 50069  // http.StatusNotModified was returned.
 50070  func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50071  	gensupport.SetOptions(c.urlParams_, opts...)
 50072  	res, err := c.doRequest("json")
 50073  	if res != nil && res.StatusCode == http.StatusNotModified {
 50074  		if res.Body != nil {
 50075  			res.Body.Close()
 50076  		}
 50077  		return nil, &googleapi.Error{
 50078  			Code:   res.StatusCode,
 50079  			Header: res.Header,
 50080  		}
 50081  	}
 50082  	if err != nil {
 50083  		return nil, err
 50084  	}
 50085  	defer googleapi.CloseBody(res)
 50086  	if err := googleapi.CheckResponse(res); err != nil {
 50087  		return nil, err
 50088  	}
 50089  	ret := &UserRole{
 50090  		ServerResponse: googleapi.ServerResponse{
 50091  			Header:         res.Header,
 50092  			HTTPStatusCode: res.StatusCode,
 50093  		},
 50094  	}
 50095  	target := &ret
 50096  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50097  		return nil, err
 50098  	}
 50099  	return ret, nil
 50100  	// {
 50101  	//   "description": "Gets one user role by ID.",
 50102  	//   "httpMethod": "GET",
 50103  	//   "id": "dfareporting.userRoles.get",
 50104  	//   "parameterOrder": [
 50105  	//     "profileId",
 50106  	//     "id"
 50107  	//   ],
 50108  	//   "parameters": {
 50109  	//     "id": {
 50110  	//       "description": "User role ID.",
 50111  	//       "format": "int64",
 50112  	//       "location": "path",
 50113  	//       "required": true,
 50114  	//       "type": "string"
 50115  	//     },
 50116  	//     "profileId": {
 50117  	//       "description": "User profile ID associated with this request.",
 50118  	//       "format": "int64",
 50119  	//       "location": "path",
 50120  	//       "required": true,
 50121  	//       "type": "string"
 50122  	//     }
 50123  	//   },
 50124  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 50125  	//   "response": {
 50126  	//     "$ref": "UserRole"
 50127  	//   },
 50128  	//   "scopes": [
 50129  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50130  	//   ]
 50131  	// }
 50132  
 50133  }
 50134  
 50135  // method id "dfareporting.userRoles.insert":
 50136  
 50137  type UserRolesInsertCall struct {
 50138  	s          *Service
 50139  	profileId  int64
 50140  	userrole   *UserRole
 50141  	urlParams_ gensupport.URLParams
 50142  	ctx_       context.Context
 50143  	header_    http.Header
 50144  }
 50145  
 50146  // Insert: Inserts a new user role.
 50147  func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
 50148  	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50149  	c.profileId = profileId
 50150  	c.userrole = userrole
 50151  	return c
 50152  }
 50153  
 50154  // Fields allows partial responses to be retrieved. See
 50155  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50156  // for more information.
 50157  func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
 50158  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50159  	return c
 50160  }
 50161  
 50162  // Context sets the context to be used in this call's Do method. Any
 50163  // pending HTTP request will be aborted if the provided context is
 50164  // canceled.
 50165  func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 50166  	c.ctx_ = ctx
 50167  	return c
 50168  }
 50169  
 50170  // Header returns an http.Header that can be modified by the caller to
 50171  // add HTTP headers to the request.
 50172  func (c *UserRolesInsertCall) Header() http.Header {
 50173  	if c.header_ == nil {
 50174  		c.header_ = make(http.Header)
 50175  	}
 50176  	return c.header_
 50177  }
 50178  
 50179  func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
 50180  	reqHeaders := make(http.Header)
 50181  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50182  	for k, v := range c.header_ {
 50183  		reqHeaders[k] = v
 50184  	}
 50185  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50186  	var body io.Reader = nil
 50187  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50188  	if err != nil {
 50189  		return nil, err
 50190  	}
 50191  	reqHeaders.Set("Content-Type", "application/json")
 50192  	c.urlParams_.Set("alt", alt)
 50193  	c.urlParams_.Set("prettyPrint", "false")
 50194  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50195  	urls += "?" + c.urlParams_.Encode()
 50196  	req, err := http.NewRequest("POST", urls, body)
 50197  	if err != nil {
 50198  		return nil, err
 50199  	}
 50200  	req.Header = reqHeaders
 50201  	googleapi.Expand(req.URL, map[string]string{
 50202  		"profileId": strconv.FormatInt(c.profileId, 10),
 50203  	})
 50204  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50205  }
 50206  
 50207  // Do executes the "dfareporting.userRoles.insert" call.
 50208  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50209  // code is an error. Response headers are in either
 50210  // *UserRole.ServerResponse.Header or (if a response was returned at
 50211  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50212  // to check whether the returned error was because
 50213  // http.StatusNotModified was returned.
 50214  func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50215  	gensupport.SetOptions(c.urlParams_, opts...)
 50216  	res, err := c.doRequest("json")
 50217  	if res != nil && res.StatusCode == http.StatusNotModified {
 50218  		if res.Body != nil {
 50219  			res.Body.Close()
 50220  		}
 50221  		return nil, &googleapi.Error{
 50222  			Code:   res.StatusCode,
 50223  			Header: res.Header,
 50224  		}
 50225  	}
 50226  	if err != nil {
 50227  		return nil, err
 50228  	}
 50229  	defer googleapi.CloseBody(res)
 50230  	if err := googleapi.CheckResponse(res); err != nil {
 50231  		return nil, err
 50232  	}
 50233  	ret := &UserRole{
 50234  		ServerResponse: googleapi.ServerResponse{
 50235  			Header:         res.Header,
 50236  			HTTPStatusCode: res.StatusCode,
 50237  		},
 50238  	}
 50239  	target := &ret
 50240  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50241  		return nil, err
 50242  	}
 50243  	return ret, nil
 50244  	// {
 50245  	//   "description": "Inserts a new user role.",
 50246  	//   "httpMethod": "POST",
 50247  	//   "id": "dfareporting.userRoles.insert",
 50248  	//   "parameterOrder": [
 50249  	//     "profileId"
 50250  	//   ],
 50251  	//   "parameters": {
 50252  	//     "profileId": {
 50253  	//       "description": "User profile ID associated with this request.",
 50254  	//       "format": "int64",
 50255  	//       "location": "path",
 50256  	//       "required": true,
 50257  	//       "type": "string"
 50258  	//     }
 50259  	//   },
 50260  	//   "path": "userprofiles/{profileId}/userRoles",
 50261  	//   "request": {
 50262  	//     "$ref": "UserRole"
 50263  	//   },
 50264  	//   "response": {
 50265  	//     "$ref": "UserRole"
 50266  	//   },
 50267  	//   "scopes": [
 50268  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50269  	//   ]
 50270  	// }
 50271  
 50272  }
 50273  
 50274  // method id "dfareporting.userRoles.list":
 50275  
 50276  type UserRolesListCall struct {
 50277  	s            *Service
 50278  	profileId    int64
 50279  	urlParams_   gensupport.URLParams
 50280  	ifNoneMatch_ string
 50281  	ctx_         context.Context
 50282  	header_      http.Header
 50283  }
 50284  
 50285  // List: Retrieves a list of user roles, possibly filtered. This method
 50286  // supports paging.
 50287  func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
 50288  	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50289  	c.profileId = profileId
 50290  	return c
 50291  }
 50292  
 50293  // AccountUserRoleOnly sets the optional parameter
 50294  // "accountUserRoleOnly": Select only account level user roles not
 50295  // associated with any specific subaccount.
 50296  func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
 50297  	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
 50298  	return c
 50299  }
 50300  
 50301  // Ids sets the optional parameter "ids": Select only user roles with
 50302  // the specified IDs.
 50303  func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
 50304  	var ids_ []string
 50305  	for _, v := range ids {
 50306  		ids_ = append(ids_, fmt.Sprint(v))
 50307  	}
 50308  	c.urlParams_.SetMulti("ids", ids_)
 50309  	return c
 50310  }
 50311  
 50312  // MaxResults sets the optional parameter "maxResults": Maximum number
 50313  // of results to return.
 50314  func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
 50315  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 50316  	return c
 50317  }
 50318  
 50319  // PageToken sets the optional parameter "pageToken": Value of the
 50320  // nextPageToken from the previous result page.
 50321  func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
 50322  	c.urlParams_.Set("pageToken", pageToken)
 50323  	return c
 50324  }
 50325  
 50326  // SearchString sets the optional parameter "searchString": Allows
 50327  // searching for objects by name or ID. Wildcards (*) are allowed. For
 50328  // example, "userrole*2015" will return objects with names like
 50329  // "userrole June 2015", "userrole April 2015", or simply "userrole
 50330  // 2015". Most of the searches also add wildcards implicitly at the
 50331  // start and the end of the search string. For example, a search string
 50332  // of "userrole" will match objects with name "my userrole", "userrole
 50333  // 2015", or simply "userrole".
 50334  func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
 50335  	c.urlParams_.Set("searchString", searchString)
 50336  	return c
 50337  }
 50338  
 50339  // SortField sets the optional parameter "sortField": Field by which to
 50340  // sort the list.
 50341  //
 50342  // Possible values:
 50343  //
 50344  //	"ID" (default)
 50345  //	"NAME"
 50346  func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
 50347  	c.urlParams_.Set("sortField", sortField)
 50348  	return c
 50349  }
 50350  
 50351  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 50352  // results.
 50353  //
 50354  // Possible values:
 50355  //
 50356  //	"ASCENDING" (default)
 50357  //	"DESCENDING"
 50358  func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
 50359  	c.urlParams_.Set("sortOrder", sortOrder)
 50360  	return c
 50361  }
 50362  
 50363  // SubaccountId sets the optional parameter "subaccountId": Select only
 50364  // user roles that belong to this subaccount.
 50365  func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
 50366  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 50367  	return c
 50368  }
 50369  
 50370  // Fields allows partial responses to be retrieved. See
 50371  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50372  // for more information.
 50373  func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
 50374  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50375  	return c
 50376  }
 50377  
 50378  // IfNoneMatch sets the optional parameter which makes the operation
 50379  // fail if the object's ETag matches the given value. This is useful for
 50380  // getting updates only after the object has changed since the last
 50381  // request. Use googleapi.IsNotModified to check whether the response
 50382  // error from Do is the result of In-None-Match.
 50383  func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
 50384  	c.ifNoneMatch_ = entityTag
 50385  	return c
 50386  }
 50387  
 50388  // Context sets the context to be used in this call's Do method. Any
 50389  // pending HTTP request will be aborted if the provided context is
 50390  // canceled.
 50391  func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 50392  	c.ctx_ = ctx
 50393  	return c
 50394  }
 50395  
 50396  // Header returns an http.Header that can be modified by the caller to
 50397  // add HTTP headers to the request.
 50398  func (c *UserRolesListCall) Header() http.Header {
 50399  	if c.header_ == nil {
 50400  		c.header_ = make(http.Header)
 50401  	}
 50402  	return c.header_
 50403  }
 50404  
 50405  func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 50406  	reqHeaders := make(http.Header)
 50407  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50408  	for k, v := range c.header_ {
 50409  		reqHeaders[k] = v
 50410  	}
 50411  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50412  	if c.ifNoneMatch_ != "" {
 50413  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50414  	}
 50415  	var body io.Reader = nil
 50416  	c.urlParams_.Set("alt", alt)
 50417  	c.urlParams_.Set("prettyPrint", "false")
 50418  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50419  	urls += "?" + c.urlParams_.Encode()
 50420  	req, err := http.NewRequest("GET", urls, body)
 50421  	if err != nil {
 50422  		return nil, err
 50423  	}
 50424  	req.Header = reqHeaders
 50425  	googleapi.Expand(req.URL, map[string]string{
 50426  		"profileId": strconv.FormatInt(c.profileId, 10),
 50427  	})
 50428  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50429  }
 50430  
 50431  // Do executes the "dfareporting.userRoles.list" call.
 50432  // Exactly one of *UserRolesListResponse or error will be non-nil. Any
 50433  // non-2xx status code is an error. Response headers are in either
 50434  // *UserRolesListResponse.ServerResponse.Header or (if a response was
 50435  // returned at all) in error.(*googleapi.Error).Header. Use
 50436  // googleapi.IsNotModified to check whether the returned error was
 50437  // because http.StatusNotModified was returned.
 50438  func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
 50439  	gensupport.SetOptions(c.urlParams_, opts...)
 50440  	res, err := c.doRequest("json")
 50441  	if res != nil && res.StatusCode == http.StatusNotModified {
 50442  		if res.Body != nil {
 50443  			res.Body.Close()
 50444  		}
 50445  		return nil, &googleapi.Error{
 50446  			Code:   res.StatusCode,
 50447  			Header: res.Header,
 50448  		}
 50449  	}
 50450  	if err != nil {
 50451  		return nil, err
 50452  	}
 50453  	defer googleapi.CloseBody(res)
 50454  	if err := googleapi.CheckResponse(res); err != nil {
 50455  		return nil, err
 50456  	}
 50457  	ret := &UserRolesListResponse{
 50458  		ServerResponse: googleapi.ServerResponse{
 50459  			Header:         res.Header,
 50460  			HTTPStatusCode: res.StatusCode,
 50461  		},
 50462  	}
 50463  	target := &ret
 50464  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50465  		return nil, err
 50466  	}
 50467  	return ret, nil
 50468  	// {
 50469  	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
 50470  	//   "httpMethod": "GET",
 50471  	//   "id": "dfareporting.userRoles.list",
 50472  	//   "parameterOrder": [
 50473  	//     "profileId"
 50474  	//   ],
 50475  	//   "parameters": {
 50476  	//     "accountUserRoleOnly": {
 50477  	//       "description": "Select only account level user roles not associated with any specific subaccount.",
 50478  	//       "location": "query",
 50479  	//       "type": "boolean"
 50480  	//     },
 50481  	//     "ids": {
 50482  	//       "description": "Select only user roles with the specified IDs.",
 50483  	//       "format": "int64",
 50484  	//       "location": "query",
 50485  	//       "repeated": true,
 50486  	//       "type": "string"
 50487  	//     },
 50488  	//     "maxResults": {
 50489  	//       "default": "1000",
 50490  	//       "description": "Maximum number of results to return.",
 50491  	//       "format": "int32",
 50492  	//       "location": "query",
 50493  	//       "maximum": "1000",
 50494  	//       "minimum": "0",
 50495  	//       "type": "integer"
 50496  	//     },
 50497  	//     "pageToken": {
 50498  	//       "description": "Value of the nextPageToken from the previous result page.",
 50499  	//       "location": "query",
 50500  	//       "type": "string"
 50501  	//     },
 50502  	//     "profileId": {
 50503  	//       "description": "User profile ID associated with this request.",
 50504  	//       "format": "int64",
 50505  	//       "location": "path",
 50506  	//       "required": true,
 50507  	//       "type": "string"
 50508  	//     },
 50509  	//     "searchString": {
 50510  	//       "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\".",
 50511  	//       "location": "query",
 50512  	//       "type": "string"
 50513  	//     },
 50514  	//     "sortField": {
 50515  	//       "default": "ID",
 50516  	//       "description": "Field by which to sort the list.",
 50517  	//       "enum": [
 50518  	//         "ID",
 50519  	//         "NAME"
 50520  	//       ],
 50521  	//       "enumDescriptions": [
 50522  	//         "",
 50523  	//         ""
 50524  	//       ],
 50525  	//       "location": "query",
 50526  	//       "type": "string"
 50527  	//     },
 50528  	//     "sortOrder": {
 50529  	//       "default": "ASCENDING",
 50530  	//       "description": "Order of sorted results.",
 50531  	//       "enum": [
 50532  	//         "ASCENDING",
 50533  	//         "DESCENDING"
 50534  	//       ],
 50535  	//       "enumDescriptions": [
 50536  	//         "",
 50537  	//         ""
 50538  	//       ],
 50539  	//       "location": "query",
 50540  	//       "type": "string"
 50541  	//     },
 50542  	//     "subaccountId": {
 50543  	//       "description": "Select only user roles that belong to this subaccount.",
 50544  	//       "format": "int64",
 50545  	//       "location": "query",
 50546  	//       "type": "string"
 50547  	//     }
 50548  	//   },
 50549  	//   "path": "userprofiles/{profileId}/userRoles",
 50550  	//   "response": {
 50551  	//     "$ref": "UserRolesListResponse"
 50552  	//   },
 50553  	//   "scopes": [
 50554  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50555  	//   ]
 50556  	// }
 50557  
 50558  }
 50559  
 50560  // Pages invokes f for each page of results.
 50561  // A non-nil error returned from f will halt the iteration.
 50562  // The provided context supersedes any context provided to the Context method.
 50563  func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
 50564  	c.ctx_ = ctx
 50565  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 50566  	for {
 50567  		x, err := c.Do()
 50568  		if err != nil {
 50569  			return err
 50570  		}
 50571  		if err := f(x); err != nil {
 50572  			return err
 50573  		}
 50574  		if x.NextPageToken == "" {
 50575  			return nil
 50576  		}
 50577  		c.PageToken(x.NextPageToken)
 50578  	}
 50579  }
 50580  
 50581  // method id "dfareporting.userRoles.patch":
 50582  
 50583  type UserRolesPatchCall struct {
 50584  	s          *Service
 50585  	profileId  int64
 50586  	userrole   *UserRole
 50587  	urlParams_ gensupport.URLParams
 50588  	ctx_       context.Context
 50589  	header_    http.Header
 50590  }
 50591  
 50592  // Patch: Updates an existing user role. This method supports patch
 50593  // semantics.
 50594  func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
 50595  	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50596  	c.profileId = profileId
 50597  	c.urlParams_.Set("id", fmt.Sprint(id))
 50598  	c.userrole = userrole
 50599  	return c
 50600  }
 50601  
 50602  // Fields allows partial responses to be retrieved. See
 50603  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50604  // for more information.
 50605  func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
 50606  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50607  	return c
 50608  }
 50609  
 50610  // Context sets the context to be used in this call's Do method. Any
 50611  // pending HTTP request will be aborted if the provided context is
 50612  // canceled.
 50613  func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 50614  	c.ctx_ = ctx
 50615  	return c
 50616  }
 50617  
 50618  // Header returns an http.Header that can be modified by the caller to
 50619  // add HTTP headers to the request.
 50620  func (c *UserRolesPatchCall) Header() http.Header {
 50621  	if c.header_ == nil {
 50622  		c.header_ = make(http.Header)
 50623  	}
 50624  	return c.header_
 50625  }
 50626  
 50627  func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 50628  	reqHeaders := make(http.Header)
 50629  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50630  	for k, v := range c.header_ {
 50631  		reqHeaders[k] = v
 50632  	}
 50633  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50634  	var body io.Reader = nil
 50635  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50636  	if err != nil {
 50637  		return nil, err
 50638  	}
 50639  	reqHeaders.Set("Content-Type", "application/json")
 50640  	c.urlParams_.Set("alt", alt)
 50641  	c.urlParams_.Set("prettyPrint", "false")
 50642  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50643  	urls += "?" + c.urlParams_.Encode()
 50644  	req, err := http.NewRequest("PATCH", urls, body)
 50645  	if err != nil {
 50646  		return nil, err
 50647  	}
 50648  	req.Header = reqHeaders
 50649  	googleapi.Expand(req.URL, map[string]string{
 50650  		"profileId": strconv.FormatInt(c.profileId, 10),
 50651  	})
 50652  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50653  }
 50654  
 50655  // Do executes the "dfareporting.userRoles.patch" call.
 50656  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50657  // code is an error. Response headers are in either
 50658  // *UserRole.ServerResponse.Header or (if a response was returned at
 50659  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50660  // to check whether the returned error was because
 50661  // http.StatusNotModified was returned.
 50662  func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50663  	gensupport.SetOptions(c.urlParams_, opts...)
 50664  	res, err := c.doRequest("json")
 50665  	if res != nil && res.StatusCode == http.StatusNotModified {
 50666  		if res.Body != nil {
 50667  			res.Body.Close()
 50668  		}
 50669  		return nil, &googleapi.Error{
 50670  			Code:   res.StatusCode,
 50671  			Header: res.Header,
 50672  		}
 50673  	}
 50674  	if err != nil {
 50675  		return nil, err
 50676  	}
 50677  	defer googleapi.CloseBody(res)
 50678  	if err := googleapi.CheckResponse(res); err != nil {
 50679  		return nil, err
 50680  	}
 50681  	ret := &UserRole{
 50682  		ServerResponse: googleapi.ServerResponse{
 50683  			Header:         res.Header,
 50684  			HTTPStatusCode: res.StatusCode,
 50685  		},
 50686  	}
 50687  	target := &ret
 50688  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50689  		return nil, err
 50690  	}
 50691  	return ret, nil
 50692  	// {
 50693  	//   "description": "Updates an existing user role. This method supports patch semantics.",
 50694  	//   "httpMethod": "PATCH",
 50695  	//   "id": "dfareporting.userRoles.patch",
 50696  	//   "parameterOrder": [
 50697  	//     "profileId",
 50698  	//     "id"
 50699  	//   ],
 50700  	//   "parameters": {
 50701  	//     "id": {
 50702  	//       "description": "User role ID.",
 50703  	//       "format": "int64",
 50704  	//       "location": "query",
 50705  	//       "required": true,
 50706  	//       "type": "string"
 50707  	//     },
 50708  	//     "profileId": {
 50709  	//       "description": "User profile ID associated with this request.",
 50710  	//       "format": "int64",
 50711  	//       "location": "path",
 50712  	//       "required": true,
 50713  	//       "type": "string"
 50714  	//     }
 50715  	//   },
 50716  	//   "path": "userprofiles/{profileId}/userRoles",
 50717  	//   "request": {
 50718  	//     "$ref": "UserRole"
 50719  	//   },
 50720  	//   "response": {
 50721  	//     "$ref": "UserRole"
 50722  	//   },
 50723  	//   "scopes": [
 50724  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50725  	//   ]
 50726  	// }
 50727  
 50728  }
 50729  
 50730  // method id "dfareporting.userRoles.update":
 50731  
 50732  type UserRolesUpdateCall struct {
 50733  	s          *Service
 50734  	profileId  int64
 50735  	userrole   *UserRole
 50736  	urlParams_ gensupport.URLParams
 50737  	ctx_       context.Context
 50738  	header_    http.Header
 50739  }
 50740  
 50741  // Update: Updates an existing user role.
 50742  func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
 50743  	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50744  	c.profileId = profileId
 50745  	c.userrole = userrole
 50746  	return c
 50747  }
 50748  
 50749  // Fields allows partial responses to be retrieved. See
 50750  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50751  // for more information.
 50752  func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
 50753  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50754  	return c
 50755  }
 50756  
 50757  // Context sets the context to be used in this call's Do method. Any
 50758  // pending HTTP request will be aborted if the provided context is
 50759  // canceled.
 50760  func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 50761  	c.ctx_ = ctx
 50762  	return c
 50763  }
 50764  
 50765  // Header returns an http.Header that can be modified by the caller to
 50766  // add HTTP headers to the request.
 50767  func (c *UserRolesUpdateCall) Header() http.Header {
 50768  	if c.header_ == nil {
 50769  		c.header_ = make(http.Header)
 50770  	}
 50771  	return c.header_
 50772  }
 50773  
 50774  func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 50775  	reqHeaders := make(http.Header)
 50776  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50777  	for k, v := range c.header_ {
 50778  		reqHeaders[k] = v
 50779  	}
 50780  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50781  	var body io.Reader = nil
 50782  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50783  	if err != nil {
 50784  		return nil, err
 50785  	}
 50786  	reqHeaders.Set("Content-Type", "application/json")
 50787  	c.urlParams_.Set("alt", alt)
 50788  	c.urlParams_.Set("prettyPrint", "false")
 50789  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50790  	urls += "?" + c.urlParams_.Encode()
 50791  	req, err := http.NewRequest("PUT", urls, body)
 50792  	if err != nil {
 50793  		return nil, err
 50794  	}
 50795  	req.Header = reqHeaders
 50796  	googleapi.Expand(req.URL, map[string]string{
 50797  		"profileId": strconv.FormatInt(c.profileId, 10),
 50798  	})
 50799  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50800  }
 50801  
 50802  // Do executes the "dfareporting.userRoles.update" call.
 50803  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50804  // code is an error. Response headers are in either
 50805  // *UserRole.ServerResponse.Header or (if a response was returned at
 50806  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50807  // to check whether the returned error was because
 50808  // http.StatusNotModified was returned.
 50809  func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50810  	gensupport.SetOptions(c.urlParams_, opts...)
 50811  	res, err := c.doRequest("json")
 50812  	if res != nil && res.StatusCode == http.StatusNotModified {
 50813  		if res.Body != nil {
 50814  			res.Body.Close()
 50815  		}
 50816  		return nil, &googleapi.Error{
 50817  			Code:   res.StatusCode,
 50818  			Header: res.Header,
 50819  		}
 50820  	}
 50821  	if err != nil {
 50822  		return nil, err
 50823  	}
 50824  	defer googleapi.CloseBody(res)
 50825  	if err := googleapi.CheckResponse(res); err != nil {
 50826  		return nil, err
 50827  	}
 50828  	ret := &UserRole{
 50829  		ServerResponse: googleapi.ServerResponse{
 50830  			Header:         res.Header,
 50831  			HTTPStatusCode: res.StatusCode,
 50832  		},
 50833  	}
 50834  	target := &ret
 50835  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50836  		return nil, err
 50837  	}
 50838  	return ret, nil
 50839  	// {
 50840  	//   "description": "Updates an existing user role.",
 50841  	//   "httpMethod": "PUT",
 50842  	//   "id": "dfareporting.userRoles.update",
 50843  	//   "parameterOrder": [
 50844  	//     "profileId"
 50845  	//   ],
 50846  	//   "parameters": {
 50847  	//     "profileId": {
 50848  	//       "description": "User profile ID associated with this request.",
 50849  	//       "format": "int64",
 50850  	//       "location": "path",
 50851  	//       "required": true,
 50852  	//       "type": "string"
 50853  	//     }
 50854  	//   },
 50855  	//   "path": "userprofiles/{profileId}/userRoles",
 50856  	//   "request": {
 50857  	//     "$ref": "UserRole"
 50858  	//   },
 50859  	//   "response": {
 50860  	//     "$ref": "UserRole"
 50861  	//   },
 50862  	//   "scopes": [
 50863  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50864  	//   ]
 50865  	// }
 50866  
 50867  }
 50868  
 50869  // method id "dfareporting.videoFormats.get":
 50870  
 50871  type VideoFormatsGetCall struct {
 50872  	s            *Service
 50873  	profileId    int64
 50874  	id           int64
 50875  	urlParams_   gensupport.URLParams
 50876  	ifNoneMatch_ string
 50877  	ctx_         context.Context
 50878  	header_      http.Header
 50879  }
 50880  
 50881  // Get: Gets one video format by ID.
 50882  func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
 50883  	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50884  	c.profileId = profileId
 50885  	c.id = id
 50886  	return c
 50887  }
 50888  
 50889  // Fields allows partial responses to be retrieved. See
 50890  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50891  // for more information.
 50892  func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
 50893  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50894  	return c
 50895  }
 50896  
 50897  // IfNoneMatch sets the optional parameter which makes the operation
 50898  // fail if the object's ETag matches the given value. This is useful for
 50899  // getting updates only after the object has changed since the last
 50900  // request. Use googleapi.IsNotModified to check whether the response
 50901  // error from Do is the result of In-None-Match.
 50902  func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
 50903  	c.ifNoneMatch_ = entityTag
 50904  	return c
 50905  }
 50906  
 50907  // Context sets the context to be used in this call's Do method. Any
 50908  // pending HTTP request will be aborted if the provided context is
 50909  // canceled.
 50910  func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
 50911  	c.ctx_ = ctx
 50912  	return c
 50913  }
 50914  
 50915  // Header returns an http.Header that can be modified by the caller to
 50916  // add HTTP headers to the request.
 50917  func (c *VideoFormatsGetCall) Header() http.Header {
 50918  	if c.header_ == nil {
 50919  		c.header_ = make(http.Header)
 50920  	}
 50921  	return c.header_
 50922  }
 50923  
 50924  func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
 50925  	reqHeaders := make(http.Header)
 50926  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50927  	for k, v := range c.header_ {
 50928  		reqHeaders[k] = v
 50929  	}
 50930  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50931  	if c.ifNoneMatch_ != "" {
 50932  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50933  	}
 50934  	var body io.Reader = nil
 50935  	c.urlParams_.Set("alt", alt)
 50936  	c.urlParams_.Set("prettyPrint", "false")
 50937  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
 50938  	urls += "?" + c.urlParams_.Encode()
 50939  	req, err := http.NewRequest("GET", urls, body)
 50940  	if err != nil {
 50941  		return nil, err
 50942  	}
 50943  	req.Header = reqHeaders
 50944  	googleapi.Expand(req.URL, map[string]string{
 50945  		"profileId": strconv.FormatInt(c.profileId, 10),
 50946  		"id":        strconv.FormatInt(c.id, 10),
 50947  	})
 50948  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50949  }
 50950  
 50951  // Do executes the "dfareporting.videoFormats.get" call.
 50952  // Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
 50953  // status code is an error. Response headers are in either
 50954  // *VideoFormat.ServerResponse.Header or (if a response was returned at
 50955  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50956  // to check whether the returned error was because
 50957  // http.StatusNotModified was returned.
 50958  func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
 50959  	gensupport.SetOptions(c.urlParams_, opts...)
 50960  	res, err := c.doRequest("json")
 50961  	if res != nil && res.StatusCode == http.StatusNotModified {
 50962  		if res.Body != nil {
 50963  			res.Body.Close()
 50964  		}
 50965  		return nil, &googleapi.Error{
 50966  			Code:   res.StatusCode,
 50967  			Header: res.Header,
 50968  		}
 50969  	}
 50970  	if err != nil {
 50971  		return nil, err
 50972  	}
 50973  	defer googleapi.CloseBody(res)
 50974  	if err := googleapi.CheckResponse(res); err != nil {
 50975  		return nil, err
 50976  	}
 50977  	ret := &VideoFormat{
 50978  		ServerResponse: googleapi.ServerResponse{
 50979  			Header:         res.Header,
 50980  			HTTPStatusCode: res.StatusCode,
 50981  		},
 50982  	}
 50983  	target := &ret
 50984  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50985  		return nil, err
 50986  	}
 50987  	return ret, nil
 50988  	// {
 50989  	//   "description": "Gets one video format by ID.",
 50990  	//   "httpMethod": "GET",
 50991  	//   "id": "dfareporting.videoFormats.get",
 50992  	//   "parameterOrder": [
 50993  	//     "profileId",
 50994  	//     "id"
 50995  	//   ],
 50996  	//   "parameters": {
 50997  	//     "id": {
 50998  	//       "description": "Video format ID.",
 50999  	//       "format": "int32",
 51000  	//       "location": "path",
 51001  	//       "required": true,
 51002  	//       "type": "integer"
 51003  	//     },
 51004  	//     "profileId": {
 51005  	//       "description": "User profile ID associated with this request.",
 51006  	//       "format": "int64",
 51007  	//       "location": "path",
 51008  	//       "required": true,
 51009  	//       "type": "string"
 51010  	//     }
 51011  	//   },
 51012  	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
 51013  	//   "response": {
 51014  	//     "$ref": "VideoFormat"
 51015  	//   },
 51016  	//   "scopes": [
 51017  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51018  	//   ]
 51019  	// }
 51020  
 51021  }
 51022  
 51023  // method id "dfareporting.videoFormats.list":
 51024  
 51025  type VideoFormatsListCall struct {
 51026  	s            *Service
 51027  	profileId    int64
 51028  	urlParams_   gensupport.URLParams
 51029  	ifNoneMatch_ string
 51030  	ctx_         context.Context
 51031  	header_      http.Header
 51032  }
 51033  
 51034  // List: Lists available video formats.
 51035  func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
 51036  	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51037  	c.profileId = profileId
 51038  	return c
 51039  }
 51040  
 51041  // Fields allows partial responses to be retrieved. See
 51042  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51043  // for more information.
 51044  func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
 51045  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51046  	return c
 51047  }
 51048  
 51049  // IfNoneMatch sets the optional parameter which makes the operation
 51050  // fail if the object's ETag matches the given value. This is useful for
 51051  // getting updates only after the object has changed since the last
 51052  // request. Use googleapi.IsNotModified to check whether the response
 51053  // error from Do is the result of In-None-Match.
 51054  func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
 51055  	c.ifNoneMatch_ = entityTag
 51056  	return c
 51057  }
 51058  
 51059  // Context sets the context to be used in this call's Do method. Any
 51060  // pending HTTP request will be aborted if the provided context is
 51061  // canceled.
 51062  func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
 51063  	c.ctx_ = ctx
 51064  	return c
 51065  }
 51066  
 51067  // Header returns an http.Header that can be modified by the caller to
 51068  // add HTTP headers to the request.
 51069  func (c *VideoFormatsListCall) Header() http.Header {
 51070  	if c.header_ == nil {
 51071  		c.header_ = make(http.Header)
 51072  	}
 51073  	return c.header_
 51074  }
 51075  
 51076  func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
 51077  	reqHeaders := make(http.Header)
 51078  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 51079  	for k, v := range c.header_ {
 51080  		reqHeaders[k] = v
 51081  	}
 51082  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51083  	if c.ifNoneMatch_ != "" {
 51084  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51085  	}
 51086  	var body io.Reader = nil
 51087  	c.urlParams_.Set("alt", alt)
 51088  	c.urlParams_.Set("prettyPrint", "false")
 51089  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
 51090  	urls += "?" + c.urlParams_.Encode()
 51091  	req, err := http.NewRequest("GET", urls, body)
 51092  	if err != nil {
 51093  		return nil, err
 51094  	}
 51095  	req.Header = reqHeaders
 51096  	googleapi.Expand(req.URL, map[string]string{
 51097  		"profileId": strconv.FormatInt(c.profileId, 10),
 51098  	})
 51099  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51100  }
 51101  
 51102  // Do executes the "dfareporting.videoFormats.list" call.
 51103  // Exactly one of *VideoFormatsListResponse or error will be non-nil.
 51104  // Any non-2xx status code is an error. Response headers are in either
 51105  // *VideoFormatsListResponse.ServerResponse.Header or (if a response was
 51106  // returned at all) in error.(*googleapi.Error).Header. Use
 51107  // googleapi.IsNotModified to check whether the returned error was
 51108  // because http.StatusNotModified was returned.
 51109  func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
 51110  	gensupport.SetOptions(c.urlParams_, opts...)
 51111  	res, err := c.doRequest("json")
 51112  	if res != nil && res.StatusCode == http.StatusNotModified {
 51113  		if res.Body != nil {
 51114  			res.Body.Close()
 51115  		}
 51116  		return nil, &googleapi.Error{
 51117  			Code:   res.StatusCode,
 51118  			Header: res.Header,
 51119  		}
 51120  	}
 51121  	if err != nil {
 51122  		return nil, err
 51123  	}
 51124  	defer googleapi.CloseBody(res)
 51125  	if err := googleapi.CheckResponse(res); err != nil {
 51126  		return nil, err
 51127  	}
 51128  	ret := &VideoFormatsListResponse{
 51129  		ServerResponse: googleapi.ServerResponse{
 51130  			Header:         res.Header,
 51131  			HTTPStatusCode: res.StatusCode,
 51132  		},
 51133  	}
 51134  	target := &ret
 51135  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51136  		return nil, err
 51137  	}
 51138  	return ret, nil
 51139  	// {
 51140  	//   "description": "Lists available video formats.",
 51141  	//   "httpMethod": "GET",
 51142  	//   "id": "dfareporting.videoFormats.list",
 51143  	//   "parameterOrder": [
 51144  	//     "profileId"
 51145  	//   ],
 51146  	//   "parameters": {
 51147  	//     "profileId": {
 51148  	//       "description": "User profile ID associated with this request.",
 51149  	//       "format": "int64",
 51150  	//       "location": "path",
 51151  	//       "required": true,
 51152  	//       "type": "string"
 51153  	//     }
 51154  	//   },
 51155  	//   "path": "userprofiles/{profileId}/videoFormats",
 51156  	//   "response": {
 51157  	//     "$ref": "VideoFormatsListResponse"
 51158  	//   },
 51159  	//   "scopes": [
 51160  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51161  	//   ]
 51162  	// }
 51163  
 51164  }
 51165  

View as plain text