...

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

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

     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.2"
    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.2"
    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.2"
    77  const apiName = "dfareporting"
    78  const apiVersion = "v3.2"
    79  const basePath = "https://www.googleapis.com/dfareporting/v3.2/"
    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.MobileApps = NewMobileAppsService(s)
   163  	s.MobileCarriers = NewMobileCarriersService(s)
   164  	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
   165  	s.OperatingSystems = NewOperatingSystemsService(s)
   166  	s.OrderDocuments = NewOrderDocumentsService(s)
   167  	s.Orders = NewOrdersService(s)
   168  	s.PlacementGroups = NewPlacementGroupsService(s)
   169  	s.PlacementStrategies = NewPlacementStrategiesService(s)
   170  	s.Placements = NewPlacementsService(s)
   171  	s.PlatformTypes = NewPlatformTypesService(s)
   172  	s.PostalCodes = NewPostalCodesService(s)
   173  	s.Projects = NewProjectsService(s)
   174  	s.Regions = NewRegionsService(s)
   175  	s.RemarketingListShares = NewRemarketingListSharesService(s)
   176  	s.RemarketingLists = NewRemarketingListsService(s)
   177  	s.Reports = NewReportsService(s)
   178  	s.Sites = NewSitesService(s)
   179  	s.Sizes = NewSizesService(s)
   180  	s.Subaccounts = NewSubaccountsService(s)
   181  	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
   182  	s.TargetingTemplates = NewTargetingTemplatesService(s)
   183  	s.UserProfiles = NewUserProfilesService(s)
   184  	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
   185  	s.UserRolePermissions = NewUserRolePermissionsService(s)
   186  	s.UserRoles = NewUserRolesService(s)
   187  	s.VideoFormats = NewVideoFormatsService(s)
   188  	return s, nil
   189  }
   190  
   191  type Service struct {
   192  	client    *http.Client
   193  	BasePath  string // API endpoint base URL
   194  	UserAgent string // optional additional User-Agent fragment
   195  
   196  	AccountActiveAdSummaries *AccountActiveAdSummariesService
   197  
   198  	AccountPermissionGroups *AccountPermissionGroupsService
   199  
   200  	AccountPermissions *AccountPermissionsService
   201  
   202  	AccountUserProfiles *AccountUserProfilesService
   203  
   204  	Accounts *AccountsService
   205  
   206  	Ads *AdsService
   207  
   208  	AdvertiserGroups *AdvertiserGroupsService
   209  
   210  	AdvertiserLandingPages *AdvertiserLandingPagesService
   211  
   212  	Advertisers *AdvertisersService
   213  
   214  	Browsers *BrowsersService
   215  
   216  	CampaignCreativeAssociations *CampaignCreativeAssociationsService
   217  
   218  	Campaigns *CampaignsService
   219  
   220  	ChangeLogs *ChangeLogsService
   221  
   222  	Cities *CitiesService
   223  
   224  	ConnectionTypes *ConnectionTypesService
   225  
   226  	ContentCategories *ContentCategoriesService
   227  
   228  	Conversions *ConversionsService
   229  
   230  	Countries *CountriesService
   231  
   232  	CreativeAssets *CreativeAssetsService
   233  
   234  	CreativeFieldValues *CreativeFieldValuesService
   235  
   236  	CreativeFields *CreativeFieldsService
   237  
   238  	CreativeGroups *CreativeGroupsService
   239  
   240  	Creatives *CreativesService
   241  
   242  	DimensionValues *DimensionValuesService
   243  
   244  	DirectorySiteContacts *DirectorySiteContactsService
   245  
   246  	DirectorySites *DirectorySitesService
   247  
   248  	DynamicTargetingKeys *DynamicTargetingKeysService
   249  
   250  	EventTags *EventTagsService
   251  
   252  	Files *FilesService
   253  
   254  	FloodlightActivities *FloodlightActivitiesService
   255  
   256  	FloodlightActivityGroups *FloodlightActivityGroupsService
   257  
   258  	FloodlightConfigurations *FloodlightConfigurationsService
   259  
   260  	InventoryItems *InventoryItemsService
   261  
   262  	Languages *LanguagesService
   263  
   264  	Metros *MetrosService
   265  
   266  	MobileApps *MobileAppsService
   267  
   268  	MobileCarriers *MobileCarriersService
   269  
   270  	OperatingSystemVersions *OperatingSystemVersionsService
   271  
   272  	OperatingSystems *OperatingSystemsService
   273  
   274  	OrderDocuments *OrderDocumentsService
   275  
   276  	Orders *OrdersService
   277  
   278  	PlacementGroups *PlacementGroupsService
   279  
   280  	PlacementStrategies *PlacementStrategiesService
   281  
   282  	Placements *PlacementsService
   283  
   284  	PlatformTypes *PlatformTypesService
   285  
   286  	PostalCodes *PostalCodesService
   287  
   288  	Projects *ProjectsService
   289  
   290  	Regions *RegionsService
   291  
   292  	RemarketingListShares *RemarketingListSharesService
   293  
   294  	RemarketingLists *RemarketingListsService
   295  
   296  	Reports *ReportsService
   297  
   298  	Sites *SitesService
   299  
   300  	Sizes *SizesService
   301  
   302  	Subaccounts *SubaccountsService
   303  
   304  	TargetableRemarketingLists *TargetableRemarketingListsService
   305  
   306  	TargetingTemplates *TargetingTemplatesService
   307  
   308  	UserProfiles *UserProfilesService
   309  
   310  	UserRolePermissionGroups *UserRolePermissionGroupsService
   311  
   312  	UserRolePermissions *UserRolePermissionsService
   313  
   314  	UserRoles *UserRolesService
   315  
   316  	VideoFormats *VideoFormatsService
   317  }
   318  
   319  func (s *Service) userAgent() string {
   320  	if s.UserAgent == "" {
   321  		return googleapi.UserAgent
   322  	}
   323  	return googleapi.UserAgent + " " + s.UserAgent
   324  }
   325  
   326  func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
   327  	rs := &AccountActiveAdSummariesService{s: s}
   328  	return rs
   329  }
   330  
   331  type AccountActiveAdSummariesService struct {
   332  	s *Service
   333  }
   334  
   335  func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
   336  	rs := &AccountPermissionGroupsService{s: s}
   337  	return rs
   338  }
   339  
   340  type AccountPermissionGroupsService struct {
   341  	s *Service
   342  }
   343  
   344  func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
   345  	rs := &AccountPermissionsService{s: s}
   346  	return rs
   347  }
   348  
   349  type AccountPermissionsService struct {
   350  	s *Service
   351  }
   352  
   353  func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
   354  	rs := &AccountUserProfilesService{s: s}
   355  	return rs
   356  }
   357  
   358  type AccountUserProfilesService struct {
   359  	s *Service
   360  }
   361  
   362  func NewAccountsService(s *Service) *AccountsService {
   363  	rs := &AccountsService{s: s}
   364  	return rs
   365  }
   366  
   367  type AccountsService struct {
   368  	s *Service
   369  }
   370  
   371  func NewAdsService(s *Service) *AdsService {
   372  	rs := &AdsService{s: s}
   373  	return rs
   374  }
   375  
   376  type AdsService struct {
   377  	s *Service
   378  }
   379  
   380  func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
   381  	rs := &AdvertiserGroupsService{s: s}
   382  	return rs
   383  }
   384  
   385  type AdvertiserGroupsService struct {
   386  	s *Service
   387  }
   388  
   389  func NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
   390  	rs := &AdvertiserLandingPagesService{s: s}
   391  	return rs
   392  }
   393  
   394  type AdvertiserLandingPagesService struct {
   395  	s *Service
   396  }
   397  
   398  func NewAdvertisersService(s *Service) *AdvertisersService {
   399  	rs := &AdvertisersService{s: s}
   400  	return rs
   401  }
   402  
   403  type AdvertisersService struct {
   404  	s *Service
   405  }
   406  
   407  func NewBrowsersService(s *Service) *BrowsersService {
   408  	rs := &BrowsersService{s: s}
   409  	return rs
   410  }
   411  
   412  type BrowsersService struct {
   413  	s *Service
   414  }
   415  
   416  func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
   417  	rs := &CampaignCreativeAssociationsService{s: s}
   418  	return rs
   419  }
   420  
   421  type CampaignCreativeAssociationsService struct {
   422  	s *Service
   423  }
   424  
   425  func NewCampaignsService(s *Service) *CampaignsService {
   426  	rs := &CampaignsService{s: s}
   427  	return rs
   428  }
   429  
   430  type CampaignsService struct {
   431  	s *Service
   432  }
   433  
   434  func NewChangeLogsService(s *Service) *ChangeLogsService {
   435  	rs := &ChangeLogsService{s: s}
   436  	return rs
   437  }
   438  
   439  type ChangeLogsService struct {
   440  	s *Service
   441  }
   442  
   443  func NewCitiesService(s *Service) *CitiesService {
   444  	rs := &CitiesService{s: s}
   445  	return rs
   446  }
   447  
   448  type CitiesService struct {
   449  	s *Service
   450  }
   451  
   452  func NewConnectionTypesService(s *Service) *ConnectionTypesService {
   453  	rs := &ConnectionTypesService{s: s}
   454  	return rs
   455  }
   456  
   457  type ConnectionTypesService struct {
   458  	s *Service
   459  }
   460  
   461  func NewContentCategoriesService(s *Service) *ContentCategoriesService {
   462  	rs := &ContentCategoriesService{s: s}
   463  	return rs
   464  }
   465  
   466  type ContentCategoriesService struct {
   467  	s *Service
   468  }
   469  
   470  func NewConversionsService(s *Service) *ConversionsService {
   471  	rs := &ConversionsService{s: s}
   472  	return rs
   473  }
   474  
   475  type ConversionsService struct {
   476  	s *Service
   477  }
   478  
   479  func NewCountriesService(s *Service) *CountriesService {
   480  	rs := &CountriesService{s: s}
   481  	return rs
   482  }
   483  
   484  type CountriesService struct {
   485  	s *Service
   486  }
   487  
   488  func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
   489  	rs := &CreativeAssetsService{s: s}
   490  	return rs
   491  }
   492  
   493  type CreativeAssetsService struct {
   494  	s *Service
   495  }
   496  
   497  func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
   498  	rs := &CreativeFieldValuesService{s: s}
   499  	return rs
   500  }
   501  
   502  type CreativeFieldValuesService struct {
   503  	s *Service
   504  }
   505  
   506  func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
   507  	rs := &CreativeFieldsService{s: s}
   508  	return rs
   509  }
   510  
   511  type CreativeFieldsService struct {
   512  	s *Service
   513  }
   514  
   515  func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
   516  	rs := &CreativeGroupsService{s: s}
   517  	return rs
   518  }
   519  
   520  type CreativeGroupsService struct {
   521  	s *Service
   522  }
   523  
   524  func NewCreativesService(s *Service) *CreativesService {
   525  	rs := &CreativesService{s: s}
   526  	return rs
   527  }
   528  
   529  type CreativesService struct {
   530  	s *Service
   531  }
   532  
   533  func NewDimensionValuesService(s *Service) *DimensionValuesService {
   534  	rs := &DimensionValuesService{s: s}
   535  	return rs
   536  }
   537  
   538  type DimensionValuesService struct {
   539  	s *Service
   540  }
   541  
   542  func NewDirectorySiteContactsService(s *Service) *DirectorySiteContactsService {
   543  	rs := &DirectorySiteContactsService{s: s}
   544  	return rs
   545  }
   546  
   547  type DirectorySiteContactsService struct {
   548  	s *Service
   549  }
   550  
   551  func NewDirectorySitesService(s *Service) *DirectorySitesService {
   552  	rs := &DirectorySitesService{s: s}
   553  	return rs
   554  }
   555  
   556  type DirectorySitesService struct {
   557  	s *Service
   558  }
   559  
   560  func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
   561  	rs := &DynamicTargetingKeysService{s: s}
   562  	return rs
   563  }
   564  
   565  type DynamicTargetingKeysService struct {
   566  	s *Service
   567  }
   568  
   569  func NewEventTagsService(s *Service) *EventTagsService {
   570  	rs := &EventTagsService{s: s}
   571  	return rs
   572  }
   573  
   574  type EventTagsService struct {
   575  	s *Service
   576  }
   577  
   578  func NewFilesService(s *Service) *FilesService {
   579  	rs := &FilesService{s: s}
   580  	return rs
   581  }
   582  
   583  type FilesService struct {
   584  	s *Service
   585  }
   586  
   587  func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
   588  	rs := &FloodlightActivitiesService{s: s}
   589  	return rs
   590  }
   591  
   592  type FloodlightActivitiesService struct {
   593  	s *Service
   594  }
   595  
   596  func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
   597  	rs := &FloodlightActivityGroupsService{s: s}
   598  	return rs
   599  }
   600  
   601  type FloodlightActivityGroupsService struct {
   602  	s *Service
   603  }
   604  
   605  func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
   606  	rs := &FloodlightConfigurationsService{s: s}
   607  	return rs
   608  }
   609  
   610  type FloodlightConfigurationsService struct {
   611  	s *Service
   612  }
   613  
   614  func NewInventoryItemsService(s *Service) *InventoryItemsService {
   615  	rs := &InventoryItemsService{s: s}
   616  	return rs
   617  }
   618  
   619  type InventoryItemsService struct {
   620  	s *Service
   621  }
   622  
   623  func NewLanguagesService(s *Service) *LanguagesService {
   624  	rs := &LanguagesService{s: s}
   625  	return rs
   626  }
   627  
   628  type LanguagesService struct {
   629  	s *Service
   630  }
   631  
   632  func NewMetrosService(s *Service) *MetrosService {
   633  	rs := &MetrosService{s: s}
   634  	return rs
   635  }
   636  
   637  type MetrosService struct {
   638  	s *Service
   639  }
   640  
   641  func NewMobileAppsService(s *Service) *MobileAppsService {
   642  	rs := &MobileAppsService{s: s}
   643  	return rs
   644  }
   645  
   646  type MobileAppsService struct {
   647  	s *Service
   648  }
   649  
   650  func NewMobileCarriersService(s *Service) *MobileCarriersService {
   651  	rs := &MobileCarriersService{s: s}
   652  	return rs
   653  }
   654  
   655  type MobileCarriersService struct {
   656  	s *Service
   657  }
   658  
   659  func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
   660  	rs := &OperatingSystemVersionsService{s: s}
   661  	return rs
   662  }
   663  
   664  type OperatingSystemVersionsService struct {
   665  	s *Service
   666  }
   667  
   668  func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
   669  	rs := &OperatingSystemsService{s: s}
   670  	return rs
   671  }
   672  
   673  type OperatingSystemsService struct {
   674  	s *Service
   675  }
   676  
   677  func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
   678  	rs := &OrderDocumentsService{s: s}
   679  	return rs
   680  }
   681  
   682  type OrderDocumentsService struct {
   683  	s *Service
   684  }
   685  
   686  func NewOrdersService(s *Service) *OrdersService {
   687  	rs := &OrdersService{s: s}
   688  	return rs
   689  }
   690  
   691  type OrdersService struct {
   692  	s *Service
   693  }
   694  
   695  func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
   696  	rs := &PlacementGroupsService{s: s}
   697  	return rs
   698  }
   699  
   700  type PlacementGroupsService struct {
   701  	s *Service
   702  }
   703  
   704  func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
   705  	rs := &PlacementStrategiesService{s: s}
   706  	return rs
   707  }
   708  
   709  type PlacementStrategiesService struct {
   710  	s *Service
   711  }
   712  
   713  func NewPlacementsService(s *Service) *PlacementsService {
   714  	rs := &PlacementsService{s: s}
   715  	return rs
   716  }
   717  
   718  type PlacementsService struct {
   719  	s *Service
   720  }
   721  
   722  func NewPlatformTypesService(s *Service) *PlatformTypesService {
   723  	rs := &PlatformTypesService{s: s}
   724  	return rs
   725  }
   726  
   727  type PlatformTypesService struct {
   728  	s *Service
   729  }
   730  
   731  func NewPostalCodesService(s *Service) *PostalCodesService {
   732  	rs := &PostalCodesService{s: s}
   733  	return rs
   734  }
   735  
   736  type PostalCodesService struct {
   737  	s *Service
   738  }
   739  
   740  func NewProjectsService(s *Service) *ProjectsService {
   741  	rs := &ProjectsService{s: s}
   742  	return rs
   743  }
   744  
   745  type ProjectsService struct {
   746  	s *Service
   747  }
   748  
   749  func NewRegionsService(s *Service) *RegionsService {
   750  	rs := &RegionsService{s: s}
   751  	return rs
   752  }
   753  
   754  type RegionsService struct {
   755  	s *Service
   756  }
   757  
   758  func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
   759  	rs := &RemarketingListSharesService{s: s}
   760  	return rs
   761  }
   762  
   763  type RemarketingListSharesService struct {
   764  	s *Service
   765  }
   766  
   767  func NewRemarketingListsService(s *Service) *RemarketingListsService {
   768  	rs := &RemarketingListsService{s: s}
   769  	return rs
   770  }
   771  
   772  type RemarketingListsService struct {
   773  	s *Service
   774  }
   775  
   776  func NewReportsService(s *Service) *ReportsService {
   777  	rs := &ReportsService{s: s}
   778  	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
   779  	rs.Files = NewReportsFilesService(s)
   780  	return rs
   781  }
   782  
   783  type ReportsService struct {
   784  	s *Service
   785  
   786  	CompatibleFields *ReportsCompatibleFieldsService
   787  
   788  	Files *ReportsFilesService
   789  }
   790  
   791  func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
   792  	rs := &ReportsCompatibleFieldsService{s: s}
   793  	return rs
   794  }
   795  
   796  type ReportsCompatibleFieldsService struct {
   797  	s *Service
   798  }
   799  
   800  func NewReportsFilesService(s *Service) *ReportsFilesService {
   801  	rs := &ReportsFilesService{s: s}
   802  	return rs
   803  }
   804  
   805  type ReportsFilesService struct {
   806  	s *Service
   807  }
   808  
   809  func NewSitesService(s *Service) *SitesService {
   810  	rs := &SitesService{s: s}
   811  	return rs
   812  }
   813  
   814  type SitesService struct {
   815  	s *Service
   816  }
   817  
   818  func NewSizesService(s *Service) *SizesService {
   819  	rs := &SizesService{s: s}
   820  	return rs
   821  }
   822  
   823  type SizesService struct {
   824  	s *Service
   825  }
   826  
   827  func NewSubaccountsService(s *Service) *SubaccountsService {
   828  	rs := &SubaccountsService{s: s}
   829  	return rs
   830  }
   831  
   832  type SubaccountsService struct {
   833  	s *Service
   834  }
   835  
   836  func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
   837  	rs := &TargetableRemarketingListsService{s: s}
   838  	return rs
   839  }
   840  
   841  type TargetableRemarketingListsService struct {
   842  	s *Service
   843  }
   844  
   845  func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
   846  	rs := &TargetingTemplatesService{s: s}
   847  	return rs
   848  }
   849  
   850  type TargetingTemplatesService struct {
   851  	s *Service
   852  }
   853  
   854  func NewUserProfilesService(s *Service) *UserProfilesService {
   855  	rs := &UserProfilesService{s: s}
   856  	return rs
   857  }
   858  
   859  type UserProfilesService struct {
   860  	s *Service
   861  }
   862  
   863  func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
   864  	rs := &UserRolePermissionGroupsService{s: s}
   865  	return rs
   866  }
   867  
   868  type UserRolePermissionGroupsService struct {
   869  	s *Service
   870  }
   871  
   872  func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
   873  	rs := &UserRolePermissionsService{s: s}
   874  	return rs
   875  }
   876  
   877  type UserRolePermissionsService struct {
   878  	s *Service
   879  }
   880  
   881  func NewUserRolesService(s *Service) *UserRolesService {
   882  	rs := &UserRolesService{s: s}
   883  	return rs
   884  }
   885  
   886  type UserRolesService struct {
   887  	s *Service
   888  }
   889  
   890  func NewVideoFormatsService(s *Service) *VideoFormatsService {
   891  	rs := &VideoFormatsService{s: s}
   892  	return rs
   893  }
   894  
   895  type VideoFormatsService struct {
   896  	s *Service
   897  }
   898  
   899  // Account: Contains properties of a Campaign Manager account.
   900  type Account struct {
   901  	// AccountPermissionIds: Account permissions assigned to this account.
   902  	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
   903  
   904  	// AccountProfile: Profile for this account. This is a read-only field
   905  	// that can be left blank.
   906  	//
   907  	// Possible values:
   908  	//   "ACCOUNT_PROFILE_BASIC"
   909  	//   "ACCOUNT_PROFILE_STANDARD"
   910  	AccountProfile string `json:"accountProfile,omitempty"`
   911  
   912  	// Active: Whether this account is active.
   913  	Active bool `json:"active,omitempty"`
   914  
   915  	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
   916  	// account.
   917  	//
   918  	// Possible values:
   919  	//   "ACTIVE_ADS_TIER_100K"
   920  	//   "ACTIVE_ADS_TIER_1M"
   921  	//   "ACTIVE_ADS_TIER_200K"
   922  	//   "ACTIVE_ADS_TIER_300K"
   923  	//   "ACTIVE_ADS_TIER_40K"
   924  	//   "ACTIVE_ADS_TIER_500K"
   925  	//   "ACTIVE_ADS_TIER_750K"
   926  	//   "ACTIVE_ADS_TIER_75K"
   927  	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
   928  
   929  	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
   930  	// If disabled, viewability data will not be available for any
   931  	// impressions.
   932  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
   933  
   934  	// AvailablePermissionIds: User role permissions available to the user
   935  	// roles of this account.
   936  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
   937  
   938  	// CountryId: ID of the country associated with this account.
   939  	CountryId int64 `json:"countryId,omitempty,string"`
   940  
   941  	// CurrencyId: ID of currency associated with this account. This is a
   942  	// required field.
   943  	// Acceptable values are:
   944  	// - "1" for USD
   945  	// - "2" for GBP
   946  	// - "3" for ESP
   947  	// - "4" for SEK
   948  	// - "5" for CAD
   949  	// - "6" for JPY
   950  	// - "7" for DEM
   951  	// - "8" for AUD
   952  	// - "9" for FRF
   953  	// - "10" for ITL
   954  	// - "11" for DKK
   955  	// - "12" for NOK
   956  	// - "13" for FIM
   957  	// - "14" for ZAR
   958  	// - "15" for IEP
   959  	// - "16" for NLG
   960  	// - "17" for EUR
   961  	// - "18" for KRW
   962  	// - "19" for TWD
   963  	// - "20" for SGD
   964  	// - "21" for CNY
   965  	// - "22" for HKD
   966  	// - "23" for NZD
   967  	// - "24" for MYR
   968  	// - "25" for BRL
   969  	// - "26" for PTE
   970  	// - "27" for MXP
   971  	// - "28" for CLP
   972  	// - "29" for TRY
   973  	// - "30" for ARS
   974  	// - "31" for PEN
   975  	// - "32" for ILS
   976  	// - "33" for CHF
   977  	// - "34" for VEF
   978  	// - "35" for COP
   979  	// - "36" for GTQ
   980  	// - "37" for PLN
   981  	// - "39" for INR
   982  	// - "40" for THB
   983  	// - "41" for IDR
   984  	// - "42" for CZK
   985  	// - "43" for RON
   986  	// - "44" for HUF
   987  	// - "45" for RUB
   988  	// - "46" for AED
   989  	// - "47" for BGN
   990  	// - "48" for HRK
   991  	// - "49" for MXN
   992  	// - "50" for NGN
   993  	CurrencyId int64 `json:"currencyId,omitempty,string"`
   994  
   995  	// DefaultCreativeSizeId: Default placement dimensions for this account.
   996  	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
   997  
   998  	// Description: Description of this account.
   999  	Description string `json:"description,omitempty"`
  1000  
  1001  	// Id: ID of this account. This is a read-only, auto-generated field.
  1002  	Id int64 `json:"id,omitempty,string"`
  1003  
  1004  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1005  	// string "dfareporting#account".
  1006  	Kind string `json:"kind,omitempty"`
  1007  
  1008  	// Locale: Locale of this account.
  1009  	// Acceptable values are:
  1010  	// - "cs" (Czech)
  1011  	// - "de" (German)
  1012  	// - "en" (English)
  1013  	// - "en-GB" (English United Kingdom)
  1014  	// - "es" (Spanish)
  1015  	// - "fr" (French)
  1016  	// - "it" (Italian)
  1017  	// - "ja" (Japanese)
  1018  	// - "ko" (Korean)
  1019  	// - "pl" (Polish)
  1020  	// - "pt-BR" (Portuguese Brazil)
  1021  	// - "ru" (Russian)
  1022  	// - "sv" (Swedish)
  1023  	// - "tr" (Turkish)
  1024  	// - "zh-CN" (Chinese Simplified)
  1025  	// - "zh-TW" (Chinese Traditional)
  1026  	Locale string `json:"locale,omitempty"`
  1027  
  1028  	// MaximumImageSize: Maximum image size allowed for this account, in
  1029  	// kilobytes. Value must be greater than or equal to 1.
  1030  	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
  1031  
  1032  	// Name: Name of this account. This is a required field, and must be
  1033  	// less than 128 characters long and be globally unique.
  1034  	Name string `json:"name,omitempty"`
  1035  
  1036  	// NielsenOcrEnabled: Whether campaigns created in this account will be
  1037  	// enabled for Nielsen OCR reach ratings by default.
  1038  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
  1039  
  1040  	// ReportsConfiguration: Reporting configuration of this account.
  1041  	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
  1042  
  1043  	// ShareReportsWithTwitter: Share Path to Conversion reports with
  1044  	// Twitter.
  1045  	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
  1046  
  1047  	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
  1048  	// creatives. Acceptable values are 1 to 10240, inclusive.
  1049  	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
  1050  
  1051  	// ServerResponse contains the HTTP response code and headers from the
  1052  	// server.
  1053  	googleapi.ServerResponse `json:"-"`
  1054  
  1055  	// ForceSendFields is a list of field names (e.g.
  1056  	// "AccountPermissionIds") to unconditionally include in API requests.
  1057  	// By default, fields with empty values are omitted from API requests.
  1058  	// However, any non-pointer, non-interface field appearing in
  1059  	// ForceSendFields will be sent to the server regardless of whether the
  1060  	// field is empty or not. This may be used to include empty fields in
  1061  	// Patch requests.
  1062  	ForceSendFields []string `json:"-"`
  1063  
  1064  	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
  1065  	// include in API requests with the JSON null value. By default, fields
  1066  	// with empty values are omitted from API requests. However, any field
  1067  	// with an empty value appearing in NullFields will be sent to the
  1068  	// server as null. It is an error if a field in this list has a
  1069  	// non-empty value. This may be used to include null fields in Patch
  1070  	// requests.
  1071  	NullFields []string `json:"-"`
  1072  }
  1073  
  1074  func (s *Account) MarshalJSON() ([]byte, error) {
  1075  	type NoMethod Account
  1076  	raw := NoMethod(*s)
  1077  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1078  }
  1079  
  1080  // AccountActiveAdSummary: Gets a summary of active ads in an account.
  1081  type AccountActiveAdSummary struct {
  1082  	// AccountId: ID of the account.
  1083  	AccountId int64 `json:"accountId,omitempty,string"`
  1084  
  1085  	// ActiveAds: Ads that have been activated for the account
  1086  	ActiveAds int64 `json:"activeAds,omitempty,string"`
  1087  
  1088  	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
  1089  	// account.
  1090  	//
  1091  	// Possible values:
  1092  	//   "ACTIVE_ADS_TIER_100K"
  1093  	//   "ACTIVE_ADS_TIER_1M"
  1094  	//   "ACTIVE_ADS_TIER_200K"
  1095  	//   "ACTIVE_ADS_TIER_300K"
  1096  	//   "ACTIVE_ADS_TIER_40K"
  1097  	//   "ACTIVE_ADS_TIER_500K"
  1098  	//   "ACTIVE_ADS_TIER_750K"
  1099  	//   "ACTIVE_ADS_TIER_75K"
  1100  	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
  1101  
  1102  	// AvailableAds: Ads that can be activated for the account.
  1103  	AvailableAds int64 `json:"availableAds,omitempty,string"`
  1104  
  1105  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1106  	// string "dfareporting#accountActiveAdSummary".
  1107  	Kind string `json:"kind,omitempty"`
  1108  
  1109  	// ServerResponse contains the HTTP response code and headers from the
  1110  	// server.
  1111  	googleapi.ServerResponse `json:"-"`
  1112  
  1113  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1114  	// unconditionally include in API requests. By default, fields with
  1115  	// empty values are omitted from API requests. However, any non-pointer,
  1116  	// non-interface field appearing in ForceSendFields will be sent to the
  1117  	// server regardless of whether the field is empty or not. This may be
  1118  	// used to include empty fields in Patch requests.
  1119  	ForceSendFields []string `json:"-"`
  1120  
  1121  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1122  	// API requests with the JSON null value. By default, fields with empty
  1123  	// values are omitted from API requests. However, any field with an
  1124  	// empty value appearing in NullFields will be sent to the server as
  1125  	// null. It is an error if a field in this list has a non-empty value.
  1126  	// This may be used to include null fields in Patch requests.
  1127  	NullFields []string `json:"-"`
  1128  }
  1129  
  1130  func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
  1131  	type NoMethod AccountActiveAdSummary
  1132  	raw := NoMethod(*s)
  1133  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1134  }
  1135  
  1136  // AccountPermission: AccountPermissions contains information about a
  1137  // particular account permission. Some features of Campaign Manager
  1138  // require an account permission to be present in the account.
  1139  type AccountPermission struct {
  1140  	// AccountProfiles: Account profiles associated with this account
  1141  	// permission.
  1142  	//
  1143  	// Possible values are:
  1144  	// - "ACCOUNT_PROFILE_BASIC"
  1145  	// - "ACCOUNT_PROFILE_STANDARD"
  1146  	//
  1147  	// Possible values:
  1148  	//   "ACCOUNT_PROFILE_BASIC"
  1149  	//   "ACCOUNT_PROFILE_STANDARD"
  1150  	AccountProfiles []string `json:"accountProfiles,omitempty"`
  1151  
  1152  	// Id: ID of this account permission.
  1153  	Id int64 `json:"id,omitempty,string"`
  1154  
  1155  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1156  	// string "dfareporting#accountPermission".
  1157  	Kind string `json:"kind,omitempty"`
  1158  
  1159  	// Level: Administrative level required to enable this account
  1160  	// permission.
  1161  	//
  1162  	// Possible values:
  1163  	//   "ADMINISTRATOR"
  1164  	//   "USER"
  1165  	Level string `json:"level,omitempty"`
  1166  
  1167  	// Name: Name of this account permission.
  1168  	Name string `json:"name,omitempty"`
  1169  
  1170  	// PermissionGroupId: Permission group of this account permission.
  1171  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
  1172  
  1173  	// ServerResponse contains the HTTP response code and headers from the
  1174  	// server.
  1175  	googleapi.ServerResponse `json:"-"`
  1176  
  1177  	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
  1178  	// unconditionally include in API requests. By default, fields with
  1179  	// empty values are omitted from API requests. However, any non-pointer,
  1180  	// non-interface field appearing in ForceSendFields will be sent to the
  1181  	// server regardless of whether the field is empty or not. This may be
  1182  	// used to include empty fields in Patch requests.
  1183  	ForceSendFields []string `json:"-"`
  1184  
  1185  	// NullFields is a list of field names (e.g. "AccountProfiles") to
  1186  	// include in API requests with the JSON null value. By default, fields
  1187  	// with empty values are omitted from API requests. However, any field
  1188  	// with an empty value appearing in NullFields will be sent to the
  1189  	// server as null. It is an error if a field in this list has a
  1190  	// non-empty value. This may be used to include null fields in Patch
  1191  	// requests.
  1192  	NullFields []string `json:"-"`
  1193  }
  1194  
  1195  func (s *AccountPermission) MarshalJSON() ([]byte, error) {
  1196  	type NoMethod AccountPermission
  1197  	raw := NoMethod(*s)
  1198  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1199  }
  1200  
  1201  // AccountPermissionGroup: AccountPermissionGroups contains a mapping of
  1202  // permission group IDs to names. A permission group is a grouping of
  1203  // account permissions.
  1204  type AccountPermissionGroup struct {
  1205  	// Id: ID of this account permission group.
  1206  	Id int64 `json:"id,omitempty,string"`
  1207  
  1208  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1209  	// string "dfareporting#accountPermissionGroup".
  1210  	Kind string `json:"kind,omitempty"`
  1211  
  1212  	// Name: Name of this account permission group.
  1213  	Name string `json:"name,omitempty"`
  1214  
  1215  	// ServerResponse contains the HTTP response code and headers from the
  1216  	// server.
  1217  	googleapi.ServerResponse `json:"-"`
  1218  
  1219  	// ForceSendFields is a list of field names (e.g. "Id") to
  1220  	// unconditionally include in API requests. By default, fields with
  1221  	// empty values are omitted from API requests. However, any non-pointer,
  1222  	// non-interface field appearing in ForceSendFields will be sent to the
  1223  	// server regardless of whether the field is empty or not. This may be
  1224  	// used to include empty fields in Patch requests.
  1225  	ForceSendFields []string `json:"-"`
  1226  
  1227  	// NullFields is a list of field names (e.g. "Id") to include in API
  1228  	// requests with the JSON null value. By default, fields with empty
  1229  	// values are omitted from API requests. However, any field with an
  1230  	// empty value appearing in NullFields will be sent to the server as
  1231  	// null. It is an error if a field in this list has a non-empty value.
  1232  	// This may be used to include null fields in Patch requests.
  1233  	NullFields []string `json:"-"`
  1234  }
  1235  
  1236  func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
  1237  	type NoMethod AccountPermissionGroup
  1238  	raw := NoMethod(*s)
  1239  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1240  }
  1241  
  1242  // AccountPermissionGroupsListResponse: Account Permission Group List
  1243  // Response
  1244  type AccountPermissionGroupsListResponse struct {
  1245  	// AccountPermissionGroups: Account permission group collection.
  1246  	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
  1247  
  1248  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1249  	// string "dfareporting#accountPermissionGroupsListResponse".
  1250  	Kind string `json:"kind,omitempty"`
  1251  
  1252  	// ServerResponse contains the HTTP response code and headers from the
  1253  	// server.
  1254  	googleapi.ServerResponse `json:"-"`
  1255  
  1256  	// ForceSendFields is a list of field names (e.g.
  1257  	// "AccountPermissionGroups") to unconditionally include in API
  1258  	// requests. By default, fields with empty values are omitted from API
  1259  	// requests. However, any non-pointer, non-interface field appearing in
  1260  	// ForceSendFields will be sent to the server regardless of whether the
  1261  	// field is empty or not. This may be used to include empty fields in
  1262  	// Patch requests.
  1263  	ForceSendFields []string `json:"-"`
  1264  
  1265  	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
  1266  	// to include in API requests with the JSON null value. By default,
  1267  	// fields with empty values are omitted from API requests. However, any
  1268  	// field with an empty value appearing in NullFields will be sent to the
  1269  	// server as null. It is an error if a field in this list has a
  1270  	// non-empty value. This may be used to include null fields in Patch
  1271  	// requests.
  1272  	NullFields []string `json:"-"`
  1273  }
  1274  
  1275  func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
  1276  	type NoMethod AccountPermissionGroupsListResponse
  1277  	raw := NoMethod(*s)
  1278  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1279  }
  1280  
  1281  // AccountPermissionsListResponse: Account Permission List Response
  1282  type AccountPermissionsListResponse struct {
  1283  	// AccountPermissions: Account permission collection.
  1284  	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
  1285  
  1286  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1287  	// string "dfareporting#accountPermissionsListResponse".
  1288  	Kind string `json:"kind,omitempty"`
  1289  
  1290  	// ServerResponse contains the HTTP response code and headers from the
  1291  	// server.
  1292  	googleapi.ServerResponse `json:"-"`
  1293  
  1294  	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
  1295  	// to unconditionally include in API requests. By default, fields with
  1296  	// empty values are omitted from API requests. However, any non-pointer,
  1297  	// non-interface field appearing in ForceSendFields will be sent to the
  1298  	// server regardless of whether the field is empty or not. This may be
  1299  	// used to include empty fields in Patch requests.
  1300  	ForceSendFields []string `json:"-"`
  1301  
  1302  	// NullFields is a list of field names (e.g. "AccountPermissions") to
  1303  	// include in API requests with the JSON null value. By default, fields
  1304  	// with empty values are omitted from API requests. However, any field
  1305  	// with an empty value appearing in NullFields will be sent to the
  1306  	// server as null. It is an error if a field in this list has a
  1307  	// non-empty value. This may be used to include null fields in Patch
  1308  	// requests.
  1309  	NullFields []string `json:"-"`
  1310  }
  1311  
  1312  func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
  1313  	type NoMethod AccountPermissionsListResponse
  1314  	raw := NoMethod(*s)
  1315  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1316  }
  1317  
  1318  // AccountUserProfile: AccountUserProfiles contains properties of a
  1319  // Campaign Manager user profile. This resource is specifically for
  1320  // managing user profiles, whereas UserProfiles is for accessing the
  1321  // API.
  1322  type AccountUserProfile struct {
  1323  	// AccountId: Account ID of the user profile. This is a read-only field
  1324  	// that can be left blank.
  1325  	AccountId int64 `json:"accountId,omitempty,string"`
  1326  
  1327  	// Active: Whether this user profile is active. This defaults to false,
  1328  	// and must be set true on insert for the user profile to be usable.
  1329  	Active bool `json:"active,omitempty"`
  1330  
  1331  	// AdvertiserFilter: Filter that describes which advertisers are visible
  1332  	// to the user profile.
  1333  	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
  1334  
  1335  	// CampaignFilter: Filter that describes which campaigns are visible to
  1336  	// the user profile.
  1337  	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
  1338  
  1339  	// Comments: Comments for this user profile.
  1340  	Comments string `json:"comments,omitempty"`
  1341  
  1342  	// Email: Email of the user profile. The email addresss must be linked
  1343  	// to a Google Account. This field is required on insertion and is
  1344  	// read-only after insertion.
  1345  	Email string `json:"email,omitempty"`
  1346  
  1347  	// Id: ID of the user profile. This is a read-only, auto-generated
  1348  	// field.
  1349  	Id int64 `json:"id,omitempty,string"`
  1350  
  1351  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1352  	// string "dfareporting#accountUserProfile".
  1353  	Kind string `json:"kind,omitempty"`
  1354  
  1355  	// Locale: Locale of the user profile. This is a required
  1356  	// field.
  1357  	// Acceptable values are:
  1358  	// - "cs" (Czech)
  1359  	// - "de" (German)
  1360  	// - "en" (English)
  1361  	// - "en-GB" (English United Kingdom)
  1362  	// - "es" (Spanish)
  1363  	// - "fr" (French)
  1364  	// - "it" (Italian)
  1365  	// - "ja" (Japanese)
  1366  	// - "ko" (Korean)
  1367  	// - "pl" (Polish)
  1368  	// - "pt-BR" (Portuguese Brazil)
  1369  	// - "ru" (Russian)
  1370  	// - "sv" (Swedish)
  1371  	// - "tr" (Turkish)
  1372  	// - "zh-CN" (Chinese Simplified)
  1373  	// - "zh-TW" (Chinese Traditional)
  1374  	Locale string `json:"locale,omitempty"`
  1375  
  1376  	// Name: Name of the user profile. This is a required field. Must be
  1377  	// less than 64 characters long, must be globally unique, and cannot
  1378  	// contain whitespace or any of the following characters: "&;"#%,".
  1379  	Name string `json:"name,omitempty"`
  1380  
  1381  	// SiteFilter: Filter that describes which sites are visible to the user
  1382  	// profile.
  1383  	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
  1384  
  1385  	// SubaccountId: Subaccount ID of the user profile. This is a read-only
  1386  	// field that can be left blank.
  1387  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1388  
  1389  	// TraffickerType: Trafficker type of this user profile. This is a
  1390  	// read-only field.
  1391  	//
  1392  	// Possible values:
  1393  	//   "EXTERNAL_TRAFFICKER"
  1394  	//   "INTERNAL_NON_TRAFFICKER"
  1395  	//   "INTERNAL_TRAFFICKER"
  1396  	TraffickerType string `json:"traffickerType,omitempty"`
  1397  
  1398  	// UserAccessType: User type of the user profile. This is a read-only
  1399  	// field that can be left blank.
  1400  	//
  1401  	// Possible values:
  1402  	//   "INTERNAL_ADMINISTRATOR"
  1403  	//   "NORMAL_USER"
  1404  	//   "READ_ONLY_SUPER_USER"
  1405  	//   "SUPER_USER"
  1406  	UserAccessType string `json:"userAccessType,omitempty"`
  1407  
  1408  	// UserRoleFilter: Filter that describes which user roles are visible to
  1409  	// the user profile.
  1410  	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
  1411  
  1412  	// UserRoleId: User role ID of the user profile. This is a required
  1413  	// field.
  1414  	UserRoleId int64 `json:"userRoleId,omitempty,string"`
  1415  
  1416  	// ServerResponse contains the HTTP response code and headers from the
  1417  	// server.
  1418  	googleapi.ServerResponse `json:"-"`
  1419  
  1420  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1421  	// unconditionally include in API requests. By default, fields with
  1422  	// empty values are omitted from API requests. However, any non-pointer,
  1423  	// non-interface field appearing in ForceSendFields will be sent to the
  1424  	// server regardless of whether the field is empty or not. This may be
  1425  	// used to include empty fields in Patch requests.
  1426  	ForceSendFields []string `json:"-"`
  1427  
  1428  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1429  	// API requests with the JSON null value. By default, fields with empty
  1430  	// values are omitted from API requests. However, any field with an
  1431  	// empty value appearing in NullFields will be sent to the server as
  1432  	// null. It is an error if a field in this list has a non-empty value.
  1433  	// This may be used to include null fields in Patch requests.
  1434  	NullFields []string `json:"-"`
  1435  }
  1436  
  1437  func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
  1438  	type NoMethod AccountUserProfile
  1439  	raw := NoMethod(*s)
  1440  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1441  }
  1442  
  1443  // AccountUserProfilesListResponse: Account User Profile List Response
  1444  type AccountUserProfilesListResponse struct {
  1445  	// AccountUserProfiles: Account user profile collection.
  1446  	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
  1447  
  1448  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1449  	// string "dfareporting#accountUserProfilesListResponse".
  1450  	Kind string `json:"kind,omitempty"`
  1451  
  1452  	// NextPageToken: Pagination token to be used for the next list
  1453  	// operation.
  1454  	NextPageToken string `json:"nextPageToken,omitempty"`
  1455  
  1456  	// ServerResponse contains the HTTP response code and headers from the
  1457  	// server.
  1458  	googleapi.ServerResponse `json:"-"`
  1459  
  1460  	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
  1461  	// to unconditionally include in API requests. By default, fields with
  1462  	// empty values are omitted from API requests. However, any non-pointer,
  1463  	// non-interface field appearing in ForceSendFields will be sent to the
  1464  	// server regardless of whether the field is empty or not. This may be
  1465  	// used to include empty fields in Patch requests.
  1466  	ForceSendFields []string `json:"-"`
  1467  
  1468  	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
  1469  	// include in API requests with the JSON null value. By default, fields
  1470  	// with empty values are omitted from API requests. However, any field
  1471  	// with an empty value appearing in NullFields will be sent to the
  1472  	// server as null. It is an error if a field in this list has a
  1473  	// non-empty value. This may be used to include null fields in Patch
  1474  	// requests.
  1475  	NullFields []string `json:"-"`
  1476  }
  1477  
  1478  func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
  1479  	type NoMethod AccountUserProfilesListResponse
  1480  	raw := NoMethod(*s)
  1481  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1482  }
  1483  
  1484  // AccountsListResponse: Account List Response
  1485  type AccountsListResponse struct {
  1486  	// Accounts: Account collection.
  1487  	Accounts []*Account `json:"accounts,omitempty"`
  1488  
  1489  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1490  	// string "dfareporting#accountsListResponse".
  1491  	Kind string `json:"kind,omitempty"`
  1492  
  1493  	// NextPageToken: Pagination token to be used for the next list
  1494  	// operation.
  1495  	NextPageToken string `json:"nextPageToken,omitempty"`
  1496  
  1497  	// ServerResponse contains the HTTP response code and headers from the
  1498  	// server.
  1499  	googleapi.ServerResponse `json:"-"`
  1500  
  1501  	// ForceSendFields is a list of field names (e.g. "Accounts") to
  1502  	// unconditionally include in API requests. By default, fields with
  1503  	// empty values are omitted from API requests. However, any non-pointer,
  1504  	// non-interface field appearing in ForceSendFields will be sent to the
  1505  	// server regardless of whether the field is empty or not. This may be
  1506  	// used to include empty fields in Patch requests.
  1507  	ForceSendFields []string `json:"-"`
  1508  
  1509  	// NullFields is a list of field names (e.g. "Accounts") to include in
  1510  	// API requests with the JSON null value. By default, fields with empty
  1511  	// values are omitted from API requests. However, any field with an
  1512  	// empty value appearing in NullFields will be sent to the server as
  1513  	// null. It is an error if a field in this list has a non-empty value.
  1514  	// This may be used to include null fields in Patch requests.
  1515  	NullFields []string `json:"-"`
  1516  }
  1517  
  1518  func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
  1519  	type NoMethod AccountsListResponse
  1520  	raw := NoMethod(*s)
  1521  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1522  }
  1523  
  1524  // Activities: Represents an activity group.
  1525  type Activities struct {
  1526  	// Filters: List of activity filters. The dimension values need to be
  1527  	// all either of type "dfa:activity" or "dfa:activityGroup".
  1528  	Filters []*DimensionValue `json:"filters,omitempty"`
  1529  
  1530  	// Kind: The kind of resource this is, in this case
  1531  	// dfareporting#activities.
  1532  	Kind string `json:"kind,omitempty"`
  1533  
  1534  	// MetricNames: List of names of floodlight activity metrics.
  1535  	MetricNames []string `json:"metricNames,omitempty"`
  1536  
  1537  	// ForceSendFields is a list of field names (e.g. "Filters") to
  1538  	// unconditionally include in API requests. By default, fields with
  1539  	// empty values are omitted from API requests. However, any non-pointer,
  1540  	// non-interface field appearing in ForceSendFields will be sent to the
  1541  	// server regardless of whether the field is empty or not. This may be
  1542  	// used to include empty fields in Patch requests.
  1543  	ForceSendFields []string `json:"-"`
  1544  
  1545  	// NullFields is a list of field names (e.g. "Filters") to include in
  1546  	// API requests with the JSON null value. By default, fields with empty
  1547  	// values are omitted from API requests. However, any field with an
  1548  	// empty value appearing in NullFields will be sent to the server as
  1549  	// null. It is an error if a field in this list has a non-empty value.
  1550  	// This may be used to include null fields in Patch requests.
  1551  	NullFields []string `json:"-"`
  1552  }
  1553  
  1554  func (s *Activities) MarshalJSON() ([]byte, error) {
  1555  	type NoMethod Activities
  1556  	raw := NoMethod(*s)
  1557  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1558  }
  1559  
  1560  // Ad: Contains properties of a Campaign Manager ad.
  1561  type Ad struct {
  1562  	// AccountId: Account ID of this ad. This is a read-only field that can
  1563  	// be left blank.
  1564  	AccountId int64 `json:"accountId,omitempty,string"`
  1565  
  1566  	// Active: Whether this ad is active. When true, archived must be false.
  1567  	Active bool `json:"active,omitempty"`
  1568  
  1569  	// AdvertiserId: Advertiser ID of this ad. This is a required field on
  1570  	// insertion.
  1571  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  1572  
  1573  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  1574  	// advertiser. This is a read-only, auto-generated field.
  1575  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  1576  
  1577  	// Archived: Whether this ad is archived. When true, active must be
  1578  	// false.
  1579  	Archived bool `json:"archived,omitempty"`
  1580  
  1581  	// AudienceSegmentId: Audience segment ID that is being targeted for
  1582  	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
  1583  	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
  1584  
  1585  	// CampaignId: Campaign ID of this ad. This is a required field on
  1586  	// insertion.
  1587  	CampaignId int64 `json:"campaignId,omitempty,string"`
  1588  
  1589  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  1590  	// This is a read-only, auto-generated field.
  1591  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  1592  
  1593  	// ClickThroughUrl: Click-through URL for this ad. This is a required
  1594  	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
  1595  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  1596  
  1597  	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
  1598  	// for this ad. Applies to the URL in the ad or (if overriding ad
  1599  	// properties) the URL in the creative.
  1600  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  1601  
  1602  	// Comments: Comments for this ad.
  1603  	Comments string `json:"comments,omitempty"`
  1604  
  1605  	// Compatibility: Compatibility of this ad. Applicable when type is
  1606  	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
  1607  	// either rendering on desktop or on mobile devices or in mobile apps
  1608  	// for regular or interstitial ads, respectively. APP and
  1609  	// APP_INTERSTITIAL are only used for existing default ads. New mobile
  1610  	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
  1611  	// default ads created for those placements will be limited to those
  1612  	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
  1613  	// video ads developed with the VAST standard.
  1614  	//
  1615  	// Possible values:
  1616  	//   "APP"
  1617  	//   "APP_INTERSTITIAL"
  1618  	//   "DISPLAY"
  1619  	//   "DISPLAY_INTERSTITIAL"
  1620  	//   "IN_STREAM_AUDIO"
  1621  	//   "IN_STREAM_VIDEO"
  1622  	Compatibility string `json:"compatibility,omitempty"`
  1623  
  1624  	// CreateInfo: Information about the creation of this ad. This is a
  1625  	// read-only field.
  1626  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  1627  
  1628  	// CreativeGroupAssignments: Creative group assignments for this ad.
  1629  	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
  1630  	// per creative group number is allowed for a maximum of two
  1631  	// assignments.
  1632  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  1633  
  1634  	// CreativeRotation: Creative rotation for this ad. Applicable when type
  1635  	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
  1636  	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
  1637  	// should have exactly one creativeAssignment.
  1638  	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
  1639  
  1640  	// DayPartTargeting: Time and day targeting information for this ad.
  1641  	// This field must be left blank if the ad is using a targeting
  1642  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1643  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
  1644  
  1645  	// DefaultClickThroughEventTagProperties: Default click-through event
  1646  	// tag properties for this ad.
  1647  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  1648  
  1649  	// DeliverySchedule: Delivery schedule information for this ad.
  1650  	// Applicable when type is AD_SERVING_STANDARD_AD or
  1651  	// AD_SERVING_TRACKING. This field along with subfields priority and
  1652  	// impressionRatio are required on insertion when type is
  1653  	// AD_SERVING_STANDARD_AD.
  1654  	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
  1655  
  1656  	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
  1657  	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
  1658  	// field on insert, and is read-only after insert.
  1659  	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
  1660  
  1661  	// EndTime: Date and time that this ad should stop serving. Must be
  1662  	// later than the start time. This is a required field on insertion.
  1663  	EndTime string `json:"endTime,omitempty"`
  1664  
  1665  	// EventTagOverrides: Event tag overrides for this ad.
  1666  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  1667  
  1668  	// GeoTargeting: Geographical targeting information for this ad. This
  1669  	// field must be left blank if the ad is using a targeting template.
  1670  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1671  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
  1672  
  1673  	// Id: ID of this ad. This is a read-only, auto-generated field.
  1674  	Id int64 `json:"id,omitempty,string"`
  1675  
  1676  	// IdDimensionValue: Dimension value for the ID of this ad. This is a
  1677  	// read-only, auto-generated field.
  1678  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1679  
  1680  	// KeyValueTargetingExpression: Key-value targeting information for this
  1681  	// ad. This field must be left blank if the ad is using a targeting
  1682  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1683  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
  1684  
  1685  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1686  	// string "dfareporting#ad".
  1687  	Kind string `json:"kind,omitempty"`
  1688  
  1689  	// LanguageTargeting: Language targeting information for this ad. This
  1690  	// field must be left blank if the ad is using a targeting template.
  1691  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1692  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
  1693  
  1694  	// LastModifiedInfo: Information about the most recent modification of
  1695  	// this ad. This is a read-only field.
  1696  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  1697  
  1698  	// Name: Name of this ad. This is a required field and must be less than
  1699  	// 256 characters long.
  1700  	Name string `json:"name,omitempty"`
  1701  
  1702  	// PlacementAssignments: Placement assignments for this ad.
  1703  	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
  1704  
  1705  	// RemarketingListExpression: Remarketing list targeting expression for
  1706  	// this ad. This field must be left blank if the ad is using a targeting
  1707  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1708  	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
  1709  
  1710  	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
  1711  	Size *Size `json:"size,omitempty"`
  1712  
  1713  	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
  1714  	// field that is auto-generated when the ad is inserted or updated.
  1715  	SslCompliant bool `json:"sslCompliant,omitempty"`
  1716  
  1717  	// SslRequired: Whether this ad requires ssl. This is a read-only field
  1718  	// that is auto-generated when the ad is inserted or updated.
  1719  	SslRequired bool `json:"sslRequired,omitempty"`
  1720  
  1721  	// StartTime: Date and time that this ad should start serving. If
  1722  	// creating an ad, this field must be a time in the future. This is a
  1723  	// required field on insertion.
  1724  	StartTime string `json:"startTime,omitempty"`
  1725  
  1726  	// SubaccountId: Subaccount ID of this ad. This is a read-only field
  1727  	// that can be left blank.
  1728  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1729  
  1730  	// TargetingTemplateId: Targeting template ID, used to apply
  1731  	// preconfigured targeting information to this ad. This cannot be set
  1732  	// while any of dayPartTargeting, geoTargeting,
  1733  	// keyValueTargetingExpression, languageTargeting,
  1734  	// remarketingListExpression, or technologyTargeting are set. Applicable
  1735  	// when type is AD_SERVING_STANDARD_AD.
  1736  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
  1737  
  1738  	// TechnologyTargeting: Technology platform targeting information for
  1739  	// this ad. This field must be left blank if the ad is using a targeting
  1740  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1741  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
  1742  
  1743  	// Type: Type of ad. This is a required field on insertion. Note that
  1744  	// default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see
  1745  	// Creative resource).
  1746  	//
  1747  	// Possible values:
  1748  	//   "AD_SERVING_CLICK_TRACKER"
  1749  	//   "AD_SERVING_DEFAULT_AD"
  1750  	//   "AD_SERVING_STANDARD_AD"
  1751  	//   "AD_SERVING_TRACKING"
  1752  	Type string `json:"type,omitempty"`
  1753  
  1754  	// ServerResponse contains the HTTP response code and headers from the
  1755  	// server.
  1756  	googleapi.ServerResponse `json:"-"`
  1757  
  1758  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1759  	// unconditionally include in API requests. By default, fields with
  1760  	// empty values are omitted from API requests. However, any non-pointer,
  1761  	// non-interface field appearing in ForceSendFields will be sent to the
  1762  	// server regardless of whether the field is empty or not. This may be
  1763  	// used to include empty fields in Patch requests.
  1764  	ForceSendFields []string `json:"-"`
  1765  
  1766  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1767  	// API requests with the JSON null value. By default, fields with empty
  1768  	// values are omitted from API requests. However, any field with an
  1769  	// empty value appearing in NullFields will be sent to the server as
  1770  	// null. It is an error if a field in this list has a non-empty value.
  1771  	// This may be used to include null fields in Patch requests.
  1772  	NullFields []string `json:"-"`
  1773  }
  1774  
  1775  func (s *Ad) MarshalJSON() ([]byte, error) {
  1776  	type NoMethod Ad
  1777  	raw := NoMethod(*s)
  1778  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1779  }
  1780  
  1781  // AdBlockingConfiguration: Campaign ad blocking settings.
  1782  type AdBlockingConfiguration struct {
  1783  	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
  1784  	// a required field when overrideClickThroughUrl is set to true.
  1785  	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
  1786  
  1787  	// CreativeBundleId: ID of a creative bundle to use for this campaign.
  1788  	// If set, brand-neutral ads will select creatives from this bundle.
  1789  	// Otherwise, a default transparent pixel will be used.
  1790  	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
  1791  
  1792  	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
  1793  	// blocking is enabled for placements in the campaign, but this may be
  1794  	// overridden by site and placement settings. When false, ad blocking is
  1795  	// disabled for all placements under the campaign, regardless of site
  1796  	// and placement settings.
  1797  	Enabled bool `json:"enabled,omitempty"`
  1798  
  1799  	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
  1800  	// URL comes from the campaign's creative bundle or the override URL.
  1801  	// Must be set to true if ad blocking is enabled and no creative bundle
  1802  	// is configured.
  1803  	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
  1804  
  1805  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  1806  	// unconditionally include in API requests. By default, fields with
  1807  	// empty values are omitted from API requests. However, any non-pointer,
  1808  	// non-interface field appearing in ForceSendFields will be sent to the
  1809  	// server regardless of whether the field is empty or not. This may be
  1810  	// used to include empty fields in Patch requests.
  1811  	ForceSendFields []string `json:"-"`
  1812  
  1813  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  1814  	// include in API requests with the JSON null value. By default, fields
  1815  	// with empty values are omitted from API requests. However, any field
  1816  	// with an empty value appearing in NullFields will be sent to the
  1817  	// server as null. It is an error if a field in this list has a
  1818  	// non-empty value. This may be used to include null fields in Patch
  1819  	// requests.
  1820  	NullFields []string `json:"-"`
  1821  }
  1822  
  1823  func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
  1824  	type NoMethod AdBlockingConfiguration
  1825  	raw := NoMethod(*s)
  1826  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1827  }
  1828  
  1829  // AdSlot: Ad Slot
  1830  type AdSlot struct {
  1831  	// Comment: Comment for this ad slot.
  1832  	Comment string `json:"comment,omitempty"`
  1833  
  1834  	// Compatibility: Ad slot compatibility. DISPLAY and
  1835  	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
  1836  	// devices or in mobile apps for regular or interstitial ads
  1837  	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
  1838  	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
  1839  	// developed with the VAST standard.
  1840  	//
  1841  	// Possible values:
  1842  	//   "APP"
  1843  	//   "APP_INTERSTITIAL"
  1844  	//   "DISPLAY"
  1845  	//   "DISPLAY_INTERSTITIAL"
  1846  	//   "IN_STREAM_AUDIO"
  1847  	//   "IN_STREAM_VIDEO"
  1848  	Compatibility string `json:"compatibility,omitempty"`
  1849  
  1850  	// Height: Height of this ad slot.
  1851  	Height int64 `json:"height,omitempty,string"`
  1852  
  1853  	// LinkedPlacementId: ID of the placement from an external platform that
  1854  	// is linked to this ad slot.
  1855  	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
  1856  
  1857  	// Name: Name of this ad slot.
  1858  	Name string `json:"name,omitempty"`
  1859  
  1860  	// PaymentSourceType: Payment source type of this ad slot.
  1861  	//
  1862  	// Possible values:
  1863  	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
  1864  	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
  1865  	PaymentSourceType string `json:"paymentSourceType,omitempty"`
  1866  
  1867  	// Primary: Primary ad slot of a roadblock inventory item.
  1868  	Primary bool `json:"primary,omitempty"`
  1869  
  1870  	// Width: Width of this ad slot.
  1871  	Width int64 `json:"width,omitempty,string"`
  1872  
  1873  	// ForceSendFields is a list of field names (e.g. "Comment") to
  1874  	// unconditionally include in API requests. By default, fields with
  1875  	// empty values are omitted from API requests. However, any non-pointer,
  1876  	// non-interface field appearing in ForceSendFields will be sent to the
  1877  	// server regardless of whether the field is empty or not. This may be
  1878  	// used to include empty fields in Patch requests.
  1879  	ForceSendFields []string `json:"-"`
  1880  
  1881  	// NullFields is a list of field names (e.g. "Comment") to include in
  1882  	// API requests with the JSON null value. By default, fields with empty
  1883  	// values are omitted from API requests. However, any field with an
  1884  	// empty value appearing in NullFields will be sent to the server as
  1885  	// null. It is an error if a field in this list has a non-empty value.
  1886  	// This may be used to include null fields in Patch requests.
  1887  	NullFields []string `json:"-"`
  1888  }
  1889  
  1890  func (s *AdSlot) MarshalJSON() ([]byte, error) {
  1891  	type NoMethod AdSlot
  1892  	raw := NoMethod(*s)
  1893  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1894  }
  1895  
  1896  // AdsListResponse: Ad List Response
  1897  type AdsListResponse struct {
  1898  	// Ads: Ad collection.
  1899  	Ads []*Ad `json:"ads,omitempty"`
  1900  
  1901  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1902  	// string "dfareporting#adsListResponse".
  1903  	Kind string `json:"kind,omitempty"`
  1904  
  1905  	// NextPageToken: Pagination token to be used for the next list
  1906  	// operation.
  1907  	NextPageToken string `json:"nextPageToken,omitempty"`
  1908  
  1909  	// ServerResponse contains the HTTP response code and headers from the
  1910  	// server.
  1911  	googleapi.ServerResponse `json:"-"`
  1912  
  1913  	// ForceSendFields is a list of field names (e.g. "Ads") to
  1914  	// unconditionally include in API requests. By default, fields with
  1915  	// empty values are omitted from API requests. However, any non-pointer,
  1916  	// non-interface field appearing in ForceSendFields will be sent to the
  1917  	// server regardless of whether the field is empty or not. This may be
  1918  	// used to include empty fields in Patch requests.
  1919  	ForceSendFields []string `json:"-"`
  1920  
  1921  	// NullFields is a list of field names (e.g. "Ads") to include in API
  1922  	// requests with the JSON null value. By default, fields with empty
  1923  	// values are omitted from API requests. However, any field with an
  1924  	// empty value appearing in NullFields will be sent to the server as
  1925  	// null. It is an error if a field in this list has a non-empty value.
  1926  	// This may be used to include null fields in Patch requests.
  1927  	NullFields []string `json:"-"`
  1928  }
  1929  
  1930  func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
  1931  	type NoMethod AdsListResponse
  1932  	raw := NoMethod(*s)
  1933  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1934  }
  1935  
  1936  // Advertiser: Contains properties of a Campaign Manager advertiser.
  1937  type Advertiser struct {
  1938  	// AccountId: Account ID of this advertiser.This is a read-only field
  1939  	// that can be left blank.
  1940  	AccountId int64 `json:"accountId,omitempty,string"`
  1941  
  1942  	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
  1943  	// to. You can group advertisers for reporting purposes, allowing you to
  1944  	// see aggregated information for all advertisers in each group.
  1945  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  1946  
  1947  	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
  1948  	// creative associations under this advertiser. Must be less than 129
  1949  	// characters long.
  1950  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  1951  
  1952  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  1953  	// apply by default to the landing pages of this advertiser's campaigns.
  1954  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  1955  
  1956  	// DefaultEmail: Default email address used in sender field for tag
  1957  	// emails.
  1958  	DefaultEmail string `json:"defaultEmail,omitempty"`
  1959  
  1960  	// FloodlightConfigurationId: Floodlight configuration ID of this
  1961  	// advertiser. The floodlight configuration ID will be created
  1962  	// automatically, so on insert this field should be left blank. This
  1963  	// field can be set to another advertiser's floodlight configuration ID
  1964  	// in order to share that advertiser's floodlight configuration with
  1965  	// this advertiser, so long as:
  1966  	// - This advertiser's original floodlight configuration is not already
  1967  	// associated with floodlight activities or floodlight activity groups.
  1968  	//
  1969  	// - This advertiser's original floodlight configuration is not already
  1970  	// shared with another advertiser.
  1971  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  1972  
  1973  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  1974  	// of the floodlight configuration. This is a read-only, auto-generated
  1975  	// field.
  1976  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  1977  
  1978  	// Id: ID of this advertiser. This is a read-only, auto-generated field.
  1979  	Id int64 `json:"id,omitempty,string"`
  1980  
  1981  	// IdDimensionValue: Dimension value for the ID of this advertiser. This
  1982  	// is a read-only, auto-generated field.
  1983  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1984  
  1985  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1986  	// string "dfareporting#advertiser".
  1987  	Kind string `json:"kind,omitempty"`
  1988  
  1989  	// Name: Name of this advertiser. This is a required field and must be
  1990  	// less than 256 characters long and unique among advertisers of the
  1991  	// same account.
  1992  	Name string `json:"name,omitempty"`
  1993  
  1994  	// OriginalFloodlightConfigurationId: Original floodlight configuration
  1995  	// before any sharing occurred. Set the floodlightConfigurationId of
  1996  	// this advertiser to originalFloodlightConfigurationId to unshare the
  1997  	// advertiser's current floodlight configuration. You cannot unshare an
  1998  	// advertiser's floodlight configuration if the shared configuration has
  1999  	// activities associated with any campaign or placement.
  2000  	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
  2001  
  2002  	// Status: Status of this advertiser.
  2003  	//
  2004  	// Possible values:
  2005  	//   "APPROVED"
  2006  	//   "ON_HOLD"
  2007  	Status string `json:"status,omitempty"`
  2008  
  2009  	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
  2010  	// field that can be left blank.
  2011  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2012  
  2013  	// Suspended: Suspension status of this advertiser.
  2014  	Suspended bool `json:"suspended,omitempty"`
  2015  
  2016  	// ServerResponse contains the HTTP response code and headers from the
  2017  	// server.
  2018  	googleapi.ServerResponse `json:"-"`
  2019  
  2020  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2021  	// unconditionally include in API requests. By default, fields with
  2022  	// empty values are omitted from API requests. However, any non-pointer,
  2023  	// non-interface field appearing in ForceSendFields will be sent to the
  2024  	// server regardless of whether the field is empty or not. This may be
  2025  	// used to include empty fields in Patch requests.
  2026  	ForceSendFields []string `json:"-"`
  2027  
  2028  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2029  	// API requests with the JSON null value. By default, fields with empty
  2030  	// values are omitted from API requests. However, any field with an
  2031  	// empty value appearing in NullFields will be sent to the server as
  2032  	// null. It is an error if a field in this list has a non-empty value.
  2033  	// This may be used to include null fields in Patch requests.
  2034  	NullFields []string `json:"-"`
  2035  }
  2036  
  2037  func (s *Advertiser) MarshalJSON() ([]byte, error) {
  2038  	type NoMethod Advertiser
  2039  	raw := NoMethod(*s)
  2040  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2041  }
  2042  
  2043  // AdvertiserGroup: Groups advertisers together so that reports can be
  2044  // generated for the entire group at once.
  2045  type AdvertiserGroup struct {
  2046  	// AccountId: Account ID of this advertiser group. This is a read-only
  2047  	// field that can be left blank.
  2048  	AccountId int64 `json:"accountId,omitempty,string"`
  2049  
  2050  	// Id: ID of this advertiser group. This is a read-only, auto-generated
  2051  	// field.
  2052  	Id int64 `json:"id,omitempty,string"`
  2053  
  2054  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2055  	// string "dfareporting#advertiserGroup".
  2056  	Kind string `json:"kind,omitempty"`
  2057  
  2058  	// Name: Name of this advertiser group. This is a required field and
  2059  	// must be less than 256 characters long and unique among advertiser
  2060  	// groups of the same account.
  2061  	Name string `json:"name,omitempty"`
  2062  
  2063  	// ServerResponse contains the HTTP response code and headers from the
  2064  	// server.
  2065  	googleapi.ServerResponse `json:"-"`
  2066  
  2067  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2068  	// unconditionally include in API requests. By default, fields with
  2069  	// empty values are omitted from API requests. However, any non-pointer,
  2070  	// non-interface field appearing in ForceSendFields will be sent to the
  2071  	// server regardless of whether the field is empty or not. This may be
  2072  	// used to include empty fields in Patch requests.
  2073  	ForceSendFields []string `json:"-"`
  2074  
  2075  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2076  	// API requests with the JSON null value. By default, fields with empty
  2077  	// values are omitted from API requests. However, any field with an
  2078  	// empty value appearing in NullFields will be sent to the server as
  2079  	// null. It is an error if a field in this list has a non-empty value.
  2080  	// This may be used to include null fields in Patch requests.
  2081  	NullFields []string `json:"-"`
  2082  }
  2083  
  2084  func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
  2085  	type NoMethod AdvertiserGroup
  2086  	raw := NoMethod(*s)
  2087  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2088  }
  2089  
  2090  // AdvertiserGroupsListResponse: Advertiser Group List Response
  2091  type AdvertiserGroupsListResponse struct {
  2092  	// AdvertiserGroups: Advertiser group collection.
  2093  	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
  2094  
  2095  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2096  	// string "dfareporting#advertiserGroupsListResponse".
  2097  	Kind string `json:"kind,omitempty"`
  2098  
  2099  	// NextPageToken: Pagination token to be used for the next list
  2100  	// operation.
  2101  	NextPageToken string `json:"nextPageToken,omitempty"`
  2102  
  2103  	// ServerResponse contains the HTTP response code and headers from the
  2104  	// server.
  2105  	googleapi.ServerResponse `json:"-"`
  2106  
  2107  	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
  2108  	// unconditionally include in API requests. By default, fields with
  2109  	// empty values are omitted from API requests. However, any non-pointer,
  2110  	// non-interface field appearing in ForceSendFields will be sent to the
  2111  	// server regardless of whether the field is empty or not. This may be
  2112  	// used to include empty fields in Patch requests.
  2113  	ForceSendFields []string `json:"-"`
  2114  
  2115  	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
  2116  	// include in API requests with the JSON null value. By default, fields
  2117  	// with empty values are omitted from API requests. However, any field
  2118  	// with an empty value appearing in NullFields will be sent to the
  2119  	// server as null. It is an error if a field in this list has a
  2120  	// non-empty value. This may be used to include null fields in Patch
  2121  	// requests.
  2122  	NullFields []string `json:"-"`
  2123  }
  2124  
  2125  func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
  2126  	type NoMethod AdvertiserGroupsListResponse
  2127  	raw := NoMethod(*s)
  2128  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2129  }
  2130  
  2131  // AdvertiserLandingPagesListResponse: Landing Page List Response
  2132  type AdvertiserLandingPagesListResponse struct {
  2133  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2134  	// string "dfareporting#advertiserLandingPagesListResponse".
  2135  	Kind string `json:"kind,omitempty"`
  2136  
  2137  	// LandingPages: Landing page collection
  2138  	LandingPages []*LandingPage `json:"landingPages,omitempty"`
  2139  
  2140  	// NextPageToken: Pagination token to be used for the next list
  2141  	// operation.
  2142  	NextPageToken string `json:"nextPageToken,omitempty"`
  2143  
  2144  	// ServerResponse contains the HTTP response code and headers from the
  2145  	// server.
  2146  	googleapi.ServerResponse `json:"-"`
  2147  
  2148  	// ForceSendFields is a list of field names (e.g. "Kind") to
  2149  	// unconditionally include in API requests. By default, fields with
  2150  	// empty values are omitted from API requests. However, any non-pointer,
  2151  	// non-interface field appearing in ForceSendFields will be sent to the
  2152  	// server regardless of whether the field is empty or not. This may be
  2153  	// used to include empty fields in Patch requests.
  2154  	ForceSendFields []string `json:"-"`
  2155  
  2156  	// NullFields is a list of field names (e.g. "Kind") to include in API
  2157  	// requests with the JSON null value. By default, fields with empty
  2158  	// values are omitted from API requests. However, any field with an
  2159  	// empty value appearing in NullFields will be sent to the server as
  2160  	// null. It is an error if a field in this list has a non-empty value.
  2161  	// This may be used to include null fields in Patch requests.
  2162  	NullFields []string `json:"-"`
  2163  }
  2164  
  2165  func (s *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
  2166  	type NoMethod AdvertiserLandingPagesListResponse
  2167  	raw := NoMethod(*s)
  2168  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2169  }
  2170  
  2171  // AdvertisersListResponse: Advertiser List Response
  2172  type AdvertisersListResponse struct {
  2173  	// Advertisers: Advertiser collection.
  2174  	Advertisers []*Advertiser `json:"advertisers,omitempty"`
  2175  
  2176  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2177  	// string "dfareporting#advertisersListResponse".
  2178  	Kind string `json:"kind,omitempty"`
  2179  
  2180  	// NextPageToken: Pagination token to be used for the next list
  2181  	// operation.
  2182  	NextPageToken string `json:"nextPageToken,omitempty"`
  2183  
  2184  	// ServerResponse contains the HTTP response code and headers from the
  2185  	// server.
  2186  	googleapi.ServerResponse `json:"-"`
  2187  
  2188  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
  2189  	// unconditionally include in API requests. By default, fields with
  2190  	// empty values are omitted from API requests. However, any non-pointer,
  2191  	// non-interface field appearing in ForceSendFields will be sent to the
  2192  	// server regardless of whether the field is empty or not. This may be
  2193  	// used to include empty fields in Patch requests.
  2194  	ForceSendFields []string `json:"-"`
  2195  
  2196  	// NullFields is a list of field names (e.g. "Advertisers") to include
  2197  	// in API requests with the JSON null value. By default, fields with
  2198  	// empty values are omitted from API requests. However, any field with
  2199  	// an empty value appearing in NullFields will be sent to the server as
  2200  	// null. It is an error if a field in this list has a non-empty value.
  2201  	// This may be used to include null fields in Patch requests.
  2202  	NullFields []string `json:"-"`
  2203  }
  2204  
  2205  func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
  2206  	type NoMethod AdvertisersListResponse
  2207  	raw := NoMethod(*s)
  2208  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2209  }
  2210  
  2211  // AudienceSegment: Audience Segment.
  2212  type AudienceSegment struct {
  2213  	// Allocation: Weight allocated to this segment. The weight assigned
  2214  	// will be understood in proportion to the weights assigned to other
  2215  	// segments in the same segment group. Acceptable values are 1 to 1000,
  2216  	// inclusive.
  2217  	Allocation int64 `json:"allocation,omitempty"`
  2218  
  2219  	// Id: ID of this audience segment. This is a read-only, auto-generated
  2220  	// field.
  2221  	Id int64 `json:"id,omitempty,string"`
  2222  
  2223  	// Name: Name of this audience segment. This is a required field and
  2224  	// must be less than 65 characters long.
  2225  	Name string `json:"name,omitempty"`
  2226  
  2227  	// ForceSendFields is a list of field names (e.g. "Allocation") to
  2228  	// unconditionally include in API requests. By default, fields with
  2229  	// empty values are omitted from API requests. However, any non-pointer,
  2230  	// non-interface field appearing in ForceSendFields will be sent to the
  2231  	// server regardless of whether the field is empty or not. This may be
  2232  	// used to include empty fields in Patch requests.
  2233  	ForceSendFields []string `json:"-"`
  2234  
  2235  	// NullFields is a list of field names (e.g. "Allocation") to include in
  2236  	// API requests with the JSON null value. By default, fields with empty
  2237  	// values are omitted from API requests. However, any field with an
  2238  	// empty value appearing in NullFields will be sent to the server as
  2239  	// null. It is an error if a field in this list has a non-empty value.
  2240  	// This may be used to include null fields in Patch requests.
  2241  	NullFields []string `json:"-"`
  2242  }
  2243  
  2244  func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
  2245  	type NoMethod AudienceSegment
  2246  	raw := NoMethod(*s)
  2247  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2248  }
  2249  
  2250  // AudienceSegmentGroup: Audience Segment Group.
  2251  type AudienceSegmentGroup struct {
  2252  	// AudienceSegments: Audience segments assigned to this group. The
  2253  	// number of segments must be between 2 and 100.
  2254  	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
  2255  
  2256  	// Id: ID of this audience segment group. This is a read-only,
  2257  	// auto-generated field.
  2258  	Id int64 `json:"id,omitempty,string"`
  2259  
  2260  	// Name: Name of this audience segment group. This is a required field
  2261  	// and must be less than 65 characters long.
  2262  	Name string `json:"name,omitempty"`
  2263  
  2264  	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
  2265  	// unconditionally include in API requests. By default, fields with
  2266  	// empty values are omitted from API requests. However, any non-pointer,
  2267  	// non-interface field appearing in ForceSendFields will be sent to the
  2268  	// server regardless of whether the field is empty or not. This may be
  2269  	// used to include empty fields in Patch requests.
  2270  	ForceSendFields []string `json:"-"`
  2271  
  2272  	// NullFields is a list of field names (e.g. "AudienceSegments") to
  2273  	// include in API requests with the JSON null value. By default, fields
  2274  	// with empty values are omitted from API requests. However, any field
  2275  	// with an empty value appearing in NullFields will be sent to the
  2276  	// server as null. It is an error if a field in this list has a
  2277  	// non-empty value. This may be used to include null fields in Patch
  2278  	// requests.
  2279  	NullFields []string `json:"-"`
  2280  }
  2281  
  2282  func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
  2283  	type NoMethod AudienceSegmentGroup
  2284  	raw := NoMethod(*s)
  2285  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2286  }
  2287  
  2288  // Browser: Contains information about a browser that can be targeted by
  2289  // ads.
  2290  type Browser struct {
  2291  	// BrowserVersionId: ID referring to this grouping of browser and
  2292  	// version numbers. This is the ID used for targeting.
  2293  	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
  2294  
  2295  	// DartId: DART ID of this browser. This is the ID used when generating
  2296  	// reports.
  2297  	DartId int64 `json:"dartId,omitempty,string"`
  2298  
  2299  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2300  	// string "dfareporting#browser".
  2301  	Kind string `json:"kind,omitempty"`
  2302  
  2303  	// MajorVersion: Major version number (leftmost number) of this browser.
  2304  	// For example, for Chrome 5.0.376.86 beta, this field should be set to
  2305  	// 5. An asterisk (*) may be used to target any version number, and a
  2306  	// question mark (?) may be used to target cases where the version
  2307  	// number cannot be identified. For example, Chrome *.* targets any
  2308  	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2309  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2310  	// server knows the browser is Firefox but can't tell which version it
  2311  	// is.
  2312  	MajorVersion string `json:"majorVersion,omitempty"`
  2313  
  2314  	// MinorVersion: Minor version number (number after first dot on left)
  2315  	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
  2316  	// should be set to 0. An asterisk (*) may be used to target any version
  2317  	// number, and a question mark (?) may be used to target cases where the
  2318  	// version number cannot be identified. For example, Chrome *.* targets
  2319  	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2320  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2321  	// server knows the browser is Firefox but can't tell which version it
  2322  	// is.
  2323  	MinorVersion string `json:"minorVersion,omitempty"`
  2324  
  2325  	// Name: Name of this browser.
  2326  	Name string `json:"name,omitempty"`
  2327  
  2328  	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
  2329  	// unconditionally include in API requests. By default, fields with
  2330  	// empty values are omitted from API requests. However, any non-pointer,
  2331  	// non-interface field appearing in ForceSendFields will be sent to the
  2332  	// server regardless of whether the field is empty or not. This may be
  2333  	// used to include empty fields in Patch requests.
  2334  	ForceSendFields []string `json:"-"`
  2335  
  2336  	// NullFields is a list of field names (e.g. "BrowserVersionId") to
  2337  	// include in API requests with the JSON null value. By default, fields
  2338  	// with empty values are omitted from API requests. However, any field
  2339  	// with an empty value appearing in NullFields will be sent to the
  2340  	// server as null. It is an error if a field in this list has a
  2341  	// non-empty value. This may be used to include null fields in Patch
  2342  	// requests.
  2343  	NullFields []string `json:"-"`
  2344  }
  2345  
  2346  func (s *Browser) MarshalJSON() ([]byte, error) {
  2347  	type NoMethod Browser
  2348  	raw := NoMethod(*s)
  2349  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2350  }
  2351  
  2352  // BrowsersListResponse: Browser List Response
  2353  type BrowsersListResponse struct {
  2354  	// Browsers: Browser collection.
  2355  	Browsers []*Browser `json:"browsers,omitempty"`
  2356  
  2357  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2358  	// string "dfareporting#browsersListResponse".
  2359  	Kind string `json:"kind,omitempty"`
  2360  
  2361  	// ServerResponse contains the HTTP response code and headers from the
  2362  	// server.
  2363  	googleapi.ServerResponse `json:"-"`
  2364  
  2365  	// ForceSendFields is a list of field names (e.g. "Browsers") to
  2366  	// unconditionally include in API requests. By default, fields with
  2367  	// empty values are omitted from API requests. However, any non-pointer,
  2368  	// non-interface field appearing in ForceSendFields will be sent to the
  2369  	// server regardless of whether the field is empty or not. This may be
  2370  	// used to include empty fields in Patch requests.
  2371  	ForceSendFields []string `json:"-"`
  2372  
  2373  	// NullFields is a list of field names (e.g. "Browsers") to include in
  2374  	// API requests with the JSON null value. By default, fields with empty
  2375  	// values are omitted from API requests. However, any field with an
  2376  	// empty value appearing in NullFields will be sent to the server as
  2377  	// null. It is an error if a field in this list has a non-empty value.
  2378  	// This may be used to include null fields in Patch requests.
  2379  	NullFields []string `json:"-"`
  2380  }
  2381  
  2382  func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
  2383  	type NoMethod BrowsersListResponse
  2384  	raw := NoMethod(*s)
  2385  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2386  }
  2387  
  2388  // Campaign: Contains properties of a Campaign Manager campaign.
  2389  type Campaign struct {
  2390  	// AccountId: Account ID of this campaign. This is a read-only field
  2391  	// that can be left blank.
  2392  	AccountId int64 `json:"accountId,omitempty,string"`
  2393  
  2394  	// AdBlockingConfiguration: Ad blocking settings for this campaign.
  2395  	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
  2396  
  2397  	// AdditionalCreativeOptimizationConfigurations: Additional creative
  2398  	// optimization configurations for the campaign.
  2399  	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
  2400  
  2401  	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
  2402  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  2403  
  2404  	// AdvertiserId: Advertiser ID of this campaign. This is a required
  2405  	// field.
  2406  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2407  
  2408  	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
  2409  	// this campaign. This is a read-only, auto-generated field.
  2410  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  2411  
  2412  	// Archived: Whether this campaign has been archived.
  2413  	Archived bool `json:"archived,omitempty"`
  2414  
  2415  	// AudienceSegmentGroups: Audience segment groups assigned to this
  2416  	// campaign. Cannot have more than 300 segment groups.
  2417  	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
  2418  
  2419  	// BillingInvoiceCode: Billing invoice code included in the Campaign
  2420  	// Manager client billing invoices associated with the campaign.
  2421  	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
  2422  
  2423  	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
  2424  	// properties for this campaign.
  2425  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  2426  
  2427  	// Comment: Arbitrary comments about this campaign. Must be less than
  2428  	// 256 characters long.
  2429  	Comment string `json:"comment,omitempty"`
  2430  
  2431  	// CreateInfo: Information about the creation of this campaign. This is
  2432  	// a read-only field.
  2433  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  2434  
  2435  	// CreativeGroupIds: List of creative group IDs that are assigned to the
  2436  	// campaign.
  2437  	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
  2438  
  2439  	// CreativeOptimizationConfiguration: Creative optimization
  2440  	// configuration for the campaign.
  2441  	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
  2442  
  2443  	// DefaultClickThroughEventTagProperties: Click-through event tag ID
  2444  	// override properties for this campaign.
  2445  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  2446  
  2447  	// DefaultLandingPageId: The default landing page ID for this campaign.
  2448  	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
  2449  
  2450  	// EndDate: Date on which the campaign will stop running. On insert, the
  2451  	// end date must be today or a future date. The end date must be later
  2452  	// than or be the same as the start date. If, for example, you set
  2453  	// 6/25/2015 as both the start and end dates, the effective campaign run
  2454  	// date is just that day only, 6/25/2015. The hours, minutes, and
  2455  	// seconds of the end date should not be set, as doing so will result in
  2456  	// an error. This is a required field.
  2457  	EndDate string `json:"endDate,omitempty"`
  2458  
  2459  	// EventTagOverrides: Overrides that can be used to activate or
  2460  	// deactivate advertiser event tags.
  2461  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  2462  
  2463  	// ExternalId: External ID for this campaign.
  2464  	ExternalId string `json:"externalId,omitempty"`
  2465  
  2466  	// Id: ID of this campaign. This is a read-only auto-generated field.
  2467  	Id int64 `json:"id,omitempty,string"`
  2468  
  2469  	// IdDimensionValue: Dimension value for the ID of this campaign. This
  2470  	// is a read-only, auto-generated field.
  2471  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  2472  
  2473  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2474  	// string "dfareporting#campaign".
  2475  	Kind string `json:"kind,omitempty"`
  2476  
  2477  	// LastModifiedInfo: Information about the most recent modification of
  2478  	// this campaign. This is a read-only field.
  2479  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  2480  
  2481  	// LookbackConfiguration: Lookback window settings for the campaign.
  2482  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  2483  
  2484  	// Name: Name of this campaign. This is a required field and must be
  2485  	// less than 256 characters long and unique among campaigns of the same
  2486  	// advertiser.
  2487  	Name string `json:"name,omitempty"`
  2488  
  2489  	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
  2490  	// campaign.
  2491  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
  2492  
  2493  	// StartDate: Date on which the campaign starts running. The start date
  2494  	// can be any date. The hours, minutes, and seconds of the start date
  2495  	// should not be set, as doing so will result in an error. This is a
  2496  	// required field.
  2497  	StartDate string `json:"startDate,omitempty"`
  2498  
  2499  	// SubaccountId: Subaccount ID of this campaign. This is a read-only
  2500  	// field that can be left blank.
  2501  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2502  
  2503  	// TraffickerEmails: Campaign trafficker contact emails.
  2504  	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
  2505  
  2506  	// ServerResponse contains the HTTP response code and headers from the
  2507  	// server.
  2508  	googleapi.ServerResponse `json:"-"`
  2509  
  2510  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2511  	// unconditionally include in API requests. By default, fields with
  2512  	// empty values are omitted from API requests. However, any non-pointer,
  2513  	// non-interface field appearing in ForceSendFields will be sent to the
  2514  	// server regardless of whether the field is empty or not. This may be
  2515  	// used to include empty fields in Patch requests.
  2516  	ForceSendFields []string `json:"-"`
  2517  
  2518  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2519  	// API requests with the JSON null value. By default, fields with empty
  2520  	// values are omitted from API requests. However, any field with an
  2521  	// empty value appearing in NullFields will be sent to the server as
  2522  	// null. It is an error if a field in this list has a non-empty value.
  2523  	// This may be used to include null fields in Patch requests.
  2524  	NullFields []string `json:"-"`
  2525  }
  2526  
  2527  func (s *Campaign) MarshalJSON() ([]byte, error) {
  2528  	type NoMethod Campaign
  2529  	raw := NoMethod(*s)
  2530  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2531  }
  2532  
  2533  // CampaignCreativeAssociation: Identifies a creative which has been
  2534  // associated with a given campaign.
  2535  type CampaignCreativeAssociation struct {
  2536  	// CreativeId: ID of the creative associated with the campaign. This is
  2537  	// a required field.
  2538  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2539  
  2540  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2541  	// string "dfareporting#campaignCreativeAssociation".
  2542  	Kind string `json:"kind,omitempty"`
  2543  
  2544  	// ServerResponse contains the HTTP response code and headers from the
  2545  	// server.
  2546  	googleapi.ServerResponse `json:"-"`
  2547  
  2548  	// ForceSendFields is a list of field names (e.g. "CreativeId") to
  2549  	// unconditionally include in API requests. By default, fields with
  2550  	// empty values are omitted from API requests. However, any non-pointer,
  2551  	// non-interface field appearing in ForceSendFields will be sent to the
  2552  	// server regardless of whether the field is empty or not. This may be
  2553  	// used to include empty fields in Patch requests.
  2554  	ForceSendFields []string `json:"-"`
  2555  
  2556  	// NullFields is a list of field names (e.g. "CreativeId") to include in
  2557  	// API requests with the JSON null value. By default, fields with empty
  2558  	// values are omitted from API requests. However, any field with an
  2559  	// empty value appearing in NullFields will be sent to the server as
  2560  	// null. It is an error if a field in this list has a non-empty value.
  2561  	// This may be used to include null fields in Patch requests.
  2562  	NullFields []string `json:"-"`
  2563  }
  2564  
  2565  func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
  2566  	type NoMethod CampaignCreativeAssociation
  2567  	raw := NoMethod(*s)
  2568  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2569  }
  2570  
  2571  // CampaignCreativeAssociationsListResponse: Campaign Creative
  2572  // Association List Response
  2573  type CampaignCreativeAssociationsListResponse struct {
  2574  	// CampaignCreativeAssociations: Campaign creative association
  2575  	// collection
  2576  	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
  2577  
  2578  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2579  	// string "dfareporting#campaignCreativeAssociationsListResponse".
  2580  	Kind string `json:"kind,omitempty"`
  2581  
  2582  	// NextPageToken: Pagination token to be used for the next list
  2583  	// operation.
  2584  	NextPageToken string `json:"nextPageToken,omitempty"`
  2585  
  2586  	// ServerResponse contains the HTTP response code and headers from the
  2587  	// server.
  2588  	googleapi.ServerResponse `json:"-"`
  2589  
  2590  	// ForceSendFields is a list of field names (e.g.
  2591  	// "CampaignCreativeAssociations") to unconditionally include in API
  2592  	// requests. By default, fields with empty values are omitted from API
  2593  	// requests. However, any non-pointer, non-interface field appearing in
  2594  	// ForceSendFields will be sent to the server regardless of whether the
  2595  	// field is empty or not. This may be used to include empty fields in
  2596  	// Patch requests.
  2597  	ForceSendFields []string `json:"-"`
  2598  
  2599  	// NullFields is a list of field names (e.g.
  2600  	// "CampaignCreativeAssociations") to include in API requests with the
  2601  	// JSON null value. By default, fields with empty values are omitted
  2602  	// from API requests. However, any field with an empty value appearing
  2603  	// in NullFields will be sent to the server as null. It is an error if a
  2604  	// field in this list has a non-empty value. This may be used to include
  2605  	// null fields in Patch requests.
  2606  	NullFields []string `json:"-"`
  2607  }
  2608  
  2609  func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
  2610  	type NoMethod CampaignCreativeAssociationsListResponse
  2611  	raw := NoMethod(*s)
  2612  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2613  }
  2614  
  2615  // CampaignsListResponse: Campaign List Response
  2616  type CampaignsListResponse struct {
  2617  	// Campaigns: Campaign collection.
  2618  	Campaigns []*Campaign `json:"campaigns,omitempty"`
  2619  
  2620  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2621  	// string "dfareporting#campaignsListResponse".
  2622  	Kind string `json:"kind,omitempty"`
  2623  
  2624  	// NextPageToken: Pagination token to be used for the next list
  2625  	// operation.
  2626  	NextPageToken string `json:"nextPageToken,omitempty"`
  2627  
  2628  	// ServerResponse contains the HTTP response code and headers from the
  2629  	// server.
  2630  	googleapi.ServerResponse `json:"-"`
  2631  
  2632  	// ForceSendFields is a list of field names (e.g. "Campaigns") to
  2633  	// unconditionally include in API requests. By default, fields with
  2634  	// empty values are omitted from API requests. However, any non-pointer,
  2635  	// non-interface field appearing in ForceSendFields will be sent to the
  2636  	// server regardless of whether the field is empty or not. This may be
  2637  	// used to include empty fields in Patch requests.
  2638  	ForceSendFields []string `json:"-"`
  2639  
  2640  	// NullFields is a list of field names (e.g. "Campaigns") to include in
  2641  	// API requests with the JSON null value. By default, fields with empty
  2642  	// values are omitted from API requests. However, any field with an
  2643  	// empty value appearing in NullFields will be sent to the server as
  2644  	// null. It is an error if a field in this list has a non-empty value.
  2645  	// This may be used to include null fields in Patch requests.
  2646  	NullFields []string `json:"-"`
  2647  }
  2648  
  2649  func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
  2650  	type NoMethod CampaignsListResponse
  2651  	raw := NoMethod(*s)
  2652  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2653  }
  2654  
  2655  // ChangeLog: Describes a change that a user has made to a resource.
  2656  type ChangeLog struct {
  2657  	// AccountId: Account ID of the modified object.
  2658  	AccountId int64 `json:"accountId,omitempty,string"`
  2659  
  2660  	// Action: Action which caused the change.
  2661  	Action string `json:"action,omitempty"`
  2662  
  2663  	// ChangeTime: Time when the object was modified.
  2664  	ChangeTime string `json:"changeTime,omitempty"`
  2665  
  2666  	// FieldName: Field name of the object which changed.
  2667  	FieldName string `json:"fieldName,omitempty"`
  2668  
  2669  	// Id: ID of this change log.
  2670  	Id int64 `json:"id,omitempty,string"`
  2671  
  2672  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2673  	// string "dfareporting#changeLog".
  2674  	Kind string `json:"kind,omitempty"`
  2675  
  2676  	// NewValue: New value of the object field.
  2677  	NewValue string `json:"newValue,omitempty"`
  2678  
  2679  	// ObjectId: ID of the object of this change log. The object could be a
  2680  	// campaign, placement, ad, or other type.
  2681  	ObjectId int64 `json:"objectId,omitempty,string"`
  2682  
  2683  	// ObjectType: Object type of the change log.
  2684  	ObjectType string `json:"objectType,omitempty"`
  2685  
  2686  	// OldValue: Old value of the object field.
  2687  	OldValue string `json:"oldValue,omitempty"`
  2688  
  2689  	// SubaccountId: Subaccount ID of the modified object.
  2690  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2691  
  2692  	// TransactionId: Transaction ID of this change log. When a single API
  2693  	// call results in many changes, each change will have a separate ID in
  2694  	// the change log but will share the same transactionId.
  2695  	TransactionId int64 `json:"transactionId,omitempty,string"`
  2696  
  2697  	// UserProfileId: ID of the user who modified the object.
  2698  	UserProfileId int64 `json:"userProfileId,omitempty,string"`
  2699  
  2700  	// UserProfileName: User profile name of the user who modified the
  2701  	// object.
  2702  	UserProfileName string `json:"userProfileName,omitempty"`
  2703  
  2704  	// ServerResponse contains the HTTP response code and headers from the
  2705  	// server.
  2706  	googleapi.ServerResponse `json:"-"`
  2707  
  2708  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2709  	// unconditionally include in API requests. By default, fields with
  2710  	// empty values are omitted from API requests. However, any non-pointer,
  2711  	// non-interface field appearing in ForceSendFields will be sent to the
  2712  	// server regardless of whether the field is empty or not. This may be
  2713  	// used to include empty fields in Patch requests.
  2714  	ForceSendFields []string `json:"-"`
  2715  
  2716  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2717  	// API requests with the JSON null value. By default, fields with empty
  2718  	// values are omitted from API requests. However, any field with an
  2719  	// empty value appearing in NullFields will be sent to the server as
  2720  	// null. It is an error if a field in this list has a non-empty value.
  2721  	// This may be used to include null fields in Patch requests.
  2722  	NullFields []string `json:"-"`
  2723  }
  2724  
  2725  func (s *ChangeLog) MarshalJSON() ([]byte, error) {
  2726  	type NoMethod ChangeLog
  2727  	raw := NoMethod(*s)
  2728  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2729  }
  2730  
  2731  // ChangeLogsListResponse: Change Log List Response
  2732  type ChangeLogsListResponse struct {
  2733  	// ChangeLogs: Change log collection.
  2734  	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
  2735  
  2736  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2737  	// string "dfareporting#changeLogsListResponse".
  2738  	Kind string `json:"kind,omitempty"`
  2739  
  2740  	// NextPageToken: Pagination token to be used for the next list
  2741  	// operation.
  2742  	NextPageToken string `json:"nextPageToken,omitempty"`
  2743  
  2744  	// ServerResponse contains the HTTP response code and headers from the
  2745  	// server.
  2746  	googleapi.ServerResponse `json:"-"`
  2747  
  2748  	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
  2749  	// unconditionally include in API requests. By default, fields with
  2750  	// empty values are omitted from API requests. However, any non-pointer,
  2751  	// non-interface field appearing in ForceSendFields will be sent to the
  2752  	// server regardless of whether the field is empty or not. This may be
  2753  	// used to include empty fields in Patch requests.
  2754  	ForceSendFields []string `json:"-"`
  2755  
  2756  	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
  2757  	// API requests with the JSON null value. By default, fields with empty
  2758  	// values are omitted from API requests. However, any field with an
  2759  	// empty value appearing in NullFields will be sent to the server as
  2760  	// null. It is an error if a field in this list has a non-empty value.
  2761  	// This may be used to include null fields in Patch requests.
  2762  	NullFields []string `json:"-"`
  2763  }
  2764  
  2765  func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
  2766  	type NoMethod ChangeLogsListResponse
  2767  	raw := NoMethod(*s)
  2768  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2769  }
  2770  
  2771  // CitiesListResponse: City List Response
  2772  type CitiesListResponse struct {
  2773  	// Cities: City collection.
  2774  	Cities []*City `json:"cities,omitempty"`
  2775  
  2776  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2777  	// string "dfareporting#citiesListResponse".
  2778  	Kind string `json:"kind,omitempty"`
  2779  
  2780  	// ServerResponse contains the HTTP response code and headers from the
  2781  	// server.
  2782  	googleapi.ServerResponse `json:"-"`
  2783  
  2784  	// ForceSendFields is a list of field names (e.g. "Cities") to
  2785  	// unconditionally include in API requests. By default, fields with
  2786  	// empty values are omitted from API requests. However, any non-pointer,
  2787  	// non-interface field appearing in ForceSendFields will be sent to the
  2788  	// server regardless of whether the field is empty or not. This may be
  2789  	// used to include empty fields in Patch requests.
  2790  	ForceSendFields []string `json:"-"`
  2791  
  2792  	// NullFields is a list of field names (e.g. "Cities") to include in API
  2793  	// requests with the JSON null value. By default, fields with empty
  2794  	// values are omitted from API requests. However, any field with an
  2795  	// empty value appearing in NullFields will be sent to the server as
  2796  	// null. It is an error if a field in this list has a non-empty value.
  2797  	// This may be used to include null fields in Patch requests.
  2798  	NullFields []string `json:"-"`
  2799  }
  2800  
  2801  func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
  2802  	type NoMethod CitiesListResponse
  2803  	raw := NoMethod(*s)
  2804  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2805  }
  2806  
  2807  // City: Contains information about a city that can be targeted by ads.
  2808  type City struct {
  2809  	// CountryCode: Country code of the country to which this city belongs.
  2810  	CountryCode string `json:"countryCode,omitempty"`
  2811  
  2812  	// CountryDartId: DART ID of the country to which this city belongs.
  2813  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  2814  
  2815  	// DartId: DART ID of this city. This is the ID used for targeting and
  2816  	// generating reports.
  2817  	DartId int64 `json:"dartId,omitempty,string"`
  2818  
  2819  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2820  	// string "dfareporting#city".
  2821  	Kind string `json:"kind,omitempty"`
  2822  
  2823  	// MetroCode: Metro region code of the metro region (DMA) to which this
  2824  	// city belongs.
  2825  	MetroCode string `json:"metroCode,omitempty"`
  2826  
  2827  	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
  2828  	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
  2829  
  2830  	// Name: Name of this city.
  2831  	Name string `json:"name,omitempty"`
  2832  
  2833  	// RegionCode: Region code of the region to which this city belongs.
  2834  	RegionCode string `json:"regionCode,omitempty"`
  2835  
  2836  	// RegionDartId: DART ID of the region to which this city belongs.
  2837  	RegionDartId int64 `json:"regionDartId,omitempty,string"`
  2838  
  2839  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  2840  	// unconditionally include in API requests. By default, fields with
  2841  	// empty values are omitted from API requests. However, any non-pointer,
  2842  	// non-interface field appearing in ForceSendFields will be sent to the
  2843  	// server regardless of whether the field is empty or not. This may be
  2844  	// used to include empty fields in Patch requests.
  2845  	ForceSendFields []string `json:"-"`
  2846  
  2847  	// NullFields is a list of field names (e.g. "CountryCode") to include
  2848  	// in API requests with the JSON null value. By default, fields with
  2849  	// empty values are omitted from API requests. However, any field with
  2850  	// an empty value appearing in NullFields will be sent to the server as
  2851  	// null. It is an error if a field in this list has a non-empty value.
  2852  	// This may be used to include null fields in Patch requests.
  2853  	NullFields []string `json:"-"`
  2854  }
  2855  
  2856  func (s *City) MarshalJSON() ([]byte, error) {
  2857  	type NoMethod City
  2858  	raw := NoMethod(*s)
  2859  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2860  }
  2861  
  2862  // ClickTag: Creative Click Tag.
  2863  type ClickTag struct {
  2864  	// ClickThroughUrl: Parameter value for the specified click tag. This
  2865  	// field contains a click-through url.
  2866  	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2867  
  2868  	// EventName: Advertiser event name associated with the click tag. This
  2869  	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
  2870  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  2871  	EventName string `json:"eventName,omitempty"`
  2872  
  2873  	// Name: Parameter name for the specified click tag. For
  2874  	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
  2875  	// value of the creative asset's creativeAssetId.name field.
  2876  	Name string `json:"name,omitempty"`
  2877  
  2878  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2879  	// unconditionally include in API requests. By default, fields with
  2880  	// empty values are omitted from API requests. However, any non-pointer,
  2881  	// non-interface field appearing in ForceSendFields will be sent to the
  2882  	// server regardless of whether the field is empty or not. This may be
  2883  	// used to include empty fields in Patch requests.
  2884  	ForceSendFields []string `json:"-"`
  2885  
  2886  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2887  	// include in API requests with the JSON null value. By default, fields
  2888  	// with empty values are omitted from API requests. However, any field
  2889  	// with an empty value appearing in NullFields will be sent to the
  2890  	// server as null. It is an error if a field in this list has a
  2891  	// non-empty value. This may be used to include null fields in Patch
  2892  	// requests.
  2893  	NullFields []string `json:"-"`
  2894  }
  2895  
  2896  func (s *ClickTag) MarshalJSON() ([]byte, error) {
  2897  	type NoMethod ClickTag
  2898  	raw := NoMethod(*s)
  2899  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2900  }
  2901  
  2902  // ClickThroughUrl: Click-through URL
  2903  type ClickThroughUrl struct {
  2904  	// ComputedClickThroughUrl: Read-only convenience field representing the
  2905  	// actual URL that will be used for this click-through. The URL is
  2906  	// computed as follows:
  2907  	// - If defaultLandingPage is enabled then the campaign's default
  2908  	// landing page URL is assigned to this field.
  2909  	// - If defaultLandingPage is not enabled and a landingPageId is
  2910  	// specified then that landing page's URL is assigned to this field.
  2911  	// - If neither of the above cases apply, then the customClickThroughUrl
  2912  	// is assigned to this field.
  2913  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  2914  
  2915  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  2916  	// defaultLandingPage field is set to false and the landingPageId field
  2917  	// is left unset.
  2918  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  2919  
  2920  	// DefaultLandingPage: Whether the campaign default landing page is
  2921  	// used.
  2922  	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
  2923  
  2924  	// LandingPageId: ID of the landing page for the click-through URL.
  2925  	// Applicable if the defaultLandingPage field is set to false.
  2926  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  2927  
  2928  	// ForceSendFields is a list of field names (e.g.
  2929  	// "ComputedClickThroughUrl") to unconditionally include in API
  2930  	// requests. By default, fields with empty values are omitted from API
  2931  	// requests. However, any non-pointer, non-interface field appearing in
  2932  	// ForceSendFields will be sent to the server regardless of whether the
  2933  	// field is empty or not. This may be used to include empty fields in
  2934  	// Patch requests.
  2935  	ForceSendFields []string `json:"-"`
  2936  
  2937  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  2938  	// to include in API requests with the JSON null value. By default,
  2939  	// fields with empty values are omitted from API requests. However, any
  2940  	// field with an empty value appearing in NullFields will be sent to the
  2941  	// server as null. It is an error if a field in this list has a
  2942  	// non-empty value. This may be used to include null fields in Patch
  2943  	// requests.
  2944  	NullFields []string `json:"-"`
  2945  }
  2946  
  2947  func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
  2948  	type NoMethod ClickThroughUrl
  2949  	raw := NoMethod(*s)
  2950  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2951  }
  2952  
  2953  // ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
  2954  type ClickThroughUrlSuffixProperties struct {
  2955  	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
  2956  	// in this entity's scope. Must be less than 128 characters long.
  2957  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  2958  
  2959  	// OverrideInheritedSuffix: Whether this entity should override the
  2960  	// inherited click-through URL suffix with its own defined value.
  2961  	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
  2962  
  2963  	// ForceSendFields is a list of field names (e.g.
  2964  	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
  2965  	// By default, fields with empty values are omitted from API requests.
  2966  	// However, any non-pointer, non-interface field appearing in
  2967  	// ForceSendFields will be sent to the server regardless of whether the
  2968  	// field is empty or not. This may be used to include empty fields in
  2969  	// Patch requests.
  2970  	ForceSendFields []string `json:"-"`
  2971  
  2972  	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
  2973  	// include in API requests with the JSON null value. By default, fields
  2974  	// with empty values are omitted from API requests. However, any field
  2975  	// with an empty value appearing in NullFields will be sent to the
  2976  	// server as null. It is an error if a field in this list has a
  2977  	// non-empty value. This may be used to include null fields in Patch
  2978  	// requests.
  2979  	NullFields []string `json:"-"`
  2980  }
  2981  
  2982  func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
  2983  	type NoMethod ClickThroughUrlSuffixProperties
  2984  	raw := NoMethod(*s)
  2985  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2986  }
  2987  
  2988  // CompanionClickThroughOverride: Companion Click-through override.
  2989  type CompanionClickThroughOverride struct {
  2990  	// ClickThroughUrl: Click-through URL of this companion click-through
  2991  	// override.
  2992  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2993  
  2994  	// CreativeId: ID of the creative for this companion click-through
  2995  	// override.
  2996  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2997  
  2998  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2999  	// unconditionally include in API requests. By default, fields with
  3000  	// empty values are omitted from API requests. However, any non-pointer,
  3001  	// non-interface field appearing in ForceSendFields will be sent to the
  3002  	// server regardless of whether the field is empty or not. This may be
  3003  	// used to include empty fields in Patch requests.
  3004  	ForceSendFields []string `json:"-"`
  3005  
  3006  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  3007  	// include in API requests with the JSON null value. By default, fields
  3008  	// with empty values are omitted from API requests. However, any field
  3009  	// with an empty value appearing in NullFields will be sent to the
  3010  	// server as null. It is an error if a field in this list has a
  3011  	// non-empty value. This may be used to include null fields in Patch
  3012  	// requests.
  3013  	NullFields []string `json:"-"`
  3014  }
  3015  
  3016  func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
  3017  	type NoMethod CompanionClickThroughOverride
  3018  	raw := NoMethod(*s)
  3019  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3020  }
  3021  
  3022  // CompanionSetting: Companion Settings
  3023  type CompanionSetting struct {
  3024  	// CompanionsDisabled: Whether companions are disabled for this
  3025  	// placement.
  3026  	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
  3027  
  3028  	// EnabledSizes: Whitelist of companion sizes to be served to this
  3029  	// placement. Set this list to null or empty to serve all companion
  3030  	// sizes.
  3031  	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
  3032  
  3033  	// ImageOnly: Whether to serve only static images as companions.
  3034  	ImageOnly bool `json:"imageOnly,omitempty"`
  3035  
  3036  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3037  	// string "dfareporting#companionSetting".
  3038  	Kind string `json:"kind,omitempty"`
  3039  
  3040  	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
  3041  	// to unconditionally include in API requests. By default, fields with
  3042  	// empty values are omitted from API requests. However, any non-pointer,
  3043  	// non-interface field appearing in ForceSendFields will be sent to the
  3044  	// server regardless of whether the field is empty or not. This may be
  3045  	// used to include empty fields in Patch requests.
  3046  	ForceSendFields []string `json:"-"`
  3047  
  3048  	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
  3049  	// include in API requests with the JSON null value. By default, fields
  3050  	// with empty values are omitted from API requests. However, any field
  3051  	// with an empty value appearing in NullFields will be sent to the
  3052  	// server as null. It is an error if a field in this list has a
  3053  	// non-empty value. This may be used to include null fields in Patch
  3054  	// requests.
  3055  	NullFields []string `json:"-"`
  3056  }
  3057  
  3058  func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
  3059  	type NoMethod CompanionSetting
  3060  	raw := NoMethod(*s)
  3061  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3062  }
  3063  
  3064  // CompatibleFields: Represents a response to the queryCompatibleFields
  3065  // method.
  3066  type CompatibleFields struct {
  3067  	// CrossDimensionReachReportCompatibleFields: Contains items that are
  3068  	// compatible to be selected for a report of type
  3069  	// "CROSS_DIMENSION_REACH".
  3070  	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
  3071  
  3072  	// FloodlightReportCompatibleFields: Contains items that are compatible
  3073  	// to be selected for a report of type "FLOODLIGHT".
  3074  	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
  3075  
  3076  	// Kind: The kind of resource this is, in this case
  3077  	// dfareporting#compatibleFields.
  3078  	Kind string `json:"kind,omitempty"`
  3079  
  3080  	// PathToConversionReportCompatibleFields: Contains items that are
  3081  	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
  3082  	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
  3083  
  3084  	// ReachReportCompatibleFields: Contains items that are compatible to be
  3085  	// selected for a report of type "REACH".
  3086  	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
  3087  
  3088  	// ReportCompatibleFields: Contains items that are compatible to be
  3089  	// selected for a report of type "STANDARD".
  3090  	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
  3091  
  3092  	// ServerResponse contains the HTTP response code and headers from the
  3093  	// server.
  3094  	googleapi.ServerResponse `json:"-"`
  3095  
  3096  	// ForceSendFields is a list of field names (e.g.
  3097  	// "CrossDimensionReachReportCompatibleFields") to unconditionally
  3098  	// include in API requests. By default, fields with empty values are
  3099  	// omitted from API requests. However, any non-pointer, non-interface
  3100  	// field appearing in ForceSendFields will be sent to the server
  3101  	// regardless of whether the field is empty or not. This may be used to
  3102  	// include empty fields in Patch requests.
  3103  	ForceSendFields []string `json:"-"`
  3104  
  3105  	// NullFields is a list of field names (e.g.
  3106  	// "CrossDimensionReachReportCompatibleFields") to include in API
  3107  	// requests with the JSON null value. By default, fields with empty
  3108  	// values are omitted from API requests. However, any field with an
  3109  	// empty value appearing in NullFields will be sent to the server as
  3110  	// null. It is an error if a field in this list has a non-empty value.
  3111  	// This may be used to include null fields in Patch requests.
  3112  	NullFields []string `json:"-"`
  3113  }
  3114  
  3115  func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
  3116  	type NoMethod CompatibleFields
  3117  	raw := NoMethod(*s)
  3118  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3119  }
  3120  
  3121  // ConnectionType: Contains information about an internet connection
  3122  // type that can be targeted by ads. Clients can use the connection type
  3123  // to target mobile vs. broadband users.
  3124  type ConnectionType struct {
  3125  	// Id: ID of this connection type.
  3126  	Id int64 `json:"id,omitempty,string"`
  3127  
  3128  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3129  	// string "dfareporting#connectionType".
  3130  	Kind string `json:"kind,omitempty"`
  3131  
  3132  	// Name: Name of this connection type.
  3133  	Name string `json:"name,omitempty"`
  3134  
  3135  	// ServerResponse contains the HTTP response code and headers from the
  3136  	// server.
  3137  	googleapi.ServerResponse `json:"-"`
  3138  
  3139  	// ForceSendFields is a list of field names (e.g. "Id") to
  3140  	// unconditionally include in API requests. By default, fields with
  3141  	// empty values are omitted from API requests. However, any non-pointer,
  3142  	// non-interface field appearing in ForceSendFields will be sent to the
  3143  	// server regardless of whether the field is empty or not. This may be
  3144  	// used to include empty fields in Patch requests.
  3145  	ForceSendFields []string `json:"-"`
  3146  
  3147  	// NullFields is a list of field names (e.g. "Id") to include in API
  3148  	// requests with the JSON null value. By default, fields with empty
  3149  	// values are omitted from API requests. However, any field with an
  3150  	// empty value appearing in NullFields will be sent to the server as
  3151  	// null. It is an error if a field in this list has a non-empty value.
  3152  	// This may be used to include null fields in Patch requests.
  3153  	NullFields []string `json:"-"`
  3154  }
  3155  
  3156  func (s *ConnectionType) MarshalJSON() ([]byte, error) {
  3157  	type NoMethod ConnectionType
  3158  	raw := NoMethod(*s)
  3159  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3160  }
  3161  
  3162  // ConnectionTypesListResponse: Connection Type List Response
  3163  type ConnectionTypesListResponse struct {
  3164  	// ConnectionTypes: Collection of connection types such as broadband and
  3165  	// mobile.
  3166  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
  3167  
  3168  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3169  	// string "dfareporting#connectionTypesListResponse".
  3170  	Kind string `json:"kind,omitempty"`
  3171  
  3172  	// ServerResponse contains the HTTP response code and headers from the
  3173  	// server.
  3174  	googleapi.ServerResponse `json:"-"`
  3175  
  3176  	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
  3177  	// unconditionally include in API requests. By default, fields with
  3178  	// empty values are omitted from API requests. However, any non-pointer,
  3179  	// non-interface field appearing in ForceSendFields will be sent to the
  3180  	// server regardless of whether the field is empty or not. This may be
  3181  	// used to include empty fields in Patch requests.
  3182  	ForceSendFields []string `json:"-"`
  3183  
  3184  	// NullFields is a list of field names (e.g. "ConnectionTypes") to
  3185  	// include in API requests with the JSON null value. By default, fields
  3186  	// with empty values are omitted from API requests. However, any field
  3187  	// with an empty value appearing in NullFields will be sent to the
  3188  	// server as null. It is an error if a field in this list has a
  3189  	// non-empty value. This may be used to include null fields in Patch
  3190  	// requests.
  3191  	NullFields []string `json:"-"`
  3192  }
  3193  
  3194  func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
  3195  	type NoMethod ConnectionTypesListResponse
  3196  	raw := NoMethod(*s)
  3197  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3198  }
  3199  
  3200  // ContentCategoriesListResponse: Content Category List Response
  3201  type ContentCategoriesListResponse struct {
  3202  	// ContentCategories: Content category collection.
  3203  	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
  3204  
  3205  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3206  	// string "dfareporting#contentCategoriesListResponse".
  3207  	Kind string `json:"kind,omitempty"`
  3208  
  3209  	// NextPageToken: Pagination token to be used for the next list
  3210  	// operation.
  3211  	NextPageToken string `json:"nextPageToken,omitempty"`
  3212  
  3213  	// ServerResponse contains the HTTP response code and headers from the
  3214  	// server.
  3215  	googleapi.ServerResponse `json:"-"`
  3216  
  3217  	// ForceSendFields is a list of field names (e.g. "ContentCategories")
  3218  	// to unconditionally include in API requests. By default, fields with
  3219  	// empty values are omitted from API requests. However, any non-pointer,
  3220  	// non-interface field appearing in ForceSendFields will be sent to the
  3221  	// server regardless of whether the field is empty or not. This may be
  3222  	// used to include empty fields in Patch requests.
  3223  	ForceSendFields []string `json:"-"`
  3224  
  3225  	// NullFields is a list of field names (e.g. "ContentCategories") to
  3226  	// include in API requests with the JSON null value. By default, fields
  3227  	// with empty values are omitted from API requests. However, any field
  3228  	// with an empty value appearing in NullFields will be sent to the
  3229  	// server as null. It is an error if a field in this list has a
  3230  	// non-empty value. This may be used to include null fields in Patch
  3231  	// requests.
  3232  	NullFields []string `json:"-"`
  3233  }
  3234  
  3235  func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
  3236  	type NoMethod ContentCategoriesListResponse
  3237  	raw := NoMethod(*s)
  3238  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3239  }
  3240  
  3241  // ContentCategory: Organizes placements according to the contents of
  3242  // their associated webpages.
  3243  type ContentCategory struct {
  3244  	// AccountId: Account ID of this content category. This is a read-only
  3245  	// field that can be left blank.
  3246  	AccountId int64 `json:"accountId,omitempty,string"`
  3247  
  3248  	// Id: ID of this content category. This is a read-only, auto-generated
  3249  	// field.
  3250  	Id int64 `json:"id,omitempty,string"`
  3251  
  3252  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3253  	// string "dfareporting#contentCategory".
  3254  	Kind string `json:"kind,omitempty"`
  3255  
  3256  	// Name: Name of this content category. This is a required field and
  3257  	// must be less than 256 characters long and unique among content
  3258  	// categories of the same account.
  3259  	Name string `json:"name,omitempty"`
  3260  
  3261  	// ServerResponse contains the HTTP response code and headers from the
  3262  	// server.
  3263  	googleapi.ServerResponse `json:"-"`
  3264  
  3265  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3266  	// unconditionally include in API requests. By default, fields with
  3267  	// empty values are omitted from API requests. However, any non-pointer,
  3268  	// non-interface field appearing in ForceSendFields will be sent to the
  3269  	// server regardless of whether the field is empty or not. This may be
  3270  	// used to include empty fields in Patch requests.
  3271  	ForceSendFields []string `json:"-"`
  3272  
  3273  	// NullFields is a list of field names (e.g. "AccountId") to include in
  3274  	// API requests with the JSON null value. By default, fields with empty
  3275  	// values are omitted from API requests. However, any field with an
  3276  	// empty value appearing in NullFields will be sent to the server as
  3277  	// null. It is an error if a field in this list has a non-empty value.
  3278  	// This may be used to include null fields in Patch requests.
  3279  	NullFields []string `json:"-"`
  3280  }
  3281  
  3282  func (s *ContentCategory) MarshalJSON() ([]byte, error) {
  3283  	type NoMethod ContentCategory
  3284  	raw := NoMethod(*s)
  3285  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3286  }
  3287  
  3288  // Conversion: A Conversion represents when a user successfully performs
  3289  // a desired action after seeing an ad.
  3290  type Conversion struct {
  3291  	// ChildDirectedTreatment: Whether this particular request may come from
  3292  	// a user under the age of 13, under COPPA compliance.
  3293  	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
  3294  
  3295  	// CustomVariables: Custom floodlight variables.
  3296  	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
  3297  
  3298  	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
  3299  	// encryptionInfo should also be specified. This field is mutually
  3300  	// exclusive with encryptedUserIdCandidates[], mobileDeviceId and gclid.
  3301  	// This or encryptedUserIdCandidates[] or mobileDeviceId or gclid is a
  3302  	// required field.
  3303  	EncryptedUserId string `json:"encryptedUserId,omitempty"`
  3304  
  3305  	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
  3306  	// IDs. Any user ID with exposure prior to the conversion timestamp will
  3307  	// be used in the inserted conversion. If no such user ID is found then
  3308  	// the conversion will be rejected with NO_COOKIE_MATCH_FOUND error.
  3309  	// When set, encryptionInfo should also be specified. This field may
  3310  	// only be used when calling batchinsert; it is not supported by
  3311  	// batchupdate. This field is mutually exclusive with encryptedUserId,
  3312  	// mobileDeviceId and gclid. This or encryptedUserId or mobileDeviceId
  3313  	// or gclid is a required field.
  3314  	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
  3315  
  3316  	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
  3317  	// is a required field.
  3318  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  3319  
  3320  	// FloodlightConfigurationId: Floodlight Configuration ID of this
  3321  	// conversion. This is a required field.
  3322  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  3323  
  3324  	// Gclid: The Google click ID. This field is mutually exclusive with
  3325  	// encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This
  3326  	// or encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId
  3327  	// is a required field.
  3328  	Gclid string `json:"gclid,omitempty"`
  3329  
  3330  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3331  	// string "dfareporting#conversion".
  3332  	Kind string `json:"kind,omitempty"`
  3333  
  3334  	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
  3335  	// true, the conversion will be used for reporting but not targeting.
  3336  	// This will prevent remarketing.
  3337  	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
  3338  
  3339  	// MobileDeviceId: The mobile device ID. This field is mutually
  3340  	// exclusive with encryptedUserId, encryptedUserIdCandidates[] and
  3341  	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
  3342  	// gclid is a required field.
  3343  	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
  3344  
  3345  	// NonPersonalizedAd: Whether the conversion was for a non personalized
  3346  	// ad.
  3347  	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
  3348  
  3349  	// Ordinal: The ordinal of the conversion. Use this field to control how
  3350  	// conversions of the same user and day are de-duplicated. This is a
  3351  	// required field.
  3352  	Ordinal string `json:"ordinal,omitempty"`
  3353  
  3354  	// Quantity: The quantity of the conversion.
  3355  	Quantity int64 `json:"quantity,omitempty,string"`
  3356  
  3357  	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
  3358  	// This is a required field.
  3359  	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
  3360  
  3361  	// TreatmentForUnderage: Whether this particular request may come from a
  3362  	// user under the age of 16 (may differ by country), under compliance
  3363  	// with the European Union's General Data Protection Regulation (GDPR).
  3364  	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
  3365  
  3366  	// Value: The value of the conversion.
  3367  	Value float64 `json:"value,omitempty"`
  3368  
  3369  	// ForceSendFields is a list of field names (e.g.
  3370  	// "ChildDirectedTreatment") to unconditionally include in API requests.
  3371  	// By default, fields with empty values are omitted from API requests.
  3372  	// However, any non-pointer, non-interface field appearing in
  3373  	// ForceSendFields will be sent to the server regardless of whether the
  3374  	// field is empty or not. This may be used to include empty fields in
  3375  	// Patch requests.
  3376  	ForceSendFields []string `json:"-"`
  3377  
  3378  	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
  3379  	// to include in API requests with the JSON null value. By default,
  3380  	// fields with empty values are omitted from API requests. However, any
  3381  	// field with an empty value appearing in NullFields will be sent to the
  3382  	// server as null. It is an error if a field in this list has a
  3383  	// non-empty value. This may be used to include null fields in Patch
  3384  	// requests.
  3385  	NullFields []string `json:"-"`
  3386  }
  3387  
  3388  func (s *Conversion) MarshalJSON() ([]byte, error) {
  3389  	type NoMethod Conversion
  3390  	raw := NoMethod(*s)
  3391  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3392  }
  3393  
  3394  func (s *Conversion) UnmarshalJSON(data []byte) error {
  3395  	type NoMethod Conversion
  3396  	var s1 struct {
  3397  		Value gensupport.JSONFloat64 `json:"value"`
  3398  		*NoMethod
  3399  	}
  3400  	s1.NoMethod = (*NoMethod)(s)
  3401  	if err := json.Unmarshal(data, &s1); err != nil {
  3402  		return err
  3403  	}
  3404  	s.Value = float64(s1.Value)
  3405  	return nil
  3406  }
  3407  
  3408  // ConversionError: The error code and description for a conversion that
  3409  // failed to insert or update.
  3410  type ConversionError struct {
  3411  	// Code: The error code.
  3412  	//
  3413  	// Possible values:
  3414  	//   "INTERNAL"
  3415  	//   "INVALID_ARGUMENT"
  3416  	//   "NOT_FOUND"
  3417  	//   "PERMISSION_DENIED"
  3418  	Code string `json:"code,omitempty"`
  3419  
  3420  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3421  	// string "dfareporting#conversionError".
  3422  	Kind string `json:"kind,omitempty"`
  3423  
  3424  	// Message: A description of the error.
  3425  	Message string `json:"message,omitempty"`
  3426  
  3427  	// ForceSendFields is a list of field names (e.g. "Code") to
  3428  	// unconditionally include in API requests. By default, fields with
  3429  	// empty values are omitted from API requests. However, any non-pointer,
  3430  	// non-interface field appearing in ForceSendFields will be sent to the
  3431  	// server regardless of whether the field is empty or not. This may be
  3432  	// used to include empty fields in Patch requests.
  3433  	ForceSendFields []string `json:"-"`
  3434  
  3435  	// NullFields is a list of field names (e.g. "Code") to include in API
  3436  	// requests with the JSON null value. By default, fields with empty
  3437  	// values are omitted from API requests. However, any field with an
  3438  	// empty value appearing in NullFields will be sent to the server as
  3439  	// null. It is an error if a field in this list has a non-empty value.
  3440  	// This may be used to include null fields in Patch requests.
  3441  	NullFields []string `json:"-"`
  3442  }
  3443  
  3444  func (s *ConversionError) MarshalJSON() ([]byte, error) {
  3445  	type NoMethod ConversionError
  3446  	raw := NoMethod(*s)
  3447  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3448  }
  3449  
  3450  // ConversionStatus: The original conversion that was inserted or
  3451  // updated and whether there were any errors.
  3452  type ConversionStatus struct {
  3453  	// Conversion: The original conversion that was inserted or updated.
  3454  	Conversion *Conversion `json:"conversion,omitempty"`
  3455  
  3456  	// Errors: A list of errors related to this conversion.
  3457  	Errors []*ConversionError `json:"errors,omitempty"`
  3458  
  3459  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3460  	// string "dfareporting#conversionStatus".
  3461  	Kind string `json:"kind,omitempty"`
  3462  
  3463  	// ForceSendFields is a list of field names (e.g. "Conversion") to
  3464  	// unconditionally include in API requests. By default, fields with
  3465  	// empty values are omitted from API requests. However, any non-pointer,
  3466  	// non-interface field appearing in ForceSendFields will be sent to the
  3467  	// server regardless of whether the field is empty or not. This may be
  3468  	// used to include empty fields in Patch requests.
  3469  	ForceSendFields []string `json:"-"`
  3470  
  3471  	// NullFields is a list of field names (e.g. "Conversion") to include in
  3472  	// API requests with the JSON null value. By default, fields with empty
  3473  	// values are omitted from API requests. However, any field with an
  3474  	// empty value appearing in NullFields will be sent to the server as
  3475  	// null. It is an error if a field in this list has a non-empty value.
  3476  	// This may be used to include null fields in Patch requests.
  3477  	NullFields []string `json:"-"`
  3478  }
  3479  
  3480  func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
  3481  	type NoMethod ConversionStatus
  3482  	raw := NoMethod(*s)
  3483  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3484  }
  3485  
  3486  // ConversionsBatchInsertRequest: Insert Conversions Request.
  3487  type ConversionsBatchInsertRequest struct {
  3488  	// Conversions: The set of conversions to insert.
  3489  	Conversions []*Conversion `json:"conversions,omitempty"`
  3490  
  3491  	// EncryptionInfo: Describes how encryptedUserId or
  3492  	// encryptedUserIdCandidates[] is encrypted. This is a required field if
  3493  	// encryptedUserId or encryptedUserIdCandidates[] is used.
  3494  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3495  
  3496  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3497  	// string "dfareporting#conversionsBatchInsertRequest".
  3498  	Kind string `json:"kind,omitempty"`
  3499  
  3500  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3501  	// unconditionally include in API requests. By default, fields with
  3502  	// empty values are omitted from API requests. However, any non-pointer,
  3503  	// non-interface field appearing in ForceSendFields will be sent to the
  3504  	// server regardless of whether the field is empty or not. This may be
  3505  	// used to include empty fields in Patch requests.
  3506  	ForceSendFields []string `json:"-"`
  3507  
  3508  	// NullFields is a list of field names (e.g. "Conversions") to include
  3509  	// in API requests with the JSON null value. By default, fields with
  3510  	// empty values are omitted from API requests. However, any field with
  3511  	// an empty value appearing in NullFields will be sent to the server as
  3512  	// null. It is an error if a field in this list has a non-empty value.
  3513  	// This may be used to include null fields in Patch requests.
  3514  	NullFields []string `json:"-"`
  3515  }
  3516  
  3517  func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
  3518  	type NoMethod ConversionsBatchInsertRequest
  3519  	raw := NoMethod(*s)
  3520  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3521  }
  3522  
  3523  // ConversionsBatchInsertResponse: Insert Conversions Response.
  3524  type ConversionsBatchInsertResponse struct {
  3525  	// HasFailures: Indicates that some or all conversions failed to insert.
  3526  	HasFailures bool `json:"hasFailures,omitempty"`
  3527  
  3528  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3529  	// string "dfareporting#conversionsBatchInsertResponse".
  3530  	Kind string `json:"kind,omitempty"`
  3531  
  3532  	// Status: The insert status of each conversion. Statuses are returned
  3533  	// in the same order that conversions are inserted.
  3534  	Status []*ConversionStatus `json:"status,omitempty"`
  3535  
  3536  	// ServerResponse contains the HTTP response code and headers from the
  3537  	// server.
  3538  	googleapi.ServerResponse `json:"-"`
  3539  
  3540  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3541  	// unconditionally include in API requests. By default, fields with
  3542  	// empty values are omitted from API requests. However, any non-pointer,
  3543  	// non-interface field appearing in ForceSendFields will be sent to the
  3544  	// server regardless of whether the field is empty or not. This may be
  3545  	// used to include empty fields in Patch requests.
  3546  	ForceSendFields []string `json:"-"`
  3547  
  3548  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3549  	// in API requests with the JSON null value. By default, fields with
  3550  	// empty values are omitted from API requests. However, any field with
  3551  	// an empty value appearing in NullFields will be sent to the server as
  3552  	// null. It is an error if a field in this list has a non-empty value.
  3553  	// This may be used to include null fields in Patch requests.
  3554  	NullFields []string `json:"-"`
  3555  }
  3556  
  3557  func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
  3558  	type NoMethod ConversionsBatchInsertResponse
  3559  	raw := NoMethod(*s)
  3560  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3561  }
  3562  
  3563  // ConversionsBatchUpdateRequest: Update Conversions Request.
  3564  type ConversionsBatchUpdateRequest struct {
  3565  	// Conversions: The set of conversions to update.
  3566  	Conversions []*Conversion `json:"conversions,omitempty"`
  3567  
  3568  	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
  3569  	// required field if encryptedUserId is used.
  3570  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3571  
  3572  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3573  	// string "dfareporting#conversionsBatchUpdateRequest".
  3574  	Kind string `json:"kind,omitempty"`
  3575  
  3576  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3577  	// unconditionally include in API requests. By default, fields with
  3578  	// empty values are omitted from API requests. However, any non-pointer,
  3579  	// non-interface field appearing in ForceSendFields will be sent to the
  3580  	// server regardless of whether the field is empty or not. This may be
  3581  	// used to include empty fields in Patch requests.
  3582  	ForceSendFields []string `json:"-"`
  3583  
  3584  	// NullFields is a list of field names (e.g. "Conversions") to include
  3585  	// in API requests with the JSON null value. By default, fields with
  3586  	// empty values are omitted from API requests. However, any field with
  3587  	// an empty value appearing in NullFields will be sent to the server as
  3588  	// null. It is an error if a field in this list has a non-empty value.
  3589  	// This may be used to include null fields in Patch requests.
  3590  	NullFields []string `json:"-"`
  3591  }
  3592  
  3593  func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
  3594  	type NoMethod ConversionsBatchUpdateRequest
  3595  	raw := NoMethod(*s)
  3596  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3597  }
  3598  
  3599  // ConversionsBatchUpdateResponse: Update Conversions Response.
  3600  type ConversionsBatchUpdateResponse struct {
  3601  	// HasFailures: Indicates that some or all conversions failed to update.
  3602  	HasFailures bool `json:"hasFailures,omitempty"`
  3603  
  3604  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3605  	// string "dfareporting#conversionsBatchUpdateResponse".
  3606  	Kind string `json:"kind,omitempty"`
  3607  
  3608  	// Status: The update status of each conversion. Statuses are returned
  3609  	// in the same order that conversions are updated.
  3610  	Status []*ConversionStatus `json:"status,omitempty"`
  3611  
  3612  	// ServerResponse contains the HTTP response code and headers from the
  3613  	// server.
  3614  	googleapi.ServerResponse `json:"-"`
  3615  
  3616  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3617  	// unconditionally include in API requests. By default, fields with
  3618  	// empty values are omitted from API requests. However, any non-pointer,
  3619  	// non-interface field appearing in ForceSendFields will be sent to the
  3620  	// server regardless of whether the field is empty or not. This may be
  3621  	// used to include empty fields in Patch requests.
  3622  	ForceSendFields []string `json:"-"`
  3623  
  3624  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3625  	// in API requests with the JSON null value. By default, fields with
  3626  	// empty values are omitted from API requests. However, any field with
  3627  	// an empty value appearing in NullFields will be sent to the server as
  3628  	// null. It is an error if a field in this list has a non-empty value.
  3629  	// This may be used to include null fields in Patch requests.
  3630  	NullFields []string `json:"-"`
  3631  }
  3632  
  3633  func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
  3634  	type NoMethod ConversionsBatchUpdateResponse
  3635  	raw := NoMethod(*s)
  3636  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3637  }
  3638  
  3639  // CountriesListResponse: Country List Response
  3640  type CountriesListResponse struct {
  3641  	// Countries: Country collection.
  3642  	Countries []*Country `json:"countries,omitempty"`
  3643  
  3644  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3645  	// string "dfareporting#countriesListResponse".
  3646  	Kind string `json:"kind,omitempty"`
  3647  
  3648  	// ServerResponse contains the HTTP response code and headers from the
  3649  	// server.
  3650  	googleapi.ServerResponse `json:"-"`
  3651  
  3652  	// ForceSendFields is a list of field names (e.g. "Countries") to
  3653  	// unconditionally include in API requests. By default, fields with
  3654  	// empty values are omitted from API requests. However, any non-pointer,
  3655  	// non-interface field appearing in ForceSendFields will be sent to the
  3656  	// server regardless of whether the field is empty or not. This may be
  3657  	// used to include empty fields in Patch requests.
  3658  	ForceSendFields []string `json:"-"`
  3659  
  3660  	// NullFields is a list of field names (e.g. "Countries") to include in
  3661  	// API requests with the JSON null value. By default, fields with empty
  3662  	// values are omitted from API requests. However, any field with an
  3663  	// empty value appearing in NullFields will be sent to the server as
  3664  	// null. It is an error if a field in this list has a non-empty value.
  3665  	// This may be used to include null fields in Patch requests.
  3666  	NullFields []string `json:"-"`
  3667  }
  3668  
  3669  func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
  3670  	type NoMethod CountriesListResponse
  3671  	raw := NoMethod(*s)
  3672  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3673  }
  3674  
  3675  // Country: Contains information about a country that can be targeted by
  3676  // ads.
  3677  type Country struct {
  3678  	// CountryCode: Country code.
  3679  	CountryCode string `json:"countryCode,omitempty"`
  3680  
  3681  	// DartId: DART ID of this country. This is the ID used for targeting
  3682  	// and generating reports.
  3683  	DartId int64 `json:"dartId,omitempty,string"`
  3684  
  3685  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3686  	// string "dfareporting#country".
  3687  	Kind string `json:"kind,omitempty"`
  3688  
  3689  	// Name: Name of this country.
  3690  	Name string `json:"name,omitempty"`
  3691  
  3692  	// SslEnabled: Whether ad serving supports secure servers in this
  3693  	// country.
  3694  	SslEnabled bool `json:"sslEnabled,omitempty"`
  3695  
  3696  	// ServerResponse contains the HTTP response code and headers from the
  3697  	// server.
  3698  	googleapi.ServerResponse `json:"-"`
  3699  
  3700  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  3701  	// unconditionally include in API requests. By default, fields with
  3702  	// empty values are omitted from API requests. However, any non-pointer,
  3703  	// non-interface field appearing in ForceSendFields will be sent to the
  3704  	// server regardless of whether the field is empty or not. This may be
  3705  	// used to include empty fields in Patch requests.
  3706  	ForceSendFields []string `json:"-"`
  3707  
  3708  	// NullFields is a list of field names (e.g. "CountryCode") to include
  3709  	// in API requests with the JSON null value. By default, fields with
  3710  	// empty values are omitted from API requests. However, any field with
  3711  	// an empty value appearing in NullFields will be sent to the server as
  3712  	// null. It is an error if a field in this list has a non-empty value.
  3713  	// This may be used to include null fields in Patch requests.
  3714  	NullFields []string `json:"-"`
  3715  }
  3716  
  3717  func (s *Country) MarshalJSON() ([]byte, error) {
  3718  	type NoMethod Country
  3719  	raw := NoMethod(*s)
  3720  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3721  }
  3722  
  3723  // Creative: Contains properties of a Creative.
  3724  type Creative struct {
  3725  	// AccountId: Account ID of this creative. This field, if left unset,
  3726  	// will be auto-generated for both insert and update operations.
  3727  	// Applicable to all creative types.
  3728  	AccountId int64 `json:"accountId,omitempty,string"`
  3729  
  3730  	// Active: Whether the creative is active. Applicable to all creative
  3731  	// types.
  3732  	Active bool `json:"active,omitempty"`
  3733  
  3734  	// AdParameters: Ad parameters user for VPAID creative. This is a
  3735  	// read-only field. Applicable to the following creative types: all
  3736  	// VPAID.
  3737  	AdParameters string `json:"adParameters,omitempty"`
  3738  
  3739  	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
  3740  	// customize the creative settings of a Rich Media ad running on your
  3741  	// site without having to contact the advertiser. You can use keywords
  3742  	// to dynamically change the look or functionality of a creative.
  3743  	// Applicable to the following creative types: all RICH_MEDIA, and all
  3744  	// VPAID.
  3745  	AdTagKeys []string `json:"adTagKeys,omitempty"`
  3746  
  3747  	// AdditionalSizes: Additional sizes associated with a responsive
  3748  	// creative. When inserting or updating a creative either the size ID
  3749  	// field or size width and height fields can be used. Applicable to
  3750  	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
  3751  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  3752  
  3753  	// AdvertiserId: Advertiser ID of this creative. This is a required
  3754  	// field. Applicable to all creative types.
  3755  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3756  
  3757  	// AllowScriptAccess: Whether script access is allowed for this
  3758  	// creative. This is a read-only and deprecated field which will
  3759  	// automatically be set to true on update. Applicable to the following
  3760  	// creative types: FLASH_INPAGE.
  3761  	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
  3762  
  3763  	// Archived: Whether the creative is archived. Applicable to all
  3764  	// creative types.
  3765  	Archived bool `json:"archived,omitempty"`
  3766  
  3767  	// ArtworkType: Type of artwork used for the creative. This is a
  3768  	// read-only field. Applicable to the following creative types: all
  3769  	// RICH_MEDIA, and all VPAID.
  3770  	//
  3771  	// Possible values:
  3772  	//   "ARTWORK_TYPE_FLASH"
  3773  	//   "ARTWORK_TYPE_HTML5"
  3774  	//   "ARTWORK_TYPE_IMAGE"
  3775  	//   "ARTWORK_TYPE_MIXED"
  3776  	ArtworkType string `json:"artworkType,omitempty"`
  3777  
  3778  	// AuthoringSource: Source application where creative was authored.
  3779  	// Presently, only DBM authored creatives will have this field set.
  3780  	// Applicable to all creative types.
  3781  	//
  3782  	// Possible values:
  3783  	//   "CREATIVE_AUTHORING_SOURCE_DBM"
  3784  	//   "CREATIVE_AUTHORING_SOURCE_DCM"
  3785  	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
  3786  	AuthoringSource string `json:"authoringSource,omitempty"`
  3787  
  3788  	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
  3789  	// read-only field. Applicable to the following creative types:
  3790  	// HTML5_BANNER.
  3791  	//
  3792  	// Possible values:
  3793  	//   "NINJA"
  3794  	//   "SWIFFY"
  3795  	AuthoringTool string `json:"authoringTool,omitempty"`
  3796  
  3797  	// AutoAdvanceImages: Whether images are automatically advanced for
  3798  	// image gallery creatives. Applicable to the following creative types:
  3799  	// DISPLAY_IMAGE_GALLERY.
  3800  	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
  3801  
  3802  	// BackgroundColor: The 6-character HTML color code, beginning with #,
  3803  	// for the background of the window area where the Flash file is
  3804  	// displayed. Default is white. Applicable to the following creative
  3805  	// types: FLASH_INPAGE.
  3806  	BackgroundColor string `json:"backgroundColor,omitempty"`
  3807  
  3808  	// BackupImageClickThroughUrl: Click-through URL for backup image.
  3809  	// Applicable to ENHANCED_BANNER when the primary asset type is not
  3810  	// HTML_IMAGE.
  3811  	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
  3812  
  3813  	// BackupImageFeatures: List of feature dependencies that will cause a
  3814  	// backup image to be served if the browser that serves the ad does not
  3815  	// support them. Feature dependencies are features that a browser must
  3816  	// be able to support in order to render your HTML5 creative asset
  3817  	// correctly. This field is initially auto-generated to contain all
  3818  	// features detected by Campaign Manager for all the assets of this
  3819  	// creative and can then be modified by the client. To reset this field,
  3820  	// copy over all the creativeAssets' detected features. Applicable to
  3821  	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
  3822  	// when the primary asset type is not HTML_IMAGE.
  3823  	//
  3824  	// Possible values:
  3825  	//   "APPLICATION_CACHE"
  3826  	//   "AUDIO"
  3827  	//   "CANVAS"
  3828  	//   "CANVAS_TEXT"
  3829  	//   "CSS_ANIMATIONS"
  3830  	//   "CSS_BACKGROUND_SIZE"
  3831  	//   "CSS_BORDER_IMAGE"
  3832  	//   "CSS_BORDER_RADIUS"
  3833  	//   "CSS_BOX_SHADOW"
  3834  	//   "CSS_COLUMNS"
  3835  	//   "CSS_FLEX_BOX"
  3836  	//   "CSS_FONT_FACE"
  3837  	//   "CSS_GENERATED_CONTENT"
  3838  	//   "CSS_GRADIENTS"
  3839  	//   "CSS_HSLA"
  3840  	//   "CSS_MULTIPLE_BGS"
  3841  	//   "CSS_OPACITY"
  3842  	//   "CSS_REFLECTIONS"
  3843  	//   "CSS_RGBA"
  3844  	//   "CSS_TEXT_SHADOW"
  3845  	//   "CSS_TRANSFORMS"
  3846  	//   "CSS_TRANSFORMS3D"
  3847  	//   "CSS_TRANSITIONS"
  3848  	//   "DRAG_AND_DROP"
  3849  	//   "GEO_LOCATION"
  3850  	//   "HASH_CHANGE"
  3851  	//   "HISTORY"
  3852  	//   "INDEXED_DB"
  3853  	//   "INLINE_SVG"
  3854  	//   "INPUT_ATTR_AUTOCOMPLETE"
  3855  	//   "INPUT_ATTR_AUTOFOCUS"
  3856  	//   "INPUT_ATTR_LIST"
  3857  	//   "INPUT_ATTR_MAX"
  3858  	//   "INPUT_ATTR_MIN"
  3859  	//   "INPUT_ATTR_MULTIPLE"
  3860  	//   "INPUT_ATTR_PATTERN"
  3861  	//   "INPUT_ATTR_PLACEHOLDER"
  3862  	//   "INPUT_ATTR_REQUIRED"
  3863  	//   "INPUT_ATTR_STEP"
  3864  	//   "INPUT_TYPE_COLOR"
  3865  	//   "INPUT_TYPE_DATE"
  3866  	//   "INPUT_TYPE_DATETIME"
  3867  	//   "INPUT_TYPE_DATETIME_LOCAL"
  3868  	//   "INPUT_TYPE_EMAIL"
  3869  	//   "INPUT_TYPE_MONTH"
  3870  	//   "INPUT_TYPE_NUMBER"
  3871  	//   "INPUT_TYPE_RANGE"
  3872  	//   "INPUT_TYPE_SEARCH"
  3873  	//   "INPUT_TYPE_TEL"
  3874  	//   "INPUT_TYPE_TIME"
  3875  	//   "INPUT_TYPE_URL"
  3876  	//   "INPUT_TYPE_WEEK"
  3877  	//   "LOCAL_STORAGE"
  3878  	//   "POST_MESSAGE"
  3879  	//   "SESSION_STORAGE"
  3880  	//   "SMIL"
  3881  	//   "SVG_CLIP_PATHS"
  3882  	//   "SVG_FE_IMAGE"
  3883  	//   "SVG_FILTERS"
  3884  	//   "SVG_HREF"
  3885  	//   "TOUCH"
  3886  	//   "VIDEO"
  3887  	//   "WEBGL"
  3888  	//   "WEB_SOCKETS"
  3889  	//   "WEB_SQL_DATABASE"
  3890  	//   "WEB_WORKERS"
  3891  	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
  3892  
  3893  	// BackupImageReportingLabel: Reporting label used for HTML5 banner
  3894  	// backup image. Applicable to the following creative types: DISPLAY
  3895  	// when the primary asset type is not HTML_IMAGE.
  3896  	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
  3897  
  3898  	// BackupImageTargetWindow: Target window for backup image. Applicable
  3899  	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
  3900  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  3901  	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
  3902  
  3903  	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
  3904  	// HTML5_BANNER creatives, this is a subset of detected click tags for
  3905  	// the assets associated with this creative. After creating a flash
  3906  	// asset, detected click tags will be returned in the
  3907  	// creativeAssetMetadata. When inserting the creative, populate the
  3908  	// creative clickTags field using the creativeAssetMetadata.clickTags
  3909  	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
  3910  	// one entry in this list for each image creative asset. A click tag is
  3911  	// matched with a corresponding creative asset by matching the
  3912  	// clickTag.name field with the creativeAsset.assetIdentifier.name
  3913  	// field. Applicable to the following creative types:
  3914  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
  3915  	// DISPLAY when the primary asset type is not HTML_IMAGE.
  3916  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  3917  
  3918  	// CommercialId: Industry standard ID assigned to creative for reach and
  3919  	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
  3920  	CommercialId string `json:"commercialId,omitempty"`
  3921  
  3922  	// CompanionCreatives: List of companion creatives assigned to an
  3923  	// in-Stream video creative. Acceptable values include IDs of existing
  3924  	// flash and image creatives. Applicable to the following creative
  3925  	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
  3926  	// dynamicAssetSelection set to false.
  3927  	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
  3928  
  3929  	// Compatibility: Compatibilities associated with this creative. This is
  3930  	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
  3931  	// rendering either on desktop or on mobile devices or in mobile apps
  3932  	// for regular or interstitial ads, respectively. APP and
  3933  	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
  3934  	// creatives may have these compatibilities since new creatives will
  3935  	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
  3936  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  3937  	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
  3938  	// in-stream audio ads developed with the VAST standard. Applicable to
  3939  	// all creative types.
  3940  	//
  3941  	// Acceptable values are:
  3942  	// - "APP"
  3943  	// - "APP_INTERSTITIAL"
  3944  	// - "IN_STREAM_VIDEO"
  3945  	// - "IN_STREAM_AUDIO"
  3946  	// - "DISPLAY"
  3947  	// - "DISPLAY_INTERSTITIAL"
  3948  	//
  3949  	// Possible values:
  3950  	//   "APP"
  3951  	//   "APP_INTERSTITIAL"
  3952  	//   "DISPLAY"
  3953  	//   "DISPLAY_INTERSTITIAL"
  3954  	//   "IN_STREAM_AUDIO"
  3955  	//   "IN_STREAM_VIDEO"
  3956  	Compatibility []string `json:"compatibility,omitempty"`
  3957  
  3958  	// ConvertFlashToHtml5: Whether Flash assets associated with the
  3959  	// creative need to be automatically converted to HTML5. This flag is
  3960  	// enabled by default and users can choose to disable it if they don't
  3961  	// want the system to generate and use HTML5 asset for this creative.
  3962  	// Applicable to the following creative type: FLASH_INPAGE. Applicable
  3963  	// to DISPLAY when the primary asset type is not HTML_IMAGE.
  3964  	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
  3965  
  3966  	// CounterCustomEvents: List of counter events configured for the
  3967  	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3968  	// and auto-generated from clickTags. Applicable to the following
  3969  	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  3970  	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
  3971  
  3972  	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
  3973  	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
  3974  
  3975  	// CreativeAssets: Assets associated with a creative. Applicable to all
  3976  	// but the following creative types: INTERNAL_REDIRECT,
  3977  	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
  3978  	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
  3979  
  3980  	// CreativeFieldAssignments: Creative field assignments for this
  3981  	// creative. Applicable to all creative types.
  3982  	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
  3983  
  3984  	// CustomKeyValues: Custom key-values for a Rich Media creative.
  3985  	// Key-values let you customize the creative settings of a Rich Media ad
  3986  	// running on your site without having to contact the advertiser. You
  3987  	// can use key-values to dynamically change the look or functionality of
  3988  	// a creative. Applicable to the following creative types: all
  3989  	// RICH_MEDIA, and all VPAID.
  3990  	CustomKeyValues []string `json:"customKeyValues,omitempty"`
  3991  
  3992  	// DynamicAssetSelection: Set this to true to enable the use of rules to
  3993  	// target individual assets in this creative. When set to true
  3994  	// creativeAssetSelection must be set. This also controls asset-level
  3995  	// companions. When this is true, companion creatives should be assigned
  3996  	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
  3997  	// creatives.
  3998  	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
  3999  
  4000  	// ExitCustomEvents: List of exit events configured for the creative.
  4001  	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
  4002  	// and auto-generated from clickTags, For DISPLAY, an event is also
  4003  	// created from the backupImageReportingLabel. Applicable to the
  4004  	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
  4005  	// all VPAID. Applicable to DISPLAY when the primary asset type is not
  4006  	// HTML_IMAGE.
  4007  	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
  4008  
  4009  	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
  4010  	// file communicate with either Flash Player or the program hosting
  4011  	// Flash Player, such as a web browser. This is only triggered if
  4012  	// allowScriptAccess field is true. Applicable to the following creative
  4013  	// types: FLASH_INPAGE.
  4014  	FsCommand *FsCommand `json:"fsCommand,omitempty"`
  4015  
  4016  	// HtmlCode: HTML code for the creative. This is a required field when
  4017  	// applicable. This field is ignored if htmlCodeLocked is true.
  4018  	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
  4019  	// and HTML5_BANNER, and all RICH_MEDIA.
  4020  	HtmlCode string `json:"htmlCode,omitempty"`
  4021  
  4022  	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
  4023  	// manually entered. Set to true to ignore changes to htmlCode.
  4024  	// Applicable to the following creative types: FLASH_INPAGE and
  4025  	// HTML5_BANNER.
  4026  	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
  4027  
  4028  	// Id: ID of this creative. This is a read-only, auto-generated field.
  4029  	// Applicable to all creative types.
  4030  	Id int64 `json:"id,omitempty,string"`
  4031  
  4032  	// IdDimensionValue: Dimension value for the ID of this creative. This
  4033  	// is a read-only field. Applicable to all creative types.
  4034  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4035  
  4036  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4037  	// string "dfareporting#creative".
  4038  	Kind string `json:"kind,omitempty"`
  4039  
  4040  	// LastModifiedInfo: Creative last modification information. This is a
  4041  	// read-only field. Applicable to all creative types.
  4042  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  4043  
  4044  	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
  4045  	// associated with rich media and VPAID creatives. This is a read-only
  4046  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4047  	// and all VPAID.
  4048  	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
  4049  
  4050  	// MediaDescription: Description of the audio or video ad. Applicable to
  4051  	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
  4052  	// all VPAID.
  4053  	MediaDescription string `json:"mediaDescription,omitempty"`
  4054  
  4055  	// MediaDuration: Creative audio or video duration in seconds. This is a
  4056  	// read-only field. Applicable to the following creative types:
  4057  	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
  4058  	MediaDuration float64 `json:"mediaDuration,omitempty"`
  4059  
  4060  	// Name: Name of the creative. This is a required field and must be less
  4061  	// than 256 characters long. Applicable to all creative types.
  4062  	Name string `json:"name,omitempty"`
  4063  
  4064  	// OverrideCss: Override CSS value for rich media creatives. Applicable
  4065  	// to the following creative types: all RICH_MEDIA.
  4066  	OverrideCss string `json:"overrideCss,omitempty"`
  4067  
  4068  	// PoliteLoadAssetId: The asset ID of the polite load image asset.
  4069  	// Applicable to the creative type: DISPLAY.
  4070  	PoliteLoadAssetId int64 `json:"politeLoadAssetId,omitempty,string"`
  4071  
  4072  	// ProgressOffset: Amount of time to play the video before counting a
  4073  	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
  4074  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
  4075  
  4076  	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
  4077  	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
  4078  	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
  4079  	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
  4080  	// This is a required field when applicable. Applicable to the following
  4081  	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
  4082  	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
  4083  	RedirectUrl string `json:"redirectUrl,omitempty"`
  4084  
  4085  	// RenderingId: ID of current rendering version. This is a read-only
  4086  	// field. Applicable to all creative types.
  4087  	RenderingId int64 `json:"renderingId,omitempty,string"`
  4088  
  4089  	// RenderingIdDimensionValue: Dimension value for the rendering ID of
  4090  	// this creative. This is a read-only field. Applicable to all creative
  4091  	// types.
  4092  	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
  4093  
  4094  	// RequiredFlashPluginVersion: The minimum required Flash plugin version
  4095  	// for this creative. For example, 11.2.202.235. This is a read-only
  4096  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4097  	// and all VPAID.
  4098  	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
  4099  
  4100  	// RequiredFlashVersion: The internal Flash version for this creative as
  4101  	// calculated by Studio. This is a read-only field. Applicable to the
  4102  	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
  4103  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4104  	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
  4105  
  4106  	// Size: Size associated with this creative. When inserting or updating
  4107  	// a creative either the size ID field or size width and height fields
  4108  	// can be used. This is a required field when applicable; however for
  4109  	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
  4110  	// primary asset of type HTML_IMAGE, if left blank, this field will be
  4111  	// automatically set using the actual size of the associated image
  4112  	// assets. Applicable to the following creative types: DISPLAY,
  4113  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
  4114  	// RICH_MEDIA.
  4115  	Size *Size `json:"size,omitempty"`
  4116  
  4117  	// SkipOffset: Amount of time to play the video before the skip button
  4118  	// appears. Applicable to the following creative types: all
  4119  	// INSTREAM_VIDEO.
  4120  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
  4121  
  4122  	// Skippable: Whether the user can choose to skip the creative.
  4123  	// Applicable to the following creative types: all INSTREAM_VIDEO and
  4124  	// all VPAID.
  4125  	Skippable bool `json:"skippable,omitempty"`
  4126  
  4127  	// SslCompliant: Whether the creative is SSL-compliant. This is a
  4128  	// read-only field. Applicable to all creative types.
  4129  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4130  
  4131  	// SslOverride: Whether creative should be treated as SSL compliant even
  4132  	// if the system scan shows it's not. Applicable to all creative types.
  4133  	SslOverride bool `json:"sslOverride,omitempty"`
  4134  
  4135  	// StudioAdvertiserId: Studio advertiser ID associated with rich media
  4136  	// and VPAID creatives. This is a read-only field. Applicable to the
  4137  	// following creative types: all RICH_MEDIA, and all VPAID.
  4138  	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
  4139  
  4140  	// StudioCreativeId: Studio creative ID associated with rich media and
  4141  	// VPAID creatives. This is a read-only field. Applicable to the
  4142  	// following creative types: all RICH_MEDIA, and all VPAID.
  4143  	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
  4144  
  4145  	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
  4146  	// with rich media and VPAID creatives. This is a read-only field.
  4147  	// Applicable to the following creative types: all RICH_MEDIA, and all
  4148  	// VPAID.
  4149  	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
  4150  
  4151  	// SubaccountId: Subaccount ID of this creative. This field, if left
  4152  	// unset, will be auto-generated for both insert and update operations.
  4153  	// Applicable to all creative types.
  4154  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  4155  
  4156  	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
  4157  	// backup image impressions. Applicable to the following creative types:
  4158  	// all RICH_MEDIA.
  4159  	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
  4160  
  4161  	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
  4162  	// rich media impressions. Applicable to the following creative types:
  4163  	// all RICH_MEDIA.
  4164  	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
  4165  
  4166  	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
  4167  	// events. Applicable to the following creative types: all
  4168  	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
  4169  	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
  4170  
  4171  	// TimerCustomEvents: List of timer events configured for the creative.
  4172  	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
  4173  	// auto-generated from clickTags. Applicable to the following creative
  4174  	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  4175  	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
  4176  	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
  4177  
  4178  	// TotalFileSize: Combined size of all creative assets. This is a
  4179  	// read-only field. Applicable to the following creative types: all
  4180  	// RICH_MEDIA, and all VPAID.
  4181  	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
  4182  
  4183  	// Type: Type of this creative. This is a required field. Applicable to
  4184  	// all creative types.
  4185  	//
  4186  	// Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for
  4187  	// existing creatives. New creatives should use DISPLAY as a replacement
  4188  	// for these types.
  4189  	//
  4190  	// Possible values:
  4191  	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
  4192  	//   "CUSTOM_DISPLAY"
  4193  	//   "CUSTOM_DISPLAY_INTERSTITIAL"
  4194  	//   "DISPLAY"
  4195  	//   "DISPLAY_IMAGE_GALLERY"
  4196  	//   "DISPLAY_REDIRECT"
  4197  	//   "FLASH_INPAGE"
  4198  	//   "HTML5_BANNER"
  4199  	//   "IMAGE"
  4200  	//   "INSTREAM_AUDIO"
  4201  	//   "INSTREAM_VIDEO"
  4202  	//   "INSTREAM_VIDEO_REDIRECT"
  4203  	//   "INTERNAL_REDIRECT"
  4204  	//   "INTERSTITIAL_INTERNAL_REDIRECT"
  4205  	//   "RICH_MEDIA_DISPLAY_BANNER"
  4206  	//   "RICH_MEDIA_DISPLAY_EXPANDING"
  4207  	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
  4208  	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
  4209  	//   "RICH_MEDIA_IM_EXPAND"
  4210  	//   "RICH_MEDIA_INPAGE_FLOATING"
  4211  	//   "RICH_MEDIA_MOBILE_IN_APP"
  4212  	//   "RICH_MEDIA_PEEL_DOWN"
  4213  	//   "TRACKING_TEXT"
  4214  	//   "VPAID_LINEAR_VIDEO"
  4215  	//   "VPAID_NON_LINEAR_VIDEO"
  4216  	Type string `json:"type,omitempty"`
  4217  
  4218  	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
  4219  	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
  4220  	// and VPAID.
  4221  	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
  4222  
  4223  	// Version: The version number helps you keep track of multiple versions
  4224  	// of your creative in your reports. The version number will always be
  4225  	// auto-generated during insert operations to start at 1. For tracking
  4226  	// creatives the version cannot be incremented and will always remain at
  4227  	// 1. For all other creative types the version can be incremented only
  4228  	// by 1 during update operations. In addition, the version will be
  4229  	// automatically incremented by 1 when undergoing Rich Media creative
  4230  	// merging. Applicable to all creative types.
  4231  	Version int64 `json:"version,omitempty"`
  4232  
  4233  	// ServerResponse contains the HTTP response code and headers from the
  4234  	// server.
  4235  	googleapi.ServerResponse `json:"-"`
  4236  
  4237  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  4238  	// unconditionally include in API requests. By default, fields with
  4239  	// empty values are omitted from API requests. However, any non-pointer,
  4240  	// non-interface field appearing in ForceSendFields will be sent to the
  4241  	// server regardless of whether the field is empty or not. This may be
  4242  	// used to include empty fields in Patch requests.
  4243  	ForceSendFields []string `json:"-"`
  4244  
  4245  	// NullFields is a list of field names (e.g. "AccountId") to include in
  4246  	// API requests with the JSON null value. By default, fields with empty
  4247  	// values are omitted from API requests. However, any field with an
  4248  	// empty value appearing in NullFields will be sent to the server as
  4249  	// null. It is an error if a field in this list has a non-empty value.
  4250  	// This may be used to include null fields in Patch requests.
  4251  	NullFields []string `json:"-"`
  4252  }
  4253  
  4254  func (s *Creative) MarshalJSON() ([]byte, error) {
  4255  	type NoMethod Creative
  4256  	raw := NoMethod(*s)
  4257  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4258  }
  4259  
  4260  func (s *Creative) UnmarshalJSON(data []byte) error {
  4261  	type NoMethod Creative
  4262  	var s1 struct {
  4263  		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
  4264  		*NoMethod
  4265  	}
  4266  	s1.NoMethod = (*NoMethod)(s)
  4267  	if err := json.Unmarshal(data, &s1); err != nil {
  4268  		return err
  4269  	}
  4270  	s.MediaDuration = float64(s1.MediaDuration)
  4271  	return nil
  4272  }
  4273  
  4274  // CreativeAsset: Creative Asset.
  4275  type CreativeAsset struct {
  4276  	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
  4277  	// This is a read-only field. Applicable to the following creative type:
  4278  	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
  4279  	// not HTML_IMAGE.
  4280  	ActionScript3 bool `json:"actionScript3,omitempty"`
  4281  
  4282  	// Active: Whether the video or audio asset is active. This is a
  4283  	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
  4284  	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
  4285  	// VPAID.
  4286  	Active bool `json:"active,omitempty"`
  4287  
  4288  	// AdditionalSizes: Additional sizes associated with this creative
  4289  	// asset. HTML5 asset generated by compatible software such as GWD will
  4290  	// be able to support more sizes this creative asset can render.
  4291  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  4292  
  4293  	// Alignment: Possible alignments for an asset. This is a read-only
  4294  	// field. Applicable to the following creative types:
  4295  	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
  4296  	//
  4297  	// Possible values:
  4298  	//   "ALIGNMENT_BOTTOM"
  4299  	//   "ALIGNMENT_LEFT"
  4300  	//   "ALIGNMENT_RIGHT"
  4301  	//   "ALIGNMENT_TOP"
  4302  	Alignment string `json:"alignment,omitempty"`
  4303  
  4304  	// ArtworkType: Artwork type of rich media creative. This is a read-only
  4305  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4306  	//
  4307  	// Possible values:
  4308  	//   "ARTWORK_TYPE_FLASH"
  4309  	//   "ARTWORK_TYPE_HTML5"
  4310  	//   "ARTWORK_TYPE_IMAGE"
  4311  	//   "ARTWORK_TYPE_MIXED"
  4312  	ArtworkType string `json:"artworkType,omitempty"`
  4313  
  4314  	// AssetIdentifier: Identifier of this asset. This is the same
  4315  	// identifier returned during creative asset insert operation. This is a
  4316  	// required field. Applicable to all but the following creative types:
  4317  	// all REDIRECT and TRACKING_TEXT.
  4318  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4319  
  4320  	// BackupImageExit: Exit event configured for the backup image.
  4321  	// Applicable to the following creative types: all RICH_MEDIA.
  4322  	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
  4323  
  4324  	// BitRate: Detected bit-rate for audio or video asset. This is a
  4325  	// read-only field. Applicable to the following creative types:
  4326  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4327  	BitRate int64 `json:"bitRate,omitempty"`
  4328  
  4329  	// ChildAssetType: Rich media child asset type. This is a read-only
  4330  	// field. Applicable to the following creative types: all VPAID.
  4331  	//
  4332  	// Possible values:
  4333  	//   "CHILD_ASSET_TYPE_DATA"
  4334  	//   "CHILD_ASSET_TYPE_FLASH"
  4335  	//   "CHILD_ASSET_TYPE_IMAGE"
  4336  	//   "CHILD_ASSET_TYPE_VIDEO"
  4337  	ChildAssetType string `json:"childAssetType,omitempty"`
  4338  
  4339  	// CollapsedSize: Size of an asset when collapsed. This is a read-only
  4340  	// field. Applicable to the following creative types: all RICH_MEDIA and
  4341  	// all VPAID. Additionally, applicable to assets whose displayType is
  4342  	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4343  	CollapsedSize *Size `json:"collapsedSize,omitempty"`
  4344  
  4345  	// CompanionCreativeIds: List of companion creatives assigned to an
  4346  	// in-stream video creative asset. Acceptable values include IDs of
  4347  	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
  4348  	// creative type with dynamicAssetSelection set to true.
  4349  	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
  4350  
  4351  	// CustomStartTimeValue: Custom start time in seconds for making the
  4352  	// asset visible. Applicable to the following creative types: all
  4353  	// RICH_MEDIA. Value must be greater than or equal to 0.
  4354  	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
  4355  
  4356  	// DetectedFeatures: List of feature dependencies for the creative asset
  4357  	// that are detected by Campaign Manager. Feature dependencies are
  4358  	// features that a browser must be able to support in order to render
  4359  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4360  	// field. Applicable to the following creative types: HTML5_BANNER.
  4361  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4362  	//
  4363  	// Possible values:
  4364  	//   "APPLICATION_CACHE"
  4365  	//   "AUDIO"
  4366  	//   "CANVAS"
  4367  	//   "CANVAS_TEXT"
  4368  	//   "CSS_ANIMATIONS"
  4369  	//   "CSS_BACKGROUND_SIZE"
  4370  	//   "CSS_BORDER_IMAGE"
  4371  	//   "CSS_BORDER_RADIUS"
  4372  	//   "CSS_BOX_SHADOW"
  4373  	//   "CSS_COLUMNS"
  4374  	//   "CSS_FLEX_BOX"
  4375  	//   "CSS_FONT_FACE"
  4376  	//   "CSS_GENERATED_CONTENT"
  4377  	//   "CSS_GRADIENTS"
  4378  	//   "CSS_HSLA"
  4379  	//   "CSS_MULTIPLE_BGS"
  4380  	//   "CSS_OPACITY"
  4381  	//   "CSS_REFLECTIONS"
  4382  	//   "CSS_RGBA"
  4383  	//   "CSS_TEXT_SHADOW"
  4384  	//   "CSS_TRANSFORMS"
  4385  	//   "CSS_TRANSFORMS3D"
  4386  	//   "CSS_TRANSITIONS"
  4387  	//   "DRAG_AND_DROP"
  4388  	//   "GEO_LOCATION"
  4389  	//   "HASH_CHANGE"
  4390  	//   "HISTORY"
  4391  	//   "INDEXED_DB"
  4392  	//   "INLINE_SVG"
  4393  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4394  	//   "INPUT_ATTR_AUTOFOCUS"
  4395  	//   "INPUT_ATTR_LIST"
  4396  	//   "INPUT_ATTR_MAX"
  4397  	//   "INPUT_ATTR_MIN"
  4398  	//   "INPUT_ATTR_MULTIPLE"
  4399  	//   "INPUT_ATTR_PATTERN"
  4400  	//   "INPUT_ATTR_PLACEHOLDER"
  4401  	//   "INPUT_ATTR_REQUIRED"
  4402  	//   "INPUT_ATTR_STEP"
  4403  	//   "INPUT_TYPE_COLOR"
  4404  	//   "INPUT_TYPE_DATE"
  4405  	//   "INPUT_TYPE_DATETIME"
  4406  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4407  	//   "INPUT_TYPE_EMAIL"
  4408  	//   "INPUT_TYPE_MONTH"
  4409  	//   "INPUT_TYPE_NUMBER"
  4410  	//   "INPUT_TYPE_RANGE"
  4411  	//   "INPUT_TYPE_SEARCH"
  4412  	//   "INPUT_TYPE_TEL"
  4413  	//   "INPUT_TYPE_TIME"
  4414  	//   "INPUT_TYPE_URL"
  4415  	//   "INPUT_TYPE_WEEK"
  4416  	//   "LOCAL_STORAGE"
  4417  	//   "POST_MESSAGE"
  4418  	//   "SESSION_STORAGE"
  4419  	//   "SMIL"
  4420  	//   "SVG_CLIP_PATHS"
  4421  	//   "SVG_FE_IMAGE"
  4422  	//   "SVG_FILTERS"
  4423  	//   "SVG_HREF"
  4424  	//   "TOUCH"
  4425  	//   "VIDEO"
  4426  	//   "WEBGL"
  4427  	//   "WEB_SOCKETS"
  4428  	//   "WEB_SQL_DATABASE"
  4429  	//   "WEB_WORKERS"
  4430  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4431  
  4432  	// DisplayType: Type of rich media asset. This is a read-only field.
  4433  	// Applicable to the following creative types: all RICH_MEDIA.
  4434  	//
  4435  	// Possible values:
  4436  	//   "ASSET_DISPLAY_TYPE_BACKDROP"
  4437  	//   "ASSET_DISPLAY_TYPE_EXPANDING"
  4438  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
  4439  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
  4440  	//   "ASSET_DISPLAY_TYPE_FLOATING"
  4441  	//   "ASSET_DISPLAY_TYPE_INPAGE"
  4442  	//   "ASSET_DISPLAY_TYPE_OVERLAY"
  4443  	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
  4444  	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
  4445  	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
  4446  	DisplayType string `json:"displayType,omitempty"`
  4447  
  4448  	// Duration: Duration in seconds for which an asset will be displayed.
  4449  	// Applicable to the following creative types: INSTREAM_AUDIO,
  4450  	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
  4451  	// equal to 1.
  4452  	Duration int64 `json:"duration,omitempty"`
  4453  
  4454  	// DurationType: Duration type for which an asset will be displayed.
  4455  	// Applicable to the following creative types: all RICH_MEDIA.
  4456  	//
  4457  	// Possible values:
  4458  	//   "ASSET_DURATION_TYPE_AUTO"
  4459  	//   "ASSET_DURATION_TYPE_CUSTOM"
  4460  	//   "ASSET_DURATION_TYPE_NONE"
  4461  	DurationType string `json:"durationType,omitempty"`
  4462  
  4463  	// ExpandedDimension: Detected expanded dimension for video asset. This
  4464  	// is a read-only field. Applicable to the following creative types:
  4465  	// INSTREAM_VIDEO and all VPAID.
  4466  	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
  4467  
  4468  	// FileSize: File size associated with this creative asset. This is a
  4469  	// read-only field. Applicable to all but the following creative types:
  4470  	// all REDIRECT and TRACKING_TEXT.
  4471  	FileSize int64 `json:"fileSize,omitempty,string"`
  4472  
  4473  	// FlashVersion: Flash version of the asset. This is a read-only field.
  4474  	// Applicable to the following creative types: FLASH_INPAGE, all
  4475  	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
  4476  	// asset type is not HTML_IMAGE.
  4477  	FlashVersion int64 `json:"flashVersion,omitempty"`
  4478  
  4479  	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
  4480  	// Applicable to the following creative types: all RICH_MEDIA.
  4481  	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
  4482  
  4483  	// HideSelectionBoxes: Whether to hide selection boxes flag for an
  4484  	// asset. Applicable to the following creative types: all RICH_MEDIA.
  4485  	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
  4486  
  4487  	// HorizontallyLocked: Whether the asset is horizontally locked. This is
  4488  	// a read-only field. Applicable to the following creative types: all
  4489  	// RICH_MEDIA.
  4490  	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
  4491  
  4492  	// Id: Numeric ID of this creative asset. This is a required field and
  4493  	// should not be modified. Applicable to all but the following creative
  4494  	// types: all REDIRECT and TRACKING_TEXT.
  4495  	Id int64 `json:"id,omitempty,string"`
  4496  
  4497  	// IdDimensionValue: Dimension value for the ID of the asset. This is a
  4498  	// read-only, auto-generated field.
  4499  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4500  
  4501  	// MediaDuration: Detected duration for audio or video asset. This is a
  4502  	// read-only field. Applicable to the following creative types:
  4503  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4504  	MediaDuration float64 `json:"mediaDuration,omitempty"`
  4505  
  4506  	// MimeType: Detected MIME type for audio or video asset. This is a
  4507  	// read-only field. Applicable to the following creative types:
  4508  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4509  	MimeType string `json:"mimeType,omitempty"`
  4510  
  4511  	// Offset: Offset position for an asset in collapsed mode. This is a
  4512  	// read-only field. Applicable to the following creative types: all
  4513  	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
  4514  	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
  4515  	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4516  	Offset *OffsetPosition `json:"offset,omitempty"`
  4517  
  4518  	// Orientation: Orientation of video asset. This is a read-only,
  4519  	// auto-generated field.
  4520  	//
  4521  	// Possible values:
  4522  	//   "LANDSCAPE"
  4523  	//   "PORTRAIT"
  4524  	//   "SQUARE"
  4525  	Orientation string `json:"orientation,omitempty"`
  4526  
  4527  	// OriginalBackup: Whether the backup asset is original or changed by
  4528  	// the user in Campaign Manager. Applicable to the following creative
  4529  	// types: all RICH_MEDIA.
  4530  	OriginalBackup bool `json:"originalBackup,omitempty"`
  4531  
  4532  	// Position: Offset position for an asset. Applicable to the following
  4533  	// creative types: all RICH_MEDIA.
  4534  	Position *OffsetPosition `json:"position,omitempty"`
  4535  
  4536  	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
  4537  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4538  	//
  4539  	// Possible values:
  4540  	//   "OFFSET_UNIT_PERCENT"
  4541  	//   "OFFSET_UNIT_PIXEL"
  4542  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4543  	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
  4544  
  4545  	// PositionTopUnit: Offset top unit for an asset. This is a read-only
  4546  	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
  4547  	// Applicable to the following creative types: all RICH_MEDIA.
  4548  	//
  4549  	// Possible values:
  4550  	//   "OFFSET_UNIT_PERCENT"
  4551  	//   "OFFSET_UNIT_PIXEL"
  4552  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4553  	PositionTopUnit string `json:"positionTopUnit,omitempty"`
  4554  
  4555  	// ProgressiveServingUrl: Progressive URL for video asset. This is a
  4556  	// read-only field. Applicable to the following creative types:
  4557  	// INSTREAM_VIDEO and all VPAID.
  4558  	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
  4559  
  4560  	// Pushdown: Whether the asset pushes down other content. Applicable to
  4561  	// the following creative types: all RICH_MEDIA. Additionally, only
  4562  	// applicable when the asset offsets are 0, the collapsedSize.width
  4563  	// matches size.width, and the collapsedSize.height is less than
  4564  	// size.height.
  4565  	Pushdown bool `json:"pushdown,omitempty"`
  4566  
  4567  	// PushdownDuration: Pushdown duration in seconds for an asset.
  4568  	// Applicable to the following creative types: all
  4569  	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
  4570  	// field is true, the offsets are 0, the collapsedSize.width matches
  4571  	// size.width, and the collapsedSize.height is less than size.height.
  4572  	// Acceptable values are 0 to 9.99, inclusive.
  4573  	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
  4574  
  4575  	// Role: Role of the asset in relation to creative. Applicable to all
  4576  	// but the following creative types: all REDIRECT and TRACKING_TEXT.
  4577  	// This is a required field.
  4578  	// PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE,
  4579  	// DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple
  4580  	// primary assets), and all VPAID creatives.
  4581  	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
  4582  	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
  4583  	// type is not HTML_IMAGE.
  4584  	// ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE
  4585  	// creatives.
  4586  	// OTHER refers to assets from sources other than Campaign Manager, such
  4587  	// as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID
  4588  	// creatives.
  4589  	// PARENT_VIDEO refers to videos uploaded by the user in Campaign
  4590  	// Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
  4591  	// creatives.
  4592  	// TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from
  4593  	// PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
  4594  	// VPAID_LINEAR_VIDEO creatives.
  4595  	// ALTERNATE_VIDEO refers to the Campaign Manager representation of
  4596  	// child asset videos from Studio, and is applicable to
  4597  	// VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
  4598  	// Campaign Manager.
  4599  	// For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and
  4600  	// ALTERNATE_VIDEO assets that are marked active serve as backup in case
  4601  	// the VPAID creative cannot be served. Only PARENT_VIDEO assets can be
  4602  	// added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
  4603  	// creative.
  4604  	// PARENT_AUDIO refers to audios uploaded by the user in Campaign
  4605  	// Manager and is applicable to INSTREAM_AUDIO
  4606  	// creatives.
  4607  	// TRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from
  4608  	// PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives.
  4609  	//
  4610  	// Possible values:
  4611  	//   "ADDITIONAL_FLASH"
  4612  	//   "ADDITIONAL_IMAGE"
  4613  	//   "ALTERNATE_VIDEO"
  4614  	//   "BACKUP_IMAGE"
  4615  	//   "OTHER"
  4616  	//   "PARENT_AUDIO"
  4617  	//   "PARENT_VIDEO"
  4618  	//   "PRIMARY"
  4619  	//   "TRANSCODED_AUDIO"
  4620  	//   "TRANSCODED_VIDEO"
  4621  	Role string `json:"role,omitempty"`
  4622  
  4623  	// Size: Size associated with this creative asset. This is a required
  4624  	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
  4625  	// if left blank, this field will be automatically set using the actual
  4626  	// size of the associated image asset. Applicable to the following
  4627  	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
  4628  	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
  4629  	// asset type is not HTML_IMAGE.
  4630  	Size *Size `json:"size,omitempty"`
  4631  
  4632  	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
  4633  	// field. Applicable to all but the following creative types: all
  4634  	// REDIRECT and TRACKING_TEXT.
  4635  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4636  
  4637  	// StartTimeType: Initial wait time type before making the asset
  4638  	// visible. Applicable to the following creative types: all RICH_MEDIA.
  4639  	//
  4640  	// Possible values:
  4641  	//   "ASSET_START_TIME_TYPE_CUSTOM"
  4642  	//   "ASSET_START_TIME_TYPE_NONE"
  4643  	StartTimeType string `json:"startTimeType,omitempty"`
  4644  
  4645  	// StreamingServingUrl: Streaming URL for video asset. This is a
  4646  	// read-only field. Applicable to the following creative types:
  4647  	// INSTREAM_VIDEO and all VPAID.
  4648  	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
  4649  
  4650  	// Transparency: Whether the asset is transparent. Applicable to the
  4651  	// following creative types: all RICH_MEDIA. Additionally, only
  4652  	// applicable to HTML5 assets.
  4653  	Transparency bool `json:"transparency,omitempty"`
  4654  
  4655  	// VerticallyLocked: Whether the asset is vertically locked. This is a
  4656  	// read-only field. Applicable to the following creative types: all
  4657  	// RICH_MEDIA.
  4658  	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
  4659  
  4660  	// WindowMode: Window mode options for flash assets. Applicable to the
  4661  	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
  4662  	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
  4663  	// RICH_MEDIA_INPAGE_FLOATING.
  4664  	//
  4665  	// Possible values:
  4666  	//   "OPAQUE"
  4667  	//   "TRANSPARENT"
  4668  	//   "WINDOW"
  4669  	WindowMode string `json:"windowMode,omitempty"`
  4670  
  4671  	// ZIndex: zIndex value of an asset. Applicable to the following
  4672  	// creative types: all RICH_MEDIA.Additionally, only applicable to
  4673  	// assets whose displayType is NOT one of the following types:
  4674  	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
  4675  	// values are -999999999 to 999999999, inclusive.
  4676  	ZIndex int64 `json:"zIndex,omitempty"`
  4677  
  4678  	// ZipFilename: File name of zip file. This is a read-only field.
  4679  	// Applicable to the following creative types: HTML5_BANNER.
  4680  	ZipFilename string `json:"zipFilename,omitempty"`
  4681  
  4682  	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
  4683  	// to the following creative types: HTML5_BANNER.
  4684  	ZipFilesize string `json:"zipFilesize,omitempty"`
  4685  
  4686  	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
  4687  	// unconditionally include in API requests. By default, fields with
  4688  	// empty values are omitted from API requests. However, any non-pointer,
  4689  	// non-interface field appearing in ForceSendFields will be sent to the
  4690  	// server regardless of whether the field is empty or not. This may be
  4691  	// used to include empty fields in Patch requests.
  4692  	ForceSendFields []string `json:"-"`
  4693  
  4694  	// NullFields is a list of field names (e.g. "ActionScript3") to include
  4695  	// in API requests with the JSON null value. By default, fields with
  4696  	// empty values are omitted from API requests. However, any field with
  4697  	// an empty value appearing in NullFields will be sent to the server as
  4698  	// null. It is an error if a field in this list has a non-empty value.
  4699  	// This may be used to include null fields in Patch requests.
  4700  	NullFields []string `json:"-"`
  4701  }
  4702  
  4703  func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
  4704  	type NoMethod CreativeAsset
  4705  	raw := NoMethod(*s)
  4706  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4707  }
  4708  
  4709  func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
  4710  	type NoMethod CreativeAsset
  4711  	var s1 struct {
  4712  		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
  4713  		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
  4714  		*NoMethod
  4715  	}
  4716  	s1.NoMethod = (*NoMethod)(s)
  4717  	if err := json.Unmarshal(data, &s1); err != nil {
  4718  		return err
  4719  	}
  4720  	s.MediaDuration = float64(s1.MediaDuration)
  4721  	s.PushdownDuration = float64(s1.PushdownDuration)
  4722  	return nil
  4723  }
  4724  
  4725  // CreativeAssetId: Creative Asset ID.
  4726  type CreativeAssetId struct {
  4727  	// Name: Name of the creative asset. This is a required field while
  4728  	// inserting an asset. After insertion, this assetIdentifier is used to
  4729  	// identify the uploaded asset. Characters in the name must be
  4730  	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
  4731  	Name string `json:"name,omitempty"`
  4732  
  4733  	// Type: Type of asset to upload. This is a required field. FLASH and
  4734  	// IMAGE are no longer supported for new uploads. All image assets
  4735  	// should use HTML_IMAGE.
  4736  	//
  4737  	// Possible values:
  4738  	//   "AUDIO"
  4739  	//   "FLASH"
  4740  	//   "HTML"
  4741  	//   "HTML_IMAGE"
  4742  	//   "IMAGE"
  4743  	//   "VIDEO"
  4744  	Type string `json:"type,omitempty"`
  4745  
  4746  	// ForceSendFields is a list of field names (e.g. "Name") to
  4747  	// unconditionally include in API requests. By default, fields with
  4748  	// empty values are omitted from API requests. However, any non-pointer,
  4749  	// non-interface field appearing in ForceSendFields will be sent to the
  4750  	// server regardless of whether the field is empty or not. This may be
  4751  	// used to include empty fields in Patch requests.
  4752  	ForceSendFields []string `json:"-"`
  4753  
  4754  	// NullFields is a list of field names (e.g. "Name") to include in API
  4755  	// requests with the JSON null value. By default, fields with empty
  4756  	// values are omitted from API requests. However, any field with an
  4757  	// empty value appearing in NullFields will be sent to the server as
  4758  	// null. It is an error if a field in this list has a non-empty value.
  4759  	// This may be used to include null fields in Patch requests.
  4760  	NullFields []string `json:"-"`
  4761  }
  4762  
  4763  func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
  4764  	type NoMethod CreativeAssetId
  4765  	raw := NoMethod(*s)
  4766  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4767  }
  4768  
  4769  // CreativeAssetMetadata: CreativeAssets contains properties of a
  4770  // creative asset file which will be uploaded or has already been
  4771  // uploaded. Refer to the creative sample code for how to upload assets
  4772  // and insert a creative.
  4773  type CreativeAssetMetadata struct {
  4774  	// AssetIdentifier: ID of the creative asset. This is a required field.
  4775  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4776  
  4777  	// ClickTags: List of detected click tags for assets. This is a
  4778  	// read-only auto-generated field.
  4779  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  4780  
  4781  	// DetectedFeatures: List of feature dependencies for the creative asset
  4782  	// that are detected by Campaign Manager. Feature dependencies are
  4783  	// features that a browser must be able to support in order to render
  4784  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4785  	// field.
  4786  	//
  4787  	// Possible values:
  4788  	//   "APPLICATION_CACHE"
  4789  	//   "AUDIO"
  4790  	//   "CANVAS"
  4791  	//   "CANVAS_TEXT"
  4792  	//   "CSS_ANIMATIONS"
  4793  	//   "CSS_BACKGROUND_SIZE"
  4794  	//   "CSS_BORDER_IMAGE"
  4795  	//   "CSS_BORDER_RADIUS"
  4796  	//   "CSS_BOX_SHADOW"
  4797  	//   "CSS_COLUMNS"
  4798  	//   "CSS_FLEX_BOX"
  4799  	//   "CSS_FONT_FACE"
  4800  	//   "CSS_GENERATED_CONTENT"
  4801  	//   "CSS_GRADIENTS"
  4802  	//   "CSS_HSLA"
  4803  	//   "CSS_MULTIPLE_BGS"
  4804  	//   "CSS_OPACITY"
  4805  	//   "CSS_REFLECTIONS"
  4806  	//   "CSS_RGBA"
  4807  	//   "CSS_TEXT_SHADOW"
  4808  	//   "CSS_TRANSFORMS"
  4809  	//   "CSS_TRANSFORMS3D"
  4810  	//   "CSS_TRANSITIONS"
  4811  	//   "DRAG_AND_DROP"
  4812  	//   "GEO_LOCATION"
  4813  	//   "HASH_CHANGE"
  4814  	//   "HISTORY"
  4815  	//   "INDEXED_DB"
  4816  	//   "INLINE_SVG"
  4817  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4818  	//   "INPUT_ATTR_AUTOFOCUS"
  4819  	//   "INPUT_ATTR_LIST"
  4820  	//   "INPUT_ATTR_MAX"
  4821  	//   "INPUT_ATTR_MIN"
  4822  	//   "INPUT_ATTR_MULTIPLE"
  4823  	//   "INPUT_ATTR_PATTERN"
  4824  	//   "INPUT_ATTR_PLACEHOLDER"
  4825  	//   "INPUT_ATTR_REQUIRED"
  4826  	//   "INPUT_ATTR_STEP"
  4827  	//   "INPUT_TYPE_COLOR"
  4828  	//   "INPUT_TYPE_DATE"
  4829  	//   "INPUT_TYPE_DATETIME"
  4830  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4831  	//   "INPUT_TYPE_EMAIL"
  4832  	//   "INPUT_TYPE_MONTH"
  4833  	//   "INPUT_TYPE_NUMBER"
  4834  	//   "INPUT_TYPE_RANGE"
  4835  	//   "INPUT_TYPE_SEARCH"
  4836  	//   "INPUT_TYPE_TEL"
  4837  	//   "INPUT_TYPE_TIME"
  4838  	//   "INPUT_TYPE_URL"
  4839  	//   "INPUT_TYPE_WEEK"
  4840  	//   "LOCAL_STORAGE"
  4841  	//   "POST_MESSAGE"
  4842  	//   "SESSION_STORAGE"
  4843  	//   "SMIL"
  4844  	//   "SVG_CLIP_PATHS"
  4845  	//   "SVG_FE_IMAGE"
  4846  	//   "SVG_FILTERS"
  4847  	//   "SVG_HREF"
  4848  	//   "TOUCH"
  4849  	//   "VIDEO"
  4850  	//   "WEBGL"
  4851  	//   "WEB_SOCKETS"
  4852  	//   "WEB_SQL_DATABASE"
  4853  	//   "WEB_WORKERS"
  4854  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4855  
  4856  	// Id: Numeric ID of the asset. This is a read-only, auto-generated
  4857  	// field.
  4858  	Id int64 `json:"id,omitempty,string"`
  4859  
  4860  	// IdDimensionValue: Dimension value for the numeric ID of the asset.
  4861  	// This is a read-only, auto-generated field.
  4862  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4863  
  4864  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4865  	// string "dfareporting#creativeAssetMetadata".
  4866  	Kind string `json:"kind,omitempty"`
  4867  
  4868  	// WarnedValidationRules: Rules validated during code generation that
  4869  	// generated a warning. This is a read-only, auto-generated
  4870  	// field.
  4871  	//
  4872  	// Possible values are:
  4873  	// - "ADMOB_REFERENCED"
  4874  	// - "ASSET_FORMAT_UNSUPPORTED_DCM"
  4875  	// - "ASSET_INVALID"
  4876  	// - "CLICK_TAG_HARD_CODED"
  4877  	// - "CLICK_TAG_INVALID"
  4878  	// - "CLICK_TAG_IN_GWD"
  4879  	// - "CLICK_TAG_MISSING"
  4880  	// - "CLICK_TAG_MORE_THAN_ONE"
  4881  	// - "CLICK_TAG_NON_TOP_LEVEL"
  4882  	// - "COMPONENT_UNSUPPORTED_DCM"
  4883  	// - "ENABLER_UNSUPPORTED_METHOD_DCM"
  4884  	// - "EXTERNAL_FILE_REFERENCED"
  4885  	// - "FILE_DETAIL_EMPTY"
  4886  	// - "FILE_TYPE_INVALID"
  4887  	// - "GWD_PROPERTIES_INVALID"
  4888  	// - "HTML5_FEATURE_UNSUPPORTED"
  4889  	// - "LINKED_FILE_NOT_FOUND"
  4890  	// - "MAX_FLASH_VERSION_11"
  4891  	// - "MRAID_REFERENCED"
  4892  	// - "NOT_SSL_COMPLIANT"
  4893  	// - "ORPHANED_ASSET"
  4894  	// - "PRIMARY_HTML_MISSING"
  4895  	// - "SVG_INVALID"
  4896  	// - "ZIP_INVALID"
  4897  	//
  4898  	// Possible values:
  4899  	//   "ADMOB_REFERENCED"
  4900  	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
  4901  	//   "ASSET_INVALID"
  4902  	//   "CLICK_TAG_HARD_CODED"
  4903  	//   "CLICK_TAG_INVALID"
  4904  	//   "CLICK_TAG_IN_GWD"
  4905  	//   "CLICK_TAG_MISSING"
  4906  	//   "CLICK_TAG_MORE_THAN_ONE"
  4907  	//   "CLICK_TAG_NON_TOP_LEVEL"
  4908  	//   "COMPONENT_UNSUPPORTED_DCM"
  4909  	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
  4910  	//   "EXTERNAL_FILE_REFERENCED"
  4911  	//   "FILE_DETAIL_EMPTY"
  4912  	//   "FILE_TYPE_INVALID"
  4913  	//   "GWD_PROPERTIES_INVALID"
  4914  	//   "HTML5_FEATURE_UNSUPPORTED"
  4915  	//   "LINKED_FILE_NOT_FOUND"
  4916  	//   "MAX_FLASH_VERSION_11"
  4917  	//   "MRAID_REFERENCED"
  4918  	//   "NOT_SSL_COMPLIANT"
  4919  	//   "ORPHANED_ASSET"
  4920  	//   "PRIMARY_HTML_MISSING"
  4921  	//   "SVG_INVALID"
  4922  	//   "ZIP_INVALID"
  4923  	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
  4924  
  4925  	// ServerResponse contains the HTTP response code and headers from the
  4926  	// server.
  4927  	googleapi.ServerResponse `json:"-"`
  4928  
  4929  	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
  4930  	// unconditionally include in API requests. By default, fields with
  4931  	// empty values are omitted from API requests. However, any non-pointer,
  4932  	// non-interface field appearing in ForceSendFields will be sent to the
  4933  	// server regardless of whether the field is empty or not. This may be
  4934  	// used to include empty fields in Patch requests.
  4935  	ForceSendFields []string `json:"-"`
  4936  
  4937  	// NullFields is a list of field names (e.g. "AssetIdentifier") to
  4938  	// include in API requests with the JSON null value. By default, fields
  4939  	// with empty values are omitted from API requests. However, any field
  4940  	// with an empty value appearing in NullFields will be sent to the
  4941  	// server as null. It is an error if a field in this list has a
  4942  	// non-empty value. This may be used to include null fields in Patch
  4943  	// requests.
  4944  	NullFields []string `json:"-"`
  4945  }
  4946  
  4947  func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
  4948  	type NoMethod CreativeAssetMetadata
  4949  	raw := NoMethod(*s)
  4950  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4951  }
  4952  
  4953  // CreativeAssetSelection: Encapsulates the list of rules for asset
  4954  // selection and a default asset in case none of the rules match.
  4955  // Applicable to INSTREAM_VIDEO creatives.
  4956  type CreativeAssetSelection struct {
  4957  	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
  4958  	// the parent assets in this creative, and will be served if none of the
  4959  	// rules match. This is a required field.
  4960  	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
  4961  
  4962  	// Rules: Rules determine which asset will be served to a viewer. Rules
  4963  	// will be evaluated in the order in which they are stored in this list.
  4964  	// This list must contain at least one rule. Applicable to
  4965  	// INSTREAM_VIDEO creatives.
  4966  	Rules []*Rule `json:"rules,omitempty"`
  4967  
  4968  	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
  4969  	// unconditionally include in API requests. By default, fields with
  4970  	// empty values are omitted from API requests. However, any non-pointer,
  4971  	// non-interface field appearing in ForceSendFields will be sent to the
  4972  	// server regardless of whether the field is empty or not. This may be
  4973  	// used to include empty fields in Patch requests.
  4974  	ForceSendFields []string `json:"-"`
  4975  
  4976  	// NullFields is a list of field names (e.g. "DefaultAssetId") to
  4977  	// include in API requests with the JSON null value. By default, fields
  4978  	// with empty values are omitted from API requests. However, any field
  4979  	// with an empty value appearing in NullFields will be sent to the
  4980  	// server as null. It is an error if a field in this list has a
  4981  	// non-empty value. This may be used to include null fields in Patch
  4982  	// requests.
  4983  	NullFields []string `json:"-"`
  4984  }
  4985  
  4986  func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
  4987  	type NoMethod CreativeAssetSelection
  4988  	raw := NoMethod(*s)
  4989  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4990  }
  4991  
  4992  // CreativeAssignment: Creative Assignment.
  4993  type CreativeAssignment struct {
  4994  	// Active: Whether this creative assignment is active. When true, the
  4995  	// creative will be included in the ad's rotation.
  4996  	Active bool `json:"active,omitempty"`
  4997  
  4998  	// ApplyEventTags: Whether applicable event tags should fire when this
  4999  	// creative assignment is rendered. If this value is unset when the ad
  5000  	// is inserted or updated, it will default to true for all creative
  5001  	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
  5002  	// and INSTREAM_VIDEO.
  5003  	ApplyEventTags bool `json:"applyEventTags,omitempty"`
  5004  
  5005  	// ClickThroughUrl: Click-through URL of the creative assignment.
  5006  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  5007  
  5008  	// CompanionCreativeOverrides: Companion creative overrides for this
  5009  	// creative assignment. Applicable to video ads.
  5010  	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
  5011  
  5012  	// CreativeGroupAssignments: Creative group assignments for this
  5013  	// creative assignment. Only one assignment per creative group number is
  5014  	// allowed for a maximum of two assignments.
  5015  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  5016  
  5017  	// CreativeId: ID of the creative to be assigned. This is a required
  5018  	// field.
  5019  	CreativeId int64 `json:"creativeId,omitempty,string"`
  5020  
  5021  	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
  5022  	// This is a read-only, auto-generated field.
  5023  	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
  5024  
  5025  	// EndTime: Date and time that the assigned creative should stop
  5026  	// serving. Must be later than the start time.
  5027  	EndTime string `json:"endTime,omitempty"`
  5028  
  5029  	// RichMediaExitOverrides: Rich media exit overrides for this creative
  5030  	// assignment.
  5031  	// Applicable when the creative type is any of the following:
  5032  	// - DISPLAY
  5033  	// - RICH_MEDIA_INPAGE
  5034  	// - RICH_MEDIA_INPAGE_FLOATING
  5035  	// - RICH_MEDIA_IM_EXPAND
  5036  	// - RICH_MEDIA_EXPANDING
  5037  	// - RICH_MEDIA_INTERSTITIAL_FLOAT
  5038  	// - RICH_MEDIA_MOBILE_IN_APP
  5039  	// - RICH_MEDIA_MULTI_FLOATING
  5040  	// - RICH_MEDIA_PEEL_DOWN
  5041  	// - VPAID_LINEAR
  5042  	// - VPAID_NON_LINEAR
  5043  	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
  5044  
  5045  	// Sequence: Sequence number of the creative assignment, applicable when
  5046  	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
  5047  	// values are 1 to 65535, inclusive.
  5048  	Sequence int64 `json:"sequence,omitempty"`
  5049  
  5050  	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
  5051  	// This is a read-only field that is auto-generated when the ad is
  5052  	// inserted or updated.
  5053  	SslCompliant bool `json:"sslCompliant,omitempty"`
  5054  
  5055  	// StartTime: Date and time that the assigned creative should start
  5056  	// serving.
  5057  	StartTime string `json:"startTime,omitempty"`
  5058  
  5059  	// Weight: Weight of the creative assignment, applicable when the
  5060  	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
  5061  	// than or equal to 1.
  5062  	Weight int64 `json:"weight,omitempty"`
  5063  
  5064  	// ForceSendFields is a list of field names (e.g. "Active") to
  5065  	// unconditionally include in API requests. By default, fields with
  5066  	// empty values are omitted from API requests. However, any non-pointer,
  5067  	// non-interface field appearing in ForceSendFields will be sent to the
  5068  	// server regardless of whether the field is empty or not. This may be
  5069  	// used to include empty fields in Patch requests.
  5070  	ForceSendFields []string `json:"-"`
  5071  
  5072  	// NullFields is a list of field names (e.g. "Active") to include in API
  5073  	// requests with the JSON null value. By default, fields with empty
  5074  	// values are omitted from API requests. However, any field with an
  5075  	// empty value appearing in NullFields will be sent to the server as
  5076  	// null. It is an error if a field in this list has a non-empty value.
  5077  	// This may be used to include null fields in Patch requests.
  5078  	NullFields []string `json:"-"`
  5079  }
  5080  
  5081  func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
  5082  	type NoMethod CreativeAssignment
  5083  	raw := NoMethod(*s)
  5084  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5085  }
  5086  
  5087  // CreativeClickThroughUrl: Click-through URL
  5088  type CreativeClickThroughUrl struct {
  5089  	// ComputedClickThroughUrl: Read-only convenience field representing the
  5090  	// actual URL that will be used for this click-through. The URL is
  5091  	// computed as follows:
  5092  	// - If landingPageId is specified then that landing page's URL is
  5093  	// assigned to this field.
  5094  	// - Otherwise, the customClickThroughUrl is assigned to this field.
  5095  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  5096  
  5097  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  5098  	// landingPageId field is left unset.
  5099  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  5100  
  5101  	// LandingPageId: ID of the landing page for the click-through URL.
  5102  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  5103  
  5104  	// ForceSendFields is a list of field names (e.g.
  5105  	// "ComputedClickThroughUrl") to unconditionally include in API
  5106  	// requests. By default, fields with empty values are omitted from API
  5107  	// requests. However, any non-pointer, non-interface field appearing in
  5108  	// ForceSendFields will be sent to the server regardless of whether the
  5109  	// field is empty or not. This may be used to include empty fields in
  5110  	// Patch requests.
  5111  	ForceSendFields []string `json:"-"`
  5112  
  5113  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  5114  	// to include in API requests with the JSON null value. By default,
  5115  	// fields with empty values are omitted from API requests. However, any
  5116  	// field with an empty value appearing in NullFields will be sent to the
  5117  	// server as null. It is an error if a field in this list has a
  5118  	// non-empty value. This may be used to include null fields in Patch
  5119  	// requests.
  5120  	NullFields []string `json:"-"`
  5121  }
  5122  
  5123  func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
  5124  	type NoMethod CreativeClickThroughUrl
  5125  	raw := NoMethod(*s)
  5126  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5127  }
  5128  
  5129  // CreativeCustomEvent: Creative Custom Event.
  5130  type CreativeCustomEvent struct {
  5131  	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
  5132  	// and Data Transfer. This is a read-only field.
  5133  	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
  5134  
  5135  	// AdvertiserCustomEventName: User-entered name for the event.
  5136  	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
  5137  
  5138  	// AdvertiserCustomEventType: Type of the event. This is a read-only
  5139  	// field.
  5140  	//
  5141  	// Possible values:
  5142  	//   "ADVERTISER_EVENT_COUNTER"
  5143  	//   "ADVERTISER_EVENT_EXIT"
  5144  	//   "ADVERTISER_EVENT_TIMER"
  5145  	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
  5146  
  5147  	// ArtworkLabel: Artwork label column, used to link events in Campaign
  5148  	// Manager back to events in Studio. This is a required field and should
  5149  	// not be modified after insertion.
  5150  	ArtworkLabel string `json:"artworkLabel,omitempty"`
  5151  
  5152  	// ArtworkType: Artwork type used by the creative.This is a read-only
  5153  	// field.
  5154  	//
  5155  	// Possible values:
  5156  	//   "ARTWORK_TYPE_FLASH"
  5157  	//   "ARTWORK_TYPE_HTML5"
  5158  	//   "ARTWORK_TYPE_IMAGE"
  5159  	//   "ARTWORK_TYPE_MIXED"
  5160  	ArtworkType string `json:"artworkType,omitempty"`
  5161  
  5162  	// ExitClickThroughUrl: Exit click-through URL for the event. This field
  5163  	// is used only for exit events.
  5164  	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
  5165  
  5166  	// Id: ID of this event. This is a required field and should not be
  5167  	// modified after insertion.
  5168  	Id int64 `json:"id,omitempty,string"`
  5169  
  5170  	// PopupWindowProperties: Properties for rich media popup windows. This
  5171  	// field is used only for exit events.
  5172  	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
  5173  
  5174  	// TargetType: Target type used by the event.
  5175  	//
  5176  	// Possible values:
  5177  	//   "TARGET_BLANK"
  5178  	//   "TARGET_PARENT"
  5179  	//   "TARGET_POPUP"
  5180  	//   "TARGET_SELF"
  5181  	//   "TARGET_TOP"
  5182  	TargetType string `json:"targetType,omitempty"`
  5183  
  5184  	// VideoReportingId: Video reporting ID, used to differentiate multiple
  5185  	// videos in a single creative. This is a read-only field.
  5186  	VideoReportingId string `json:"videoReportingId,omitempty"`
  5187  
  5188  	// ForceSendFields is a list of field names (e.g.
  5189  	// "AdvertiserCustomEventId") to unconditionally include in API
  5190  	// requests. By default, fields with empty values are omitted from API
  5191  	// requests. However, any non-pointer, non-interface field appearing in
  5192  	// ForceSendFields will be sent to the server regardless of whether the
  5193  	// field is empty or not. This may be used to include empty fields in
  5194  	// Patch requests.
  5195  	ForceSendFields []string `json:"-"`
  5196  
  5197  	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
  5198  	// to include in API requests with the JSON null value. By default,
  5199  	// fields with empty values are omitted from API requests. However, any
  5200  	// field with an empty value appearing in NullFields will be sent to the
  5201  	// server as null. It is an error if a field in this list has a
  5202  	// non-empty value. This may be used to include null fields in Patch
  5203  	// requests.
  5204  	NullFields []string `json:"-"`
  5205  }
  5206  
  5207  func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
  5208  	type NoMethod CreativeCustomEvent
  5209  	raw := NoMethod(*s)
  5210  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5211  }
  5212  
  5213  // CreativeField: Contains properties of a creative field.
  5214  type CreativeField struct {
  5215  	// AccountId: Account ID of this creative field. This is a read-only
  5216  	// field that can be left blank.
  5217  	AccountId int64 `json:"accountId,omitempty,string"`
  5218  
  5219  	// AdvertiserId: Advertiser ID of this creative field. This is a
  5220  	// required field on insertion.
  5221  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5222  
  5223  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5224  	// advertiser. This is a read-only, auto-generated field.
  5225  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5226  
  5227  	// Id: ID of this creative field. This is a read-only, auto-generated
  5228  	// field.
  5229  	Id int64 `json:"id,omitempty,string"`
  5230  
  5231  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5232  	// string "dfareporting#creativeField".
  5233  	Kind string `json:"kind,omitempty"`
  5234  
  5235  	// Name: Name of this creative field. This is a required field and must
  5236  	// be less than 256 characters long and unique among creative fields of
  5237  	// the same advertiser.
  5238  	Name string `json:"name,omitempty"`
  5239  
  5240  	// SubaccountId: Subaccount ID of this creative field. This is a
  5241  	// read-only field that can be left blank.
  5242  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5243  
  5244  	// ServerResponse contains the HTTP response code and headers from the
  5245  	// server.
  5246  	googleapi.ServerResponse `json:"-"`
  5247  
  5248  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5249  	// unconditionally include in API requests. By default, fields with
  5250  	// empty values are omitted from API requests. However, any non-pointer,
  5251  	// non-interface field appearing in ForceSendFields will be sent to the
  5252  	// server regardless of whether the field is empty or not. This may be
  5253  	// used to include empty fields in Patch requests.
  5254  	ForceSendFields []string `json:"-"`
  5255  
  5256  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5257  	// API requests with the JSON null value. By default, fields with empty
  5258  	// values are omitted from API requests. However, any field with an
  5259  	// empty value appearing in NullFields will be sent to the server as
  5260  	// null. It is an error if a field in this list has a non-empty value.
  5261  	// This may be used to include null fields in Patch requests.
  5262  	NullFields []string `json:"-"`
  5263  }
  5264  
  5265  func (s *CreativeField) MarshalJSON() ([]byte, error) {
  5266  	type NoMethod CreativeField
  5267  	raw := NoMethod(*s)
  5268  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5269  }
  5270  
  5271  // CreativeFieldAssignment: Creative Field Assignment.
  5272  type CreativeFieldAssignment struct {
  5273  	// CreativeFieldId: ID of the creative field.
  5274  	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
  5275  
  5276  	// CreativeFieldValueId: ID of the creative field value.
  5277  	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
  5278  
  5279  	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
  5280  	// unconditionally include in API requests. By default, fields with
  5281  	// empty values are omitted from API requests. However, any non-pointer,
  5282  	// non-interface field appearing in ForceSendFields will be sent to the
  5283  	// server regardless of whether the field is empty or not. This may be
  5284  	// used to include empty fields in Patch requests.
  5285  	ForceSendFields []string `json:"-"`
  5286  
  5287  	// NullFields is a list of field names (e.g. "CreativeFieldId") to
  5288  	// include in API requests with the JSON null value. By default, fields
  5289  	// with empty values are omitted from API requests. However, any field
  5290  	// with an empty value appearing in NullFields will be sent to the
  5291  	// server as null. It is an error if a field in this list has a
  5292  	// non-empty value. This may be used to include null fields in Patch
  5293  	// requests.
  5294  	NullFields []string `json:"-"`
  5295  }
  5296  
  5297  func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
  5298  	type NoMethod CreativeFieldAssignment
  5299  	raw := NoMethod(*s)
  5300  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5301  }
  5302  
  5303  // CreativeFieldValue: Contains properties of a creative field value.
  5304  type CreativeFieldValue struct {
  5305  	// Id: ID of this creative field value. This is a read-only,
  5306  	// auto-generated field.
  5307  	Id int64 `json:"id,omitempty,string"`
  5308  
  5309  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5310  	// string "dfareporting#creativeFieldValue".
  5311  	Kind string `json:"kind,omitempty"`
  5312  
  5313  	// Value: Value of this creative field value. It needs to be less than
  5314  	// 256 characters in length and unique per creative field.
  5315  	Value string `json:"value,omitempty"`
  5316  
  5317  	// ServerResponse contains the HTTP response code and headers from the
  5318  	// server.
  5319  	googleapi.ServerResponse `json:"-"`
  5320  
  5321  	// ForceSendFields is a list of field names (e.g. "Id") to
  5322  	// unconditionally include in API requests. By default, fields with
  5323  	// empty values are omitted from API requests. However, any non-pointer,
  5324  	// non-interface field appearing in ForceSendFields will be sent to the
  5325  	// server regardless of whether the field is empty or not. This may be
  5326  	// used to include empty fields in Patch requests.
  5327  	ForceSendFields []string `json:"-"`
  5328  
  5329  	// NullFields is a list of field names (e.g. "Id") to include in API
  5330  	// requests with the JSON null value. By default, fields with empty
  5331  	// values are omitted from API requests. However, any field with an
  5332  	// empty value appearing in NullFields will be sent to the server as
  5333  	// null. It is an error if a field in this list has a non-empty value.
  5334  	// This may be used to include null fields in Patch requests.
  5335  	NullFields []string `json:"-"`
  5336  }
  5337  
  5338  func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
  5339  	type NoMethod CreativeFieldValue
  5340  	raw := NoMethod(*s)
  5341  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5342  }
  5343  
  5344  // CreativeFieldValuesListResponse: Creative Field Value List Response
  5345  type CreativeFieldValuesListResponse struct {
  5346  	// CreativeFieldValues: Creative field value collection.
  5347  	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
  5348  
  5349  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5350  	// string "dfareporting#creativeFieldValuesListResponse".
  5351  	Kind string `json:"kind,omitempty"`
  5352  
  5353  	// NextPageToken: Pagination token to be used for the next list
  5354  	// operation.
  5355  	NextPageToken string `json:"nextPageToken,omitempty"`
  5356  
  5357  	// ServerResponse contains the HTTP response code and headers from the
  5358  	// server.
  5359  	googleapi.ServerResponse `json:"-"`
  5360  
  5361  	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
  5362  	// to unconditionally include in API requests. By default, fields with
  5363  	// empty values are omitted from API requests. However, any non-pointer,
  5364  	// non-interface field appearing in ForceSendFields will be sent to the
  5365  	// server regardless of whether the field is empty or not. This may be
  5366  	// used to include empty fields in Patch requests.
  5367  	ForceSendFields []string `json:"-"`
  5368  
  5369  	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
  5370  	// include in API requests with the JSON null value. By default, fields
  5371  	// with empty values are omitted from API requests. However, any field
  5372  	// with an empty value appearing in NullFields will be sent to the
  5373  	// server as null. It is an error if a field in this list has a
  5374  	// non-empty value. This may be used to include null fields in Patch
  5375  	// requests.
  5376  	NullFields []string `json:"-"`
  5377  }
  5378  
  5379  func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
  5380  	type NoMethod CreativeFieldValuesListResponse
  5381  	raw := NoMethod(*s)
  5382  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5383  }
  5384  
  5385  // CreativeFieldsListResponse: Creative Field List Response
  5386  type CreativeFieldsListResponse struct {
  5387  	// CreativeFields: Creative field collection.
  5388  	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
  5389  
  5390  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5391  	// string "dfareporting#creativeFieldsListResponse".
  5392  	Kind string `json:"kind,omitempty"`
  5393  
  5394  	// NextPageToken: Pagination token to be used for the next list
  5395  	// operation.
  5396  	NextPageToken string `json:"nextPageToken,omitempty"`
  5397  
  5398  	// ServerResponse contains the HTTP response code and headers from the
  5399  	// server.
  5400  	googleapi.ServerResponse `json:"-"`
  5401  
  5402  	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
  5403  	// unconditionally include in API requests. By default, fields with
  5404  	// empty values are omitted from API requests. However, any non-pointer,
  5405  	// non-interface field appearing in ForceSendFields will be sent to the
  5406  	// server regardless of whether the field is empty or not. This may be
  5407  	// used to include empty fields in Patch requests.
  5408  	ForceSendFields []string `json:"-"`
  5409  
  5410  	// NullFields is a list of field names (e.g. "CreativeFields") to
  5411  	// include in API requests with the JSON null value. By default, fields
  5412  	// with empty values are omitted from API requests. However, any field
  5413  	// with an empty value appearing in NullFields will be sent to the
  5414  	// server as null. It is an error if a field in this list has a
  5415  	// non-empty value. This may be used to include null fields in Patch
  5416  	// requests.
  5417  	NullFields []string `json:"-"`
  5418  }
  5419  
  5420  func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
  5421  	type NoMethod CreativeFieldsListResponse
  5422  	raw := NoMethod(*s)
  5423  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5424  }
  5425  
  5426  // CreativeGroup: Contains properties of a creative group.
  5427  type CreativeGroup struct {
  5428  	// AccountId: Account ID of this creative group. This is a read-only
  5429  	// field that can be left blank.
  5430  	AccountId int64 `json:"accountId,omitempty,string"`
  5431  
  5432  	// AdvertiserId: Advertiser ID of this creative group. This is a
  5433  	// required field on insertion.
  5434  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5435  
  5436  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5437  	// advertiser. This is a read-only, auto-generated field.
  5438  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5439  
  5440  	// GroupNumber: Subgroup of the creative group. Assign your creative
  5441  	// groups to a subgroup in order to filter or manage them more easily.
  5442  	// This field is required on insertion and is read-only after insertion.
  5443  	// Acceptable values are 1 to 2, inclusive.
  5444  	GroupNumber int64 `json:"groupNumber,omitempty"`
  5445  
  5446  	// Id: ID of this creative group. This is a read-only, auto-generated
  5447  	// field.
  5448  	Id int64 `json:"id,omitempty,string"`
  5449  
  5450  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5451  	// string "dfareporting#creativeGroup".
  5452  	Kind string `json:"kind,omitempty"`
  5453  
  5454  	// Name: Name of this creative group. This is a required field and must
  5455  	// be less than 256 characters long and unique among creative groups of
  5456  	// the same advertiser.
  5457  	Name string `json:"name,omitempty"`
  5458  
  5459  	// SubaccountId: Subaccount ID of this creative group. This is a
  5460  	// read-only field that can be left blank.
  5461  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5462  
  5463  	// ServerResponse contains the HTTP response code and headers from the
  5464  	// server.
  5465  	googleapi.ServerResponse `json:"-"`
  5466  
  5467  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5468  	// unconditionally include in API requests. By default, fields with
  5469  	// empty values are omitted from API requests. However, any non-pointer,
  5470  	// non-interface field appearing in ForceSendFields will be sent to the
  5471  	// server regardless of whether the field is empty or not. This may be
  5472  	// used to include empty fields in Patch requests.
  5473  	ForceSendFields []string `json:"-"`
  5474  
  5475  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5476  	// API requests with the JSON null value. By default, fields with empty
  5477  	// values are omitted from API requests. However, any field with an
  5478  	// empty value appearing in NullFields will be sent to the server as
  5479  	// null. It is an error if a field in this list has a non-empty value.
  5480  	// This may be used to include null fields in Patch requests.
  5481  	NullFields []string `json:"-"`
  5482  }
  5483  
  5484  func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
  5485  	type NoMethod CreativeGroup
  5486  	raw := NoMethod(*s)
  5487  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5488  }
  5489  
  5490  // CreativeGroupAssignment: Creative Group Assignment.
  5491  type CreativeGroupAssignment struct {
  5492  	// CreativeGroupId: ID of the creative group to be assigned.
  5493  	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
  5494  
  5495  	// CreativeGroupNumber: Creative group number of the creative group
  5496  	// assignment.
  5497  	//
  5498  	// Possible values:
  5499  	//   "CREATIVE_GROUP_ONE"
  5500  	//   "CREATIVE_GROUP_TWO"
  5501  	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
  5502  
  5503  	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
  5504  	// unconditionally include in API requests. By default, fields with
  5505  	// empty values are omitted from API requests. However, any non-pointer,
  5506  	// non-interface field appearing in ForceSendFields will be sent to the
  5507  	// server regardless of whether the field is empty or not. This may be
  5508  	// used to include empty fields in Patch requests.
  5509  	ForceSendFields []string `json:"-"`
  5510  
  5511  	// NullFields is a list of field names (e.g. "CreativeGroupId") to
  5512  	// include in API requests with the JSON null value. By default, fields
  5513  	// with empty values are omitted from API requests. However, any field
  5514  	// with an empty value appearing in NullFields will be sent to the
  5515  	// server as null. It is an error if a field in this list has a
  5516  	// non-empty value. This may be used to include null fields in Patch
  5517  	// requests.
  5518  	NullFields []string `json:"-"`
  5519  }
  5520  
  5521  func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
  5522  	type NoMethod CreativeGroupAssignment
  5523  	raw := NoMethod(*s)
  5524  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5525  }
  5526  
  5527  // CreativeGroupsListResponse: Creative Group List Response
  5528  type CreativeGroupsListResponse struct {
  5529  	// CreativeGroups: Creative group collection.
  5530  	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
  5531  
  5532  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5533  	// string "dfareporting#creativeGroupsListResponse".
  5534  	Kind string `json:"kind,omitempty"`
  5535  
  5536  	// NextPageToken: Pagination token to be used for the next list
  5537  	// operation.
  5538  	NextPageToken string `json:"nextPageToken,omitempty"`
  5539  
  5540  	// ServerResponse contains the HTTP response code and headers from the
  5541  	// server.
  5542  	googleapi.ServerResponse `json:"-"`
  5543  
  5544  	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
  5545  	// unconditionally include in API requests. By default, fields with
  5546  	// empty values are omitted from API requests. However, any non-pointer,
  5547  	// non-interface field appearing in ForceSendFields will be sent to the
  5548  	// server regardless of whether the field is empty or not. This may be
  5549  	// used to include empty fields in Patch requests.
  5550  	ForceSendFields []string `json:"-"`
  5551  
  5552  	// NullFields is a list of field names (e.g. "CreativeGroups") to
  5553  	// include in API requests with the JSON null value. By default, fields
  5554  	// with empty values are omitted from API requests. However, any field
  5555  	// with an empty value appearing in NullFields will be sent to the
  5556  	// server as null. It is an error if a field in this list has a
  5557  	// non-empty value. This may be used to include null fields in Patch
  5558  	// requests.
  5559  	NullFields []string `json:"-"`
  5560  }
  5561  
  5562  func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
  5563  	type NoMethod CreativeGroupsListResponse
  5564  	raw := NoMethod(*s)
  5565  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5566  }
  5567  
  5568  // CreativeOptimizationConfiguration: Creative optimization settings.
  5569  type CreativeOptimizationConfiguration struct {
  5570  	// Id: ID of this creative optimization config. This field is
  5571  	// auto-generated when the campaign is inserted or updated. It can be
  5572  	// null for existing campaigns.
  5573  	Id int64 `json:"id,omitempty,string"`
  5574  
  5575  	// Name: Name of this creative optimization config. This is a required
  5576  	// field and must be less than 129 characters long.
  5577  	Name string `json:"name,omitempty"`
  5578  
  5579  	// OptimizationActivitys: List of optimization activities associated
  5580  	// with this configuration.
  5581  	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
  5582  
  5583  	// OptimizationModel: Optimization model for this configuration.
  5584  	//
  5585  	// Possible values:
  5586  	//   "CLICK"
  5587  	//   "POST_CLICK"
  5588  	//   "POST_CLICK_AND_IMPRESSION"
  5589  	//   "POST_IMPRESSION"
  5590  	//   "VIDEO_COMPLETION"
  5591  	OptimizationModel string `json:"optimizationModel,omitempty"`
  5592  
  5593  	// ForceSendFields is a list of field names (e.g. "Id") to
  5594  	// unconditionally include in API requests. By default, fields with
  5595  	// empty values are omitted from API requests. However, any non-pointer,
  5596  	// non-interface field appearing in ForceSendFields will be sent to the
  5597  	// server regardless of whether the field is empty or not. This may be
  5598  	// used to include empty fields in Patch requests.
  5599  	ForceSendFields []string `json:"-"`
  5600  
  5601  	// NullFields is a list of field names (e.g. "Id") to include in API
  5602  	// requests with the JSON null value. By default, fields with empty
  5603  	// values are omitted from API requests. However, any field with an
  5604  	// empty value appearing in NullFields will be sent to the server as
  5605  	// null. It is an error if a field in this list has a non-empty value.
  5606  	// This may be used to include null fields in Patch requests.
  5607  	NullFields []string `json:"-"`
  5608  }
  5609  
  5610  func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
  5611  	type NoMethod CreativeOptimizationConfiguration
  5612  	raw := NoMethod(*s)
  5613  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5614  }
  5615  
  5616  // CreativeRotation: Creative Rotation.
  5617  type CreativeRotation struct {
  5618  	// CreativeAssignments: Creative assignments in this creative rotation.
  5619  	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
  5620  
  5621  	// CreativeOptimizationConfigurationId: Creative optimization
  5622  	// configuration that is used by this ad. It should refer to one of the
  5623  	// existing optimization configurations in the ad's campaign. If it is
  5624  	// unset or set to 0, then the campaign's default optimization
  5625  	// configuration will be used for this ad.
  5626  	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
  5627  
  5628  	// Type: Type of creative rotation. Can be used to specify whether to
  5629  	// use sequential or random rotation.
  5630  	//
  5631  	// Possible values:
  5632  	//   "CREATIVE_ROTATION_TYPE_RANDOM"
  5633  	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
  5634  	Type string `json:"type,omitempty"`
  5635  
  5636  	// WeightCalculationStrategy: Strategy for calculating weights. Used
  5637  	// with CREATIVE_ROTATION_TYPE_RANDOM.
  5638  	//
  5639  	// Possible values:
  5640  	//   "WEIGHT_STRATEGY_CUSTOM"
  5641  	//   "WEIGHT_STRATEGY_EQUAL"
  5642  	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
  5643  	//   "WEIGHT_STRATEGY_OPTIMIZED"
  5644  	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
  5645  
  5646  	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
  5647  	// to unconditionally include in API requests. By default, fields with
  5648  	// empty values are omitted from API requests. However, any non-pointer,
  5649  	// non-interface field appearing in ForceSendFields will be sent to the
  5650  	// server regardless of whether the field is empty or not. This may be
  5651  	// used to include empty fields in Patch requests.
  5652  	ForceSendFields []string `json:"-"`
  5653  
  5654  	// NullFields is a list of field names (e.g. "CreativeAssignments") to
  5655  	// include in API requests with the JSON null value. By default, fields
  5656  	// with empty values are omitted from API requests. However, any field
  5657  	// with an empty value appearing in NullFields will be sent to the
  5658  	// server as null. It is an error if a field in this list has a
  5659  	// non-empty value. This may be used to include null fields in Patch
  5660  	// requests.
  5661  	NullFields []string `json:"-"`
  5662  }
  5663  
  5664  func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
  5665  	type NoMethod CreativeRotation
  5666  	raw := NoMethod(*s)
  5667  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5668  }
  5669  
  5670  // CreativeSettings: Creative Settings
  5671  type CreativeSettings struct {
  5672  	// IFrameFooter: Header text for iFrames for this site. Must be less
  5673  	// than or equal to 2000 characters long.
  5674  	IFrameFooter string `json:"iFrameFooter,omitempty"`
  5675  
  5676  	// IFrameHeader: Header text for iFrames for this site. Must be less
  5677  	// than or equal to 2000 characters long.
  5678  	IFrameHeader string `json:"iFrameHeader,omitempty"`
  5679  
  5680  	// ForceSendFields is a list of field names (e.g. "IFrameFooter") to
  5681  	// unconditionally include in API requests. By default, fields with
  5682  	// empty values are omitted from API requests. However, any non-pointer,
  5683  	// non-interface field appearing in ForceSendFields will be sent to the
  5684  	// server regardless of whether the field is empty or not. This may be
  5685  	// used to include empty fields in Patch requests.
  5686  	ForceSendFields []string `json:"-"`
  5687  
  5688  	// NullFields is a list of field names (e.g. "IFrameFooter") to include
  5689  	// in API requests with the JSON null value. By default, fields with
  5690  	// empty values are omitted from API requests. However, any field with
  5691  	// an empty value appearing in NullFields will be sent to the server as
  5692  	// null. It is an error if a field in this list has a non-empty value.
  5693  	// This may be used to include null fields in Patch requests.
  5694  	NullFields []string `json:"-"`
  5695  }
  5696  
  5697  func (s *CreativeSettings) MarshalJSON() ([]byte, error) {
  5698  	type NoMethod CreativeSettings
  5699  	raw := NoMethod(*s)
  5700  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5701  }
  5702  
  5703  // CreativesListResponse: Creative List Response
  5704  type CreativesListResponse struct {
  5705  	// Creatives: Creative collection.
  5706  	Creatives []*Creative `json:"creatives,omitempty"`
  5707  
  5708  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5709  	// string "dfareporting#creativesListResponse".
  5710  	Kind string `json:"kind,omitempty"`
  5711  
  5712  	// NextPageToken: Pagination token to be used for the next list
  5713  	// operation.
  5714  	NextPageToken string `json:"nextPageToken,omitempty"`
  5715  
  5716  	// ServerResponse contains the HTTP response code and headers from the
  5717  	// server.
  5718  	googleapi.ServerResponse `json:"-"`
  5719  
  5720  	// ForceSendFields is a list of field names (e.g. "Creatives") 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. "Creatives") 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 *CreativesListResponse) MarshalJSON() ([]byte, error) {
  5738  	type NoMethod CreativesListResponse
  5739  	raw := NoMethod(*s)
  5740  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5741  }
  5742  
  5743  // CrossDimensionReachReportCompatibleFields: Represents fields that are
  5744  // compatible to be selected for a report of type
  5745  // "CROSS_DIMENSION_REACH".
  5746  type CrossDimensionReachReportCompatibleFields struct {
  5747  	// Breakdown: Dimensions which are compatible to be selected in the
  5748  	// "breakdown" section of the report.
  5749  	Breakdown []*Dimension `json:"breakdown,omitempty"`
  5750  
  5751  	// DimensionFilters: Dimensions which are compatible to be selected in
  5752  	// the "dimensionFilters" section of the report.
  5753  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  5754  
  5755  	// Kind: The kind of resource this is, in this case
  5756  	// dfareporting#crossDimensionReachReportCompatibleFields.
  5757  	Kind string `json:"kind,omitempty"`
  5758  
  5759  	// Metrics: Metrics which are compatible to be selected in the
  5760  	// "metricNames" section of the report.
  5761  	Metrics []*Metric `json:"metrics,omitempty"`
  5762  
  5763  	// OverlapMetrics: Metrics which are compatible to be selected in the
  5764  	// "overlapMetricNames" section of the report.
  5765  	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
  5766  
  5767  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
  5768  	// unconditionally include in API requests. By default, fields with
  5769  	// empty values are omitted from API requests. However, any non-pointer,
  5770  	// non-interface field appearing in ForceSendFields will be sent to the
  5771  	// server regardless of whether the field is empty or not. This may be
  5772  	// used to include empty fields in Patch requests.
  5773  	ForceSendFields []string `json:"-"`
  5774  
  5775  	// NullFields is a list of field names (e.g. "Breakdown") to include in
  5776  	// API requests with the JSON null value. By default, fields with empty
  5777  	// values are omitted from API requests. However, any field with an
  5778  	// empty value appearing in NullFields will be sent to the server as
  5779  	// null. It is an error if a field in this list has a non-empty value.
  5780  	// This may be used to include null fields in Patch requests.
  5781  	NullFields []string `json:"-"`
  5782  }
  5783  
  5784  func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
  5785  	type NoMethod CrossDimensionReachReportCompatibleFields
  5786  	raw := NoMethod(*s)
  5787  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5788  }
  5789  
  5790  // CustomFloodlightVariable: A custom floodlight variable.
  5791  type CustomFloodlightVariable struct {
  5792  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5793  	// string "dfareporting#customFloodlightVariable".
  5794  	Kind string `json:"kind,omitempty"`
  5795  
  5796  	// Type: The type of custom floodlight variable to supply a value for.
  5797  	// These map to the "u[1-20]=" in the tags.
  5798  	//
  5799  	// Possible values:
  5800  	//   "U1"
  5801  	//   "U10"
  5802  	//   "U100"
  5803  	//   "U11"
  5804  	//   "U12"
  5805  	//   "U13"
  5806  	//   "U14"
  5807  	//   "U15"
  5808  	//   "U16"
  5809  	//   "U17"
  5810  	//   "U18"
  5811  	//   "U19"
  5812  	//   "U2"
  5813  	//   "U20"
  5814  	//   "U21"
  5815  	//   "U22"
  5816  	//   "U23"
  5817  	//   "U24"
  5818  	//   "U25"
  5819  	//   "U26"
  5820  	//   "U27"
  5821  	//   "U28"
  5822  	//   "U29"
  5823  	//   "U3"
  5824  	//   "U30"
  5825  	//   "U31"
  5826  	//   "U32"
  5827  	//   "U33"
  5828  	//   "U34"
  5829  	//   "U35"
  5830  	//   "U36"
  5831  	//   "U37"
  5832  	//   "U38"
  5833  	//   "U39"
  5834  	//   "U4"
  5835  	//   "U40"
  5836  	//   "U41"
  5837  	//   "U42"
  5838  	//   "U43"
  5839  	//   "U44"
  5840  	//   "U45"
  5841  	//   "U46"
  5842  	//   "U47"
  5843  	//   "U48"
  5844  	//   "U49"
  5845  	//   "U5"
  5846  	//   "U50"
  5847  	//   "U51"
  5848  	//   "U52"
  5849  	//   "U53"
  5850  	//   "U54"
  5851  	//   "U55"
  5852  	//   "U56"
  5853  	//   "U57"
  5854  	//   "U58"
  5855  	//   "U59"
  5856  	//   "U6"
  5857  	//   "U60"
  5858  	//   "U61"
  5859  	//   "U62"
  5860  	//   "U63"
  5861  	//   "U64"
  5862  	//   "U65"
  5863  	//   "U66"
  5864  	//   "U67"
  5865  	//   "U68"
  5866  	//   "U69"
  5867  	//   "U7"
  5868  	//   "U70"
  5869  	//   "U71"
  5870  	//   "U72"
  5871  	//   "U73"
  5872  	//   "U74"
  5873  	//   "U75"
  5874  	//   "U76"
  5875  	//   "U77"
  5876  	//   "U78"
  5877  	//   "U79"
  5878  	//   "U8"
  5879  	//   "U80"
  5880  	//   "U81"
  5881  	//   "U82"
  5882  	//   "U83"
  5883  	//   "U84"
  5884  	//   "U85"
  5885  	//   "U86"
  5886  	//   "U87"
  5887  	//   "U88"
  5888  	//   "U89"
  5889  	//   "U9"
  5890  	//   "U90"
  5891  	//   "U91"
  5892  	//   "U92"
  5893  	//   "U93"
  5894  	//   "U94"
  5895  	//   "U95"
  5896  	//   "U96"
  5897  	//   "U97"
  5898  	//   "U98"
  5899  	//   "U99"
  5900  	Type string `json:"type,omitempty"`
  5901  
  5902  	// Value: The value of the custom floodlight variable. The length of
  5903  	// string must not exceed 50 characters.
  5904  	Value string `json:"value,omitempty"`
  5905  
  5906  	// ForceSendFields is a list of field names (e.g. "Kind") to
  5907  	// unconditionally include in API requests. By default, fields with
  5908  	// empty values are omitted from API requests. However, any non-pointer,
  5909  	// non-interface field appearing in ForceSendFields will be sent to the
  5910  	// server regardless of whether the field is empty or not. This may be
  5911  	// used to include empty fields in Patch requests.
  5912  	ForceSendFields []string `json:"-"`
  5913  
  5914  	// NullFields is a list of field names (e.g. "Kind") to include in API
  5915  	// requests with the JSON null value. By default, fields with empty
  5916  	// values are omitted from API requests. However, any field with an
  5917  	// empty value appearing in NullFields will be sent to the server as
  5918  	// null. It is an error if a field in this list has a non-empty value.
  5919  	// This may be used to include null fields in Patch requests.
  5920  	NullFields []string `json:"-"`
  5921  }
  5922  
  5923  func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
  5924  	type NoMethod CustomFloodlightVariable
  5925  	raw := NoMethod(*s)
  5926  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5927  }
  5928  
  5929  // CustomRichMediaEvents: Represents a Custom Rich Media Events group.
  5930  type CustomRichMediaEvents struct {
  5931  	// FilteredEventIds: List of custom rich media event IDs. Dimension
  5932  	// values must be all of type dfa:richMediaEventTypeIdAndName.
  5933  	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
  5934  
  5935  	// Kind: The kind of resource this is, in this case
  5936  	// dfareporting#customRichMediaEvents.
  5937  	Kind string `json:"kind,omitempty"`
  5938  
  5939  	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
  5940  	// unconditionally include in API requests. By default, fields with
  5941  	// empty values are omitted from API requests. However, any non-pointer,
  5942  	// non-interface field appearing in ForceSendFields will be sent to the
  5943  	// server regardless of whether the field is empty or not. This may be
  5944  	// used to include empty fields in Patch requests.
  5945  	ForceSendFields []string `json:"-"`
  5946  
  5947  	// NullFields is a list of field names (e.g. "FilteredEventIds") to
  5948  	// include in API requests with the JSON null value. By default, fields
  5949  	// with empty values are omitted from API requests. However, any field
  5950  	// with an empty value appearing in NullFields will be sent to the
  5951  	// server as null. It is an error if a field in this list has a
  5952  	// non-empty value. This may be used to include null fields in Patch
  5953  	// requests.
  5954  	NullFields []string `json:"-"`
  5955  }
  5956  
  5957  func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
  5958  	type NoMethod CustomRichMediaEvents
  5959  	raw := NoMethod(*s)
  5960  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5961  }
  5962  
  5963  // DateRange: Represents a date range.
  5964  type DateRange struct {
  5965  	// EndDate: The end date of the date range, inclusive. A string of the
  5966  	// format: "yyyy-MM-dd".
  5967  	EndDate string `json:"endDate,omitempty"`
  5968  
  5969  	// Kind: The kind of resource this is, in this case
  5970  	// dfareporting#dateRange.
  5971  	Kind string `json:"kind,omitempty"`
  5972  
  5973  	// RelativeDateRange: The date range relative to the date of when the
  5974  	// report is run.
  5975  	//
  5976  	// Possible values:
  5977  	//   "LAST_14_DAYS"
  5978  	//   "LAST_24_MONTHS"
  5979  	//   "LAST_30_DAYS"
  5980  	//   "LAST_365_DAYS"
  5981  	//   "LAST_60_DAYS"
  5982  	//   "LAST_7_DAYS"
  5983  	//   "LAST_90_DAYS"
  5984  	//   "MONTH_TO_DATE"
  5985  	//   "PREVIOUS_MONTH"
  5986  	//   "PREVIOUS_QUARTER"
  5987  	//   "PREVIOUS_WEEK"
  5988  	//   "PREVIOUS_YEAR"
  5989  	//   "QUARTER_TO_DATE"
  5990  	//   "TODAY"
  5991  	//   "WEEK_TO_DATE"
  5992  	//   "YEAR_TO_DATE"
  5993  	//   "YESTERDAY"
  5994  	RelativeDateRange string `json:"relativeDateRange,omitempty"`
  5995  
  5996  	// StartDate: The start date of the date range, inclusive. A string of
  5997  	// the format: "yyyy-MM-dd".
  5998  	StartDate string `json:"startDate,omitempty"`
  5999  
  6000  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  6001  	// unconditionally include in API requests. By default, fields with
  6002  	// empty values are omitted from API requests. However, any non-pointer,
  6003  	// non-interface field appearing in ForceSendFields will be sent to the
  6004  	// server regardless of whether the field is empty or not. This may be
  6005  	// used to include empty fields in Patch requests.
  6006  	ForceSendFields []string `json:"-"`
  6007  
  6008  	// NullFields is a list of field names (e.g. "EndDate") to include in
  6009  	// API requests with the JSON null value. By default, fields with empty
  6010  	// values are omitted from API requests. However, any field with an
  6011  	// empty value appearing in NullFields will be sent to the server as
  6012  	// null. It is an error if a field in this list has a non-empty value.
  6013  	// This may be used to include null fields in Patch requests.
  6014  	NullFields []string `json:"-"`
  6015  }
  6016  
  6017  func (s *DateRange) MarshalJSON() ([]byte, error) {
  6018  	type NoMethod DateRange
  6019  	raw := NoMethod(*s)
  6020  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6021  }
  6022  
  6023  // DayPartTargeting: Day Part Targeting.
  6024  type DayPartTargeting struct {
  6025  	// DaysOfWeek: Days of the week when the ad will serve.
  6026  	//
  6027  	// Acceptable values are:
  6028  	// - "SUNDAY"
  6029  	// - "MONDAY"
  6030  	// - "TUESDAY"
  6031  	// - "WEDNESDAY"
  6032  	// - "THURSDAY"
  6033  	// - "FRIDAY"
  6034  	// - "SATURDAY"
  6035  	//
  6036  	// Possible values:
  6037  	//   "FRIDAY"
  6038  	//   "MONDAY"
  6039  	//   "SATURDAY"
  6040  	//   "SUNDAY"
  6041  	//   "THURSDAY"
  6042  	//   "TUESDAY"
  6043  	//   "WEDNESDAY"
  6044  	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
  6045  
  6046  	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
  6047  	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
  6048  	// days of week, in which case the ad would serve during these hours on
  6049  	// the specified days. For example if Monday, Wednesday, Friday are the
  6050  	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
  6051  	// specified, the ad would serve Monday, Wednesdays, and Fridays at
  6052  	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
  6053  	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
  6054  
  6055  	// UserLocalTime: Whether or not to use the user's local time. If false,
  6056  	// the America/New York time zone applies.
  6057  	UserLocalTime bool `json:"userLocalTime,omitempty"`
  6058  
  6059  	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
  6060  	// unconditionally include in API requests. By default, fields with
  6061  	// empty values are omitted from API requests. However, any non-pointer,
  6062  	// non-interface field appearing in ForceSendFields will be sent to the
  6063  	// server regardless of whether the field is empty or not. This may be
  6064  	// used to include empty fields in Patch requests.
  6065  	ForceSendFields []string `json:"-"`
  6066  
  6067  	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
  6068  	// API requests with the JSON null value. By default, fields with empty
  6069  	// values are omitted from API requests. However, any field with an
  6070  	// empty value appearing in NullFields will be sent to the server as
  6071  	// null. It is an error if a field in this list has a non-empty value.
  6072  	// This may be used to include null fields in Patch requests.
  6073  	NullFields []string `json:"-"`
  6074  }
  6075  
  6076  func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
  6077  	type NoMethod DayPartTargeting
  6078  	raw := NoMethod(*s)
  6079  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6080  }
  6081  
  6082  // DeepLink: Contains information about a landing page deep link.
  6083  type DeepLink struct {
  6084  	// AppUrl: The URL of the mobile app being linked to.
  6085  	AppUrl string `json:"appUrl,omitempty"`
  6086  
  6087  	// FallbackUrl: The fallback URL. This URL will be served to users who
  6088  	// do not have the mobile app installed.
  6089  	FallbackUrl string `json:"fallbackUrl,omitempty"`
  6090  
  6091  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6092  	// string "dfareporting#deepLink".
  6093  	Kind string `json:"kind,omitempty"`
  6094  
  6095  	// MobileApp: The mobile app targeted by this deep link.
  6096  	MobileApp *MobileApp `json:"mobileApp,omitempty"`
  6097  
  6098  	// RemarketingListIds: Ads served to users on these remarketing lists
  6099  	// will use this deep link. Applicable when mobileApp.directory is
  6100  	// APPLE_APP_STORE.
  6101  	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
  6102  
  6103  	// ForceSendFields is a list of field names (e.g. "AppUrl") to
  6104  	// unconditionally include in API requests. By default, fields with
  6105  	// empty values are omitted from API requests. However, any non-pointer,
  6106  	// non-interface field appearing in ForceSendFields will be sent to the
  6107  	// server regardless of whether the field is empty or not. This may be
  6108  	// used to include empty fields in Patch requests.
  6109  	ForceSendFields []string `json:"-"`
  6110  
  6111  	// NullFields is a list of field names (e.g. "AppUrl") to include in API
  6112  	// requests with the JSON null value. By default, fields with empty
  6113  	// values are omitted from API requests. However, any field with an
  6114  	// empty value appearing in NullFields will be sent to the server as
  6115  	// null. It is an error if a field in this list has a non-empty value.
  6116  	// This may be used to include null fields in Patch requests.
  6117  	NullFields []string `json:"-"`
  6118  }
  6119  
  6120  func (s *DeepLink) MarshalJSON() ([]byte, error) {
  6121  	type NoMethod DeepLink
  6122  	raw := NoMethod(*s)
  6123  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6124  }
  6125  
  6126  // DefaultClickThroughEventTagProperties: Properties of inheriting and
  6127  // overriding the default click-through event tag. A campaign may
  6128  // override the event tag defined at the advertiser level, and an ad may
  6129  // also override the campaign's setting further.
  6130  type DefaultClickThroughEventTagProperties struct {
  6131  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  6132  	// apply to all ads in this entity's scope.
  6133  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  6134  
  6135  	// OverrideInheritedEventTag: Whether this entity should override the
  6136  	// inherited default click-through event tag with its own defined value.
  6137  	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
  6138  
  6139  	// ForceSendFields is a list of field names (e.g.
  6140  	// "DefaultClickThroughEventTagId") to unconditionally include in API
  6141  	// requests. By default, fields with empty values are omitted from API
  6142  	// requests. However, any non-pointer, non-interface field appearing in
  6143  	// ForceSendFields will be sent to the server regardless of whether the
  6144  	// field is empty or not. This may be used to include empty fields in
  6145  	// Patch requests.
  6146  	ForceSendFields []string `json:"-"`
  6147  
  6148  	// NullFields is a list of field names (e.g.
  6149  	// "DefaultClickThroughEventTagId") to include in API requests with the
  6150  	// JSON null value. By default, fields with empty values are omitted
  6151  	// from API requests. However, any field with an empty value appearing
  6152  	// in NullFields will be sent to the server as null. It is an error if a
  6153  	// field in this list has a non-empty value. This may be used to include
  6154  	// null fields in Patch requests.
  6155  	NullFields []string `json:"-"`
  6156  }
  6157  
  6158  func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
  6159  	type NoMethod DefaultClickThroughEventTagProperties
  6160  	raw := NoMethod(*s)
  6161  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6162  }
  6163  
  6164  // DeliverySchedule: Delivery Schedule.
  6165  type DeliverySchedule struct {
  6166  	// FrequencyCap: Limit on the number of times an individual user can be
  6167  	// served the ad within a specified period of time.
  6168  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  6169  
  6170  	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
  6171  	// will not serve after the end date and time. Otherwise the ad will
  6172  	// continue to be served until it has reached its delivery goals.
  6173  	HardCutoff bool `json:"hardCutoff,omitempty"`
  6174  
  6175  	// ImpressionRatio: Impression ratio for this ad. This ratio determines
  6176  	// how often each ad is served relative to the others. For example, if
  6177  	// ad A has an impression ratio of 1 and ad B has an impression ratio of
  6178  	// 3, then Campaign Manager will serve ad B three times as often as ad
  6179  	// A. Acceptable values are 1 to 10, inclusive.
  6180  	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
  6181  
  6182  	// Priority: Serving priority of an ad, with respect to other ads. The
  6183  	// lower the priority number, the greater the priority with which it is
  6184  	// served.
  6185  	//
  6186  	// Possible values:
  6187  	//   "AD_PRIORITY_01"
  6188  	//   "AD_PRIORITY_02"
  6189  	//   "AD_PRIORITY_03"
  6190  	//   "AD_PRIORITY_04"
  6191  	//   "AD_PRIORITY_05"
  6192  	//   "AD_PRIORITY_06"
  6193  	//   "AD_PRIORITY_07"
  6194  	//   "AD_PRIORITY_08"
  6195  	//   "AD_PRIORITY_09"
  6196  	//   "AD_PRIORITY_10"
  6197  	//   "AD_PRIORITY_11"
  6198  	//   "AD_PRIORITY_12"
  6199  	//   "AD_PRIORITY_13"
  6200  	//   "AD_PRIORITY_14"
  6201  	//   "AD_PRIORITY_15"
  6202  	//   "AD_PRIORITY_16"
  6203  	Priority string `json:"priority,omitempty"`
  6204  
  6205  	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
  6206  	// unconditionally include in API requests. By default, fields with
  6207  	// empty values are omitted from API requests. However, any non-pointer,
  6208  	// non-interface field appearing in ForceSendFields will be sent to the
  6209  	// server regardless of whether the field is empty or not. This may be
  6210  	// used to include empty fields in Patch requests.
  6211  	ForceSendFields []string `json:"-"`
  6212  
  6213  	// NullFields is a list of field names (e.g. "FrequencyCap") to include
  6214  	// in API requests with the JSON null value. By default, fields with
  6215  	// empty values are omitted from API requests. However, any field with
  6216  	// an empty value appearing in NullFields will be sent to the server as
  6217  	// null. It is an error if a field in this list has a non-empty value.
  6218  	// This may be used to include null fields in Patch requests.
  6219  	NullFields []string `json:"-"`
  6220  }
  6221  
  6222  func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
  6223  	type NoMethod DeliverySchedule
  6224  	raw := NoMethod(*s)
  6225  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6226  }
  6227  
  6228  // DfpSettings: Google Ad Manager Settings
  6229  type DfpSettings struct {
  6230  	// DfpNetworkCode: Ad Manager network code for this directory site.
  6231  	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
  6232  
  6233  	// DfpNetworkName: Ad Manager network name for this directory site.
  6234  	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
  6235  
  6236  	// ProgrammaticPlacementAccepted: Whether this directory site accepts
  6237  	// programmatic placements.
  6238  	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
  6239  
  6240  	// PubPaidPlacementAccepted: Whether this directory site accepts
  6241  	// publisher-paid tags.
  6242  	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
  6243  
  6244  	// PublisherPortalOnly: Whether this directory site is available only
  6245  	// via Publisher Portal.
  6246  	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
  6247  
  6248  	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
  6249  	// unconditionally include in API requests. By default, fields with
  6250  	// empty values are omitted from API requests. However, any non-pointer,
  6251  	// non-interface field appearing in ForceSendFields will be sent to the
  6252  	// server regardless of whether the field is empty or not. This may be
  6253  	// used to include empty fields in Patch requests.
  6254  	ForceSendFields []string `json:"-"`
  6255  
  6256  	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
  6257  	// include in API requests with the JSON null value. By default, fields
  6258  	// with empty values are omitted from API requests. However, any field
  6259  	// with an empty value appearing in NullFields will be sent to the
  6260  	// server as null. It is an error if a field in this list has a
  6261  	// non-empty value. This may be used to include null fields in Patch
  6262  	// requests.
  6263  	NullFields []string `json:"-"`
  6264  }
  6265  
  6266  func (s *DfpSettings) MarshalJSON() ([]byte, error) {
  6267  	type NoMethod DfpSettings
  6268  	raw := NoMethod(*s)
  6269  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6270  }
  6271  
  6272  // Dimension: Represents a dimension.
  6273  type Dimension struct {
  6274  	// Kind: The kind of resource this is, in this case
  6275  	// dfareporting#dimension.
  6276  	Kind string `json:"kind,omitempty"`
  6277  
  6278  	// Name: The dimension name, e.g. dfa:advertiser
  6279  	Name string `json:"name,omitempty"`
  6280  
  6281  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6282  	// unconditionally include in API requests. By default, fields with
  6283  	// empty values are omitted from API requests. However, any non-pointer,
  6284  	// non-interface field appearing in ForceSendFields will be sent to the
  6285  	// server regardless of whether the field is empty or not. This may be
  6286  	// used to include empty fields in Patch requests.
  6287  	ForceSendFields []string `json:"-"`
  6288  
  6289  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6290  	// requests with the JSON null value. By default, fields with empty
  6291  	// values are omitted from API requests. However, any field with an
  6292  	// empty value appearing in NullFields will be sent to the server as
  6293  	// null. It is an error if a field in this list has a non-empty value.
  6294  	// This may be used to include null fields in Patch requests.
  6295  	NullFields []string `json:"-"`
  6296  }
  6297  
  6298  func (s *Dimension) MarshalJSON() ([]byte, error) {
  6299  	type NoMethod Dimension
  6300  	raw := NoMethod(*s)
  6301  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6302  }
  6303  
  6304  // DimensionFilter: Represents a dimension filter.
  6305  type DimensionFilter struct {
  6306  	// DimensionName: The name of the dimension to filter.
  6307  	DimensionName string `json:"dimensionName,omitempty"`
  6308  
  6309  	// Kind: The kind of resource this is, in this case
  6310  	// dfareporting#dimensionFilter.
  6311  	Kind string `json:"kind,omitempty"`
  6312  
  6313  	// Value: The value of the dimension to filter.
  6314  	Value string `json:"value,omitempty"`
  6315  
  6316  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6317  	// unconditionally include in API requests. By default, fields with
  6318  	// empty values are omitted from API requests. However, any non-pointer,
  6319  	// non-interface field appearing in ForceSendFields will be sent to the
  6320  	// server regardless of whether the field is empty or not. This may be
  6321  	// used to include empty fields in Patch requests.
  6322  	ForceSendFields []string `json:"-"`
  6323  
  6324  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6325  	// in API requests with the JSON null value. By default, fields with
  6326  	// empty values are omitted from API requests. However, any field with
  6327  	// an empty value appearing in NullFields will be sent to the server as
  6328  	// null. It is an error if a field in this list has a non-empty value.
  6329  	// This may be used to include null fields in Patch requests.
  6330  	NullFields []string `json:"-"`
  6331  }
  6332  
  6333  func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
  6334  	type NoMethod DimensionFilter
  6335  	raw := NoMethod(*s)
  6336  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6337  }
  6338  
  6339  // DimensionValue: Represents a DimensionValue resource.
  6340  type DimensionValue struct {
  6341  	// DimensionName: The name of the dimension.
  6342  	DimensionName string `json:"dimensionName,omitempty"`
  6343  
  6344  	// Etag: The eTag of this response for caching purposes.
  6345  	Etag string `json:"etag,omitempty"`
  6346  
  6347  	// Id: The ID associated with the value if available.
  6348  	Id string `json:"id,omitempty"`
  6349  
  6350  	// Kind: The kind of resource this is, in this case
  6351  	// dfareporting#dimensionValue.
  6352  	Kind string `json:"kind,omitempty"`
  6353  
  6354  	// MatchType: Determines how the 'value' field is matched when
  6355  	// filtering. If not specified, defaults to EXACT. If set to
  6356  	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
  6357  	// length character sequences, and it can be escaped with a backslash.
  6358  	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
  6359  	// matchType other than EXACT.
  6360  	//
  6361  	// Possible values:
  6362  	//   "BEGINS_WITH"
  6363  	//   "CONTAINS"
  6364  	//   "EXACT"
  6365  	//   "WILDCARD_EXPRESSION"
  6366  	MatchType string `json:"matchType,omitempty"`
  6367  
  6368  	// Value: The value of the dimension.
  6369  	Value string `json:"value,omitempty"`
  6370  
  6371  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6372  	// unconditionally include in API requests. By default, fields with
  6373  	// empty values are omitted from API requests. However, any non-pointer,
  6374  	// non-interface field appearing in ForceSendFields will be sent to the
  6375  	// server regardless of whether the field is empty or not. This may be
  6376  	// used to include empty fields in Patch requests.
  6377  	ForceSendFields []string `json:"-"`
  6378  
  6379  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6380  	// in API requests with the JSON null value. By default, fields with
  6381  	// empty values are omitted from API requests. However, any field with
  6382  	// an empty value appearing in NullFields will be sent to the server as
  6383  	// null. It is an error if a field in this list has a non-empty value.
  6384  	// This may be used to include null fields in Patch requests.
  6385  	NullFields []string `json:"-"`
  6386  }
  6387  
  6388  func (s *DimensionValue) MarshalJSON() ([]byte, error) {
  6389  	type NoMethod DimensionValue
  6390  	raw := NoMethod(*s)
  6391  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6392  }
  6393  
  6394  // DimensionValueList: Represents the list of DimensionValue resources.
  6395  type DimensionValueList struct {
  6396  	// Etag: The eTag of this response for caching purposes.
  6397  	Etag string `json:"etag,omitempty"`
  6398  
  6399  	// Items: The dimension values returned in this response.
  6400  	Items []*DimensionValue `json:"items,omitempty"`
  6401  
  6402  	// Kind: The kind of list this is, in this case
  6403  	// dfareporting#dimensionValueList.
  6404  	Kind string `json:"kind,omitempty"`
  6405  
  6406  	// NextPageToken: Continuation token used to page through dimension
  6407  	// values. To retrieve the next page of results, set the next request's
  6408  	// "pageToken" to the value of this field. The page token is only valid
  6409  	// for a limited amount of time and should not be persisted.
  6410  	NextPageToken string `json:"nextPageToken,omitempty"`
  6411  
  6412  	// ServerResponse contains the HTTP response code and headers from the
  6413  	// server.
  6414  	googleapi.ServerResponse `json:"-"`
  6415  
  6416  	// ForceSendFields is a list of field names (e.g. "Etag") to
  6417  	// unconditionally include in API requests. By default, fields with
  6418  	// empty values are omitted from API requests. However, any non-pointer,
  6419  	// non-interface field appearing in ForceSendFields will be sent to the
  6420  	// server regardless of whether the field is empty or not. This may be
  6421  	// used to include empty fields in Patch requests.
  6422  	ForceSendFields []string `json:"-"`
  6423  
  6424  	// NullFields is a list of field names (e.g. "Etag") to include in API
  6425  	// requests with the JSON null value. By default, fields with empty
  6426  	// values are omitted from API requests. However, any field with an
  6427  	// empty value appearing in NullFields will be sent to the server as
  6428  	// null. It is an error if a field in this list has a non-empty value.
  6429  	// This may be used to include null fields in Patch requests.
  6430  	NullFields []string `json:"-"`
  6431  }
  6432  
  6433  func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
  6434  	type NoMethod DimensionValueList
  6435  	raw := NoMethod(*s)
  6436  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6437  }
  6438  
  6439  // DimensionValueRequest: Represents a DimensionValuesRequest.
  6440  type DimensionValueRequest struct {
  6441  	// DimensionName: The name of the dimension for which values should be
  6442  	// requested.
  6443  	DimensionName string `json:"dimensionName,omitempty"`
  6444  
  6445  	// EndDate: The end date of the date range for which to retrieve
  6446  	// dimension values. A string of the format "yyyy-MM-dd".
  6447  	EndDate string `json:"endDate,omitempty"`
  6448  
  6449  	// Filters: The list of filters by which to filter values. The filters
  6450  	// are ANDed.
  6451  	Filters []*DimensionFilter `json:"filters,omitempty"`
  6452  
  6453  	// Kind: The kind of request this is, in this case
  6454  	// dfareporting#dimensionValueRequest.
  6455  	Kind string `json:"kind,omitempty"`
  6456  
  6457  	// StartDate: The start date of the date range for which to retrieve
  6458  	// dimension values. A string of the format "yyyy-MM-dd".
  6459  	StartDate string `json:"startDate,omitempty"`
  6460  
  6461  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6462  	// unconditionally include in API requests. By default, fields with
  6463  	// empty values are omitted from API requests. However, any non-pointer,
  6464  	// non-interface field appearing in ForceSendFields will be sent to the
  6465  	// server regardless of whether the field is empty or not. This may be
  6466  	// used to include empty fields in Patch requests.
  6467  	ForceSendFields []string `json:"-"`
  6468  
  6469  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6470  	// in API requests with the JSON null value. By default, fields with
  6471  	// empty values are omitted from API requests. However, any field with
  6472  	// an empty value appearing in NullFields will be sent to the server as
  6473  	// null. It is an error if a field in this list has a non-empty value.
  6474  	// This may be used to include null fields in Patch requests.
  6475  	NullFields []string `json:"-"`
  6476  }
  6477  
  6478  func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
  6479  	type NoMethod DimensionValueRequest
  6480  	raw := NoMethod(*s)
  6481  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6482  }
  6483  
  6484  // DirectorySite: DirectorySites contains properties of a website from
  6485  // the Site Directory. Sites need to be added to an account via the
  6486  // Sites resource before they can be assigned to a placement.
  6487  type DirectorySite struct {
  6488  	// Active: Whether this directory site is active.
  6489  	Active bool `json:"active,omitempty"`
  6490  
  6491  	// ContactAssignments: Directory site contacts.
  6492  	ContactAssignments []*DirectorySiteContactAssignment `json:"contactAssignments,omitempty"`
  6493  
  6494  	// CountryId: Country ID of this directory site. This is a read-only
  6495  	// field.
  6496  	CountryId int64 `json:"countryId,omitempty,string"`
  6497  
  6498  	// CurrencyId: Currency ID of this directory site. This is a read-only
  6499  	// field.
  6500  	// Possible values are:
  6501  	// - "1" for USD
  6502  	// - "2" for GBP
  6503  	// - "3" for ESP
  6504  	// - "4" for SEK
  6505  	// - "5" for CAD
  6506  	// - "6" for JPY
  6507  	// - "7" for DEM
  6508  	// - "8" for AUD
  6509  	// - "9" for FRF
  6510  	// - "10" for ITL
  6511  	// - "11" for DKK
  6512  	// - "12" for NOK
  6513  	// - "13" for FIM
  6514  	// - "14" for ZAR
  6515  	// - "15" for IEP
  6516  	// - "16" for NLG
  6517  	// - "17" for EUR
  6518  	// - "18" for KRW
  6519  	// - "19" for TWD
  6520  	// - "20" for SGD
  6521  	// - "21" for CNY
  6522  	// - "22" for HKD
  6523  	// - "23" for NZD
  6524  	// - "24" for MYR
  6525  	// - "25" for BRL
  6526  	// - "26" for PTE
  6527  	// - "27" for MXP
  6528  	// - "28" for CLP
  6529  	// - "29" for TRY
  6530  	// - "30" for ARS
  6531  	// - "31" for PEN
  6532  	// - "32" for ILS
  6533  	// - "33" for CHF
  6534  	// - "34" for VEF
  6535  	// - "35" for COP
  6536  	// - "36" for GTQ
  6537  	// - "37" for PLN
  6538  	// - "39" for INR
  6539  	// - "40" for THB
  6540  	// - "41" for IDR
  6541  	// - "42" for CZK
  6542  	// - "43" for RON
  6543  	// - "44" for HUF
  6544  	// - "45" for RUB
  6545  	// - "46" for AED
  6546  	// - "47" for BGN
  6547  	// - "48" for HRK
  6548  	// - "49" for MXN
  6549  	// - "50" for NGN
  6550  	CurrencyId int64 `json:"currencyId,omitempty,string"`
  6551  
  6552  	// Description: Description of this directory site. This is a read-only
  6553  	// field.
  6554  	Description string `json:"description,omitempty"`
  6555  
  6556  	// Id: ID of this directory site. This is a read-only, auto-generated
  6557  	// field.
  6558  	Id int64 `json:"id,omitempty,string"`
  6559  
  6560  	// IdDimensionValue: Dimension value for the ID of this directory site.
  6561  	// This is a read-only, auto-generated field.
  6562  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  6563  
  6564  	// InpageTagFormats: Tag types for regular placements.
  6565  	//
  6566  	// Acceptable values are:
  6567  	// - "STANDARD"
  6568  	// - "IFRAME_JAVASCRIPT_INPAGE"
  6569  	// - "INTERNAL_REDIRECT_INPAGE"
  6570  	// - "JAVASCRIPT_INPAGE"
  6571  	//
  6572  	// Possible values:
  6573  	//   "IFRAME_JAVASCRIPT_INPAGE"
  6574  	//   "INTERNAL_REDIRECT_INPAGE"
  6575  	//   "JAVASCRIPT_INPAGE"
  6576  	//   "STANDARD"
  6577  	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
  6578  
  6579  	// InterstitialTagFormats: Tag types for interstitial
  6580  	// placements.
  6581  	//
  6582  	// Acceptable values are:
  6583  	// - "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6584  	// - "INTERNAL_REDIRECT_INTERSTITIAL"
  6585  	// - "JAVASCRIPT_INTERSTITIAL"
  6586  	//
  6587  	// Possible values:
  6588  	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6589  	//   "INTERNAL_REDIRECT_INTERSTITIAL"
  6590  	//   "JAVASCRIPT_INTERSTITIAL"
  6591  	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
  6592  
  6593  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6594  	// string "dfareporting#directorySite".
  6595  	Kind string `json:"kind,omitempty"`
  6596  
  6597  	// Name: Name of this directory site.
  6598  	Name string `json:"name,omitempty"`
  6599  
  6600  	// ParentId: Parent directory site ID.
  6601  	ParentId int64 `json:"parentId,omitempty,string"`
  6602  
  6603  	// Settings: Directory site settings.
  6604  	Settings *DirectorySiteSettings `json:"settings,omitempty"`
  6605  
  6606  	// Url: URL of this directory site.
  6607  	Url string `json:"url,omitempty"`
  6608  
  6609  	// ServerResponse contains the HTTP response code and headers from the
  6610  	// server.
  6611  	googleapi.ServerResponse `json:"-"`
  6612  
  6613  	// ForceSendFields is a list of field names (e.g. "Active") to
  6614  	// unconditionally include in API requests. By default, fields with
  6615  	// empty values are omitted from API requests. However, any non-pointer,
  6616  	// non-interface field appearing in ForceSendFields will be sent to the
  6617  	// server regardless of whether the field is empty or not. This may be
  6618  	// used to include empty fields in Patch requests.
  6619  	ForceSendFields []string `json:"-"`
  6620  
  6621  	// NullFields is a list of field names (e.g. "Active") to include in API
  6622  	// requests with the JSON null value. By default, fields with empty
  6623  	// values are omitted from API requests. However, any field with an
  6624  	// empty value appearing in NullFields will be sent to the server as
  6625  	// null. It is an error if a field in this list has a non-empty value.
  6626  	// This may be used to include null fields in Patch requests.
  6627  	NullFields []string `json:"-"`
  6628  }
  6629  
  6630  func (s *DirectorySite) MarshalJSON() ([]byte, error) {
  6631  	type NoMethod DirectorySite
  6632  	raw := NoMethod(*s)
  6633  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6634  }
  6635  
  6636  // DirectorySiteContact: Contains properties of a Site Directory
  6637  // contact.
  6638  type DirectorySiteContact struct {
  6639  	// Address: Address of this directory site contact.
  6640  	Address string `json:"address,omitempty"`
  6641  
  6642  	// Email: Email address of this directory site contact.
  6643  	Email string `json:"email,omitempty"`
  6644  
  6645  	// FirstName: First name of this directory site contact.
  6646  	FirstName string `json:"firstName,omitempty"`
  6647  
  6648  	// Id: ID of this directory site contact. This is a read-only,
  6649  	// auto-generated field.
  6650  	Id int64 `json:"id,omitempty,string"`
  6651  
  6652  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6653  	// string "dfareporting#directorySiteContact".
  6654  	Kind string `json:"kind,omitempty"`
  6655  
  6656  	// LastName: Last name of this directory site contact.
  6657  	LastName string `json:"lastName,omitempty"`
  6658  
  6659  	// Phone: Phone number of this directory site contact.
  6660  	Phone string `json:"phone,omitempty"`
  6661  
  6662  	// Role: Directory site contact role.
  6663  	//
  6664  	// Possible values:
  6665  	//   "ADMIN"
  6666  	//   "EDIT"
  6667  	//   "VIEW"
  6668  	Role string `json:"role,omitempty"`
  6669  
  6670  	// Title: Title or designation of this directory site contact.
  6671  	Title string `json:"title,omitempty"`
  6672  
  6673  	// Type: Directory site contact type.
  6674  	//
  6675  	// Possible values:
  6676  	//   "BILLING"
  6677  	//   "OTHER"
  6678  	//   "SALES"
  6679  	//   "TECHNICAL"
  6680  	Type string `json:"type,omitempty"`
  6681  
  6682  	// ServerResponse contains the HTTP response code and headers from the
  6683  	// server.
  6684  	googleapi.ServerResponse `json:"-"`
  6685  
  6686  	// ForceSendFields is a list of field names (e.g. "Address") to
  6687  	// unconditionally include in API requests. By default, fields with
  6688  	// empty values are omitted from API requests. However, any non-pointer,
  6689  	// non-interface field appearing in ForceSendFields will be sent to the
  6690  	// server regardless of whether the field is empty or not. This may be
  6691  	// used to include empty fields in Patch requests.
  6692  	ForceSendFields []string `json:"-"`
  6693  
  6694  	// NullFields is a list of field names (e.g. "Address") to include in
  6695  	// API requests with the JSON null value. By default, fields with empty
  6696  	// values are omitted from API requests. However, any field with an
  6697  	// empty value appearing in NullFields will be sent to the server as
  6698  	// null. It is an error if a field in this list has a non-empty value.
  6699  	// This may be used to include null fields in Patch requests.
  6700  	NullFields []string `json:"-"`
  6701  }
  6702  
  6703  func (s *DirectorySiteContact) MarshalJSON() ([]byte, error) {
  6704  	type NoMethod DirectorySiteContact
  6705  	raw := NoMethod(*s)
  6706  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6707  }
  6708  
  6709  // DirectorySiteContactAssignment: Directory Site Contact Assignment
  6710  type DirectorySiteContactAssignment struct {
  6711  	// ContactId: ID of this directory site contact. This is a read-only,
  6712  	// auto-generated field.
  6713  	ContactId int64 `json:"contactId,omitempty,string"`
  6714  
  6715  	// Visibility: Visibility of this directory site contact assignment.
  6716  	// When set to PUBLIC this contact assignment is visible to all account
  6717  	// and agency users; when set to PRIVATE it is visible only to the site.
  6718  	//
  6719  	// Possible values:
  6720  	//   "PRIVATE"
  6721  	//   "PUBLIC"
  6722  	Visibility string `json:"visibility,omitempty"`
  6723  
  6724  	// ForceSendFields is a list of field names (e.g. "ContactId") to
  6725  	// unconditionally include in API requests. By default, fields with
  6726  	// empty values are omitted from API requests. However, any non-pointer,
  6727  	// non-interface field appearing in ForceSendFields will be sent to the
  6728  	// server regardless of whether the field is empty or not. This may be
  6729  	// used to include empty fields in Patch requests.
  6730  	ForceSendFields []string `json:"-"`
  6731  
  6732  	// NullFields is a list of field names (e.g. "ContactId") to include in
  6733  	// API requests with the JSON null value. By default, fields with empty
  6734  	// values are omitted from API requests. However, any field with an
  6735  	// empty value appearing in NullFields will be sent to the server as
  6736  	// null. It is an error if a field in this list has a non-empty value.
  6737  	// This may be used to include null fields in Patch requests.
  6738  	NullFields []string `json:"-"`
  6739  }
  6740  
  6741  func (s *DirectorySiteContactAssignment) MarshalJSON() ([]byte, error) {
  6742  	type NoMethod DirectorySiteContactAssignment
  6743  	raw := NoMethod(*s)
  6744  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6745  }
  6746  
  6747  // DirectorySiteContactsListResponse: Directory Site Contact List
  6748  // Response
  6749  type DirectorySiteContactsListResponse struct {
  6750  	// DirectorySiteContacts: Directory site contact collection
  6751  	DirectorySiteContacts []*DirectorySiteContact `json:"directorySiteContacts,omitempty"`
  6752  
  6753  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6754  	// string "dfareporting#directorySiteContactsListResponse".
  6755  	Kind string `json:"kind,omitempty"`
  6756  
  6757  	// NextPageToken: Pagination token to be used for the next list
  6758  	// operation.
  6759  	NextPageToken string `json:"nextPageToken,omitempty"`
  6760  
  6761  	// ServerResponse contains the HTTP response code and headers from the
  6762  	// server.
  6763  	googleapi.ServerResponse `json:"-"`
  6764  
  6765  	// ForceSendFields is a list of field names (e.g.
  6766  	// "DirectorySiteContacts") to unconditionally include in API requests.
  6767  	// By default, fields with empty values are omitted from API requests.
  6768  	// However, any non-pointer, non-interface field appearing in
  6769  	// ForceSendFields will be sent to the server regardless of whether the
  6770  	// field is empty or not. This may be used to include empty fields in
  6771  	// Patch requests.
  6772  	ForceSendFields []string `json:"-"`
  6773  
  6774  	// NullFields is a list of field names (e.g. "DirectorySiteContacts") to
  6775  	// include in API requests with the JSON null value. By default, fields
  6776  	// with empty values are omitted from API requests. However, any field
  6777  	// with an empty value appearing in NullFields will be sent to the
  6778  	// server as null. It is an error if a field in this list has a
  6779  	// non-empty value. This may be used to include null fields in Patch
  6780  	// requests.
  6781  	NullFields []string `json:"-"`
  6782  }
  6783  
  6784  func (s *DirectorySiteContactsListResponse) MarshalJSON() ([]byte, error) {
  6785  	type NoMethod DirectorySiteContactsListResponse
  6786  	raw := NoMethod(*s)
  6787  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6788  }
  6789  
  6790  // DirectorySiteSettings: Directory Site Settings
  6791  type DirectorySiteSettings struct {
  6792  	// ActiveViewOptOut: Whether this directory site has disabled active
  6793  	// view creatives.
  6794  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
  6795  
  6796  	// DfpSettings: Directory site Ad Manager settings.
  6797  	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
  6798  
  6799  	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
  6800  	// video ads.
  6801  	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
  6802  
  6803  	// InterstitialPlacementAccepted: Whether this site accepts interstitial
  6804  	// ads.
  6805  	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
  6806  
  6807  	// NielsenOcrOptOut: Whether this directory site has disabled Nielsen
  6808  	// OCR reach ratings.
  6809  	NielsenOcrOptOut bool `json:"nielsenOcrOptOut,omitempty"`
  6810  
  6811  	// VerificationTagOptOut: Whether this directory site has disabled
  6812  	// generation of Verification ins tags.
  6813  	VerificationTagOptOut bool `json:"verificationTagOptOut,omitempty"`
  6814  
  6815  	// VideoActiveViewOptOut: Whether this directory site has disabled
  6816  	// active view for in-stream video creatives. This is a read-only field.
  6817  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
  6818  
  6819  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
  6820  	// unconditionally include in API requests. By default, fields with
  6821  	// empty values are omitted from API requests. However, any non-pointer,
  6822  	// non-interface field appearing in ForceSendFields will be sent to the
  6823  	// server regardless of whether the field is empty or not. This may be
  6824  	// used to include empty fields in Patch requests.
  6825  	ForceSendFields []string `json:"-"`
  6826  
  6827  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
  6828  	// include in API requests with the JSON null value. By default, fields
  6829  	// with empty values are omitted from API requests. However, any field
  6830  	// with an empty value appearing in NullFields will be sent to the
  6831  	// server as null. It is an error if a field in this list has a
  6832  	// non-empty value. This may be used to include null fields in Patch
  6833  	// requests.
  6834  	NullFields []string `json:"-"`
  6835  }
  6836  
  6837  func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
  6838  	type NoMethod DirectorySiteSettings
  6839  	raw := NoMethod(*s)
  6840  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6841  }
  6842  
  6843  // DirectorySitesListResponse: Directory Site List Response
  6844  type DirectorySitesListResponse struct {
  6845  	// DirectorySites: Directory site collection.
  6846  	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
  6847  
  6848  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6849  	// string "dfareporting#directorySitesListResponse".
  6850  	Kind string `json:"kind,omitempty"`
  6851  
  6852  	// NextPageToken: Pagination token to be used for the next list
  6853  	// operation.
  6854  	NextPageToken string `json:"nextPageToken,omitempty"`
  6855  
  6856  	// ServerResponse contains the HTTP response code and headers from the
  6857  	// server.
  6858  	googleapi.ServerResponse `json:"-"`
  6859  
  6860  	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
  6861  	// unconditionally include in API requests. By default, fields with
  6862  	// empty values are omitted from API requests. However, any non-pointer,
  6863  	// non-interface field appearing in ForceSendFields will be sent to the
  6864  	// server regardless of whether the field is empty or not. This may be
  6865  	// used to include empty fields in Patch requests.
  6866  	ForceSendFields []string `json:"-"`
  6867  
  6868  	// NullFields is a list of field names (e.g. "DirectorySites") to
  6869  	// include in API requests with the JSON null value. By default, fields
  6870  	// with empty values are omitted from API requests. However, any field
  6871  	// with an empty value appearing in NullFields will be sent to the
  6872  	// server as null. It is an error if a field in this list has a
  6873  	// non-empty value. This may be used to include null fields in Patch
  6874  	// requests.
  6875  	NullFields []string `json:"-"`
  6876  }
  6877  
  6878  func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
  6879  	type NoMethod DirectorySitesListResponse
  6880  	raw := NoMethod(*s)
  6881  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6882  }
  6883  
  6884  // DynamicTargetingKey: Contains properties of a dynamic targeting key.
  6885  // Dynamic targeting keys are unique, user-friendly labels, created at
  6886  // the advertiser level in DCM, that can be assigned to ads, creatives,
  6887  // and placements and used for targeting with Studio dynamic creatives.
  6888  // Use these labels instead of numeric Campaign Manager IDs (such as
  6889  // placement IDs) to save time and avoid errors in your dynamic feeds.
  6890  type DynamicTargetingKey struct {
  6891  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6892  	// string "dfareporting#dynamicTargetingKey".
  6893  	Kind string `json:"kind,omitempty"`
  6894  
  6895  	// Name: Name of this dynamic targeting key. This is a required field.
  6896  	// Must be less than 256 characters long and cannot contain commas. All
  6897  	// characters are converted to lowercase.
  6898  	Name string `json:"name,omitempty"`
  6899  
  6900  	// ObjectId: ID of the object of this dynamic targeting key. This is a
  6901  	// required field.
  6902  	ObjectId int64 `json:"objectId,omitempty,string"`
  6903  
  6904  	// ObjectType: Type of the object of this dynamic targeting key. This is
  6905  	// a required field.
  6906  	//
  6907  	// Possible values:
  6908  	//   "OBJECT_AD"
  6909  	//   "OBJECT_ADVERTISER"
  6910  	//   "OBJECT_CREATIVE"
  6911  	//   "OBJECT_PLACEMENT"
  6912  	ObjectType string `json:"objectType,omitempty"`
  6913  
  6914  	// ServerResponse contains the HTTP response code and headers from the
  6915  	// server.
  6916  	googleapi.ServerResponse `json:"-"`
  6917  
  6918  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6919  	// unconditionally include in API requests. By default, fields with
  6920  	// empty values are omitted from API requests. However, any non-pointer,
  6921  	// non-interface field appearing in ForceSendFields will be sent to the
  6922  	// server regardless of whether the field is empty or not. This may be
  6923  	// used to include empty fields in Patch requests.
  6924  	ForceSendFields []string `json:"-"`
  6925  
  6926  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6927  	// requests with the JSON null value. By default, fields with empty
  6928  	// values are omitted from API requests. However, any field with an
  6929  	// empty value appearing in NullFields will be sent to the server as
  6930  	// null. It is an error if a field in this list has a non-empty value.
  6931  	// This may be used to include null fields in Patch requests.
  6932  	NullFields []string `json:"-"`
  6933  }
  6934  
  6935  func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
  6936  	type NoMethod DynamicTargetingKey
  6937  	raw := NoMethod(*s)
  6938  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6939  }
  6940  
  6941  // DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
  6942  type DynamicTargetingKeysListResponse struct {
  6943  	// DynamicTargetingKeys: Dynamic targeting key collection.
  6944  	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
  6945  
  6946  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6947  	// string "dfareporting#dynamicTargetingKeysListResponse".
  6948  	Kind string `json:"kind,omitempty"`
  6949  
  6950  	// ServerResponse contains the HTTP response code and headers from the
  6951  	// server.
  6952  	googleapi.ServerResponse `json:"-"`
  6953  
  6954  	// ForceSendFields is a list of field names (e.g.
  6955  	// "DynamicTargetingKeys") to unconditionally include in API requests.
  6956  	// By default, fields with empty values are omitted from API requests.
  6957  	// However, any non-pointer, non-interface field appearing in
  6958  	// ForceSendFields will be sent to the server regardless of whether the
  6959  	// field is empty or not. This may be used to include empty fields in
  6960  	// Patch requests.
  6961  	ForceSendFields []string `json:"-"`
  6962  
  6963  	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
  6964  	// include in API requests with the JSON null value. By default, fields
  6965  	// with empty values are omitted from API requests. However, any field
  6966  	// with an empty value appearing in NullFields will be sent to the
  6967  	// server as null. It is an error if a field in this list has a
  6968  	// non-empty value. This may be used to include null fields in Patch
  6969  	// requests.
  6970  	NullFields []string `json:"-"`
  6971  }
  6972  
  6973  func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
  6974  	type NoMethod DynamicTargetingKeysListResponse
  6975  	raw := NoMethod(*s)
  6976  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6977  }
  6978  
  6979  // EncryptionInfo: A description of how user IDs are encrypted.
  6980  type EncryptionInfo struct {
  6981  	// EncryptionEntityId: The encryption entity ID. This should match the
  6982  	// encryption configuration for ad serving or Data Transfer.
  6983  	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
  6984  
  6985  	// EncryptionEntityType: The encryption entity type. This should match
  6986  	// the encryption configuration for ad serving or Data Transfer.
  6987  	//
  6988  	// Possible values:
  6989  	//   "ADWORDS_CUSTOMER"
  6990  	//   "DBM_ADVERTISER"
  6991  	//   "DBM_PARTNER"
  6992  	//   "DCM_ACCOUNT"
  6993  	//   "DCM_ADVERTISER"
  6994  	//   "DFP_NETWORK_CODE"
  6995  	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
  6996  	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
  6997  
  6998  	// EncryptionSource: Describes whether the encrypted cookie was received
  6999  	// from ad serving (the %m macro) or from Data Transfer.
  7000  	//
  7001  	// Possible values:
  7002  	//   "AD_SERVING"
  7003  	//   "DATA_TRANSFER"
  7004  	//   "ENCRYPTION_SCOPE_UNKNOWN"
  7005  	EncryptionSource string `json:"encryptionSource,omitempty"`
  7006  
  7007  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7008  	// string "dfareporting#encryptionInfo".
  7009  	Kind string `json:"kind,omitempty"`
  7010  
  7011  	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
  7012  	// to unconditionally include in API requests. By default, fields with
  7013  	// empty values are omitted from API requests. However, any non-pointer,
  7014  	// non-interface field appearing in ForceSendFields will be sent to the
  7015  	// server regardless of whether the field is empty or not. This may be
  7016  	// used to include empty fields in Patch requests.
  7017  	ForceSendFields []string `json:"-"`
  7018  
  7019  	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
  7020  	// include in API requests with the JSON null value. By default, fields
  7021  	// with empty values are omitted from API requests. However, any field
  7022  	// with an empty value appearing in NullFields will be sent to the
  7023  	// server as null. It is an error if a field in this list has a
  7024  	// non-empty value. This may be used to include null fields in Patch
  7025  	// requests.
  7026  	NullFields []string `json:"-"`
  7027  }
  7028  
  7029  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
  7030  	type NoMethod EncryptionInfo
  7031  	raw := NoMethod(*s)
  7032  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7033  }
  7034  
  7035  // EventTag: Contains properties of an event tag.
  7036  type EventTag struct {
  7037  	// AccountId: Account ID of this event tag. This is a read-only field
  7038  	// that can be left blank.
  7039  	AccountId int64 `json:"accountId,omitempty,string"`
  7040  
  7041  	// AdvertiserId: Advertiser ID of this event tag. This field or the
  7042  	// campaignId field is required on insertion.
  7043  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7044  
  7045  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7046  	// advertiser. This is a read-only, auto-generated field.
  7047  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7048  
  7049  	// CampaignId: Campaign ID of this event tag. This field or the
  7050  	// advertiserId field is required on insertion.
  7051  	CampaignId int64 `json:"campaignId,omitempty,string"`
  7052  
  7053  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  7054  	// This is a read-only, auto-generated field.
  7055  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  7056  
  7057  	// EnabledByDefault: Whether this event tag should be automatically
  7058  	// enabled for all of the advertiser's campaigns and ads.
  7059  	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
  7060  
  7061  	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
  7062  	// that are trafficked through Display & Video 360 to Ad Exchange. This
  7063  	// may be useful if the event tag uses a pixel that is unapproved for Ad
  7064  	// Exchange bids on one or more networks, such as the Google Display
  7065  	// Network.
  7066  	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
  7067  
  7068  	// Id: ID of this event tag. This is a read-only, auto-generated field.
  7069  	Id int64 `json:"id,omitempty,string"`
  7070  
  7071  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7072  	// string "dfareporting#eventTag".
  7073  	Kind string `json:"kind,omitempty"`
  7074  
  7075  	// Name: Name of this event tag. This is a required field and must be
  7076  	// less than 256 characters long.
  7077  	Name string `json:"name,omitempty"`
  7078  
  7079  	// SiteFilterType: Site filter type for this event tag. If no type is
  7080  	// specified then the event tag will be applied to all sites.
  7081  	//
  7082  	// Possible values:
  7083  	//   "BLACKLIST"
  7084  	//   "WHITELIST"
  7085  	SiteFilterType string `json:"siteFilterType,omitempty"`
  7086  
  7087  	// SiteIds: Filter list of site IDs associated with this event tag. The
  7088  	// siteFilterType determines whether this is a whitelist or blacklist
  7089  	// filter.
  7090  	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
  7091  
  7092  	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
  7093  	// read-only field.
  7094  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7095  
  7096  	// Status: Status of this event tag. Must be ENABLED for this event tag
  7097  	// to fire. This is a required field.
  7098  	//
  7099  	// Possible values:
  7100  	//   "DISABLED"
  7101  	//   "ENABLED"
  7102  	Status string `json:"status,omitempty"`
  7103  
  7104  	// SubaccountId: Subaccount ID of this event tag. This is a read-only
  7105  	// field that can be left blank.
  7106  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7107  
  7108  	// Type: Event tag type. Can be used to specify whether to use a
  7109  	// third-party pixel, a third-party JavaScript URL, or a third-party
  7110  	// click-through URL for either impression or click tracking. This is a
  7111  	// required field.
  7112  	//
  7113  	// Possible values:
  7114  	//   "CLICK_THROUGH_EVENT_TAG"
  7115  	//   "IMPRESSION_IMAGE_EVENT_TAG"
  7116  	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
  7117  	Type string `json:"type,omitempty"`
  7118  
  7119  	// Url: Payload URL for this event tag. The URL on a click-through event
  7120  	// tag should have a landing page URL appended to the end of it. This
  7121  	// field is required on insertion.
  7122  	Url string `json:"url,omitempty"`
  7123  
  7124  	// UrlEscapeLevels: Number of times the landing page URL should be
  7125  	// URL-escaped before being appended to the click-through event tag URL.
  7126  	// Only applies to click-through event tags as specified by the event
  7127  	// tag type.
  7128  	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
  7129  
  7130  	// ServerResponse contains the HTTP response code and headers from the
  7131  	// server.
  7132  	googleapi.ServerResponse `json:"-"`
  7133  
  7134  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7135  	// unconditionally include in API requests. By default, fields with
  7136  	// empty values are omitted from API requests. However, any non-pointer,
  7137  	// non-interface field appearing in ForceSendFields will be sent to the
  7138  	// server regardless of whether the field is empty or not. This may be
  7139  	// used to include empty fields in Patch requests.
  7140  	ForceSendFields []string `json:"-"`
  7141  
  7142  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7143  	// API requests with the JSON null value. By default, fields with empty
  7144  	// values are omitted from API requests. However, any field with an
  7145  	// empty value appearing in NullFields will be sent to the server as
  7146  	// null. It is an error if a field in this list has a non-empty value.
  7147  	// This may be used to include null fields in Patch requests.
  7148  	NullFields []string `json:"-"`
  7149  }
  7150  
  7151  func (s *EventTag) MarshalJSON() ([]byte, error) {
  7152  	type NoMethod EventTag
  7153  	raw := NoMethod(*s)
  7154  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7155  }
  7156  
  7157  // EventTagOverride: Event tag override information.
  7158  type EventTagOverride struct {
  7159  	// Enabled: Whether this override is enabled.
  7160  	Enabled bool `json:"enabled,omitempty"`
  7161  
  7162  	// Id: ID of this event tag override. This is a read-only,
  7163  	// auto-generated field.
  7164  	Id int64 `json:"id,omitempty,string"`
  7165  
  7166  	// ForceSendFields is a list of field names (e.g. "Enabled") to
  7167  	// unconditionally include in API requests. By default, fields with
  7168  	// empty values are omitted from API requests. However, any non-pointer,
  7169  	// non-interface field appearing in ForceSendFields will be sent to the
  7170  	// server regardless of whether the field is empty or not. This may be
  7171  	// used to include empty fields in Patch requests.
  7172  	ForceSendFields []string `json:"-"`
  7173  
  7174  	// NullFields is a list of field names (e.g. "Enabled") to include in
  7175  	// API requests with the JSON null value. By default, fields with empty
  7176  	// values are omitted from API requests. However, any field with an
  7177  	// empty value appearing in NullFields will be sent to the server as
  7178  	// null. It is an error if a field in this list has a non-empty value.
  7179  	// This may be used to include null fields in Patch requests.
  7180  	NullFields []string `json:"-"`
  7181  }
  7182  
  7183  func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
  7184  	type NoMethod EventTagOverride
  7185  	raw := NoMethod(*s)
  7186  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7187  }
  7188  
  7189  // EventTagsListResponse: Event Tag List Response
  7190  type EventTagsListResponse struct {
  7191  	// EventTags: Event tag collection.
  7192  	EventTags []*EventTag `json:"eventTags,omitempty"`
  7193  
  7194  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7195  	// string "dfareporting#eventTagsListResponse".
  7196  	Kind string `json:"kind,omitempty"`
  7197  
  7198  	// ServerResponse contains the HTTP response code and headers from the
  7199  	// server.
  7200  	googleapi.ServerResponse `json:"-"`
  7201  
  7202  	// ForceSendFields is a list of field names (e.g. "EventTags") to
  7203  	// unconditionally include in API requests. By default, fields with
  7204  	// empty values are omitted from API requests. However, any non-pointer,
  7205  	// non-interface field appearing in ForceSendFields will be sent to the
  7206  	// server regardless of whether the field is empty or not. This may be
  7207  	// used to include empty fields in Patch requests.
  7208  	ForceSendFields []string `json:"-"`
  7209  
  7210  	// NullFields is a list of field names (e.g. "EventTags") to include in
  7211  	// API requests with the JSON null value. By default, fields with empty
  7212  	// values are omitted from API requests. However, any field with an
  7213  	// empty value appearing in NullFields will be sent to the server as
  7214  	// null. It is an error if a field in this list has a non-empty value.
  7215  	// This may be used to include null fields in Patch requests.
  7216  	NullFields []string `json:"-"`
  7217  }
  7218  
  7219  func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
  7220  	type NoMethod EventTagsListResponse
  7221  	raw := NoMethod(*s)
  7222  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7223  }
  7224  
  7225  // File: Represents a File resource. A file contains the metadata for a
  7226  // report run. It shows the status of the run and holds the URLs to the
  7227  // generated report data if the run is finished and the status is
  7228  // "REPORT_AVAILABLE".
  7229  type File struct {
  7230  	// DateRange: The date range for which the file has report data. The
  7231  	// date range will always be the absolute date range for which the
  7232  	// report is run.
  7233  	DateRange *DateRange `json:"dateRange,omitempty"`
  7234  
  7235  	// Etag: The eTag of this response for caching purposes.
  7236  	Etag string `json:"etag,omitempty"`
  7237  
  7238  	// FileName: The filename of the file.
  7239  	FileName string `json:"fileName,omitempty"`
  7240  
  7241  	// Format: The output format of the report. Only available once the file
  7242  	// is available.
  7243  	//
  7244  	// Possible values:
  7245  	//   "CSV"
  7246  	//   "EXCEL"
  7247  	Format string `json:"format,omitempty"`
  7248  
  7249  	// Id: The unique ID of this report file.
  7250  	Id int64 `json:"id,omitempty,string"`
  7251  
  7252  	// Kind: The kind of resource this is, in this case dfareporting#file.
  7253  	Kind string `json:"kind,omitempty"`
  7254  
  7255  	// LastModifiedTime: The timestamp in milliseconds since epoch when this
  7256  	// file was last modified.
  7257  	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
  7258  
  7259  	// ReportId: The ID of the report this file was generated from.
  7260  	ReportId int64 `json:"reportId,omitempty,string"`
  7261  
  7262  	// Status: The status of the report file.
  7263  	//
  7264  	// Possible values:
  7265  	//   "CANCELLED"
  7266  	//   "FAILED"
  7267  	//   "PROCESSING"
  7268  	//   "REPORT_AVAILABLE"
  7269  	Status string `json:"status,omitempty"`
  7270  
  7271  	// Urls: The URLs where the completed report file can be downloaded.
  7272  	Urls *FileUrls `json:"urls,omitempty"`
  7273  
  7274  	// ServerResponse contains the HTTP response code and headers from the
  7275  	// server.
  7276  	googleapi.ServerResponse `json:"-"`
  7277  
  7278  	// ForceSendFields is a list of field names (e.g. "DateRange") to
  7279  	// unconditionally include in API requests. By default, fields with
  7280  	// empty values are omitted from API requests. However, any non-pointer,
  7281  	// non-interface field appearing in ForceSendFields will be sent to the
  7282  	// server regardless of whether the field is empty or not. This may be
  7283  	// used to include empty fields in Patch requests.
  7284  	ForceSendFields []string `json:"-"`
  7285  
  7286  	// NullFields is a list of field names (e.g. "DateRange") to include in
  7287  	// API requests with the JSON null value. By default, fields with empty
  7288  	// values are omitted from API requests. However, any field with an
  7289  	// empty value appearing in NullFields will be sent to the server as
  7290  	// null. It is an error if a field in this list has a non-empty value.
  7291  	// This may be used to include null fields in Patch requests.
  7292  	NullFields []string `json:"-"`
  7293  }
  7294  
  7295  func (s *File) MarshalJSON() ([]byte, error) {
  7296  	type NoMethod File
  7297  	raw := NoMethod(*s)
  7298  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7299  }
  7300  
  7301  // FileUrls: The URLs where the completed report file can be downloaded.
  7302  type FileUrls struct {
  7303  	// ApiUrl: The URL for downloading the report data through the API.
  7304  	ApiUrl string `json:"apiUrl,omitempty"`
  7305  
  7306  	// BrowserUrl: The URL for downloading the report data through a
  7307  	// browser.
  7308  	BrowserUrl string `json:"browserUrl,omitempty"`
  7309  
  7310  	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
  7311  	// unconditionally include in API requests. By default, fields with
  7312  	// empty values are omitted from API requests. However, any non-pointer,
  7313  	// non-interface field appearing in ForceSendFields will be sent to the
  7314  	// server regardless of whether the field is empty or not. This may be
  7315  	// used to include empty fields in Patch requests.
  7316  	ForceSendFields []string `json:"-"`
  7317  
  7318  	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
  7319  	// requests with the JSON null value. By default, fields with empty
  7320  	// values are omitted from API requests. However, any field with an
  7321  	// empty value appearing in NullFields will be sent to the server as
  7322  	// null. It is an error if a field in this list has a non-empty value.
  7323  	// This may be used to include null fields in Patch requests.
  7324  	NullFields []string `json:"-"`
  7325  }
  7326  
  7327  func (s *FileUrls) MarshalJSON() ([]byte, error) {
  7328  	type NoMethod FileUrls
  7329  	raw := NoMethod(*s)
  7330  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7331  }
  7332  
  7333  // FileList: Represents the list of File resources.
  7334  type FileList struct {
  7335  	// Etag: The eTag of this response for caching purposes.
  7336  	Etag string `json:"etag,omitempty"`
  7337  
  7338  	// Items: The files returned in this response.
  7339  	Items []*File `json:"items,omitempty"`
  7340  
  7341  	// Kind: The kind of list this is, in this case dfareporting#fileList.
  7342  	Kind string `json:"kind,omitempty"`
  7343  
  7344  	// NextPageToken: Continuation token used to page through files. To
  7345  	// retrieve the next page of results, set the next request's "pageToken"
  7346  	// to the value of this field. The page token is only valid for a
  7347  	// limited amount of time and should not be persisted.
  7348  	NextPageToken string `json:"nextPageToken,omitempty"`
  7349  
  7350  	// ServerResponse contains the HTTP response code and headers from the
  7351  	// server.
  7352  	googleapi.ServerResponse `json:"-"`
  7353  
  7354  	// ForceSendFields is a list of field names (e.g. "Etag") to
  7355  	// unconditionally include in API requests. By default, fields with
  7356  	// empty values are omitted from API requests. However, any non-pointer,
  7357  	// non-interface field appearing in ForceSendFields will be sent to the
  7358  	// server regardless of whether the field is empty or not. This may be
  7359  	// used to include empty fields in Patch requests.
  7360  	ForceSendFields []string `json:"-"`
  7361  
  7362  	// NullFields is a list of field names (e.g. "Etag") to include in API
  7363  	// requests with the JSON null value. By default, fields with empty
  7364  	// values are omitted from API requests. However, any field with an
  7365  	// empty value appearing in NullFields will be sent to the server as
  7366  	// null. It is an error if a field in this list has a non-empty value.
  7367  	// This may be used to include null fields in Patch requests.
  7368  	NullFields []string `json:"-"`
  7369  }
  7370  
  7371  func (s *FileList) MarshalJSON() ([]byte, error) {
  7372  	type NoMethod FileList
  7373  	raw := NoMethod(*s)
  7374  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7375  }
  7376  
  7377  // Flight: Flight
  7378  type Flight struct {
  7379  	// EndDate: Inventory item flight end date.
  7380  	EndDate string `json:"endDate,omitempty"`
  7381  
  7382  	// RateOrCost: Rate or cost of this flight.
  7383  	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
  7384  
  7385  	// StartDate: Inventory item flight start date.
  7386  	StartDate string `json:"startDate,omitempty"`
  7387  
  7388  	// Units: Units of this flight.
  7389  	Units int64 `json:"units,omitempty,string"`
  7390  
  7391  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  7392  	// unconditionally include in API requests. By default, fields with
  7393  	// empty values are omitted from API requests. However, any non-pointer,
  7394  	// non-interface field appearing in ForceSendFields will be sent to the
  7395  	// server regardless of whether the field is empty or not. This may be
  7396  	// used to include empty fields in Patch requests.
  7397  	ForceSendFields []string `json:"-"`
  7398  
  7399  	// NullFields is a list of field names (e.g. "EndDate") to include in
  7400  	// API requests with the JSON null value. By default, fields with empty
  7401  	// values are omitted from API requests. However, any field with an
  7402  	// empty value appearing in NullFields will be sent to the server as
  7403  	// null. It is an error if a field in this list has a non-empty value.
  7404  	// This may be used to include null fields in Patch requests.
  7405  	NullFields []string `json:"-"`
  7406  }
  7407  
  7408  func (s *Flight) MarshalJSON() ([]byte, error) {
  7409  	type NoMethod Flight
  7410  	raw := NoMethod(*s)
  7411  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7412  }
  7413  
  7414  // FloodlightActivitiesGenerateTagResponse: Floodlight Activity
  7415  // GenerateTag Response
  7416  type FloodlightActivitiesGenerateTagResponse struct {
  7417  	// FloodlightActivityTag: Generated tag for this Floodlight activity.
  7418  	// For global site tags, this is the event snippet.
  7419  	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
  7420  
  7421  	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
  7422  	// site tag. The global site tag sets new cookies on your domain, which
  7423  	// will store a unique identifier for a user or the ad click that
  7424  	// brought the user to your site. Learn more.
  7425  	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
  7426  
  7427  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7428  	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
  7429  	Kind string `json:"kind,omitempty"`
  7430  
  7431  	// ServerResponse contains the HTTP response code and headers from the
  7432  	// server.
  7433  	googleapi.ServerResponse `json:"-"`
  7434  
  7435  	// ForceSendFields is a list of field names (e.g.
  7436  	// "FloodlightActivityTag") to unconditionally include in API requests.
  7437  	// By default, fields with empty values are omitted from API requests.
  7438  	// However, any non-pointer, non-interface field appearing in
  7439  	// ForceSendFields will be sent to the server regardless of whether the
  7440  	// field is empty or not. This may be used to include empty fields in
  7441  	// Patch requests.
  7442  	ForceSendFields []string `json:"-"`
  7443  
  7444  	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
  7445  	// include in API requests with the JSON null value. By default, fields
  7446  	// with empty values are omitted from API requests. However, any field
  7447  	// with an empty value appearing in NullFields will be sent to the
  7448  	// server as null. It is an error if a field in this list has a
  7449  	// non-empty value. This may be used to include null fields in Patch
  7450  	// requests.
  7451  	NullFields []string `json:"-"`
  7452  }
  7453  
  7454  func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
  7455  	type NoMethod FloodlightActivitiesGenerateTagResponse
  7456  	raw := NoMethod(*s)
  7457  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7458  }
  7459  
  7460  // FloodlightActivitiesListResponse: Floodlight Activity List Response
  7461  type FloodlightActivitiesListResponse struct {
  7462  	// FloodlightActivities: Floodlight activity collection.
  7463  	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
  7464  
  7465  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7466  	// string "dfareporting#floodlightActivitiesListResponse".
  7467  	Kind string `json:"kind,omitempty"`
  7468  
  7469  	// NextPageToken: Pagination token to be used for the next list
  7470  	// operation.
  7471  	NextPageToken string `json:"nextPageToken,omitempty"`
  7472  
  7473  	// ServerResponse contains the HTTP response code and headers from the
  7474  	// server.
  7475  	googleapi.ServerResponse `json:"-"`
  7476  
  7477  	// ForceSendFields is a list of field names (e.g.
  7478  	// "FloodlightActivities") to unconditionally include in API requests.
  7479  	// By default, fields with empty values are omitted from API requests.
  7480  	// However, any non-pointer, non-interface field appearing in
  7481  	// ForceSendFields will be sent to the server regardless of whether the
  7482  	// field is empty or not. This may be used to include empty fields in
  7483  	// Patch requests.
  7484  	ForceSendFields []string `json:"-"`
  7485  
  7486  	// NullFields is a list of field names (e.g. "FloodlightActivities") to
  7487  	// include in API requests with the JSON null value. By default, fields
  7488  	// with empty values are omitted from API requests. However, any field
  7489  	// with an empty value appearing in NullFields will be sent to the
  7490  	// server as null. It is an error if a field in this list has a
  7491  	// non-empty value. This may be used to include null fields in Patch
  7492  	// requests.
  7493  	NullFields []string `json:"-"`
  7494  }
  7495  
  7496  func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
  7497  	type NoMethod FloodlightActivitiesListResponse
  7498  	raw := NoMethod(*s)
  7499  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7500  }
  7501  
  7502  // FloodlightActivity: Contains properties of a Floodlight activity.
  7503  type FloodlightActivity struct {
  7504  	// AccountId: Account ID of this floodlight activity. This is a
  7505  	// read-only field that can be left blank.
  7506  	AccountId int64 `json:"accountId,omitempty,string"`
  7507  
  7508  	// AdvertiserId: Advertiser ID of this floodlight activity. If this
  7509  	// field is left blank, the value will be copied over either from the
  7510  	// activity group's advertiser or the existing activity's advertiser.
  7511  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7512  
  7513  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7514  	// advertiser. This is a read-only, auto-generated field.
  7515  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7516  
  7517  	// CacheBustingType: Code type used for cache busting in the generated
  7518  	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
  7519  	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
  7520  	//
  7521  	// Possible values:
  7522  	//   "ACTIVE_SERVER_PAGE"
  7523  	//   "COLD_FUSION"
  7524  	//   "JAVASCRIPT"
  7525  	//   "JSP"
  7526  	//   "PHP"
  7527  	CacheBustingType string `json:"cacheBustingType,omitempty"`
  7528  
  7529  	// CountingMethod: Counting method for conversions for this floodlight
  7530  	// activity. This is a required field.
  7531  	//
  7532  	// Possible values:
  7533  	//   "ITEMS_SOLD_COUNTING"
  7534  	//   "SESSION_COUNTING"
  7535  	//   "STANDARD_COUNTING"
  7536  	//   "TRANSACTIONS_COUNTING"
  7537  	//   "UNIQUE_COUNTING"
  7538  	CountingMethod string `json:"countingMethod,omitempty"`
  7539  
  7540  	// DefaultTags: Dynamic floodlight tags.
  7541  	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
  7542  
  7543  	// ExpectedUrl: URL where this tag will be deployed. If specified, must
  7544  	// be less than 256 characters long.
  7545  	ExpectedUrl string `json:"expectedUrl,omitempty"`
  7546  
  7547  	// FloodlightActivityGroupId: Floodlight activity group ID of this
  7548  	// floodlight activity. This is a required field.
  7549  	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
  7550  
  7551  	// FloodlightActivityGroupName: Name of the associated floodlight
  7552  	// activity group. This is a read-only field.
  7553  	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
  7554  
  7555  	// FloodlightActivityGroupTagString: Tag string of the associated
  7556  	// floodlight activity group. This is a read-only field.
  7557  	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
  7558  
  7559  	// FloodlightActivityGroupType: Type of the associated floodlight
  7560  	// activity group. This is a read-only field.
  7561  	//
  7562  	// Possible values:
  7563  	//   "COUNTER"
  7564  	//   "SALE"
  7565  	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
  7566  
  7567  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7568  	// floodlight activity. If this field is left blank, the value will be
  7569  	// copied over either from the activity group's floodlight configuration
  7570  	// or from the existing activity's floodlight configuration.
  7571  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7572  
  7573  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7574  	// of the floodlight configuration. This is a read-only, auto-generated
  7575  	// field.
  7576  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7577  
  7578  	// FloodlightTagType: The type of Floodlight tag this activity will
  7579  	// generate. This is a required field.
  7580  	//
  7581  	// Possible values:
  7582  	//   "GLOBAL_SITE_TAG"
  7583  	//   "IFRAME"
  7584  	//   "IMAGE"
  7585  	FloodlightTagType string `json:"floodlightTagType,omitempty"`
  7586  
  7587  	// Hidden: Whether this activity is archived.
  7588  	Hidden bool `json:"hidden,omitempty"`
  7589  
  7590  	// Id: ID of this floodlight activity. This is a read-only,
  7591  	// auto-generated field.
  7592  	Id int64 `json:"id,omitempty,string"`
  7593  
  7594  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7595  	// activity. This is a read-only, auto-generated field.
  7596  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7597  
  7598  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7599  	// string "dfareporting#floodlightActivity".
  7600  	Kind string `json:"kind,omitempty"`
  7601  
  7602  	// Name: Name of this floodlight activity. This is a required field.
  7603  	// Must be less than 129 characters long and cannot contain quotes.
  7604  	Name string `json:"name,omitempty"`
  7605  
  7606  	// Notes: General notes or implementation instructions for the tag.
  7607  	Notes string `json:"notes,omitempty"`
  7608  
  7609  	// PublisherTags: Publisher dynamic floodlight tags.
  7610  	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
  7611  
  7612  	// Secure: Whether this tag should use SSL.
  7613  	Secure bool `json:"secure,omitempty"`
  7614  
  7615  	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
  7616  	// is a read-only field, its value detected by the system from the
  7617  	// floodlight tags.
  7618  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7619  
  7620  	// SslRequired: Whether this floodlight activity must be SSL-compliant.
  7621  	SslRequired bool `json:"sslRequired,omitempty"`
  7622  
  7623  	// SubaccountId: Subaccount ID of this floodlight activity. This is a
  7624  	// read-only field that can be left blank.
  7625  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7626  
  7627  	// TagFormat: Tag format type for the floodlight activity. If left
  7628  	// blank, the tag format will default to HTML.
  7629  	//
  7630  	// Possible values:
  7631  	//   "HTML"
  7632  	//   "XHTML"
  7633  	TagFormat string `json:"tagFormat,omitempty"`
  7634  
  7635  	// TagString: Value of the cat= parameter in the floodlight tag, which
  7636  	// the ad servers use to identify the activity. This is optional: if
  7637  	// empty, a new tag string will be generated for you. This string must
  7638  	// be 1 to 8 characters long, with valid characters being
  7639  	// [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among
  7640  	// activities of the same activity group. This field is read-only after
  7641  	// insertion.
  7642  	TagString string `json:"tagString,omitempty"`
  7643  
  7644  	// UserDefinedVariableTypes: List of the user-defined variables used by
  7645  	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
  7646  	// of these can have a user defined type.
  7647  	// Acceptable values are U1 to U100, inclusive.
  7648  	//
  7649  	// Possible values:
  7650  	//   "U1"
  7651  	//   "U10"
  7652  	//   "U100"
  7653  	//   "U11"
  7654  	//   "U12"
  7655  	//   "U13"
  7656  	//   "U14"
  7657  	//   "U15"
  7658  	//   "U16"
  7659  	//   "U17"
  7660  	//   "U18"
  7661  	//   "U19"
  7662  	//   "U2"
  7663  	//   "U20"
  7664  	//   "U21"
  7665  	//   "U22"
  7666  	//   "U23"
  7667  	//   "U24"
  7668  	//   "U25"
  7669  	//   "U26"
  7670  	//   "U27"
  7671  	//   "U28"
  7672  	//   "U29"
  7673  	//   "U3"
  7674  	//   "U30"
  7675  	//   "U31"
  7676  	//   "U32"
  7677  	//   "U33"
  7678  	//   "U34"
  7679  	//   "U35"
  7680  	//   "U36"
  7681  	//   "U37"
  7682  	//   "U38"
  7683  	//   "U39"
  7684  	//   "U4"
  7685  	//   "U40"
  7686  	//   "U41"
  7687  	//   "U42"
  7688  	//   "U43"
  7689  	//   "U44"
  7690  	//   "U45"
  7691  	//   "U46"
  7692  	//   "U47"
  7693  	//   "U48"
  7694  	//   "U49"
  7695  	//   "U5"
  7696  	//   "U50"
  7697  	//   "U51"
  7698  	//   "U52"
  7699  	//   "U53"
  7700  	//   "U54"
  7701  	//   "U55"
  7702  	//   "U56"
  7703  	//   "U57"
  7704  	//   "U58"
  7705  	//   "U59"
  7706  	//   "U6"
  7707  	//   "U60"
  7708  	//   "U61"
  7709  	//   "U62"
  7710  	//   "U63"
  7711  	//   "U64"
  7712  	//   "U65"
  7713  	//   "U66"
  7714  	//   "U67"
  7715  	//   "U68"
  7716  	//   "U69"
  7717  	//   "U7"
  7718  	//   "U70"
  7719  	//   "U71"
  7720  	//   "U72"
  7721  	//   "U73"
  7722  	//   "U74"
  7723  	//   "U75"
  7724  	//   "U76"
  7725  	//   "U77"
  7726  	//   "U78"
  7727  	//   "U79"
  7728  	//   "U8"
  7729  	//   "U80"
  7730  	//   "U81"
  7731  	//   "U82"
  7732  	//   "U83"
  7733  	//   "U84"
  7734  	//   "U85"
  7735  	//   "U86"
  7736  	//   "U87"
  7737  	//   "U88"
  7738  	//   "U89"
  7739  	//   "U9"
  7740  	//   "U90"
  7741  	//   "U91"
  7742  	//   "U92"
  7743  	//   "U93"
  7744  	//   "U94"
  7745  	//   "U95"
  7746  	//   "U96"
  7747  	//   "U97"
  7748  	//   "U98"
  7749  	//   "U99"
  7750  	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
  7751  
  7752  	// ServerResponse contains the HTTP response code and headers from the
  7753  	// server.
  7754  	googleapi.ServerResponse `json:"-"`
  7755  
  7756  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7757  	// unconditionally include in API requests. By default, fields with
  7758  	// empty values are omitted from API requests. However, any non-pointer,
  7759  	// non-interface field appearing in ForceSendFields will be sent to the
  7760  	// server regardless of whether the field is empty or not. This may be
  7761  	// used to include empty fields in Patch requests.
  7762  	ForceSendFields []string `json:"-"`
  7763  
  7764  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7765  	// API requests with the JSON null value. By default, fields with empty
  7766  	// values are omitted from API requests. However, any field with an
  7767  	// empty value appearing in NullFields will be sent to the server as
  7768  	// null. It is an error if a field in this list has a non-empty value.
  7769  	// This may be used to include null fields in Patch requests.
  7770  	NullFields []string `json:"-"`
  7771  }
  7772  
  7773  func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
  7774  	type NoMethod FloodlightActivity
  7775  	raw := NoMethod(*s)
  7776  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7777  }
  7778  
  7779  // FloodlightActivityDynamicTag: Dynamic Tag
  7780  type FloodlightActivityDynamicTag struct {
  7781  	// Id: ID of this dynamic tag. This is a read-only, auto-generated
  7782  	// field.
  7783  	Id int64 `json:"id,omitempty,string"`
  7784  
  7785  	// Name: Name of this tag.
  7786  	Name string `json:"name,omitempty"`
  7787  
  7788  	// Tag: Tag code.
  7789  	Tag string `json:"tag,omitempty"`
  7790  
  7791  	// ForceSendFields is a list of field names (e.g. "Id") 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. "Id") to include in API
  7800  	// 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 *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
  7809  	type NoMethod FloodlightActivityDynamicTag
  7810  	raw := NoMethod(*s)
  7811  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7812  }
  7813  
  7814  // FloodlightActivityGroup: Contains properties of a Floodlight activity
  7815  // group.
  7816  type FloodlightActivityGroup struct {
  7817  	// AccountId: Account ID of this floodlight activity group. This is a
  7818  	// read-only field that can be left blank.
  7819  	AccountId int64 `json:"accountId,omitempty,string"`
  7820  
  7821  	// AdvertiserId: Advertiser ID of this floodlight activity group. If
  7822  	// this field is left blank, the value will be copied over either from
  7823  	// the floodlight configuration's advertiser or from the existing
  7824  	// activity group's advertiser.
  7825  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7826  
  7827  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7828  	// advertiser. This is a read-only, auto-generated field.
  7829  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7830  
  7831  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7832  	// floodlight activity group. This is a required field.
  7833  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7834  
  7835  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7836  	// of the floodlight configuration. This is a read-only, auto-generated
  7837  	// field.
  7838  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7839  
  7840  	// Id: ID of this floodlight activity group. This is a read-only,
  7841  	// auto-generated field.
  7842  	Id int64 `json:"id,omitempty,string"`
  7843  
  7844  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7845  	// activity group. This is a read-only, auto-generated field.
  7846  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7847  
  7848  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7849  	// string "dfareporting#floodlightActivityGroup".
  7850  	Kind string `json:"kind,omitempty"`
  7851  
  7852  	// Name: Name of this floodlight activity group. This is a required
  7853  	// field. Must be less than 65 characters long and cannot contain
  7854  	// quotes.
  7855  	Name string `json:"name,omitempty"`
  7856  
  7857  	// SubaccountId: Subaccount ID of this floodlight activity group. This
  7858  	// is a read-only field that can be left blank.
  7859  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7860  
  7861  	// TagString: Value of the type= parameter in the floodlight tag, which
  7862  	// the ad servers use to identify the activity group that the activity
  7863  	// belongs to. This is optional: if empty, a new tag string will be
  7864  	// generated for you. This string must be 1 to 8 characters long, with
  7865  	// valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must
  7866  	// also be unique among activity groups of the same floodlight
  7867  	// configuration. This field is read-only after insertion.
  7868  	TagString string `json:"tagString,omitempty"`
  7869  
  7870  	// Type: Type of the floodlight activity group. This is a required field
  7871  	// that is read-only after insertion.
  7872  	//
  7873  	// Possible values:
  7874  	//   "COUNTER"
  7875  	//   "SALE"
  7876  	Type string `json:"type,omitempty"`
  7877  
  7878  	// ServerResponse contains the HTTP response code and headers from the
  7879  	// server.
  7880  	googleapi.ServerResponse `json:"-"`
  7881  
  7882  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7883  	// unconditionally include in API requests. By default, fields with
  7884  	// empty values are omitted from API requests. However, any non-pointer,
  7885  	// non-interface field appearing in ForceSendFields will be sent to the
  7886  	// server regardless of whether the field is empty or not. This may be
  7887  	// used to include empty fields in Patch requests.
  7888  	ForceSendFields []string `json:"-"`
  7889  
  7890  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7891  	// API requests with the JSON null value. By default, fields with empty
  7892  	// values are omitted from API requests. However, any field with an
  7893  	// empty value appearing in NullFields will be sent to the server as
  7894  	// null. It is an error if a field in this list has a non-empty value.
  7895  	// This may be used to include null fields in Patch requests.
  7896  	NullFields []string `json:"-"`
  7897  }
  7898  
  7899  func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
  7900  	type NoMethod FloodlightActivityGroup
  7901  	raw := NoMethod(*s)
  7902  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7903  }
  7904  
  7905  // FloodlightActivityGroupsListResponse: Floodlight Activity Group List
  7906  // Response
  7907  type FloodlightActivityGroupsListResponse struct {
  7908  	// FloodlightActivityGroups: Floodlight activity group collection.
  7909  	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
  7910  
  7911  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7912  	// string "dfareporting#floodlightActivityGroupsListResponse".
  7913  	Kind string `json:"kind,omitempty"`
  7914  
  7915  	// NextPageToken: Pagination token to be used for the next list
  7916  	// operation.
  7917  	NextPageToken string `json:"nextPageToken,omitempty"`
  7918  
  7919  	// ServerResponse contains the HTTP response code and headers from the
  7920  	// server.
  7921  	googleapi.ServerResponse `json:"-"`
  7922  
  7923  	// ForceSendFields is a list of field names (e.g.
  7924  	// "FloodlightActivityGroups") to unconditionally include in API
  7925  	// requests. By default, fields with empty values are omitted from API
  7926  	// requests. However, any non-pointer, non-interface field appearing in
  7927  	// ForceSendFields will be sent to the server regardless of whether the
  7928  	// field is empty or not. This may be used to include empty fields in
  7929  	// Patch requests.
  7930  	ForceSendFields []string `json:"-"`
  7931  
  7932  	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
  7933  	// to include in API requests with the JSON null value. By default,
  7934  	// fields with empty values are omitted from API requests. However, any
  7935  	// field with an empty value appearing in NullFields will be sent to the
  7936  	// server as null. It is an error if a field in this list has a
  7937  	// non-empty value. This may be used to include null fields in Patch
  7938  	// requests.
  7939  	NullFields []string `json:"-"`
  7940  }
  7941  
  7942  func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
  7943  	type NoMethod FloodlightActivityGroupsListResponse
  7944  	raw := NoMethod(*s)
  7945  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7946  }
  7947  
  7948  // FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
  7949  type FloodlightActivityPublisherDynamicTag struct {
  7950  	// ClickThrough: Whether this tag is applicable only for click-throughs.
  7951  	ClickThrough bool `json:"clickThrough,omitempty"`
  7952  
  7953  	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
  7954  	// write-only field that can be used as an alternative to the siteId
  7955  	// field. When this resource is retrieved, only the siteId field will be
  7956  	// populated.
  7957  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  7958  
  7959  	// DynamicTag: Dynamic floodlight tag.
  7960  	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
  7961  
  7962  	// SiteId: Site ID of this dynamic tag.
  7963  	SiteId int64 `json:"siteId,omitempty,string"`
  7964  
  7965  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  7966  	// a read-only, auto-generated field.
  7967  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  7968  
  7969  	// ViewThrough: Whether this tag is applicable only for view-throughs.
  7970  	ViewThrough bool `json:"viewThrough,omitempty"`
  7971  
  7972  	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
  7973  	// unconditionally include in API requests. By default, fields with
  7974  	// empty values are omitted from API requests. However, any non-pointer,
  7975  	// non-interface field appearing in ForceSendFields will be sent to the
  7976  	// server regardless of whether the field is empty or not. This may be
  7977  	// used to include empty fields in Patch requests.
  7978  	ForceSendFields []string `json:"-"`
  7979  
  7980  	// NullFields is a list of field names (e.g. "ClickThrough") to include
  7981  	// in API requests with the JSON null value. By default, fields with
  7982  	// empty values are omitted from API requests. However, any field with
  7983  	// an empty value appearing in NullFields will be sent to the server as
  7984  	// null. It is an error if a field in this list has a non-empty value.
  7985  	// This may be used to include null fields in Patch requests.
  7986  	NullFields []string `json:"-"`
  7987  }
  7988  
  7989  func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
  7990  	type NoMethod FloodlightActivityPublisherDynamicTag
  7991  	raw := NoMethod(*s)
  7992  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7993  }
  7994  
  7995  // FloodlightConfiguration: Contains properties of a Floodlight
  7996  // configuration.
  7997  type FloodlightConfiguration struct {
  7998  	// AccountId: Account ID of this floodlight configuration. This is a
  7999  	// read-only field that can be left blank.
  8000  	AccountId int64 `json:"accountId,omitempty,string"`
  8001  
  8002  	// AdvertiserId: Advertiser ID of the parent advertiser of this
  8003  	// floodlight configuration.
  8004  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8005  
  8006  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  8007  	// advertiser. This is a read-only, auto-generated field.
  8008  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  8009  
  8010  	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
  8011  	// Google Analytics.
  8012  	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
  8013  
  8014  	// ExposureToConversionEnabled: Whether the exposure-to-conversion
  8015  	// report is enabled. This report shows detailed pathway information on
  8016  	// up to 10 of the most recent ad exposures seen by a user before
  8017  	// converting.
  8018  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
  8019  
  8020  	// FirstDayOfWeek: Day that will be counted as the first day of the week
  8021  	// in reports. This is a required field.
  8022  	//
  8023  	// Possible values:
  8024  	//   "MONDAY"
  8025  	//   "SUNDAY"
  8026  	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
  8027  
  8028  	// Id: ID of this floodlight configuration. This is a read-only,
  8029  	// auto-generated field.
  8030  	Id int64 `json:"id,omitempty,string"`
  8031  
  8032  	// IdDimensionValue: Dimension value for the ID of this floodlight
  8033  	// configuration. This is a read-only, auto-generated field.
  8034  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  8035  
  8036  	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
  8037  	// is enabled.
  8038  	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
  8039  
  8040  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8041  	// string "dfareporting#floodlightConfiguration".
  8042  	Kind string `json:"kind,omitempty"`
  8043  
  8044  	// LookbackConfiguration: Lookback window settings for this floodlight
  8045  	// configuration.
  8046  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  8047  
  8048  	// NaturalSearchConversionAttributionOption: Types of attribution
  8049  	// options for natural search conversions.
  8050  	//
  8051  	// Possible values:
  8052  	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  8053  	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  8054  	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
  8055  	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
  8056  
  8057  	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
  8058  	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
  8059  
  8060  	// SubaccountId: Subaccount ID of this floodlight configuration. This is
  8061  	// a read-only field that can be left blank.
  8062  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8063  
  8064  	// TagSettings: Configuration settings for dynamic and image floodlight
  8065  	// tags.
  8066  	TagSettings *TagSettings `json:"tagSettings,omitempty"`
  8067  
  8068  	// ThirdPartyAuthenticationTokens: List of third-party authentication
  8069  	// tokens enabled for this configuration.
  8070  	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
  8071  
  8072  	// UserDefinedVariableConfigurations: List of user defined variables
  8073  	// enabled for this configuration.
  8074  	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
  8075  
  8076  	// ServerResponse contains the HTTP response code and headers from the
  8077  	// server.
  8078  	googleapi.ServerResponse `json:"-"`
  8079  
  8080  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8081  	// unconditionally include in API requests. By default, fields with
  8082  	// empty values are omitted from API requests. However, any non-pointer,
  8083  	// non-interface field appearing in ForceSendFields will be sent to the
  8084  	// server regardless of whether the field is empty or not. This may be
  8085  	// used to include empty fields in Patch requests.
  8086  	ForceSendFields []string `json:"-"`
  8087  
  8088  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8089  	// API requests with the JSON null value. By default, fields with empty
  8090  	// values are omitted from API requests. However, any field with an
  8091  	// empty value appearing in NullFields will be sent to the server as
  8092  	// null. It is an error if a field in this list has a non-empty value.
  8093  	// This may be used to include null fields in Patch requests.
  8094  	NullFields []string `json:"-"`
  8095  }
  8096  
  8097  func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
  8098  	type NoMethod FloodlightConfiguration
  8099  	raw := NoMethod(*s)
  8100  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8101  }
  8102  
  8103  // FloodlightConfigurationsListResponse: Floodlight Configuration List
  8104  // Response
  8105  type FloodlightConfigurationsListResponse struct {
  8106  	// FloodlightConfigurations: Floodlight configuration collection.
  8107  	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
  8108  
  8109  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8110  	// string "dfareporting#floodlightConfigurationsListResponse".
  8111  	Kind string `json:"kind,omitempty"`
  8112  
  8113  	// ServerResponse contains the HTTP response code and headers from the
  8114  	// server.
  8115  	googleapi.ServerResponse `json:"-"`
  8116  
  8117  	// ForceSendFields is a list of field names (e.g.
  8118  	// "FloodlightConfigurations") to unconditionally include in API
  8119  	// requests. By default, fields with empty values are omitted from API
  8120  	// requests. However, any non-pointer, non-interface field appearing in
  8121  	// ForceSendFields will be sent to the server regardless of whether the
  8122  	// field is empty or not. This may be used to include empty fields in
  8123  	// Patch requests.
  8124  	ForceSendFields []string `json:"-"`
  8125  
  8126  	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
  8127  	// to include in API requests with the JSON null value. By default,
  8128  	// fields with empty values are omitted from API requests. However, any
  8129  	// field with an empty value appearing in NullFields will be sent to the
  8130  	// server as null. It is an error if a field in this list has a
  8131  	// non-empty value. This may be used to include null fields in Patch
  8132  	// requests.
  8133  	NullFields []string `json:"-"`
  8134  }
  8135  
  8136  func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
  8137  	type NoMethod FloodlightConfigurationsListResponse
  8138  	raw := NoMethod(*s)
  8139  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8140  }
  8141  
  8142  // FloodlightReportCompatibleFields: Represents fields that are
  8143  // compatible to be selected for a report of type "FlOODLIGHT".
  8144  type FloodlightReportCompatibleFields struct {
  8145  	// DimensionFilters: Dimensions which are compatible to be selected in
  8146  	// the "dimensionFilters" section of the report.
  8147  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  8148  
  8149  	// Dimensions: Dimensions which are compatible to be selected in the
  8150  	// "dimensions" section of the report.
  8151  	Dimensions []*Dimension `json:"dimensions,omitempty"`
  8152  
  8153  	// Kind: The kind of resource this is, in this case
  8154  	// dfareporting#floodlightReportCompatibleFields.
  8155  	Kind string `json:"kind,omitempty"`
  8156  
  8157  	// Metrics: Metrics which are compatible to be selected in the
  8158  	// "metricNames" section of the report.
  8159  	Metrics []*Metric `json:"metrics,omitempty"`
  8160  
  8161  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
  8162  	// unconditionally include in API requests. By default, fields with
  8163  	// empty values are omitted from API requests. However, any non-pointer,
  8164  	// non-interface field appearing in ForceSendFields will be sent to the
  8165  	// server regardless of whether the field is empty or not. This may be
  8166  	// used to include empty fields in Patch requests.
  8167  	ForceSendFields []string `json:"-"`
  8168  
  8169  	// NullFields is a list of field names (e.g. "DimensionFilters") to
  8170  	// include in API requests with the JSON null value. By default, fields
  8171  	// with empty values are omitted from API requests. However, any field
  8172  	// with an empty value appearing in NullFields will be sent to the
  8173  	// server as null. It is an error if a field in this list has a
  8174  	// non-empty value. This may be used to include null fields in Patch
  8175  	// requests.
  8176  	NullFields []string `json:"-"`
  8177  }
  8178  
  8179  func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
  8180  	type NoMethod FloodlightReportCompatibleFields
  8181  	raw := NoMethod(*s)
  8182  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8183  }
  8184  
  8185  // FrequencyCap: Frequency Cap.
  8186  type FrequencyCap struct {
  8187  	// Duration: Duration of time, in seconds, for this frequency cap. The
  8188  	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
  8189  	// inclusive.
  8190  	Duration int64 `json:"duration,omitempty,string"`
  8191  
  8192  	// Impressions: Number of times an individual user can be served the ad
  8193  	// within the specified duration. Acceptable values are 1 to 15,
  8194  	// inclusive.
  8195  	Impressions int64 `json:"impressions,omitempty,string"`
  8196  
  8197  	// ForceSendFields is a list of field names (e.g. "Duration") to
  8198  	// unconditionally include in API requests. By default, fields with
  8199  	// empty values are omitted from API requests. However, any non-pointer,
  8200  	// non-interface field appearing in ForceSendFields will be sent to the
  8201  	// server regardless of whether the field is empty or not. This may be
  8202  	// used to include empty fields in Patch requests.
  8203  	ForceSendFields []string `json:"-"`
  8204  
  8205  	// NullFields is a list of field names (e.g. "Duration") to include in
  8206  	// API requests with the JSON null value. By default, fields with empty
  8207  	// values are omitted from API requests. However, any field with an
  8208  	// empty value appearing in NullFields will be sent to the server as
  8209  	// null. It is an error if a field in this list has a non-empty value.
  8210  	// This may be used to include null fields in Patch requests.
  8211  	NullFields []string `json:"-"`
  8212  }
  8213  
  8214  func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
  8215  	type NoMethod FrequencyCap
  8216  	raw := NoMethod(*s)
  8217  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8218  }
  8219  
  8220  // FsCommand: FsCommand.
  8221  type FsCommand struct {
  8222  	// Left: Distance from the left of the browser.Applicable when
  8223  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  8224  	Left int64 `json:"left,omitempty"`
  8225  
  8226  	// PositionOption: Position in the browser where the window will open.
  8227  	//
  8228  	// Possible values:
  8229  	//   "CENTERED"
  8230  	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
  8231  	PositionOption string `json:"positionOption,omitempty"`
  8232  
  8233  	// Top: Distance from the top of the browser. Applicable when
  8234  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  8235  	Top int64 `json:"top,omitempty"`
  8236  
  8237  	// WindowHeight: Height of the window.
  8238  	WindowHeight int64 `json:"windowHeight,omitempty"`
  8239  
  8240  	// WindowWidth: Width of the window.
  8241  	WindowWidth int64 `json:"windowWidth,omitempty"`
  8242  
  8243  	// ForceSendFields is a list of field names (e.g. "Left") to
  8244  	// unconditionally include in API requests. By default, fields with
  8245  	// empty values are omitted from API requests. However, any non-pointer,
  8246  	// non-interface field appearing in ForceSendFields will be sent to the
  8247  	// server regardless of whether the field is empty or not. This may be
  8248  	// used to include empty fields in Patch requests.
  8249  	ForceSendFields []string `json:"-"`
  8250  
  8251  	// NullFields is a list of field names (e.g. "Left") to include in API
  8252  	// requests with the JSON null value. By default, fields with empty
  8253  	// values are omitted from API requests. However, any field with an
  8254  	// empty value appearing in NullFields will be sent to the server as
  8255  	// null. It is an error if a field in this list has a non-empty value.
  8256  	// This may be used to include null fields in Patch requests.
  8257  	NullFields []string `json:"-"`
  8258  }
  8259  
  8260  func (s *FsCommand) MarshalJSON() ([]byte, error) {
  8261  	type NoMethod FsCommand
  8262  	raw := NoMethod(*s)
  8263  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8264  }
  8265  
  8266  // GeoTargeting: Geographical Targeting.
  8267  type GeoTargeting struct {
  8268  	// Cities: Cities to be targeted. For each city only dartId is required.
  8269  	// The other fields are populated automatically when the ad is inserted
  8270  	// or updated. If targeting a city, do not target or exclude the country
  8271  	// of the city, and do not target the metro or region of the city.
  8272  	Cities []*City `json:"cities,omitempty"`
  8273  
  8274  	// Countries: Countries to be targeted or excluded from targeting,
  8275  	// depending on the setting of the excludeCountries field. For each
  8276  	// country only dartId is required. The other fields are populated
  8277  	// automatically when the ad is inserted or updated. If targeting or
  8278  	// excluding a country, do not target regions, cities, metros, or postal
  8279  	// codes in the same country.
  8280  	Countries []*Country `json:"countries,omitempty"`
  8281  
  8282  	// ExcludeCountries: Whether or not to exclude the countries in the
  8283  	// countries field from targeting. If false, the countries field refers
  8284  	// to countries which will be targeted by the ad.
  8285  	ExcludeCountries bool `json:"excludeCountries,omitempty"`
  8286  
  8287  	// Metros: Metros to be targeted. For each metro only dmaId is required.
  8288  	// The other fields are populated automatically when the ad is inserted
  8289  	// or updated. If targeting a metro, do not target or exclude the
  8290  	// country of the metro.
  8291  	Metros []*Metro `json:"metros,omitempty"`
  8292  
  8293  	// PostalCodes: Postal codes to be targeted. For each postal code only
  8294  	// id is required. The other fields are populated automatically when the
  8295  	// ad is inserted or updated. If targeting a postal code, do not target
  8296  	// or exclude the country of the postal code.
  8297  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
  8298  
  8299  	// Regions: Regions to be targeted. For each region only dartId is
  8300  	// required. The other fields are populated automatically when the ad is
  8301  	// inserted or updated. If targeting a region, do not target or exclude
  8302  	// the country of the region.
  8303  	Regions []*Region `json:"regions,omitempty"`
  8304  
  8305  	// ForceSendFields is a list of field names (e.g. "Cities") to
  8306  	// unconditionally include in API requests. By default, fields with
  8307  	// empty values are omitted from API requests. However, any non-pointer,
  8308  	// non-interface field appearing in ForceSendFields will be sent to the
  8309  	// server regardless of whether the field is empty or not. This may be
  8310  	// used to include empty fields in Patch requests.
  8311  	ForceSendFields []string `json:"-"`
  8312  
  8313  	// NullFields is a list of field names (e.g. "Cities") to include in API
  8314  	// requests with the JSON null value. By default, fields with empty
  8315  	// values are omitted from API requests. However, any field with an
  8316  	// empty value appearing in NullFields will be sent to the server as
  8317  	// null. It is an error if a field in this list has a non-empty value.
  8318  	// This may be used to include null fields in Patch requests.
  8319  	NullFields []string `json:"-"`
  8320  }
  8321  
  8322  func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
  8323  	type NoMethod GeoTargeting
  8324  	raw := NoMethod(*s)
  8325  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8326  }
  8327  
  8328  // InventoryItem: Represents a buy from the Planning inventory store.
  8329  type InventoryItem struct {
  8330  	// AccountId: Account ID of this inventory item.
  8331  	AccountId int64 `json:"accountId,omitempty,string"`
  8332  
  8333  	// AdSlots: Ad slots of this inventory item. If this inventory item
  8334  	// represents a standalone placement, there will be exactly one ad slot.
  8335  	// If this inventory item represents a placement group, there will be
  8336  	// more than one ad slot, each representing one child placement in that
  8337  	// placement group.
  8338  	AdSlots []*AdSlot `json:"adSlots,omitempty"`
  8339  
  8340  	// AdvertiserId: Advertiser ID of this inventory item.
  8341  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8342  
  8343  	// ContentCategoryId: Content category ID of this inventory item.
  8344  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  8345  
  8346  	// EstimatedClickThroughRate: Estimated click-through rate of this
  8347  	// inventory item.
  8348  	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
  8349  
  8350  	// EstimatedConversionRate: Estimated conversion rate of this inventory
  8351  	// item.
  8352  	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
  8353  
  8354  	// Id: ID of this inventory item.
  8355  	Id int64 `json:"id,omitempty,string"`
  8356  
  8357  	// InPlan: Whether this inventory item is in plan.
  8358  	InPlan bool `json:"inPlan,omitempty"`
  8359  
  8360  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8361  	// string "dfareporting#inventoryItem".
  8362  	Kind string `json:"kind,omitempty"`
  8363  
  8364  	// LastModifiedInfo: Information about the most recent modification of
  8365  	// this inventory item.
  8366  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  8367  
  8368  	// Name: Name of this inventory item. For standalone inventory items,
  8369  	// this is the same name as that of its only ad slot. For group
  8370  	// inventory items, this can differ from the name of any of its ad
  8371  	// slots.
  8372  	Name string `json:"name,omitempty"`
  8373  
  8374  	// NegotiationChannelId: Negotiation channel ID of this inventory item.
  8375  	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
  8376  
  8377  	// OrderId: Order ID of this inventory item.
  8378  	OrderId int64 `json:"orderId,omitempty,string"`
  8379  
  8380  	// PlacementStrategyId: Placement strategy ID of this inventory item.
  8381  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  8382  
  8383  	// Pricing: Pricing of this inventory item.
  8384  	Pricing *Pricing `json:"pricing,omitempty"`
  8385  
  8386  	// ProjectId: Project ID of this inventory item.
  8387  	ProjectId int64 `json:"projectId,omitempty,string"`
  8388  
  8389  	// RfpId: RFP ID of this inventory item.
  8390  	RfpId int64 `json:"rfpId,omitempty,string"`
  8391  
  8392  	// SiteId: ID of the site this inventory item is associated with.
  8393  	SiteId int64 `json:"siteId,omitempty,string"`
  8394  
  8395  	// SubaccountId: Subaccount ID of this inventory item.
  8396  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8397  
  8398  	// Type: Type of inventory item.
  8399  	//
  8400  	// Possible values:
  8401  	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
  8402  	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
  8403  	Type string `json:"type,omitempty"`
  8404  
  8405  	// ServerResponse contains the HTTP response code and headers from the
  8406  	// server.
  8407  	googleapi.ServerResponse `json:"-"`
  8408  
  8409  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8410  	// unconditionally include in API requests. By default, fields with
  8411  	// empty values are omitted from API requests. However, any non-pointer,
  8412  	// non-interface field appearing in ForceSendFields will be sent to the
  8413  	// server regardless of whether the field is empty or not. This may be
  8414  	// used to include empty fields in Patch requests.
  8415  	ForceSendFields []string `json:"-"`
  8416  
  8417  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8418  	// API requests with the JSON null value. By default, fields with empty
  8419  	// values are omitted from API requests. However, any field with an
  8420  	// empty value appearing in NullFields will be sent to the server as
  8421  	// null. It is an error if a field in this list has a non-empty value.
  8422  	// This may be used to include null fields in Patch requests.
  8423  	NullFields []string `json:"-"`
  8424  }
  8425  
  8426  func (s *InventoryItem) MarshalJSON() ([]byte, error) {
  8427  	type NoMethod InventoryItem
  8428  	raw := NoMethod(*s)
  8429  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8430  }
  8431  
  8432  // InventoryItemsListResponse: Inventory item List Response
  8433  type InventoryItemsListResponse struct {
  8434  	// InventoryItems: Inventory item collection
  8435  	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
  8436  
  8437  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8438  	// string "dfareporting#inventoryItemsListResponse".
  8439  	Kind string `json:"kind,omitempty"`
  8440  
  8441  	// NextPageToken: Pagination token to be used for the next list
  8442  	// operation.
  8443  	NextPageToken string `json:"nextPageToken,omitempty"`
  8444  
  8445  	// ServerResponse contains the HTTP response code and headers from the
  8446  	// server.
  8447  	googleapi.ServerResponse `json:"-"`
  8448  
  8449  	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
  8450  	// unconditionally include in API requests. By default, fields with
  8451  	// empty values are omitted from API requests. However, any non-pointer,
  8452  	// non-interface field appearing in ForceSendFields will be sent to the
  8453  	// server regardless of whether the field is empty or not. This may be
  8454  	// used to include empty fields in Patch requests.
  8455  	ForceSendFields []string `json:"-"`
  8456  
  8457  	// NullFields is a list of field names (e.g. "InventoryItems") to
  8458  	// include in API requests with the JSON null value. By default, fields
  8459  	// with empty values are omitted from API requests. However, any field
  8460  	// with an empty value appearing in NullFields will be sent to the
  8461  	// server as null. It is an error if a field in this list has a
  8462  	// non-empty value. This may be used to include null fields in Patch
  8463  	// requests.
  8464  	NullFields []string `json:"-"`
  8465  }
  8466  
  8467  func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
  8468  	type NoMethod InventoryItemsListResponse
  8469  	raw := NoMethod(*s)
  8470  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8471  }
  8472  
  8473  // KeyValueTargetingExpression: Key Value Targeting Expression.
  8474  type KeyValueTargetingExpression struct {
  8475  	// Expression: Keyword expression being targeted by the ad.
  8476  	Expression string `json:"expression,omitempty"`
  8477  
  8478  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8479  	// unconditionally include in API requests. By default, fields with
  8480  	// empty values are omitted from API requests. However, any non-pointer,
  8481  	// non-interface field appearing in ForceSendFields will be sent to the
  8482  	// server regardless of whether the field is empty or not. This may be
  8483  	// used to include empty fields in Patch requests.
  8484  	ForceSendFields []string `json:"-"`
  8485  
  8486  	// NullFields is a list of field names (e.g. "Expression") to include in
  8487  	// API requests with the JSON null value. By default, fields with empty
  8488  	// values are omitted from API requests. However, any field with an
  8489  	// empty value appearing in NullFields will be sent to the server as
  8490  	// null. It is an error if a field in this list has a non-empty value.
  8491  	// This may be used to include null fields in Patch requests.
  8492  	NullFields []string `json:"-"`
  8493  }
  8494  
  8495  func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
  8496  	type NoMethod KeyValueTargetingExpression
  8497  	raw := NoMethod(*s)
  8498  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8499  }
  8500  
  8501  // LandingPage: Contains information about where a user's browser is
  8502  // taken after the user clicks an ad.
  8503  type LandingPage struct {
  8504  	// AdvertiserId: Advertiser ID of this landing page. This is a required
  8505  	// field.
  8506  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8507  
  8508  	// Archived: Whether this landing page has been archived.
  8509  	Archived bool `json:"archived,omitempty"`
  8510  
  8511  	// DeepLinks: Links that will direct the user to a mobile app, if
  8512  	// installed.
  8513  	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
  8514  
  8515  	// Id: ID of this landing page. This is a read-only, auto-generated
  8516  	// field.
  8517  	Id int64 `json:"id,omitempty,string"`
  8518  
  8519  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8520  	// string "dfareporting#landingPage".
  8521  	Kind string `json:"kind,omitempty"`
  8522  
  8523  	// Name: Name of this landing page. This is a required field. It must be
  8524  	// less than 256 characters long.
  8525  	Name string `json:"name,omitempty"`
  8526  
  8527  	// Url: URL of this landing page. This is a required field.
  8528  	Url string `json:"url,omitempty"`
  8529  
  8530  	// ServerResponse contains the HTTP response code and headers from the
  8531  	// server.
  8532  	googleapi.ServerResponse `json:"-"`
  8533  
  8534  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  8535  	// unconditionally include in API requests. By default, fields with
  8536  	// empty values are omitted from API requests. However, any non-pointer,
  8537  	// non-interface field appearing in ForceSendFields will be sent to the
  8538  	// server regardless of whether the field is empty or not. This may be
  8539  	// used to include empty fields in Patch requests.
  8540  	ForceSendFields []string `json:"-"`
  8541  
  8542  	// NullFields is a list of field names (e.g. "AdvertiserId") to include
  8543  	// in API requests with the JSON null value. By default, fields with
  8544  	// empty values are omitted from API requests. However, any field with
  8545  	// an empty value appearing in NullFields will be sent to the server as
  8546  	// null. It is an error if a field in this list has a non-empty value.
  8547  	// This may be used to include null fields in Patch requests.
  8548  	NullFields []string `json:"-"`
  8549  }
  8550  
  8551  func (s *LandingPage) MarshalJSON() ([]byte, error) {
  8552  	type NoMethod LandingPage
  8553  	raw := NoMethod(*s)
  8554  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8555  }
  8556  
  8557  // Language: Contains information about a language that can be targeted
  8558  // by ads.
  8559  type Language struct {
  8560  	// Id: Language ID of this language. This is the ID used for targeting
  8561  	// and generating reports.
  8562  	Id int64 `json:"id,omitempty,string"`
  8563  
  8564  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8565  	// string "dfareporting#language".
  8566  	Kind string `json:"kind,omitempty"`
  8567  
  8568  	// LanguageCode: Format of language code is an ISO 639 two-letter
  8569  	// language code optionally followed by an underscore followed by an ISO
  8570  	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
  8571  	// Chinese.
  8572  	LanguageCode string `json:"languageCode,omitempty"`
  8573  
  8574  	// Name: Name of this language.
  8575  	Name string `json:"name,omitempty"`
  8576  
  8577  	// ForceSendFields is a list of field names (e.g. "Id") to
  8578  	// unconditionally include in API requests. By default, fields with
  8579  	// empty values are omitted from API requests. However, any non-pointer,
  8580  	// non-interface field appearing in ForceSendFields will be sent to the
  8581  	// server regardless of whether the field is empty or not. This may be
  8582  	// used to include empty fields in Patch requests.
  8583  	ForceSendFields []string `json:"-"`
  8584  
  8585  	// NullFields is a list of field names (e.g. "Id") to include in API
  8586  	// requests with the JSON null value. By default, fields with empty
  8587  	// values are omitted from API requests. However, any field with an
  8588  	// empty value appearing in NullFields will be sent to the server as
  8589  	// null. It is an error if a field in this list has a non-empty value.
  8590  	// This may be used to include null fields in Patch requests.
  8591  	NullFields []string `json:"-"`
  8592  }
  8593  
  8594  func (s *Language) MarshalJSON() ([]byte, error) {
  8595  	type NoMethod Language
  8596  	raw := NoMethod(*s)
  8597  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8598  }
  8599  
  8600  // LanguageTargeting: Language Targeting.
  8601  type LanguageTargeting struct {
  8602  	// Languages: Languages that this ad targets. For each language only
  8603  	// languageId is required. The other fields are populated automatically
  8604  	// when the ad is inserted or updated.
  8605  	Languages []*Language `json:"languages,omitempty"`
  8606  
  8607  	// ForceSendFields is a list of field names (e.g. "Languages") 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. "Languages") to include in
  8616  	// API 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 *LanguageTargeting) MarshalJSON() ([]byte, error) {
  8625  	type NoMethod LanguageTargeting
  8626  	raw := NoMethod(*s)
  8627  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8628  }
  8629  
  8630  // LanguagesListResponse: Language List Response
  8631  type LanguagesListResponse struct {
  8632  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8633  	// string "dfareporting#languagesListResponse".
  8634  	Kind string `json:"kind,omitempty"`
  8635  
  8636  	// Languages: Language collection.
  8637  	Languages []*Language `json:"languages,omitempty"`
  8638  
  8639  	// ServerResponse contains the HTTP response code and headers from the
  8640  	// server.
  8641  	googleapi.ServerResponse `json:"-"`
  8642  
  8643  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8644  	// unconditionally include in API requests. By default, fields with
  8645  	// empty values are omitted from API requests. However, any non-pointer,
  8646  	// non-interface field appearing in ForceSendFields will be sent to the
  8647  	// server regardless of whether the field is empty or not. This may be
  8648  	// used to include empty fields in Patch requests.
  8649  	ForceSendFields []string `json:"-"`
  8650  
  8651  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8652  	// requests with the JSON null value. By default, fields with empty
  8653  	// values are omitted from API requests. However, any field with an
  8654  	// empty value appearing in NullFields will be sent to the server as
  8655  	// null. It is an error if a field in this list has a non-empty value.
  8656  	// This may be used to include null fields in Patch requests.
  8657  	NullFields []string `json:"-"`
  8658  }
  8659  
  8660  func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
  8661  	type NoMethod LanguagesListResponse
  8662  	raw := NoMethod(*s)
  8663  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8664  }
  8665  
  8666  // LastModifiedInfo: Modification timestamp.
  8667  type LastModifiedInfo struct {
  8668  	// Time: Timestamp of the last change in milliseconds since epoch.
  8669  	Time int64 `json:"time,omitempty,string"`
  8670  
  8671  	// ForceSendFields is a list of field names (e.g. "Time") to
  8672  	// unconditionally include in API requests. By default, fields with
  8673  	// empty values are omitted from API requests. However, any non-pointer,
  8674  	// non-interface field appearing in ForceSendFields will be sent to the
  8675  	// server regardless of whether the field is empty or not. This may be
  8676  	// used to include empty fields in Patch requests.
  8677  	ForceSendFields []string `json:"-"`
  8678  
  8679  	// NullFields is a list of field names (e.g. "Time") to include in API
  8680  	// requests with the JSON null value. By default, fields with empty
  8681  	// values are omitted from API requests. However, any field with an
  8682  	// empty value appearing in NullFields will be sent to the server as
  8683  	// null. It is an error if a field in this list has a non-empty value.
  8684  	// This may be used to include null fields in Patch requests.
  8685  	NullFields []string `json:"-"`
  8686  }
  8687  
  8688  func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
  8689  	type NoMethod LastModifiedInfo
  8690  	raw := NoMethod(*s)
  8691  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8692  }
  8693  
  8694  // ListPopulationClause: A group clause made up of list population terms
  8695  // representing constraints joined by ORs.
  8696  type ListPopulationClause struct {
  8697  	// Terms: Terms of this list population clause. Each clause is made up
  8698  	// of list population terms representing constraints and are joined by
  8699  	// ORs.
  8700  	Terms []*ListPopulationTerm `json:"terms,omitempty"`
  8701  
  8702  	// ForceSendFields is a list of field names (e.g. "Terms") to
  8703  	// unconditionally include in API requests. By default, fields with
  8704  	// empty values are omitted from API requests. However, any non-pointer,
  8705  	// non-interface field appearing in ForceSendFields will be sent to the
  8706  	// server regardless of whether the field is empty or not. This may be
  8707  	// used to include empty fields in Patch requests.
  8708  	ForceSendFields []string `json:"-"`
  8709  
  8710  	// NullFields is a list of field names (e.g. "Terms") to include in API
  8711  	// requests with the JSON null value. By default, fields with empty
  8712  	// values are omitted from API requests. However, any field with an
  8713  	// empty value appearing in NullFields will be sent to the server as
  8714  	// null. It is an error if a field in this list has a non-empty value.
  8715  	// This may be used to include null fields in Patch requests.
  8716  	NullFields []string `json:"-"`
  8717  }
  8718  
  8719  func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
  8720  	type NoMethod ListPopulationClause
  8721  	raw := NoMethod(*s)
  8722  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8723  }
  8724  
  8725  // ListPopulationRule: Remarketing List Population Rule.
  8726  type ListPopulationRule struct {
  8727  	// FloodlightActivityId: Floodlight activity ID associated with this
  8728  	// rule. This field can be left blank.
  8729  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  8730  
  8731  	// FloodlightActivityName: Name of floodlight activity associated with
  8732  	// this rule. This is a read-only, auto-generated field.
  8733  	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
  8734  
  8735  	// ListPopulationClauses: Clauses that make up this list population
  8736  	// rule. Clauses are joined by ANDs, and the clauses themselves are made
  8737  	// up of list population terms which are joined by ORs.
  8738  	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
  8739  
  8740  	// ForceSendFields is a list of field names (e.g.
  8741  	// "FloodlightActivityId") to unconditionally include in API requests.
  8742  	// By default, fields with empty values are omitted from API requests.
  8743  	// However, any non-pointer, non-interface field appearing in
  8744  	// ForceSendFields will be sent to the server regardless of whether the
  8745  	// field is empty or not. This may be used to include empty fields in
  8746  	// Patch requests.
  8747  	ForceSendFields []string `json:"-"`
  8748  
  8749  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  8750  	// include in API requests with the JSON null value. By default, fields
  8751  	// with empty values are omitted from API requests. However, any field
  8752  	// with an empty value appearing in NullFields will be sent to the
  8753  	// server as null. It is an error if a field in this list has a
  8754  	// non-empty value. This may be used to include null fields in Patch
  8755  	// requests.
  8756  	NullFields []string `json:"-"`
  8757  }
  8758  
  8759  func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
  8760  	type NoMethod ListPopulationRule
  8761  	raw := NoMethod(*s)
  8762  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8763  }
  8764  
  8765  // ListPopulationTerm: Remarketing List Population Rule Term.
  8766  type ListPopulationTerm struct {
  8767  	// Contains: Will be true if the term should check if the user is in the
  8768  	// list and false if the term should check if the user is not in the
  8769  	// list. This field is only relevant when type is set to
  8770  	// LIST_MEMBERSHIP_TERM. False by default.
  8771  	Contains bool `json:"contains,omitempty"`
  8772  
  8773  	// Negation: Whether to negate the comparison result of this term during
  8774  	// rule evaluation. This field is only relevant when type is left unset
  8775  	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8776  	Negation bool `json:"negation,omitempty"`
  8777  
  8778  	// Operator: Comparison operator of this term. This field is only
  8779  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8780  	// REFERRER_TERM.
  8781  	//
  8782  	// Possible values:
  8783  	//   "NUM_EQUALS"
  8784  	//   "NUM_GREATER_THAN"
  8785  	//   "NUM_GREATER_THAN_EQUAL"
  8786  	//   "NUM_LESS_THAN"
  8787  	//   "NUM_LESS_THAN_EQUAL"
  8788  	//   "STRING_CONTAINS"
  8789  	//   "STRING_EQUALS"
  8790  	Operator string `json:"operator,omitempty"`
  8791  
  8792  	// RemarketingListId: ID of the list in question. This field is only
  8793  	// relevant when type is set to LIST_MEMBERSHIP_TERM.
  8794  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
  8795  
  8796  	// Type: List population term type determines the applicable fields in
  8797  	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
  8798  	// variableName, variableFriendlyName, operator, value, and negation are
  8799  	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
  8800  	// contains are applicable. If set to REFERRER_TERM then operator,
  8801  	// value, and negation are applicable.
  8802  	//
  8803  	// Possible values:
  8804  	//   "CUSTOM_VARIABLE_TERM"
  8805  	//   "LIST_MEMBERSHIP_TERM"
  8806  	//   "REFERRER_TERM"
  8807  	Type string `json:"type,omitempty"`
  8808  
  8809  	// Value: Literal to compare the variable to. This field is only
  8810  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8811  	// REFERRER_TERM.
  8812  	Value string `json:"value,omitempty"`
  8813  
  8814  	// VariableFriendlyName: Friendly name of this term's variable. This is
  8815  	// a read-only, auto-generated field. This field is only relevant when
  8816  	// type is left unset or set to CUSTOM_VARIABLE_TERM.
  8817  	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
  8818  
  8819  	// VariableName: Name of the variable (U1, U2, etc.) being compared in
  8820  	// this term. This field is only relevant when type is set to null,
  8821  	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8822  	VariableName string `json:"variableName,omitempty"`
  8823  
  8824  	// ForceSendFields is a list of field names (e.g. "Contains") to
  8825  	// unconditionally include in API requests. By default, fields with
  8826  	// empty values are omitted from API requests. However, any non-pointer,
  8827  	// non-interface field appearing in ForceSendFields will be sent to the
  8828  	// server regardless of whether the field is empty or not. This may be
  8829  	// used to include empty fields in Patch requests.
  8830  	ForceSendFields []string `json:"-"`
  8831  
  8832  	// NullFields is a list of field names (e.g. "Contains") to include in
  8833  	// API requests with the JSON null value. By default, fields with empty
  8834  	// values are omitted from API requests. However, any field with an
  8835  	// empty value appearing in NullFields will be sent to the server as
  8836  	// null. It is an error if a field in this list has a non-empty value.
  8837  	// This may be used to include null fields in Patch requests.
  8838  	NullFields []string `json:"-"`
  8839  }
  8840  
  8841  func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
  8842  	type NoMethod ListPopulationTerm
  8843  	raw := NoMethod(*s)
  8844  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8845  }
  8846  
  8847  // ListTargetingExpression: Remarketing List Targeting Expression.
  8848  type ListTargetingExpression struct {
  8849  	// Expression: Expression describing which lists are being targeted by
  8850  	// the ad.
  8851  	Expression string `json:"expression,omitempty"`
  8852  
  8853  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8854  	// unconditionally include in API requests. By default, fields with
  8855  	// empty values are omitted from API requests. However, any non-pointer,
  8856  	// non-interface field appearing in ForceSendFields will be sent to the
  8857  	// server regardless of whether the field is empty or not. This may be
  8858  	// used to include empty fields in Patch requests.
  8859  	ForceSendFields []string `json:"-"`
  8860  
  8861  	// NullFields is a list of field names (e.g. "Expression") to include in
  8862  	// API requests with the JSON null value. By default, fields with empty
  8863  	// values are omitted from API requests. However, any field with an
  8864  	// empty value appearing in NullFields will be sent to the server as
  8865  	// null. It is an error if a field in this list has a non-empty value.
  8866  	// This may be used to include null fields in Patch requests.
  8867  	NullFields []string `json:"-"`
  8868  }
  8869  
  8870  func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
  8871  	type NoMethod ListTargetingExpression
  8872  	raw := NoMethod(*s)
  8873  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8874  }
  8875  
  8876  // LookbackConfiguration: Lookback configuration settings.
  8877  type LookbackConfiguration struct {
  8878  	// ClickDuration: Lookback window, in days, from the last time a given
  8879  	// user clicked on one of your ads. If you enter 0, clicks will not be
  8880  	// considered as triggering events for floodlight tracking. If you leave
  8881  	// this field blank, the default value for your account will be used.
  8882  	// Acceptable values are 0 to 90, inclusive.
  8883  	ClickDuration int64 `json:"clickDuration,omitempty"`
  8884  
  8885  	// PostImpressionActivitiesDuration: Lookback window, in days, from the
  8886  	// last time a given user viewed one of your ads. If you enter 0,
  8887  	// impressions will not be considered as triggering events for
  8888  	// floodlight tracking. If you leave this field blank, the default value
  8889  	// for your account will be used. Acceptable values are 0 to 90,
  8890  	// inclusive.
  8891  	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
  8892  
  8893  	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
  8894  	// unconditionally include in API requests. By default, fields with
  8895  	// empty values are omitted from API requests. However, any non-pointer,
  8896  	// non-interface field appearing in ForceSendFields will be sent to the
  8897  	// server regardless of whether the field is empty or not. This may be
  8898  	// used to include empty fields in Patch requests.
  8899  	ForceSendFields []string `json:"-"`
  8900  
  8901  	// NullFields is a list of field names (e.g. "ClickDuration") to include
  8902  	// in API requests with the JSON null value. By default, fields with
  8903  	// empty values are omitted from API requests. However, any field with
  8904  	// an empty value appearing in NullFields will be sent to the server as
  8905  	// null. It is an error if a field in this list has a non-empty value.
  8906  	// This may be used to include null fields in Patch requests.
  8907  	NullFields []string `json:"-"`
  8908  }
  8909  
  8910  func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
  8911  	type NoMethod LookbackConfiguration
  8912  	raw := NoMethod(*s)
  8913  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8914  }
  8915  
  8916  // Metric: Represents a metric.
  8917  type Metric struct {
  8918  	// Kind: The kind of resource this is, in this case dfareporting#metric.
  8919  	Kind string `json:"kind,omitempty"`
  8920  
  8921  	// Name: The metric name, e.g. dfa:impressions
  8922  	Name string `json:"name,omitempty"`
  8923  
  8924  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8925  	// unconditionally include in API requests. By default, fields with
  8926  	// empty values are omitted from API requests. However, any non-pointer,
  8927  	// non-interface field appearing in ForceSendFields will be sent to the
  8928  	// server regardless of whether the field is empty or not. This may be
  8929  	// used to include empty fields in Patch requests.
  8930  	ForceSendFields []string `json:"-"`
  8931  
  8932  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8933  	// requests with the JSON null value. By default, fields with empty
  8934  	// values are omitted from API requests. However, any field with an
  8935  	// empty value appearing in NullFields will be sent to the server as
  8936  	// null. It is an error if a field in this list has a non-empty value.
  8937  	// This may be used to include null fields in Patch requests.
  8938  	NullFields []string `json:"-"`
  8939  }
  8940  
  8941  func (s *Metric) MarshalJSON() ([]byte, error) {
  8942  	type NoMethod Metric
  8943  	raw := NoMethod(*s)
  8944  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8945  }
  8946  
  8947  // Metro: Contains information about a metro region that can be targeted
  8948  // by ads.
  8949  type Metro struct {
  8950  	// CountryCode: Country code of the country to which this metro region
  8951  	// belongs.
  8952  	CountryCode string `json:"countryCode,omitempty"`
  8953  
  8954  	// CountryDartId: DART ID of the country to which this metro region
  8955  	// belongs.
  8956  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8957  
  8958  	// DartId: DART ID of this metro region.
  8959  	DartId int64 `json:"dartId,omitempty,string"`
  8960  
  8961  	// DmaId: DMA ID of this metro region. This is the ID used for targeting
  8962  	// and generating reports, and is equivalent to metro_code.
  8963  	DmaId int64 `json:"dmaId,omitempty,string"`
  8964  
  8965  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8966  	// string "dfareporting#metro".
  8967  	Kind string `json:"kind,omitempty"`
  8968  
  8969  	// MetroCode: Metro code of this metro region. This is equivalent to
  8970  	// dma_id.
  8971  	MetroCode string `json:"metroCode,omitempty"`
  8972  
  8973  	// Name: Name of this metro region.
  8974  	Name string `json:"name,omitempty"`
  8975  
  8976  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8977  	// unconditionally include in API requests. By default, fields with
  8978  	// empty values are omitted from API requests. However, any non-pointer,
  8979  	// non-interface field appearing in ForceSendFields will be sent to the
  8980  	// server regardless of whether the field is empty or not. This may be
  8981  	// used to include empty fields in Patch requests.
  8982  	ForceSendFields []string `json:"-"`
  8983  
  8984  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8985  	// in API requests with the JSON null value. By default, fields with
  8986  	// empty values are omitted from API requests. However, any field with
  8987  	// an empty value appearing in NullFields will be sent to the server as
  8988  	// null. It is an error if a field in this list has a non-empty value.
  8989  	// This may be used to include null fields in Patch requests.
  8990  	NullFields []string `json:"-"`
  8991  }
  8992  
  8993  func (s *Metro) MarshalJSON() ([]byte, error) {
  8994  	type NoMethod Metro
  8995  	raw := NoMethod(*s)
  8996  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8997  }
  8998  
  8999  // MetrosListResponse: Metro List Response
  9000  type MetrosListResponse struct {
  9001  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9002  	// string "dfareporting#metrosListResponse".
  9003  	Kind string `json:"kind,omitempty"`
  9004  
  9005  	// Metros: Metro collection.
  9006  	Metros []*Metro `json:"metros,omitempty"`
  9007  
  9008  	// ServerResponse contains the HTTP response code and headers from the
  9009  	// server.
  9010  	googleapi.ServerResponse `json:"-"`
  9011  
  9012  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9013  	// unconditionally include in API requests. By default, fields with
  9014  	// empty values are omitted from API requests. However, any non-pointer,
  9015  	// non-interface field appearing in ForceSendFields will be sent to the
  9016  	// server regardless of whether the field is empty or not. This may be
  9017  	// used to include empty fields in Patch requests.
  9018  	ForceSendFields []string `json:"-"`
  9019  
  9020  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9021  	// requests with the JSON null value. By default, fields with empty
  9022  	// values are omitted from API requests. However, any field with an
  9023  	// empty value appearing in NullFields will be sent to the server as
  9024  	// null. It is an error if a field in this list has a non-empty value.
  9025  	// This may be used to include null fields in Patch requests.
  9026  	NullFields []string `json:"-"`
  9027  }
  9028  
  9029  func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
  9030  	type NoMethod MetrosListResponse
  9031  	raw := NoMethod(*s)
  9032  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9033  }
  9034  
  9035  // MobileApp: Contains information about a mobile app. Used as a landing
  9036  // page deep link.
  9037  type MobileApp struct {
  9038  	// Directory: Mobile app directory.
  9039  	//
  9040  	// Possible values:
  9041  	//   "APPLE_APP_STORE"
  9042  	//   "GOOGLE_PLAY_STORE"
  9043  	//   "UNKNOWN"
  9044  	Directory string `json:"directory,omitempty"`
  9045  
  9046  	// Id: ID of this mobile app.
  9047  	Id string `json:"id,omitempty"`
  9048  
  9049  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9050  	// string "dfareporting#mobileApp".
  9051  	Kind string `json:"kind,omitempty"`
  9052  
  9053  	// PublisherName: Publisher name.
  9054  	PublisherName string `json:"publisherName,omitempty"`
  9055  
  9056  	// Title: Title of this mobile app.
  9057  	Title string `json:"title,omitempty"`
  9058  
  9059  	// ServerResponse contains the HTTP response code and headers from the
  9060  	// server.
  9061  	googleapi.ServerResponse `json:"-"`
  9062  
  9063  	// ForceSendFields is a list of field names (e.g. "Directory") to
  9064  	// unconditionally include in API requests. By default, fields with
  9065  	// empty values are omitted from API requests. However, any non-pointer,
  9066  	// non-interface field appearing in ForceSendFields will be sent to the
  9067  	// server regardless of whether the field is empty or not. This may be
  9068  	// used to include empty fields in Patch requests.
  9069  	ForceSendFields []string `json:"-"`
  9070  
  9071  	// NullFields is a list of field names (e.g. "Directory") to include in
  9072  	// API requests with the JSON null value. By default, fields with empty
  9073  	// values are omitted from API requests. However, any field with an
  9074  	// empty value appearing in NullFields will be sent to the server as
  9075  	// null. It is an error if a field in this list has a non-empty value.
  9076  	// This may be used to include null fields in Patch requests.
  9077  	NullFields []string `json:"-"`
  9078  }
  9079  
  9080  func (s *MobileApp) MarshalJSON() ([]byte, error) {
  9081  	type NoMethod MobileApp
  9082  	raw := NoMethod(*s)
  9083  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9084  }
  9085  
  9086  // MobileAppsListResponse: Mobile app List Response
  9087  type MobileAppsListResponse struct {
  9088  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9089  	// string "dfareporting#mobileAppsListResponse".
  9090  	Kind string `json:"kind,omitempty"`
  9091  
  9092  	// MobileApps: Mobile apps collection.
  9093  	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
  9094  
  9095  	// NextPageToken: Pagination token to be used for the next list
  9096  	// operation.
  9097  	NextPageToken string `json:"nextPageToken,omitempty"`
  9098  
  9099  	// ServerResponse contains the HTTP response code and headers from the
  9100  	// server.
  9101  	googleapi.ServerResponse `json:"-"`
  9102  
  9103  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9104  	// unconditionally include in API requests. By default, fields with
  9105  	// empty values are omitted from API requests. However, any non-pointer,
  9106  	// non-interface field appearing in ForceSendFields will be sent to the
  9107  	// server regardless of whether the field is empty or not. This may be
  9108  	// used to include empty fields in Patch requests.
  9109  	ForceSendFields []string `json:"-"`
  9110  
  9111  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9112  	// requests with the JSON null value. By default, fields with empty
  9113  	// values are omitted from API requests. However, any field with an
  9114  	// empty value appearing in NullFields will be sent to the server as
  9115  	// null. It is an error if a field in this list has a non-empty value.
  9116  	// This may be used to include null fields in Patch requests.
  9117  	NullFields []string `json:"-"`
  9118  }
  9119  
  9120  func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
  9121  	type NoMethod MobileAppsListResponse
  9122  	raw := NoMethod(*s)
  9123  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9124  }
  9125  
  9126  // MobileCarrier: Contains information about a mobile carrier that can
  9127  // be targeted by ads.
  9128  type MobileCarrier struct {
  9129  	// CountryCode: Country code of the country to which this mobile carrier
  9130  	// belongs.
  9131  	CountryCode string `json:"countryCode,omitempty"`
  9132  
  9133  	// CountryDartId: DART ID of the country to which this mobile carrier
  9134  	// belongs.
  9135  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  9136  
  9137  	// Id: ID of this mobile carrier.
  9138  	Id int64 `json:"id,omitempty,string"`
  9139  
  9140  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9141  	// string "dfareporting#mobileCarrier".
  9142  	Kind string `json:"kind,omitempty"`
  9143  
  9144  	// Name: Name of this mobile carrier.
  9145  	Name string `json:"name,omitempty"`
  9146  
  9147  	// ServerResponse contains the HTTP response code and headers from the
  9148  	// server.
  9149  	googleapi.ServerResponse `json:"-"`
  9150  
  9151  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  9152  	// unconditionally include in API requests. By default, fields with
  9153  	// empty values are omitted from API requests. However, any non-pointer,
  9154  	// non-interface field appearing in ForceSendFields will be sent to the
  9155  	// server regardless of whether the field is empty or not. This may be
  9156  	// used to include empty fields in Patch requests.
  9157  	ForceSendFields []string `json:"-"`
  9158  
  9159  	// NullFields is a list of field names (e.g. "CountryCode") to include
  9160  	// in API requests with the JSON null value. By default, fields with
  9161  	// empty values are omitted from API requests. However, any field with
  9162  	// an empty value appearing in NullFields will be sent to the server as
  9163  	// null. It is an error if a field in this list has a non-empty value.
  9164  	// This may be used to include null fields in Patch requests.
  9165  	NullFields []string `json:"-"`
  9166  }
  9167  
  9168  func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
  9169  	type NoMethod MobileCarrier
  9170  	raw := NoMethod(*s)
  9171  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9172  }
  9173  
  9174  // MobileCarriersListResponse: Mobile Carrier List Response
  9175  type MobileCarriersListResponse struct {
  9176  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9177  	// string "dfareporting#mobileCarriersListResponse".
  9178  	Kind string `json:"kind,omitempty"`
  9179  
  9180  	// MobileCarriers: Mobile carrier collection.
  9181  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
  9182  
  9183  	// ServerResponse contains the HTTP response code and headers from the
  9184  	// server.
  9185  	googleapi.ServerResponse `json:"-"`
  9186  
  9187  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9188  	// unconditionally include in API requests. By default, fields with
  9189  	// empty values are omitted from API requests. However, any non-pointer,
  9190  	// non-interface field appearing in ForceSendFields will be sent to the
  9191  	// server regardless of whether the field is empty or not. This may be
  9192  	// used to include empty fields in Patch requests.
  9193  	ForceSendFields []string `json:"-"`
  9194  
  9195  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9196  	// requests with the JSON null value. By default, fields with empty
  9197  	// values are omitted from API requests. However, any field with an
  9198  	// empty value appearing in NullFields will be sent to the server as
  9199  	// null. It is an error if a field in this list has a non-empty value.
  9200  	// This may be used to include null fields in Patch requests.
  9201  	NullFields []string `json:"-"`
  9202  }
  9203  
  9204  func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
  9205  	type NoMethod MobileCarriersListResponse
  9206  	raw := NoMethod(*s)
  9207  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9208  }
  9209  
  9210  // ObjectFilter: Object Filter.
  9211  type ObjectFilter struct {
  9212  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9213  	// string "dfareporting#objectFilter".
  9214  	Kind string `json:"kind,omitempty"`
  9215  
  9216  	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
  9217  	// objects with these object IDs.
  9218  	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
  9219  
  9220  	// Status: Status of the filter. NONE means the user has access to none
  9221  	// of the objects. ALL means the user has access to all objects.
  9222  	// ASSIGNED means the user has access to the objects with IDs in the
  9223  	// objectIds list.
  9224  	//
  9225  	// Possible values:
  9226  	//   "ALL"
  9227  	//   "ASSIGNED"
  9228  	//   "NONE"
  9229  	Status string `json:"status,omitempty"`
  9230  
  9231  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9232  	// unconditionally include in API requests. By default, fields with
  9233  	// empty values are omitted from API requests. However, any non-pointer,
  9234  	// non-interface field appearing in ForceSendFields will be sent to the
  9235  	// server regardless of whether the field is empty or not. This may be
  9236  	// used to include empty fields in Patch requests.
  9237  	ForceSendFields []string `json:"-"`
  9238  
  9239  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9240  	// requests with the JSON null value. By default, fields with empty
  9241  	// values are omitted from API requests. However, any field with an
  9242  	// empty value appearing in NullFields will be sent to the server as
  9243  	// null. It is an error if a field in this list has a non-empty value.
  9244  	// This may be used to include null fields in Patch requests.
  9245  	NullFields []string `json:"-"`
  9246  }
  9247  
  9248  func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
  9249  	type NoMethod ObjectFilter
  9250  	raw := NoMethod(*s)
  9251  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9252  }
  9253  
  9254  // OffsetPosition: Offset Position.
  9255  type OffsetPosition struct {
  9256  	// Left: Offset distance from left side of an asset or a window.
  9257  	Left int64 `json:"left,omitempty"`
  9258  
  9259  	// Top: Offset distance from top side of an asset or a window.
  9260  	Top int64 `json:"top,omitempty"`
  9261  
  9262  	// ForceSendFields is a list of field names (e.g. "Left") to
  9263  	// unconditionally include in API requests. By default, fields with
  9264  	// empty values are omitted from API requests. However, any non-pointer,
  9265  	// non-interface field appearing in ForceSendFields will be sent to the
  9266  	// server regardless of whether the field is empty or not. This may be
  9267  	// used to include empty fields in Patch requests.
  9268  	ForceSendFields []string `json:"-"`
  9269  
  9270  	// NullFields is a list of field names (e.g. "Left") to include in API
  9271  	// requests with the JSON null value. By default, fields with empty
  9272  	// values are omitted from API requests. However, any field with an
  9273  	// empty value appearing in NullFields will be sent to the server as
  9274  	// null. It is an error if a field in this list has a non-empty value.
  9275  	// This may be used to include null fields in Patch requests.
  9276  	NullFields []string `json:"-"`
  9277  }
  9278  
  9279  func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
  9280  	type NoMethod OffsetPosition
  9281  	raw := NoMethod(*s)
  9282  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9283  }
  9284  
  9285  // OmnitureSettings: Omniture Integration Settings.
  9286  type OmnitureSettings struct {
  9287  	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
  9288  	// Omniture. This property can be enabled only if
  9289  	// omnitureIntegrationEnabled is true.
  9290  	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
  9291  
  9292  	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
  9293  	// This property can be enabled only when the "Advanced Ad Serving"
  9294  	// account setting is enabled.
  9295  	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
  9296  
  9297  	// ForceSendFields is a list of field names (e.g.
  9298  	// "OmnitureCostDataEnabled") to unconditionally include in API
  9299  	// requests. By default, fields with empty values are omitted from API
  9300  	// requests. However, any non-pointer, non-interface field appearing in
  9301  	// ForceSendFields will be sent to the server regardless of whether the
  9302  	// field is empty or not. This may be used to include empty fields in
  9303  	// Patch requests.
  9304  	ForceSendFields []string `json:"-"`
  9305  
  9306  	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
  9307  	// to include in API requests with the JSON null value. By default,
  9308  	// fields with empty values are omitted from API requests. However, any
  9309  	// field with an empty value appearing in NullFields will be sent to the
  9310  	// server as null. It is an error if a field in this list has a
  9311  	// non-empty value. This may be used to include null fields in Patch
  9312  	// requests.
  9313  	NullFields []string `json:"-"`
  9314  }
  9315  
  9316  func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
  9317  	type NoMethod OmnitureSettings
  9318  	raw := NoMethod(*s)
  9319  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9320  }
  9321  
  9322  // OperatingSystem: Contains information about an operating system that
  9323  // can be targeted by ads.
  9324  type OperatingSystem struct {
  9325  	// DartId: DART ID of this operating system. This is the ID used for
  9326  	// targeting.
  9327  	DartId int64 `json:"dartId,omitempty,string"`
  9328  
  9329  	// Desktop: Whether this operating system is for desktop.
  9330  	Desktop bool `json:"desktop,omitempty"`
  9331  
  9332  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9333  	// string "dfareporting#operatingSystem".
  9334  	Kind string `json:"kind,omitempty"`
  9335  
  9336  	// Mobile: Whether this operating system is for mobile.
  9337  	Mobile bool `json:"mobile,omitempty"`
  9338  
  9339  	// Name: Name of this operating system.
  9340  	Name string `json:"name,omitempty"`
  9341  
  9342  	// ServerResponse contains the HTTP response code and headers from the
  9343  	// server.
  9344  	googleapi.ServerResponse `json:"-"`
  9345  
  9346  	// ForceSendFields is a list of field names (e.g. "DartId") to
  9347  	// unconditionally include in API requests. By default, fields with
  9348  	// empty values are omitted from API requests. However, any non-pointer,
  9349  	// non-interface field appearing in ForceSendFields will be sent to the
  9350  	// server regardless of whether the field is empty or not. This may be
  9351  	// used to include empty fields in Patch requests.
  9352  	ForceSendFields []string `json:"-"`
  9353  
  9354  	// NullFields is a list of field names (e.g. "DartId") to include in API
  9355  	// requests with the JSON null value. By default, fields with empty
  9356  	// values are omitted from API requests. However, any field with an
  9357  	// empty value appearing in NullFields will be sent to the server as
  9358  	// null. It is an error if a field in this list has a non-empty value.
  9359  	// This may be used to include null fields in Patch requests.
  9360  	NullFields []string `json:"-"`
  9361  }
  9362  
  9363  func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
  9364  	type NoMethod OperatingSystem
  9365  	raw := NoMethod(*s)
  9366  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9367  }
  9368  
  9369  // OperatingSystemVersion: Contains information about a particular
  9370  // version of an operating system that can be targeted by ads.
  9371  type OperatingSystemVersion struct {
  9372  	// Id: ID of this operating system version.
  9373  	Id int64 `json:"id,omitempty,string"`
  9374  
  9375  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9376  	// string "dfareporting#operatingSystemVersion".
  9377  	Kind string `json:"kind,omitempty"`
  9378  
  9379  	// MajorVersion: Major version (leftmost number) of this operating
  9380  	// system version.
  9381  	MajorVersion string `json:"majorVersion,omitempty"`
  9382  
  9383  	// MinorVersion: Minor version (number after the first dot) of this
  9384  	// operating system version.
  9385  	MinorVersion string `json:"minorVersion,omitempty"`
  9386  
  9387  	// Name: Name of this operating system version.
  9388  	Name string `json:"name,omitempty"`
  9389  
  9390  	// OperatingSystem: Operating system of this operating system version.
  9391  	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
  9392  
  9393  	// ServerResponse contains the HTTP response code and headers from the
  9394  	// server.
  9395  	googleapi.ServerResponse `json:"-"`
  9396  
  9397  	// ForceSendFields is a list of field names (e.g. "Id") to
  9398  	// unconditionally include in API requests. By default, fields with
  9399  	// empty values are omitted from API requests. However, any non-pointer,
  9400  	// non-interface field appearing in ForceSendFields will be sent to the
  9401  	// server regardless of whether the field is empty or not. This may be
  9402  	// used to include empty fields in Patch requests.
  9403  	ForceSendFields []string `json:"-"`
  9404  
  9405  	// NullFields is a list of field names (e.g. "Id") to include in API
  9406  	// requests with the JSON null value. By default, fields with empty
  9407  	// values are omitted from API requests. However, any field with an
  9408  	// empty value appearing in NullFields will be sent to the server as
  9409  	// null. It is an error if a field in this list has a non-empty value.
  9410  	// This may be used to include null fields in Patch requests.
  9411  	NullFields []string `json:"-"`
  9412  }
  9413  
  9414  func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
  9415  	type NoMethod OperatingSystemVersion
  9416  	raw := NoMethod(*s)
  9417  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9418  }
  9419  
  9420  // OperatingSystemVersionsListResponse: Operating System Version List
  9421  // Response
  9422  type OperatingSystemVersionsListResponse struct {
  9423  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9424  	// string "dfareporting#operatingSystemVersionsListResponse".
  9425  	Kind string `json:"kind,omitempty"`
  9426  
  9427  	// OperatingSystemVersions: Operating system version collection.
  9428  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
  9429  
  9430  	// ServerResponse contains the HTTP response code and headers from the
  9431  	// server.
  9432  	googleapi.ServerResponse `json:"-"`
  9433  
  9434  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9435  	// unconditionally include in API requests. By default, fields with
  9436  	// empty values are omitted from API requests. However, any non-pointer,
  9437  	// non-interface field appearing in ForceSendFields will be sent to the
  9438  	// server regardless of whether the field is empty or not. This may be
  9439  	// used to include empty fields in Patch requests.
  9440  	ForceSendFields []string `json:"-"`
  9441  
  9442  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9443  	// requests with the JSON null value. By default, fields with empty
  9444  	// values are omitted from API requests. However, any field with an
  9445  	// empty value appearing in NullFields will be sent to the server as
  9446  	// null. It is an error if a field in this list has a non-empty value.
  9447  	// This may be used to include null fields in Patch requests.
  9448  	NullFields []string `json:"-"`
  9449  }
  9450  
  9451  func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
  9452  	type NoMethod OperatingSystemVersionsListResponse
  9453  	raw := NoMethod(*s)
  9454  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9455  }
  9456  
  9457  // OperatingSystemsListResponse: Operating System List Response
  9458  type OperatingSystemsListResponse struct {
  9459  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9460  	// string "dfareporting#operatingSystemsListResponse".
  9461  	Kind string `json:"kind,omitempty"`
  9462  
  9463  	// OperatingSystems: Operating system collection.
  9464  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
  9465  
  9466  	// ServerResponse contains the HTTP response code and headers from the
  9467  	// server.
  9468  	googleapi.ServerResponse `json:"-"`
  9469  
  9470  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9471  	// unconditionally include in API requests. By default, fields with
  9472  	// empty values are omitted from API requests. However, any non-pointer,
  9473  	// non-interface field appearing in ForceSendFields will be sent to the
  9474  	// server regardless of whether the field is empty or not. This may be
  9475  	// used to include empty fields in Patch requests.
  9476  	ForceSendFields []string `json:"-"`
  9477  
  9478  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9479  	// requests with the JSON null value. By default, fields with empty
  9480  	// values are omitted from API requests. However, any field with an
  9481  	// empty value appearing in NullFields will be sent to the server as
  9482  	// null. It is an error if a field in this list has a non-empty value.
  9483  	// This may be used to include null fields in Patch requests.
  9484  	NullFields []string `json:"-"`
  9485  }
  9486  
  9487  func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
  9488  	type NoMethod OperatingSystemsListResponse
  9489  	raw := NoMethod(*s)
  9490  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9491  }
  9492  
  9493  // OptimizationActivity: Creative optimization activity.
  9494  type OptimizationActivity struct {
  9495  	// FloodlightActivityId: Floodlight activity ID of this optimization
  9496  	// activity. This is a required field.
  9497  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  9498  
  9499  	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
  9500  	// floodlight activity. This is a read-only, auto-generated field.
  9501  	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
  9502  
  9503  	// Weight: Weight associated with this optimization. The weight assigned
  9504  	// will be understood in proportion to the weights assigned to the other
  9505  	// optimization activities. Value must be greater than or equal to 1.
  9506  	Weight int64 `json:"weight,omitempty"`
  9507  
  9508  	// ForceSendFields is a list of field names (e.g.
  9509  	// "FloodlightActivityId") to unconditionally include in API requests.
  9510  	// By default, fields with empty values are omitted from API requests.
  9511  	// However, any non-pointer, non-interface field appearing in
  9512  	// ForceSendFields will be sent to the server regardless of whether the
  9513  	// field is empty or not. This may be used to include empty fields in
  9514  	// Patch requests.
  9515  	ForceSendFields []string `json:"-"`
  9516  
  9517  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  9518  	// include in API requests with the JSON null value. By default, fields
  9519  	// with empty values are omitted from API requests. However, any field
  9520  	// with an empty value appearing in NullFields will be sent to the
  9521  	// server as null. It is an error if a field in this list has a
  9522  	// non-empty value. This may be used to include null fields in Patch
  9523  	// requests.
  9524  	NullFields []string `json:"-"`
  9525  }
  9526  
  9527  func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
  9528  	type NoMethod OptimizationActivity
  9529  	raw := NoMethod(*s)
  9530  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9531  }
  9532  
  9533  // Order: Describes properties of a Planning order.
  9534  type Order struct {
  9535  	// AccountId: Account ID of this order.
  9536  	AccountId int64 `json:"accountId,omitempty,string"`
  9537  
  9538  	// AdvertiserId: Advertiser ID of this order.
  9539  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9540  
  9541  	// ApproverUserProfileIds: IDs for users that have to approve documents
  9542  	// created for this order.
  9543  	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
  9544  
  9545  	// BuyerInvoiceId: Buyer invoice ID associated with this order.
  9546  	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
  9547  
  9548  	// BuyerOrganizationName: Name of the buyer organization.
  9549  	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
  9550  
  9551  	// Comments: Comments in this order.
  9552  	Comments string `json:"comments,omitempty"`
  9553  
  9554  	// Contacts: Contacts for this order.
  9555  	Contacts []*OrderContact `json:"contacts,omitempty"`
  9556  
  9557  	// Id: ID of this order. This is a read-only, auto-generated field.
  9558  	Id int64 `json:"id,omitempty,string"`
  9559  
  9560  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9561  	// string "dfareporting#order".
  9562  	Kind string `json:"kind,omitempty"`
  9563  
  9564  	// LastModifiedInfo: Information about the most recent modification of
  9565  	// this order.
  9566  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9567  
  9568  	// Name: Name of this order.
  9569  	Name string `json:"name,omitempty"`
  9570  
  9571  	// Notes: Notes of this order.
  9572  	Notes string `json:"notes,omitempty"`
  9573  
  9574  	// PlanningTermId: ID of the terms and conditions template used in this
  9575  	// order.
  9576  	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
  9577  
  9578  	// ProjectId: Project ID of this order.
  9579  	ProjectId int64 `json:"projectId,omitempty,string"`
  9580  
  9581  	// SellerOrderId: Seller order ID associated with this order.
  9582  	SellerOrderId string `json:"sellerOrderId,omitempty"`
  9583  
  9584  	// SellerOrganizationName: Name of the seller organization.
  9585  	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
  9586  
  9587  	// SiteId: Site IDs this order is associated with.
  9588  	SiteId googleapi.Int64s `json:"siteId,omitempty"`
  9589  
  9590  	// SiteNames: Free-form site names this order is associated with.
  9591  	SiteNames []string `json:"siteNames,omitempty"`
  9592  
  9593  	// SubaccountId: Subaccount ID of this order.
  9594  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9595  
  9596  	// TermsAndConditions: Terms and conditions of this order.
  9597  	TermsAndConditions string `json:"termsAndConditions,omitempty"`
  9598  
  9599  	// ServerResponse contains the HTTP response code and headers from the
  9600  	// server.
  9601  	googleapi.ServerResponse `json:"-"`
  9602  
  9603  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9604  	// unconditionally include in API requests. By default, fields with
  9605  	// empty values are omitted from API requests. However, any non-pointer,
  9606  	// non-interface field appearing in ForceSendFields will be sent to the
  9607  	// server regardless of whether the field is empty or not. This may be
  9608  	// used to include empty fields in Patch requests.
  9609  	ForceSendFields []string `json:"-"`
  9610  
  9611  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9612  	// API requests with the JSON null value. By default, fields with empty
  9613  	// values are omitted from API requests. However, any field with an
  9614  	// empty value appearing in NullFields will be sent to the server as
  9615  	// null. It is an error if a field in this list has a non-empty value.
  9616  	// This may be used to include null fields in Patch requests.
  9617  	NullFields []string `json:"-"`
  9618  }
  9619  
  9620  func (s *Order) MarshalJSON() ([]byte, error) {
  9621  	type NoMethod Order
  9622  	raw := NoMethod(*s)
  9623  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9624  }
  9625  
  9626  // OrderContact: Contact of an order.
  9627  type OrderContact struct {
  9628  	// ContactInfo: Free-form information about this contact. It could be
  9629  	// any information related to this contact in addition to type, title,
  9630  	// name, and signature user profile ID.
  9631  	ContactInfo string `json:"contactInfo,omitempty"`
  9632  
  9633  	// ContactName: Name of this contact.
  9634  	ContactName string `json:"contactName,omitempty"`
  9635  
  9636  	// ContactTitle: Title of this contact.
  9637  	ContactTitle string `json:"contactTitle,omitempty"`
  9638  
  9639  	// ContactType: Type of this contact.
  9640  	//
  9641  	// Possible values:
  9642  	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
  9643  	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
  9644  	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
  9645  	ContactType string `json:"contactType,omitempty"`
  9646  
  9647  	// SignatureUserProfileId: ID of the user profile containing the
  9648  	// signature that will be embedded into order documents.
  9649  	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
  9650  
  9651  	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
  9652  	// unconditionally include in API requests. By default, fields with
  9653  	// empty values are omitted from API requests. However, any non-pointer,
  9654  	// non-interface field appearing in ForceSendFields will be sent to the
  9655  	// server regardless of whether the field is empty or not. This may be
  9656  	// used to include empty fields in Patch requests.
  9657  	ForceSendFields []string `json:"-"`
  9658  
  9659  	// NullFields is a list of field names (e.g. "ContactInfo") to include
  9660  	// in API requests with the JSON null value. By default, fields with
  9661  	// empty values are omitted from API requests. However, any field with
  9662  	// an empty value appearing in NullFields will be sent to the server as
  9663  	// null. It is an error if a field in this list has a non-empty value.
  9664  	// This may be used to include null fields in Patch requests.
  9665  	NullFields []string `json:"-"`
  9666  }
  9667  
  9668  func (s *OrderContact) MarshalJSON() ([]byte, error) {
  9669  	type NoMethod OrderContact
  9670  	raw := NoMethod(*s)
  9671  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9672  }
  9673  
  9674  // OrderDocument: Contains properties of a Planning order document.
  9675  type OrderDocument struct {
  9676  	// AccountId: Account ID of this order document.
  9677  	AccountId int64 `json:"accountId,omitempty,string"`
  9678  
  9679  	// AdvertiserId: Advertiser ID of this order document.
  9680  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9681  
  9682  	// AmendedOrderDocumentId: The amended order document ID of this order
  9683  	// document. An order document can be created by optionally amending
  9684  	// another order document so that the change history can be preserved.
  9685  	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
  9686  
  9687  	// ApprovedByUserProfileIds: IDs of users who have approved this order
  9688  	// document.
  9689  	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
  9690  
  9691  	// Cancelled: Whether this order document is cancelled.
  9692  	Cancelled bool `json:"cancelled,omitempty"`
  9693  
  9694  	// CreatedInfo: Information about the creation of this order document.
  9695  	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
  9696  
  9697  	// EffectiveDate: Effective date of this order document.
  9698  	EffectiveDate string `json:"effectiveDate,omitempty"`
  9699  
  9700  	// Id: ID of this order document.
  9701  	Id int64 `json:"id,omitempty,string"`
  9702  
  9703  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9704  	// string "dfareporting#orderDocument".
  9705  	Kind string `json:"kind,omitempty"`
  9706  
  9707  	// LastSentRecipients: List of email addresses that received the last
  9708  	// sent document.
  9709  	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
  9710  
  9711  	// LastSentTime: Timestamp of the last email sent with this order
  9712  	// document.
  9713  	LastSentTime string `json:"lastSentTime,omitempty"`
  9714  
  9715  	// OrderId: ID of the order from which this order document is created.
  9716  	OrderId int64 `json:"orderId,omitempty,string"`
  9717  
  9718  	// ProjectId: Project ID of this order document.
  9719  	ProjectId int64 `json:"projectId,omitempty,string"`
  9720  
  9721  	// Signed: Whether this order document has been signed.
  9722  	Signed bool `json:"signed,omitempty"`
  9723  
  9724  	// SubaccountId: Subaccount ID of this order document.
  9725  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9726  
  9727  	// Title: Title of this order document.
  9728  	Title string `json:"title,omitempty"`
  9729  
  9730  	// Type: Type of this order document
  9731  	//
  9732  	// Possible values:
  9733  	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
  9734  	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
  9735  	Type string `json:"type,omitempty"`
  9736  
  9737  	// ServerResponse contains the HTTP response code and headers from the
  9738  	// server.
  9739  	googleapi.ServerResponse `json:"-"`
  9740  
  9741  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9742  	// unconditionally include in API requests. By default, fields with
  9743  	// empty values are omitted from API requests. However, any non-pointer,
  9744  	// non-interface field appearing in ForceSendFields will be sent to the
  9745  	// server regardless of whether the field is empty or not. This may be
  9746  	// used to include empty fields in Patch requests.
  9747  	ForceSendFields []string `json:"-"`
  9748  
  9749  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9750  	// API requests with the JSON null value. By default, fields with empty
  9751  	// values are omitted from API requests. However, any field with an
  9752  	// empty value appearing in NullFields will be sent to the server as
  9753  	// null. It is an error if a field in this list has a non-empty value.
  9754  	// This may be used to include null fields in Patch requests.
  9755  	NullFields []string `json:"-"`
  9756  }
  9757  
  9758  func (s *OrderDocument) MarshalJSON() ([]byte, error) {
  9759  	type NoMethod OrderDocument
  9760  	raw := NoMethod(*s)
  9761  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9762  }
  9763  
  9764  // OrderDocumentsListResponse: Order document List Response
  9765  type OrderDocumentsListResponse struct {
  9766  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9767  	// string "dfareporting#orderDocumentsListResponse".
  9768  	Kind string `json:"kind,omitempty"`
  9769  
  9770  	// NextPageToken: Pagination token to be used for the next list
  9771  	// operation.
  9772  	NextPageToken string `json:"nextPageToken,omitempty"`
  9773  
  9774  	// OrderDocuments: Order document collection
  9775  	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
  9776  
  9777  	// ServerResponse contains the HTTP response code and headers from the
  9778  	// server.
  9779  	googleapi.ServerResponse `json:"-"`
  9780  
  9781  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9782  	// unconditionally include in API requests. By default, fields with
  9783  	// empty values are omitted from API requests. However, any non-pointer,
  9784  	// non-interface field appearing in ForceSendFields will be sent to the
  9785  	// server regardless of whether the field is empty or not. This may be
  9786  	// used to include empty fields in Patch requests.
  9787  	ForceSendFields []string `json:"-"`
  9788  
  9789  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9790  	// requests with the JSON null value. By default, fields with empty
  9791  	// values are omitted from API requests. However, any field with an
  9792  	// empty value appearing in NullFields will be sent to the server as
  9793  	// null. It is an error if a field in this list has a non-empty value.
  9794  	// This may be used to include null fields in Patch requests.
  9795  	NullFields []string `json:"-"`
  9796  }
  9797  
  9798  func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
  9799  	type NoMethod OrderDocumentsListResponse
  9800  	raw := NoMethod(*s)
  9801  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9802  }
  9803  
  9804  // OrdersListResponse: Order List Response
  9805  type OrdersListResponse struct {
  9806  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9807  	// string "dfareporting#ordersListResponse".
  9808  	Kind string `json:"kind,omitempty"`
  9809  
  9810  	// NextPageToken: Pagination token to be used for the next list
  9811  	// operation.
  9812  	NextPageToken string `json:"nextPageToken,omitempty"`
  9813  
  9814  	// Orders: Order collection.
  9815  	Orders []*Order `json:"orders,omitempty"`
  9816  
  9817  	// ServerResponse contains the HTTP response code and headers from the
  9818  	// server.
  9819  	googleapi.ServerResponse `json:"-"`
  9820  
  9821  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9822  	// unconditionally include in API requests. By default, fields with
  9823  	// empty values are omitted from API requests. However, any non-pointer,
  9824  	// non-interface field appearing in ForceSendFields will be sent to the
  9825  	// server regardless of whether the field is empty or not. This may be
  9826  	// used to include empty fields in Patch requests.
  9827  	ForceSendFields []string `json:"-"`
  9828  
  9829  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9830  	// requests with the JSON null value. By default, fields with empty
  9831  	// values are omitted from API requests. However, any field with an
  9832  	// empty value appearing in NullFields will be sent to the server as
  9833  	// null. It is an error if a field in this list has a non-empty value.
  9834  	// This may be used to include null fields in Patch requests.
  9835  	NullFields []string `json:"-"`
  9836  }
  9837  
  9838  func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
  9839  	type NoMethod OrdersListResponse
  9840  	raw := NoMethod(*s)
  9841  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9842  }
  9843  
  9844  // PathToConversionReportCompatibleFields: Represents fields that are
  9845  // compatible to be selected for a report of type "PATH_TO_CONVERSION".
  9846  type PathToConversionReportCompatibleFields struct {
  9847  	// ConversionDimensions: Conversion dimensions which are compatible to
  9848  	// be selected in the "conversionDimensions" section of the report.
  9849  	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
  9850  
  9851  	// CustomFloodlightVariables: Custom floodlight variables which are
  9852  	// compatible to be selected in the "customFloodlightVariables" section
  9853  	// of the report.
  9854  	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
  9855  
  9856  	// Kind: The kind of resource this is, in this case
  9857  	// dfareporting#pathToConversionReportCompatibleFields.
  9858  	Kind string `json:"kind,omitempty"`
  9859  
  9860  	// Metrics: Metrics which are compatible to be selected in the
  9861  	// "metricNames" section of the report.
  9862  	Metrics []*Metric `json:"metrics,omitempty"`
  9863  
  9864  	// PerInteractionDimensions: Per-interaction dimensions which are
  9865  	// compatible to be selected in the "perInteractionDimensions" section
  9866  	// of the report.
  9867  	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
  9868  
  9869  	// ForceSendFields is a list of field names (e.g.
  9870  	// "ConversionDimensions") to unconditionally include in API requests.
  9871  	// By default, fields with empty values are omitted from API requests.
  9872  	// However, any non-pointer, non-interface field appearing in
  9873  	// ForceSendFields will be sent to the server regardless of whether the
  9874  	// field is empty or not. This may be used to include empty fields in
  9875  	// Patch requests.
  9876  	ForceSendFields []string `json:"-"`
  9877  
  9878  	// NullFields is a list of field names (e.g. "ConversionDimensions") to
  9879  	// include in API requests with the JSON null value. By default, fields
  9880  	// with empty values are omitted from API requests. However, any field
  9881  	// with an empty value appearing in NullFields will be sent to the
  9882  	// server as null. It is an error if a field in this list has a
  9883  	// non-empty value. This may be used to include null fields in Patch
  9884  	// requests.
  9885  	NullFields []string `json:"-"`
  9886  }
  9887  
  9888  func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
  9889  	type NoMethod PathToConversionReportCompatibleFields
  9890  	raw := NoMethod(*s)
  9891  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9892  }
  9893  
  9894  // Placement: Contains properties of a placement.
  9895  type Placement struct {
  9896  	// AccountId: Account ID of this placement. This field can be left
  9897  	// blank.
  9898  	AccountId int64 `json:"accountId,omitempty,string"`
  9899  
  9900  	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
  9901  	// When true, ad blocking is disabled for this placement. When false,
  9902  	// the campaign and site settings take effect.
  9903  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
  9904  
  9905  	// AdditionalSizes: Additional sizes associated with this placement.
  9906  	// When inserting or updating a placement, only the size ID field is
  9907  	// used.
  9908  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  9909  
  9910  	// AdvertiserId: Advertiser ID of this placement. This field can be left
  9911  	// blank.
  9912  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9913  
  9914  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  9915  	// advertiser. This is a read-only, auto-generated field.
  9916  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  9917  
  9918  	// Archived: Whether this placement is archived.
  9919  	Archived bool `json:"archived,omitempty"`
  9920  
  9921  	// CampaignId: Campaign ID of this placement. This field is a required
  9922  	// field on insertion.
  9923  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9924  
  9925  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  9926  	// This is a read-only, auto-generated field.
  9927  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  9928  
  9929  	// Comment: Comments for this placement.
  9930  	Comment string `json:"comment,omitempty"`
  9931  
  9932  	// Compatibility: Placement compatibility. DISPLAY and
  9933  	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
  9934  	// or in mobile apps for regular or interstitial ads respectively. APP
  9935  	// and APP_INTERSTITIAL are no longer allowed for new placement
  9936  	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
  9937  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  9938  	// with the VAST standard. This field is required on insertion.
  9939  	//
  9940  	// Possible values:
  9941  	//   "APP"
  9942  	//   "APP_INTERSTITIAL"
  9943  	//   "DISPLAY"
  9944  	//   "DISPLAY_INTERSTITIAL"
  9945  	//   "IN_STREAM_AUDIO"
  9946  	//   "IN_STREAM_VIDEO"
  9947  	Compatibility string `json:"compatibility,omitempty"`
  9948  
  9949  	// ContentCategoryId: ID of the content category assigned to this
  9950  	// placement.
  9951  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  9952  
  9953  	// CreateInfo: Information about the creation of this placement. This is
  9954  	// a read-only field.
  9955  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  9956  
  9957  	// DirectorySiteId: Directory site ID of this placement. On insert, you
  9958  	// must set either this field or the siteId field to specify the site
  9959  	// associated with this placement. This is a required field that is
  9960  	// read-only after insertion.
  9961  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  9962  
  9963  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
  9964  	// directory site. This is a read-only, auto-generated field.
  9965  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
  9966  
  9967  	// ExternalId: External ID for this placement.
  9968  	ExternalId string `json:"externalId,omitempty"`
  9969  
  9970  	// Id: ID of this placement. This is a read-only, auto-generated field.
  9971  	Id int64 `json:"id,omitempty,string"`
  9972  
  9973  	// IdDimensionValue: Dimension value for the ID of this placement. This
  9974  	// is a read-only, auto-generated field.
  9975  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  9976  
  9977  	// KeyName: Key name of this placement. This is a read-only,
  9978  	// auto-generated field.
  9979  	KeyName string `json:"keyName,omitempty"`
  9980  
  9981  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9982  	// string "dfareporting#placement".
  9983  	Kind string `json:"kind,omitempty"`
  9984  
  9985  	// LastModifiedInfo: Information about the most recent modification of
  9986  	// this placement. This is a read-only field.
  9987  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9988  
  9989  	// LookbackConfiguration: Lookback window settings for this placement.
  9990  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  9991  
  9992  	// Name: Name of this placement.This is a required field and must be
  9993  	// less than 256 characters long.
  9994  	Name string `json:"name,omitempty"`
  9995  
  9996  	// PaymentApproved: Whether payment was approved for this placement.
  9997  	// This is a read-only field relevant only to publisher-paid placements.
  9998  	PaymentApproved bool `json:"paymentApproved,omitempty"`
  9999  
 10000  	// PaymentSource: Payment source for this placement. This is a required
 10001  	// field that is read-only after insertion.
 10002  	//
 10003  	// Possible values:
 10004  	//   "PLACEMENT_AGENCY_PAID"
 10005  	//   "PLACEMENT_PUBLISHER_PAID"
 10006  	PaymentSource string `json:"paymentSource,omitempty"`
 10007  
 10008  	// PlacementGroupId: ID of this placement's group, if applicable.
 10009  	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
 10010  
 10011  	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
 10012  	// placement group. This is a read-only, auto-generated field.
 10013  	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
 10014  
 10015  	// PlacementStrategyId: ID of the placement strategy assigned to this
 10016  	// placement.
 10017  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
 10018  
 10019  	// PricingSchedule: Pricing schedule of this placement. This field is
 10020  	// required on insertion, specifically subfields startDate, endDate and
 10021  	// pricingType.
 10022  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
 10023  
 10024  	// Primary: Whether this placement is the primary placement of a
 10025  	// roadblock (placement group). You cannot change this field from true
 10026  	// to false. Setting this field to true will automatically set the
 10027  	// primary field on the original primary placement of the roadblock to
 10028  	// false, and it will automatically set the roadblock's
 10029  	// primaryPlacementId field to the ID of this placement.
 10030  	Primary bool `json:"primary,omitempty"`
 10031  
 10032  	// PublisherUpdateInfo: Information about the last publisher update.
 10033  	// This is a read-only field.
 10034  	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
 10035  
 10036  	// SiteId: Site ID associated with this placement. On insert, you must
 10037  	// set either this field or the directorySiteId field to specify the
 10038  	// site associated with this placement. This is a required field that is
 10039  	// read-only after insertion.
 10040  	SiteId int64 `json:"siteId,omitempty,string"`
 10041  
 10042  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
 10043  	// a read-only, auto-generated field.
 10044  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
 10045  
 10046  	// Size: Size associated with this placement. When inserting or updating
 10047  	// a placement, only the size ID field is used. This field is required
 10048  	// on insertion.
 10049  	Size *Size `json:"size,omitempty"`
 10050  
 10051  	// SslRequired: Whether creatives assigned to this placement must be
 10052  	// SSL-compliant.
 10053  	SslRequired bool `json:"sslRequired,omitempty"`
 10054  
 10055  	// Status: Third-party placement status.
 10056  	//
 10057  	// Possible values:
 10058  	//   "ACKNOWLEDGE_ACCEPTANCE"
 10059  	//   "ACKNOWLEDGE_REJECTION"
 10060  	//   "DRAFT"
 10061  	//   "PAYMENT_ACCEPTED"
 10062  	//   "PAYMENT_REJECTED"
 10063  	//   "PENDING_REVIEW"
 10064  	Status string `json:"status,omitempty"`
 10065  
 10066  	// SubaccountId: Subaccount ID of this placement. This field can be left
 10067  	// blank.
 10068  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10069  
 10070  	// TagFormats: Tag formats to generate for this placement. This field is
 10071  	// required on insertion.
 10072  	// Acceptable values are:
 10073  	// - "PLACEMENT_TAG_STANDARD"
 10074  	// - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 10075  	// - "PLACEMENT_TAG_IFRAME_ILAYER"
 10076  	// - "PLACEMENT_TAG_INTERNAL_REDIRECT"
 10077  	// - "PLACEMENT_TAG_JAVASCRIPT"
 10078  	// - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 10079  	// - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 10080  	// - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 10081  	// - "PLACEMENT_TAG_CLICK_COMMANDS"
 10082  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 10083  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 10084  	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 10085  	// - "PLACEMENT_TAG_TRACKING"
 10086  	// - "PLACEMENT_TAG_TRACKING_IFRAME"
 10087  	// - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 10088  	//
 10089  	// Possible values:
 10090  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
 10091  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 10092  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 10093  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 10094  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 10095  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 10096  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 10097  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
 10098  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 10099  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 10100  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 10101  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 10102  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 10103  	//   "PLACEMENT_TAG_JAVASCRIPT"
 10104  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 10105  	//   "PLACEMENT_TAG_STANDARD"
 10106  	//   "PLACEMENT_TAG_TRACKING"
 10107  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 10108  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 10109  	TagFormats []string `json:"tagFormats,omitempty"`
 10110  
 10111  	// TagSetting: Tag settings for this placement.
 10112  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
 10113  
 10114  	// VideoActiveViewOptOut: Whether Verification and ActiveView are
 10115  	// disabled for in-stream video creatives for this placement. The same
 10116  	// setting videoActiveViewOptOut exists on the site level -- the opt out
 10117  	// occurs if either of these settings are true. These settings are
 10118  	// distinct from DirectorySites.settings.activeViewOptOut or
 10119  	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
 10120  	// However, Accounts.activeViewOptOut opts out both video traffic, as
 10121  	// well as display ads, from Verification and ActiveView.
 10122  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
 10123  
 10124  	// VideoSettings: A collection of settings which affect video creatives
 10125  	// served through this placement. Applicable to placements with
 10126  	// IN_STREAM_VIDEO compatibility.
 10127  	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
 10128  
 10129  	// VpaidAdapterChoice: VPAID adapter setting for this placement.
 10130  	// Controls which VPAID format the measurement adapter will use for
 10131  	// in-stream video creatives assigned to this placement.
 10132  	//
 10133  	// Note: Flash is no longer supported. This field now defaults to HTML5
 10134  	// when the following values are provided: FLASH, BOTH.
 10135  	//
 10136  	// Possible values:
 10137  	//   "BOTH"
 10138  	//   "DEFAULT"
 10139  	//   "FLASH"
 10140  	//   "HTML5"
 10141  	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
 10142  
 10143  	// ServerResponse contains the HTTP response code and headers from the
 10144  	// server.
 10145  	googleapi.ServerResponse `json:"-"`
 10146  
 10147  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10148  	// unconditionally include in API requests. By default, fields with
 10149  	// empty values are omitted from API requests. However, any non-pointer,
 10150  	// non-interface field appearing in ForceSendFields will be sent to the
 10151  	// server regardless of whether the field is empty or not. This may be
 10152  	// used to include empty fields in Patch requests.
 10153  	ForceSendFields []string `json:"-"`
 10154  
 10155  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10156  	// API requests with the JSON null value. By default, fields with empty
 10157  	// values are omitted from API requests. However, any field with an
 10158  	// empty value appearing in NullFields will be sent to the server as
 10159  	// null. It is an error if a field in this list has a non-empty value.
 10160  	// This may be used to include null fields in Patch requests.
 10161  	NullFields []string `json:"-"`
 10162  }
 10163  
 10164  func (s *Placement) MarshalJSON() ([]byte, error) {
 10165  	type NoMethod Placement
 10166  	raw := NoMethod(*s)
 10167  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10168  }
 10169  
 10170  // PlacementAssignment: Placement Assignment.
 10171  type PlacementAssignment struct {
 10172  	// Active: Whether this placement assignment is active. When true, the
 10173  	// placement will be included in the ad's rotation.
 10174  	Active bool `json:"active,omitempty"`
 10175  
 10176  	// PlacementId: ID of the placement to be assigned. This is a required
 10177  	// field.
 10178  	PlacementId int64 `json:"placementId,omitempty,string"`
 10179  
 10180  	// PlacementIdDimensionValue: Dimension value for the ID of the
 10181  	// placement. This is a read-only, auto-generated field.
 10182  	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
 10183  
 10184  	// SslRequired: Whether the placement to be assigned requires SSL. This
 10185  	// is a read-only field that is auto-generated when the ad is inserted
 10186  	// or updated.
 10187  	SslRequired bool `json:"sslRequired,omitempty"`
 10188  
 10189  	// ForceSendFields is a list of field names (e.g. "Active") to
 10190  	// unconditionally include in API requests. By default, fields with
 10191  	// empty values are omitted from API requests. However, any non-pointer,
 10192  	// non-interface field appearing in ForceSendFields will be sent to the
 10193  	// server regardless of whether the field is empty or not. This may be
 10194  	// used to include empty fields in Patch requests.
 10195  	ForceSendFields []string `json:"-"`
 10196  
 10197  	// NullFields is a list of field names (e.g. "Active") to include in API
 10198  	// requests with the JSON null value. By default, fields with empty
 10199  	// values are omitted from API requests. However, any field with an
 10200  	// empty value appearing in NullFields will be sent to the server as
 10201  	// null. It is an error if a field in this list has a non-empty value.
 10202  	// This may be used to include null fields in Patch requests.
 10203  	NullFields []string `json:"-"`
 10204  }
 10205  
 10206  func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
 10207  	type NoMethod PlacementAssignment
 10208  	raw := NoMethod(*s)
 10209  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10210  }
 10211  
 10212  // PlacementGroup: Contains properties of a package or roadblock.
 10213  type PlacementGroup struct {
 10214  	// AccountId: Account ID of this placement group. This is a read-only
 10215  	// field that can be left blank.
 10216  	AccountId int64 `json:"accountId,omitempty,string"`
 10217  
 10218  	// AdvertiserId: Advertiser ID of this placement group. This is a
 10219  	// required field on insertion.
 10220  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10221  
 10222  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 10223  	// advertiser. This is a read-only, auto-generated field.
 10224  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 10225  
 10226  	// Archived: Whether this placement group is archived.
 10227  	Archived bool `json:"archived,omitempty"`
 10228  
 10229  	// CampaignId: Campaign ID of this placement group. This field is
 10230  	// required on insertion.
 10231  	CampaignId int64 `json:"campaignId,omitempty,string"`
 10232  
 10233  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
 10234  	// This is a read-only, auto-generated field.
 10235  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
 10236  
 10237  	// ChildPlacementIds: IDs of placements which are assigned to this
 10238  	// placement group. This is a read-only, auto-generated field.
 10239  	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
 10240  
 10241  	// Comment: Comments for this placement group.
 10242  	Comment string `json:"comment,omitempty"`
 10243  
 10244  	// ContentCategoryId: ID of the content category assigned to this
 10245  	// placement group.
 10246  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
 10247  
 10248  	// CreateInfo: Information about the creation of this placement group.
 10249  	// This is a read-only field.
 10250  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
 10251  
 10252  	// DirectorySiteId: Directory site ID associated with this placement
 10253  	// group. On insert, you must set either this field or the site_id field
 10254  	// to specify the site associated with this placement group. This is a
 10255  	// required field that is read-only after insertion.
 10256  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 10257  
 10258  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 10259  	// directory site. This is a read-only, auto-generated field.
 10260  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 10261  
 10262  	// ExternalId: External ID for this placement.
 10263  	ExternalId string `json:"externalId,omitempty"`
 10264  
 10265  	// Id: ID of this placement group. This is a read-only, auto-generated
 10266  	// field.
 10267  	Id int64 `json:"id,omitempty,string"`
 10268  
 10269  	// IdDimensionValue: Dimension value for the ID of this placement group.
 10270  	// This is a read-only, auto-generated field.
 10271  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 10272  
 10273  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10274  	// string "dfareporting#placementGroup".
 10275  	Kind string `json:"kind,omitempty"`
 10276  
 10277  	// LastModifiedInfo: Information about the most recent modification of
 10278  	// this placement group. This is a read-only field.
 10279  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 10280  
 10281  	// Name: Name of this placement group. This is a required field and must
 10282  	// be less than 256 characters long.
 10283  	Name string `json:"name,omitempty"`
 10284  
 10285  	// PlacementGroupType: Type of this placement group. A package is a
 10286  	// simple group of placements that acts as a single pricing point for a
 10287  	// group of tags. A roadblock is a group of placements that not only
 10288  	// acts as a single pricing point, but also assumes that all the tags in
 10289  	// it will be served at the same time. A roadblock requires one of its
 10290  	// assigned placements to be marked as primary for reporting. This field
 10291  	// is required on insertion.
 10292  	//
 10293  	// Possible values:
 10294  	//   "PLACEMENT_PACKAGE"
 10295  	//   "PLACEMENT_ROADBLOCK"
 10296  	PlacementGroupType string `json:"placementGroupType,omitempty"`
 10297  
 10298  	// PlacementStrategyId: ID of the placement strategy assigned to this
 10299  	// placement group.
 10300  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
 10301  
 10302  	// PricingSchedule: Pricing schedule of this placement group. This field
 10303  	// is required on insertion.
 10304  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
 10305  
 10306  	// PrimaryPlacementId: ID of the primary placement, used to calculate
 10307  	// the media cost of a roadblock (placement group). Modifying this field
 10308  	// will automatically modify the primary field on all affected roadblock
 10309  	// child placements.
 10310  	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
 10311  
 10312  	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
 10313  	// primary placement. This is a read-only, auto-generated field.
 10314  	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
 10315  
 10316  	// SiteId: Site ID associated with this placement group. On insert, you
 10317  	// must set either this field or the directorySiteId field to specify
 10318  	// the site associated with this placement group. This is a required
 10319  	// field that is read-only after insertion.
 10320  	SiteId int64 `json:"siteId,omitempty,string"`
 10321  
 10322  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
 10323  	// a read-only, auto-generated field.
 10324  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
 10325  
 10326  	// SubaccountId: Subaccount ID of this placement group. This is a
 10327  	// read-only field that can be left blank.
 10328  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10329  
 10330  	// ServerResponse contains the HTTP response code and headers from the
 10331  	// server.
 10332  	googleapi.ServerResponse `json:"-"`
 10333  
 10334  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10335  	// unconditionally include in API requests. By default, fields with
 10336  	// empty values are omitted from API requests. However, any non-pointer,
 10337  	// non-interface field appearing in ForceSendFields will be sent to the
 10338  	// server regardless of whether the field is empty or not. This may be
 10339  	// used to include empty fields in Patch requests.
 10340  	ForceSendFields []string `json:"-"`
 10341  
 10342  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10343  	// API requests with the JSON null value. By default, fields with empty
 10344  	// values are omitted from API requests. However, any field with an
 10345  	// empty value appearing in NullFields will be sent to the server as
 10346  	// null. It is an error if a field in this list has a non-empty value.
 10347  	// This may be used to include null fields in Patch requests.
 10348  	NullFields []string `json:"-"`
 10349  }
 10350  
 10351  func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
 10352  	type NoMethod PlacementGroup
 10353  	raw := NoMethod(*s)
 10354  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10355  }
 10356  
 10357  // PlacementGroupsListResponse: Placement Group List Response
 10358  type PlacementGroupsListResponse struct {
 10359  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10360  	// string "dfareporting#placementGroupsListResponse".
 10361  	Kind string `json:"kind,omitempty"`
 10362  
 10363  	// NextPageToken: Pagination token to be used for the next list
 10364  	// operation.
 10365  	NextPageToken string `json:"nextPageToken,omitempty"`
 10366  
 10367  	// PlacementGroups: Placement group collection.
 10368  	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
 10369  
 10370  	// ServerResponse contains the HTTP response code and headers from the
 10371  	// server.
 10372  	googleapi.ServerResponse `json:"-"`
 10373  
 10374  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10375  	// unconditionally include in API requests. By default, fields with
 10376  	// empty values are omitted from API requests. However, any non-pointer,
 10377  	// non-interface field appearing in ForceSendFields will be sent to the
 10378  	// server regardless of whether the field is empty or not. This may be
 10379  	// used to include empty fields in Patch requests.
 10380  	ForceSendFields []string `json:"-"`
 10381  
 10382  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10383  	// requests with the JSON null value. By default, fields with empty
 10384  	// values are omitted from API requests. However, any field with an
 10385  	// empty value appearing in NullFields will be sent to the server as
 10386  	// null. It is an error if a field in this list has a non-empty value.
 10387  	// This may be used to include null fields in Patch requests.
 10388  	NullFields []string `json:"-"`
 10389  }
 10390  
 10391  func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
 10392  	type NoMethod PlacementGroupsListResponse
 10393  	raw := NoMethod(*s)
 10394  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10395  }
 10396  
 10397  // PlacementStrategiesListResponse: Placement Strategy List Response
 10398  type PlacementStrategiesListResponse struct {
 10399  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10400  	// string "dfareporting#placementStrategiesListResponse".
 10401  	Kind string `json:"kind,omitempty"`
 10402  
 10403  	// NextPageToken: Pagination token to be used for the next list
 10404  	// operation.
 10405  	NextPageToken string `json:"nextPageToken,omitempty"`
 10406  
 10407  	// PlacementStrategies: Placement strategy collection.
 10408  	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
 10409  
 10410  	// ServerResponse contains the HTTP response code and headers from the
 10411  	// server.
 10412  	googleapi.ServerResponse `json:"-"`
 10413  
 10414  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10415  	// unconditionally include in API requests. By default, fields with
 10416  	// empty values are omitted from API requests. However, any non-pointer,
 10417  	// non-interface field appearing in ForceSendFields will be sent to the
 10418  	// server regardless of whether the field is empty or not. This may be
 10419  	// used to include empty fields in Patch requests.
 10420  	ForceSendFields []string `json:"-"`
 10421  
 10422  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10423  	// requests with the JSON null value. By default, fields with empty
 10424  	// values are omitted from API requests. However, any field with an
 10425  	// empty value appearing in NullFields will be sent to the server as
 10426  	// null. It is an error if a field in this list has a non-empty value.
 10427  	// This may be used to include null fields in Patch requests.
 10428  	NullFields []string `json:"-"`
 10429  }
 10430  
 10431  func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
 10432  	type NoMethod PlacementStrategiesListResponse
 10433  	raw := NoMethod(*s)
 10434  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10435  }
 10436  
 10437  // PlacementStrategy: Contains properties of a placement strategy.
 10438  type PlacementStrategy struct {
 10439  	// AccountId: Account ID of this placement strategy.This is a read-only
 10440  	// field that can be left blank.
 10441  	AccountId int64 `json:"accountId,omitempty,string"`
 10442  
 10443  	// Id: ID of this placement strategy. This is a read-only,
 10444  	// auto-generated field.
 10445  	Id int64 `json:"id,omitempty,string"`
 10446  
 10447  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10448  	// string "dfareporting#placementStrategy".
 10449  	Kind string `json:"kind,omitempty"`
 10450  
 10451  	// Name: Name of this placement strategy. This is a required field. It
 10452  	// must be less than 256 characters long and unique among placement
 10453  	// strategies of the same account.
 10454  	Name string `json:"name,omitempty"`
 10455  
 10456  	// ServerResponse contains the HTTP response code and headers from the
 10457  	// server.
 10458  	googleapi.ServerResponse `json:"-"`
 10459  
 10460  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10461  	// unconditionally include in API requests. By default, fields with
 10462  	// empty values are omitted from API requests. However, any non-pointer,
 10463  	// non-interface field appearing in ForceSendFields will be sent to the
 10464  	// server regardless of whether the field is empty or not. This may be
 10465  	// used to include empty fields in Patch requests.
 10466  	ForceSendFields []string `json:"-"`
 10467  
 10468  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10469  	// API requests with the JSON null value. By default, fields with empty
 10470  	// values are omitted from API requests. However, any field with an
 10471  	// empty value appearing in NullFields will be sent to the server as
 10472  	// null. It is an error if a field in this list has a non-empty value.
 10473  	// This may be used to include null fields in Patch requests.
 10474  	NullFields []string `json:"-"`
 10475  }
 10476  
 10477  func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
 10478  	type NoMethod PlacementStrategy
 10479  	raw := NoMethod(*s)
 10480  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10481  }
 10482  
 10483  // PlacementTag: Placement Tag
 10484  type PlacementTag struct {
 10485  	// PlacementId: Placement ID
 10486  	PlacementId int64 `json:"placementId,omitempty,string"`
 10487  
 10488  	// TagDatas: Tags generated for this placement.
 10489  	TagDatas []*TagData `json:"tagDatas,omitempty"`
 10490  
 10491  	// ForceSendFields is a list of field names (e.g. "PlacementId") to
 10492  	// unconditionally include in API requests. By default, fields with
 10493  	// empty values are omitted from API requests. However, any non-pointer,
 10494  	// non-interface field appearing in ForceSendFields will be sent to the
 10495  	// server regardless of whether the field is empty or not. This may be
 10496  	// used to include empty fields in Patch requests.
 10497  	ForceSendFields []string `json:"-"`
 10498  
 10499  	// NullFields is a list of field names (e.g. "PlacementId") to include
 10500  	// in API requests with the JSON null value. By default, fields with
 10501  	// empty values are omitted from API requests. However, any field with
 10502  	// an empty value appearing in NullFields will be sent to the server as
 10503  	// null. It is an error if a field in this list has a non-empty value.
 10504  	// This may be used to include null fields in Patch requests.
 10505  	NullFields []string `json:"-"`
 10506  }
 10507  
 10508  func (s *PlacementTag) MarshalJSON() ([]byte, error) {
 10509  	type NoMethod PlacementTag
 10510  	raw := NoMethod(*s)
 10511  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10512  }
 10513  
 10514  // PlacementsGenerateTagsResponse: Placement GenerateTags Response
 10515  type PlacementsGenerateTagsResponse struct {
 10516  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10517  	// string "dfareporting#placementsGenerateTagsResponse".
 10518  	Kind string `json:"kind,omitempty"`
 10519  
 10520  	// PlacementTags: Set of generated tags for the specified placements.
 10521  	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
 10522  
 10523  	// ServerResponse contains the HTTP response code and headers from the
 10524  	// server.
 10525  	googleapi.ServerResponse `json:"-"`
 10526  
 10527  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10528  	// unconditionally include in API requests. By default, fields with
 10529  	// empty values are omitted from API requests. However, any non-pointer,
 10530  	// non-interface field appearing in ForceSendFields will be sent to the
 10531  	// server regardless of whether the field is empty or not. This may be
 10532  	// used to include empty fields in Patch requests.
 10533  	ForceSendFields []string `json:"-"`
 10534  
 10535  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10536  	// requests with the JSON null value. By default, fields with empty
 10537  	// values are omitted from API requests. However, any field with an
 10538  	// empty value appearing in NullFields will be sent to the server as
 10539  	// null. It is an error if a field in this list has a non-empty value.
 10540  	// This may be used to include null fields in Patch requests.
 10541  	NullFields []string `json:"-"`
 10542  }
 10543  
 10544  func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
 10545  	type NoMethod PlacementsGenerateTagsResponse
 10546  	raw := NoMethod(*s)
 10547  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10548  }
 10549  
 10550  // PlacementsListResponse: Placement List Response
 10551  type PlacementsListResponse struct {
 10552  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10553  	// string "dfareporting#placementsListResponse".
 10554  	Kind string `json:"kind,omitempty"`
 10555  
 10556  	// NextPageToken: Pagination token to be used for the next list
 10557  	// operation.
 10558  	NextPageToken string `json:"nextPageToken,omitempty"`
 10559  
 10560  	// Placements: Placement collection.
 10561  	Placements []*Placement `json:"placements,omitempty"`
 10562  
 10563  	// ServerResponse contains the HTTP response code and headers from the
 10564  	// server.
 10565  	googleapi.ServerResponse `json:"-"`
 10566  
 10567  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10568  	// unconditionally include in API requests. By default, fields with
 10569  	// empty values are omitted from API requests. However, any non-pointer,
 10570  	// non-interface field appearing in ForceSendFields will be sent to the
 10571  	// server regardless of whether the field is empty or not. This may be
 10572  	// used to include empty fields in Patch requests.
 10573  	ForceSendFields []string `json:"-"`
 10574  
 10575  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10576  	// requests with the JSON null value. By default, fields with empty
 10577  	// values are omitted from API requests. However, any field with an
 10578  	// empty value appearing in NullFields will be sent to the server as
 10579  	// null. It is an error if a field in this list has a non-empty value.
 10580  	// This may be used to include null fields in Patch requests.
 10581  	NullFields []string `json:"-"`
 10582  }
 10583  
 10584  func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
 10585  	type NoMethod PlacementsListResponse
 10586  	raw := NoMethod(*s)
 10587  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10588  }
 10589  
 10590  // PlatformType: Contains information about a platform type that can be
 10591  // targeted by ads.
 10592  type PlatformType struct {
 10593  	// Id: ID of this platform type.
 10594  	Id int64 `json:"id,omitempty,string"`
 10595  
 10596  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10597  	// string "dfareporting#platformType".
 10598  	Kind string `json:"kind,omitempty"`
 10599  
 10600  	// Name: Name of this platform type.
 10601  	Name string `json:"name,omitempty"`
 10602  
 10603  	// ServerResponse contains the HTTP response code and headers from the
 10604  	// server.
 10605  	googleapi.ServerResponse `json:"-"`
 10606  
 10607  	// ForceSendFields is a list of field names (e.g. "Id") to
 10608  	// unconditionally include in API requests. By default, fields with
 10609  	// empty values are omitted from API requests. However, any non-pointer,
 10610  	// non-interface field appearing in ForceSendFields will be sent to the
 10611  	// server regardless of whether the field is empty or not. This may be
 10612  	// used to include empty fields in Patch requests.
 10613  	ForceSendFields []string `json:"-"`
 10614  
 10615  	// NullFields is a list of field names (e.g. "Id") to include in API
 10616  	// requests with the JSON null value. By default, fields with empty
 10617  	// values are omitted from API requests. However, any field with an
 10618  	// empty value appearing in NullFields will be sent to the server as
 10619  	// null. It is an error if a field in this list has a non-empty value.
 10620  	// This may be used to include null fields in Patch requests.
 10621  	NullFields []string `json:"-"`
 10622  }
 10623  
 10624  func (s *PlatformType) MarshalJSON() ([]byte, error) {
 10625  	type NoMethod PlatformType
 10626  	raw := NoMethod(*s)
 10627  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10628  }
 10629  
 10630  // PlatformTypesListResponse: Platform Type List Response
 10631  type PlatformTypesListResponse struct {
 10632  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10633  	// string "dfareporting#platformTypesListResponse".
 10634  	Kind string `json:"kind,omitempty"`
 10635  
 10636  	// PlatformTypes: Platform type collection.
 10637  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 10638  
 10639  	// ServerResponse contains the HTTP response code and headers from the
 10640  	// server.
 10641  	googleapi.ServerResponse `json:"-"`
 10642  
 10643  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10644  	// unconditionally include in API requests. By default, fields with
 10645  	// empty values are omitted from API requests. However, any non-pointer,
 10646  	// non-interface field appearing in ForceSendFields will be sent to the
 10647  	// server regardless of whether the field is empty or not. This may be
 10648  	// used to include empty fields in Patch requests.
 10649  	ForceSendFields []string `json:"-"`
 10650  
 10651  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10652  	// requests with the JSON null value. By default, fields with empty
 10653  	// values are omitted from API requests. However, any field with an
 10654  	// empty value appearing in NullFields will be sent to the server as
 10655  	// null. It is an error if a field in this list has a non-empty value.
 10656  	// This may be used to include null fields in Patch requests.
 10657  	NullFields []string `json:"-"`
 10658  }
 10659  
 10660  func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
 10661  	type NoMethod PlatformTypesListResponse
 10662  	raw := NoMethod(*s)
 10663  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10664  }
 10665  
 10666  // PopupWindowProperties: Popup Window Properties.
 10667  type PopupWindowProperties struct {
 10668  	// Dimension: Popup dimension for a creative. This is a read-only field.
 10669  	// Applicable to the following creative types: all RICH_MEDIA and all
 10670  	// VPAID
 10671  	Dimension *Size `json:"dimension,omitempty"`
 10672  
 10673  	// Offset: Upper-left corner coordinates of the popup window. Applicable
 10674  	// if positionType is COORDINATES.
 10675  	Offset *OffsetPosition `json:"offset,omitempty"`
 10676  
 10677  	// PositionType: Popup window position either centered or at specific
 10678  	// coordinate.
 10679  	//
 10680  	// Possible values:
 10681  	//   "CENTER"
 10682  	//   "COORDINATES"
 10683  	PositionType string `json:"positionType,omitempty"`
 10684  
 10685  	// ShowAddressBar: Whether to display the browser address bar.
 10686  	ShowAddressBar bool `json:"showAddressBar,omitempty"`
 10687  
 10688  	// ShowMenuBar: Whether to display the browser menu bar.
 10689  	ShowMenuBar bool `json:"showMenuBar,omitempty"`
 10690  
 10691  	// ShowScrollBar: Whether to display the browser scroll bar.
 10692  	ShowScrollBar bool `json:"showScrollBar,omitempty"`
 10693  
 10694  	// ShowStatusBar: Whether to display the browser status bar.
 10695  	ShowStatusBar bool `json:"showStatusBar,omitempty"`
 10696  
 10697  	// ShowToolBar: Whether to display the browser tool bar.
 10698  	ShowToolBar bool `json:"showToolBar,omitempty"`
 10699  
 10700  	// Title: Title of popup window.
 10701  	Title string `json:"title,omitempty"`
 10702  
 10703  	// ForceSendFields is a list of field names (e.g. "Dimension") to
 10704  	// unconditionally include in API requests. By default, fields with
 10705  	// empty values are omitted from API requests. However, any non-pointer,
 10706  	// non-interface field appearing in ForceSendFields will be sent to the
 10707  	// server regardless of whether the field is empty or not. This may be
 10708  	// used to include empty fields in Patch requests.
 10709  	ForceSendFields []string `json:"-"`
 10710  
 10711  	// NullFields is a list of field names (e.g. "Dimension") to include in
 10712  	// API requests with the JSON null value. By default, fields with empty
 10713  	// values are omitted from API requests. However, any field with an
 10714  	// empty value appearing in NullFields will be sent to the server as
 10715  	// null. It is an error if a field in this list has a non-empty value.
 10716  	// This may be used to include null fields in Patch requests.
 10717  	NullFields []string `json:"-"`
 10718  }
 10719  
 10720  func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
 10721  	type NoMethod PopupWindowProperties
 10722  	raw := NoMethod(*s)
 10723  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10724  }
 10725  
 10726  // PostalCode: Contains information about a postal code that can be
 10727  // targeted by ads.
 10728  type PostalCode struct {
 10729  	// Code: Postal code. This is equivalent to the id field.
 10730  	Code string `json:"code,omitempty"`
 10731  
 10732  	// CountryCode: Country code of the country to which this postal code
 10733  	// belongs.
 10734  	CountryCode string `json:"countryCode,omitempty"`
 10735  
 10736  	// CountryDartId: DART ID of the country to which this postal code
 10737  	// belongs.
 10738  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 10739  
 10740  	// Id: ID of this postal code.
 10741  	Id string `json:"id,omitempty"`
 10742  
 10743  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10744  	// string "dfareporting#postalCode".
 10745  	Kind string `json:"kind,omitempty"`
 10746  
 10747  	// ServerResponse contains the HTTP response code and headers from the
 10748  	// server.
 10749  	googleapi.ServerResponse `json:"-"`
 10750  
 10751  	// ForceSendFields is a list of field names (e.g. "Code") to
 10752  	// unconditionally include in API requests. By default, fields with
 10753  	// empty values are omitted from API requests. However, any non-pointer,
 10754  	// non-interface field appearing in ForceSendFields will be sent to the
 10755  	// server regardless of whether the field is empty or not. This may be
 10756  	// used to include empty fields in Patch requests.
 10757  	ForceSendFields []string `json:"-"`
 10758  
 10759  	// NullFields is a list of field names (e.g. "Code") to include in API
 10760  	// requests with the JSON null value. By default, fields with empty
 10761  	// values are omitted from API requests. However, any field with an
 10762  	// empty value appearing in NullFields will be sent to the server as
 10763  	// null. It is an error if a field in this list has a non-empty value.
 10764  	// This may be used to include null fields in Patch requests.
 10765  	NullFields []string `json:"-"`
 10766  }
 10767  
 10768  func (s *PostalCode) MarshalJSON() ([]byte, error) {
 10769  	type NoMethod PostalCode
 10770  	raw := NoMethod(*s)
 10771  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10772  }
 10773  
 10774  // PostalCodesListResponse: Postal Code List Response
 10775  type PostalCodesListResponse struct {
 10776  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10777  	// string "dfareporting#postalCodesListResponse".
 10778  	Kind string `json:"kind,omitempty"`
 10779  
 10780  	// PostalCodes: Postal code collection.
 10781  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
 10782  
 10783  	// ServerResponse contains the HTTP response code and headers from the
 10784  	// server.
 10785  	googleapi.ServerResponse `json:"-"`
 10786  
 10787  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10788  	// unconditionally include in API requests. By default, fields with
 10789  	// empty values are omitted from API requests. However, any non-pointer,
 10790  	// non-interface field appearing in ForceSendFields will be sent to the
 10791  	// server regardless of whether the field is empty or not. This may be
 10792  	// used to include empty fields in Patch requests.
 10793  	ForceSendFields []string `json:"-"`
 10794  
 10795  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10796  	// requests with the JSON null value. By default, fields with empty
 10797  	// values are omitted from API requests. However, any field with an
 10798  	// empty value appearing in NullFields will be sent to the server as
 10799  	// null. It is an error if a field in this list has a non-empty value.
 10800  	// This may be used to include null fields in Patch requests.
 10801  	NullFields []string `json:"-"`
 10802  }
 10803  
 10804  func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
 10805  	type NoMethod PostalCodesListResponse
 10806  	raw := NoMethod(*s)
 10807  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10808  }
 10809  
 10810  // Pricing: Pricing Information
 10811  type Pricing struct {
 10812  	// CapCostType: Cap cost type of this inventory item.
 10813  	//
 10814  	// Possible values:
 10815  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
 10816  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
 10817  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
 10818  	CapCostType string `json:"capCostType,omitempty"`
 10819  
 10820  	// EndDate: End date of this inventory item.
 10821  	EndDate string `json:"endDate,omitempty"`
 10822  
 10823  	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
 10824  	// period) represents the inventory item pricing information for a
 10825  	// specific period of time.
 10826  	Flights []*Flight `json:"flights,omitempty"`
 10827  
 10828  	// GroupType: Group type of this inventory item if it represents a
 10829  	// placement group. Is null otherwise. There are two type of placement
 10830  	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
 10831  	// inventory items that acts as a single pricing point for a group of
 10832  	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
 10833  	// items that not only acts as a single pricing point, but also assumes
 10834  	// that all the tags in it will be served at the same time. A roadblock
 10835  	// requires one of its assigned inventory items to be marked as primary.
 10836  	//
 10837  	// Possible values:
 10838  	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
 10839  	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
 10840  	GroupType string `json:"groupType,omitempty"`
 10841  
 10842  	// PricingType: Pricing type of this inventory item.
 10843  	//
 10844  	// Possible values:
 10845  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
 10846  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
 10847  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
 10848  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
 10849  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
 10850  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
 10851  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10852  	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
 10853  	PricingType string `json:"pricingType,omitempty"`
 10854  
 10855  	// StartDate: Start date of this inventory item.
 10856  	StartDate string `json:"startDate,omitempty"`
 10857  
 10858  	// ForceSendFields is a list of field names (e.g. "CapCostType") to
 10859  	// unconditionally include in API requests. By default, fields with
 10860  	// empty values are omitted from API requests. However, any non-pointer,
 10861  	// non-interface field appearing in ForceSendFields will be sent to the
 10862  	// server regardless of whether the field is empty or not. This may be
 10863  	// used to include empty fields in Patch requests.
 10864  	ForceSendFields []string `json:"-"`
 10865  
 10866  	// NullFields is a list of field names (e.g. "CapCostType") to include
 10867  	// in API requests with the JSON null value. By default, fields with
 10868  	// empty values are omitted from API requests. However, any field with
 10869  	// an empty value appearing in NullFields will be sent to the server as
 10870  	// null. It is an error if a field in this list has a non-empty value.
 10871  	// This may be used to include null fields in Patch requests.
 10872  	NullFields []string `json:"-"`
 10873  }
 10874  
 10875  func (s *Pricing) MarshalJSON() ([]byte, error) {
 10876  	type NoMethod Pricing
 10877  	raw := NoMethod(*s)
 10878  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10879  }
 10880  
 10881  // PricingSchedule: Pricing Schedule
 10882  type PricingSchedule struct {
 10883  	// CapCostOption: Placement cap cost option.
 10884  	//
 10885  	// Possible values:
 10886  	//   "CAP_COST_CUMULATIVE"
 10887  	//   "CAP_COST_MONTHLY"
 10888  	//   "CAP_COST_NONE"
 10889  	CapCostOption string `json:"capCostOption,omitempty"`
 10890  
 10891  	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
 10892  	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
 10893  
 10894  	// EndDate: Placement end date. This date must be later than, or the
 10895  	// same day as, the placement start date, but not later than the
 10896  	// campaign end date. If, for example, you set 6/25/2015 as both the
 10897  	// start and end dates, the effective placement date is just that day
 10898  	// only, 6/25/2015. The hours, minutes, and seconds of the end date
 10899  	// should not be set, as doing so will result in an error. This field is
 10900  	// required on insertion.
 10901  	EndDate string `json:"endDate,omitempty"`
 10902  
 10903  	// Flighted: Whether this placement is flighted. If true, pricing
 10904  	// periods will be computed automatically.
 10905  	Flighted bool `json:"flighted,omitempty"`
 10906  
 10907  	// FloodlightActivityId: Floodlight activity ID associated with this
 10908  	// placement. This field should be set when placement pricing type is
 10909  	// set to PRICING_TYPE_CPA.
 10910  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
 10911  
 10912  	// PricingPeriods: Pricing periods for this placement.
 10913  	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
 10914  
 10915  	// PricingType: Placement pricing type. This field is required on
 10916  	// insertion.
 10917  	//
 10918  	// Possible values:
 10919  	//   "PRICING_TYPE_CPA"
 10920  	//   "PRICING_TYPE_CPC"
 10921  	//   "PRICING_TYPE_CPM"
 10922  	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 10923  	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
 10924  	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10925  	PricingType string `json:"pricingType,omitempty"`
 10926  
 10927  	// StartDate: Placement start date. This date must be later than, or the
 10928  	// same day as, the campaign start date. The hours, minutes, and seconds
 10929  	// of the start date should not be set, as doing so will result in an
 10930  	// error. This field is required on insertion.
 10931  	StartDate string `json:"startDate,omitempty"`
 10932  
 10933  	// TestingStartDate: Testing start date of this placement. The hours,
 10934  	// minutes, and seconds of the start date should not be set, as doing so
 10935  	// will result in an error.
 10936  	TestingStartDate string `json:"testingStartDate,omitempty"`
 10937  
 10938  	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
 10939  	// unconditionally include in API requests. By default, fields with
 10940  	// empty values are omitted from API requests. However, any non-pointer,
 10941  	// non-interface field appearing in ForceSendFields will be sent to the
 10942  	// server regardless of whether the field is empty or not. This may be
 10943  	// used to include empty fields in Patch requests.
 10944  	ForceSendFields []string `json:"-"`
 10945  
 10946  	// NullFields is a list of field names (e.g. "CapCostOption") to include
 10947  	// in API requests with the JSON null value. By default, fields with
 10948  	// empty values are omitted from API requests. However, any field with
 10949  	// an empty value appearing in NullFields will be sent to the server as
 10950  	// null. It is an error if a field in this list has a non-empty value.
 10951  	// This may be used to include null fields in Patch requests.
 10952  	NullFields []string `json:"-"`
 10953  }
 10954  
 10955  func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
 10956  	type NoMethod PricingSchedule
 10957  	raw := NoMethod(*s)
 10958  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10959  }
 10960  
 10961  // PricingSchedulePricingPeriod: Pricing Period
 10962  type PricingSchedulePricingPeriod struct {
 10963  	// EndDate: Pricing period end date. This date must be later than, or
 10964  	// the same day as, the pricing period start date, but not later than
 10965  	// the placement end date. The period end date can be the same date as
 10966  	// the period start date. If, for example, you set 6/25/2015 as both the
 10967  	// start and end dates, the effective pricing period date is just that
 10968  	// day only, 6/25/2015. The hours, minutes, and seconds of the end date
 10969  	// should not be set, as doing so will result in an error.
 10970  	EndDate string `json:"endDate,omitempty"`
 10971  
 10972  	// PricingComment: Comments for this pricing period.
 10973  	PricingComment string `json:"pricingComment,omitempty"`
 10974  
 10975  	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
 10976  	// multipled by 1000000000). Acceptable values are 0 to
 10977  	// 1000000000000000000, inclusive.
 10978  	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
 10979  
 10980  	// StartDate: Pricing period start date. This date must be later than,
 10981  	// or the same day as, the placement start date. The hours, minutes, and
 10982  	// seconds of the start date should not be set, as doing so will result
 10983  	// in an error.
 10984  	StartDate string `json:"startDate,omitempty"`
 10985  
 10986  	// Units: Units of this pricing period. Acceptable values are 0 to
 10987  	// 10000000000, inclusive.
 10988  	Units int64 `json:"units,omitempty,string"`
 10989  
 10990  	// ForceSendFields is a list of field names (e.g. "EndDate") to
 10991  	// unconditionally include in API requests. By default, fields with
 10992  	// empty values are omitted from API requests. However, any non-pointer,
 10993  	// non-interface field appearing in ForceSendFields will be sent to the
 10994  	// server regardless of whether the field is empty or not. This may be
 10995  	// used to include empty fields in Patch requests.
 10996  	ForceSendFields []string `json:"-"`
 10997  
 10998  	// NullFields is a list of field names (e.g. "EndDate") to include in
 10999  	// API requests with the JSON null value. By default, fields with empty
 11000  	// values are omitted from API requests. However, any field with an
 11001  	// empty value appearing in NullFields will be sent to the server as
 11002  	// null. It is an error if a field in this list has a non-empty value.
 11003  	// This may be used to include null fields in Patch requests.
 11004  	NullFields []string `json:"-"`
 11005  }
 11006  
 11007  func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
 11008  	type NoMethod PricingSchedulePricingPeriod
 11009  	raw := NoMethod(*s)
 11010  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11011  }
 11012  
 11013  // Project: Contains properties of a Planning project.
 11014  type Project struct {
 11015  	// AccountId: Account ID of this project.
 11016  	AccountId int64 `json:"accountId,omitempty,string"`
 11017  
 11018  	// AdvertiserId: Advertiser ID of this project.
 11019  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11020  
 11021  	// AudienceAgeGroup: Audience age group of this project.
 11022  	//
 11023  	// Possible values:
 11024  	//   "PLANNING_AUDIENCE_AGE_18_24"
 11025  	//   "PLANNING_AUDIENCE_AGE_25_34"
 11026  	//   "PLANNING_AUDIENCE_AGE_35_44"
 11027  	//   "PLANNING_AUDIENCE_AGE_45_54"
 11028  	//   "PLANNING_AUDIENCE_AGE_55_64"
 11029  	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
 11030  	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
 11031  	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
 11032  
 11033  	// AudienceGender: Audience gender of this project.
 11034  	//
 11035  	// Possible values:
 11036  	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
 11037  	//   "PLANNING_AUDIENCE_GENDER_MALE"
 11038  	AudienceGender string `json:"audienceGender,omitempty"`
 11039  
 11040  	// Budget: Budget of this project in the currency specified by the
 11041  	// current account. The value stored in this field represents only the
 11042  	// non-fractional amount. For example, for USD, the smallest value that
 11043  	// can be represented by this field is 1 US dollar.
 11044  	Budget int64 `json:"budget,omitempty,string"`
 11045  
 11046  	// ClientBillingCode: Client billing code of this project.
 11047  	ClientBillingCode string `json:"clientBillingCode,omitempty"`
 11048  
 11049  	// ClientName: Name of the project client.
 11050  	ClientName string `json:"clientName,omitempty"`
 11051  
 11052  	// EndDate: End date of the project.
 11053  	EndDate string `json:"endDate,omitempty"`
 11054  
 11055  	// Id: ID of this project. This is a read-only, auto-generated field.
 11056  	Id int64 `json:"id,omitempty,string"`
 11057  
 11058  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11059  	// string "dfareporting#project".
 11060  	Kind string `json:"kind,omitempty"`
 11061  
 11062  	// LastModifiedInfo: Information about the most recent modification of
 11063  	// this project.
 11064  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 11065  
 11066  	// Name: Name of this project.
 11067  	Name string `json:"name,omitempty"`
 11068  
 11069  	// Overview: Overview of this project.
 11070  	Overview string `json:"overview,omitempty"`
 11071  
 11072  	// StartDate: Start date of the project.
 11073  	StartDate string `json:"startDate,omitempty"`
 11074  
 11075  	// SubaccountId: Subaccount ID of this project.
 11076  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 11077  
 11078  	// TargetClicks: Number of clicks that the advertiser is targeting.
 11079  	TargetClicks int64 `json:"targetClicks,omitempty,string"`
 11080  
 11081  	// TargetConversions: Number of conversions that the advertiser is
 11082  	// targeting.
 11083  	TargetConversions int64 `json:"targetConversions,omitempty,string"`
 11084  
 11085  	// TargetCpaNanos: CPA that the advertiser is targeting.
 11086  	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
 11087  
 11088  	// TargetCpcNanos: CPC that the advertiser is targeting.
 11089  	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
 11090  
 11091  	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
 11092  	// is targeting.
 11093  	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
 11094  
 11095  	// TargetCpmNanos: CPM that the advertiser is targeting.
 11096  	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
 11097  
 11098  	// TargetImpressions: Number of impressions that the advertiser is
 11099  	// targeting.
 11100  	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
 11101  
 11102  	// ServerResponse contains the HTTP response code and headers from the
 11103  	// server.
 11104  	googleapi.ServerResponse `json:"-"`
 11105  
 11106  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11107  	// unconditionally include in API requests. By default, fields with
 11108  	// empty values are omitted from API requests. However, any non-pointer,
 11109  	// non-interface field appearing in ForceSendFields will be sent to the
 11110  	// server regardless of whether the field is empty or not. This may be
 11111  	// used to include empty fields in Patch requests.
 11112  	ForceSendFields []string `json:"-"`
 11113  
 11114  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11115  	// API requests with the JSON null value. By default, fields with empty
 11116  	// values are omitted from API requests. However, any field with an
 11117  	// empty value appearing in NullFields will be sent to the server as
 11118  	// null. It is an error if a field in this list has a non-empty value.
 11119  	// This may be used to include null fields in Patch requests.
 11120  	NullFields []string `json:"-"`
 11121  }
 11122  
 11123  func (s *Project) MarshalJSON() ([]byte, error) {
 11124  	type NoMethod Project
 11125  	raw := NoMethod(*s)
 11126  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11127  }
 11128  
 11129  // ProjectsListResponse: Project List Response
 11130  type ProjectsListResponse struct {
 11131  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11132  	// string "dfareporting#projectsListResponse".
 11133  	Kind string `json:"kind,omitempty"`
 11134  
 11135  	// NextPageToken: Pagination token to be used for the next list
 11136  	// operation.
 11137  	NextPageToken string `json:"nextPageToken,omitempty"`
 11138  
 11139  	// Projects: Project collection.
 11140  	Projects []*Project `json:"projects,omitempty"`
 11141  
 11142  	// ServerResponse contains the HTTP response code and headers from the
 11143  	// server.
 11144  	googleapi.ServerResponse `json:"-"`
 11145  
 11146  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11147  	// unconditionally include in API requests. By default, fields with
 11148  	// empty values are omitted from API requests. However, any non-pointer,
 11149  	// non-interface field appearing in ForceSendFields will be sent to the
 11150  	// server regardless of whether the field is empty or not. This may be
 11151  	// used to include empty fields in Patch requests.
 11152  	ForceSendFields []string `json:"-"`
 11153  
 11154  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11155  	// requests with the JSON null value. By default, fields with empty
 11156  	// values are omitted from API requests. However, any field with an
 11157  	// empty value appearing in NullFields will be sent to the server as
 11158  	// null. It is an error if a field in this list has a non-empty value.
 11159  	// This may be used to include null fields in Patch requests.
 11160  	NullFields []string `json:"-"`
 11161  }
 11162  
 11163  func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
 11164  	type NoMethod ProjectsListResponse
 11165  	raw := NoMethod(*s)
 11166  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11167  }
 11168  
 11169  // ReachReportCompatibleFields: Represents fields that are compatible to
 11170  // be selected for a report of type "REACH".
 11171  type ReachReportCompatibleFields struct {
 11172  	// DimensionFilters: Dimensions which are compatible to be selected in
 11173  	// the "dimensionFilters" section of the report.
 11174  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 11175  
 11176  	// Dimensions: Dimensions which are compatible to be selected in the
 11177  	// "dimensions" section of the report.
 11178  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 11179  
 11180  	// Kind: The kind of resource this is, in this case
 11181  	// dfareporting#reachReportCompatibleFields.
 11182  	Kind string `json:"kind,omitempty"`
 11183  
 11184  	// Metrics: Metrics which are compatible to be selected in the
 11185  	// "metricNames" section of the report.
 11186  	Metrics []*Metric `json:"metrics,omitempty"`
 11187  
 11188  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 11189  	// as activity metrics to pivot on in the "activities" section of the
 11190  	// report.
 11191  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 11192  
 11193  	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
 11194  	// in the "reachByFrequencyMetricNames" section of the report.
 11195  	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
 11196  
 11197  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 11198  	// unconditionally include in API requests. By default, fields with
 11199  	// empty values are omitted from API requests. However, any non-pointer,
 11200  	// non-interface field appearing in ForceSendFields will be sent to the
 11201  	// server regardless of whether the field is empty or not. This may be
 11202  	// used to include empty fields in Patch requests.
 11203  	ForceSendFields []string `json:"-"`
 11204  
 11205  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 11206  	// include in API requests with the JSON null value. By default, fields
 11207  	// with empty values are omitted from API requests. However, any field
 11208  	// with an empty value appearing in NullFields will be sent to the
 11209  	// server as null. It is an error if a field in this list has a
 11210  	// non-empty value. This may be used to include null fields in Patch
 11211  	// requests.
 11212  	NullFields []string `json:"-"`
 11213  }
 11214  
 11215  func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
 11216  	type NoMethod ReachReportCompatibleFields
 11217  	raw := NoMethod(*s)
 11218  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11219  }
 11220  
 11221  // Recipient: Represents a recipient.
 11222  type Recipient struct {
 11223  	// DeliveryType: The delivery type for the recipient.
 11224  	//
 11225  	// Possible values:
 11226  	//   "ATTACHMENT"
 11227  	//   "LINK"
 11228  	DeliveryType string `json:"deliveryType,omitempty"`
 11229  
 11230  	// Email: The email address of the recipient.
 11231  	Email string `json:"email,omitempty"`
 11232  
 11233  	// Kind: The kind of resource this is, in this case
 11234  	// dfareporting#recipient.
 11235  	Kind string `json:"kind,omitempty"`
 11236  
 11237  	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
 11238  	// unconditionally include in API requests. By default, fields with
 11239  	// empty values are omitted from API requests. However, any non-pointer,
 11240  	// non-interface field appearing in ForceSendFields will be sent to the
 11241  	// server regardless of whether the field is empty or not. This may be
 11242  	// used to include empty fields in Patch requests.
 11243  	ForceSendFields []string `json:"-"`
 11244  
 11245  	// NullFields is a list of field names (e.g. "DeliveryType") to include
 11246  	// in API requests with the JSON null value. By default, fields with
 11247  	// empty values are omitted from API requests. However, any field with
 11248  	// an empty value appearing in NullFields will be sent to the server as
 11249  	// null. It is an error if a field in this list has a non-empty value.
 11250  	// This may be used to include null fields in Patch requests.
 11251  	NullFields []string `json:"-"`
 11252  }
 11253  
 11254  func (s *Recipient) MarshalJSON() ([]byte, error) {
 11255  	type NoMethod Recipient
 11256  	raw := NoMethod(*s)
 11257  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11258  }
 11259  
 11260  // Region: Contains information about a region that can be targeted by
 11261  // ads.
 11262  type Region struct {
 11263  	// CountryCode: Country code of the country to which this region
 11264  	// belongs.
 11265  	CountryCode string `json:"countryCode,omitempty"`
 11266  
 11267  	// CountryDartId: DART ID of the country to which this region belongs.
 11268  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 11269  
 11270  	// DartId: DART ID of this region.
 11271  	DartId int64 `json:"dartId,omitempty,string"`
 11272  
 11273  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11274  	// string "dfareporting#region".
 11275  	Kind string `json:"kind,omitempty"`
 11276  
 11277  	// Name: Name of this region.
 11278  	Name string `json:"name,omitempty"`
 11279  
 11280  	// RegionCode: Region code.
 11281  	RegionCode string `json:"regionCode,omitempty"`
 11282  
 11283  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
 11284  	// unconditionally include in API requests. By default, fields with
 11285  	// empty values are omitted from API requests. However, any non-pointer,
 11286  	// non-interface field appearing in ForceSendFields will be sent to the
 11287  	// server regardless of whether the field is empty or not. This may be
 11288  	// used to include empty fields in Patch requests.
 11289  	ForceSendFields []string `json:"-"`
 11290  
 11291  	// NullFields is a list of field names (e.g. "CountryCode") to include
 11292  	// in API requests with the JSON null value. By default, fields with
 11293  	// empty values are omitted from API requests. However, any field with
 11294  	// an empty value appearing in NullFields will be sent to the server as
 11295  	// null. It is an error if a field in this list has a non-empty value.
 11296  	// This may be used to include null fields in Patch requests.
 11297  	NullFields []string `json:"-"`
 11298  }
 11299  
 11300  func (s *Region) MarshalJSON() ([]byte, error) {
 11301  	type NoMethod Region
 11302  	raw := NoMethod(*s)
 11303  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11304  }
 11305  
 11306  // RegionsListResponse: Region List Response
 11307  type RegionsListResponse struct {
 11308  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11309  	// string "dfareporting#regionsListResponse".
 11310  	Kind string `json:"kind,omitempty"`
 11311  
 11312  	// Regions: Region collection.
 11313  	Regions []*Region `json:"regions,omitempty"`
 11314  
 11315  	// ServerResponse contains the HTTP response code and headers from the
 11316  	// server.
 11317  	googleapi.ServerResponse `json:"-"`
 11318  
 11319  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11320  	// unconditionally include in API requests. By default, fields with
 11321  	// empty values are omitted from API requests. However, any non-pointer,
 11322  	// non-interface field appearing in ForceSendFields will be sent to the
 11323  	// server regardless of whether the field is empty or not. This may be
 11324  	// used to include empty fields in Patch requests.
 11325  	ForceSendFields []string `json:"-"`
 11326  
 11327  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11328  	// requests with the JSON null value. By default, fields with empty
 11329  	// values are omitted from API requests. However, any field with an
 11330  	// empty value appearing in NullFields will be sent to the server as
 11331  	// null. It is an error if a field in this list has a non-empty value.
 11332  	// This may be used to include null fields in Patch requests.
 11333  	NullFields []string `json:"-"`
 11334  }
 11335  
 11336  func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
 11337  	type NoMethod RegionsListResponse
 11338  	raw := NoMethod(*s)
 11339  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11340  }
 11341  
 11342  // RemarketingList: Contains properties of a remarketing list.
 11343  // Remarketing enables you to create lists of users who have performed
 11344  // specific actions on a site, then target ads to members of those
 11345  // lists. This resource can be used to manage remarketing lists that are
 11346  // owned by your advertisers. To see all remarketing lists that are
 11347  // visible to your advertisers, including those that are shared to your
 11348  // advertiser or account, use the TargetableRemarketingLists resource.
 11349  type RemarketingList struct {
 11350  	// AccountId: Account ID of this remarketing list. This is a read-only,
 11351  	// auto-generated field that is only returned in GET requests.
 11352  	AccountId int64 `json:"accountId,omitempty,string"`
 11353  
 11354  	// Active: Whether this remarketing list is active.
 11355  	Active bool `json:"active,omitempty"`
 11356  
 11357  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 11358  	// remarketing list. This is a required field.
 11359  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11360  
 11361  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 11362  	// advertiser. This is a read-only, auto-generated field.
 11363  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 11364  
 11365  	// Description: Remarketing list description.
 11366  	Description string `json:"description,omitempty"`
 11367  
 11368  	// Id: Remarketing list ID. This is a read-only, auto-generated field.
 11369  	Id int64 `json:"id,omitempty,string"`
 11370  
 11371  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11372  	// string "dfareporting#remarketingList".
 11373  	Kind string `json:"kind,omitempty"`
 11374  
 11375  	// LifeSpan: Number of days that a user should remain in the remarketing
 11376  	// list without an impression. Acceptable values are 1 to 540,
 11377  	// inclusive.
 11378  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 11379  
 11380  	// ListPopulationRule: Rule used to populate the remarketing list with
 11381  	// users.
 11382  	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
 11383  
 11384  	// ListSize: Number of users currently in the list. This is a read-only
 11385  	// field.
 11386  	ListSize int64 `json:"listSize,omitempty,string"`
 11387  
 11388  	// ListSource: Product from which this remarketing list was originated.
 11389  	//
 11390  	// Possible values:
 11391  	//   "REMARKETING_LIST_SOURCE_ADX"
 11392  	//   "REMARKETING_LIST_SOURCE_DBM"
 11393  	//   "REMARKETING_LIST_SOURCE_DFA"
 11394  	//   "REMARKETING_LIST_SOURCE_DFP"
 11395  	//   "REMARKETING_LIST_SOURCE_DMP"
 11396  	//   "REMARKETING_LIST_SOURCE_GA"
 11397  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 11398  	//   "REMARKETING_LIST_SOURCE_OTHER"
 11399  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 11400  	//   "REMARKETING_LIST_SOURCE_XFP"
 11401  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 11402  	ListSource string `json:"listSource,omitempty"`
 11403  
 11404  	// Name: Name of the remarketing list. This is a required field. Must be
 11405  	// no greater than 128 characters long.
 11406  	Name string `json:"name,omitempty"`
 11407  
 11408  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 11409  	// read-only, auto-generated field that is only returned in GET
 11410  	// requests.
 11411  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 11412  
 11413  	// ServerResponse contains the HTTP response code and headers from the
 11414  	// server.
 11415  	googleapi.ServerResponse `json:"-"`
 11416  
 11417  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11418  	// unconditionally include in API requests. By default, fields with
 11419  	// empty values are omitted from API requests. However, any non-pointer,
 11420  	// non-interface field appearing in ForceSendFields will be sent to the
 11421  	// server regardless of whether the field is empty or not. This may be
 11422  	// used to include empty fields in Patch requests.
 11423  	ForceSendFields []string `json:"-"`
 11424  
 11425  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11426  	// API requests with the JSON null value. By default, fields with empty
 11427  	// values are omitted from API requests. However, any field with an
 11428  	// empty value appearing in NullFields will be sent to the server as
 11429  	// null. It is an error if a field in this list has a non-empty value.
 11430  	// This may be used to include null fields in Patch requests.
 11431  	NullFields []string `json:"-"`
 11432  }
 11433  
 11434  func (s *RemarketingList) MarshalJSON() ([]byte, error) {
 11435  	type NoMethod RemarketingList
 11436  	raw := NoMethod(*s)
 11437  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11438  }
 11439  
 11440  // RemarketingListShare: Contains properties of a remarketing list's
 11441  // sharing information. Sharing allows other accounts or advertisers to
 11442  // target to your remarketing lists. This resource can be used to manage
 11443  // remarketing list sharing to other accounts and advertisers.
 11444  type RemarketingListShare struct {
 11445  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11446  	// string "dfareporting#remarketingListShare".
 11447  	Kind string `json:"kind,omitempty"`
 11448  
 11449  	// RemarketingListId: Remarketing list ID. This is a read-only,
 11450  	// auto-generated field.
 11451  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
 11452  
 11453  	// SharedAccountIds: Accounts that the remarketing list is shared with.
 11454  	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
 11455  
 11456  	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
 11457  	// with.
 11458  	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
 11459  
 11460  	// ServerResponse contains the HTTP response code and headers from the
 11461  	// server.
 11462  	googleapi.ServerResponse `json:"-"`
 11463  
 11464  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11465  	// unconditionally include in API requests. By default, fields with
 11466  	// empty values are omitted from API requests. However, any non-pointer,
 11467  	// non-interface field appearing in ForceSendFields will be sent to the
 11468  	// server regardless of whether the field is empty or not. This may be
 11469  	// used to include empty fields in Patch requests.
 11470  	ForceSendFields []string `json:"-"`
 11471  
 11472  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11473  	// requests with the JSON null value. By default, fields with empty
 11474  	// values are omitted from API requests. However, any field with an
 11475  	// empty value appearing in NullFields will be sent to the server as
 11476  	// null. It is an error if a field in this list has a non-empty value.
 11477  	// This may be used to include null fields in Patch requests.
 11478  	NullFields []string `json:"-"`
 11479  }
 11480  
 11481  func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
 11482  	type NoMethod RemarketingListShare
 11483  	raw := NoMethod(*s)
 11484  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11485  }
 11486  
 11487  // RemarketingListsListResponse: Remarketing list response
 11488  type RemarketingListsListResponse struct {
 11489  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11490  	// string "dfareporting#remarketingListsListResponse".
 11491  	Kind string `json:"kind,omitempty"`
 11492  
 11493  	// NextPageToken: Pagination token to be used for the next list
 11494  	// operation.
 11495  	NextPageToken string `json:"nextPageToken,omitempty"`
 11496  
 11497  	// RemarketingLists: Remarketing list collection.
 11498  	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
 11499  
 11500  	// ServerResponse contains the HTTP response code and headers from the
 11501  	// server.
 11502  	googleapi.ServerResponse `json:"-"`
 11503  
 11504  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11505  	// unconditionally include in API requests. By default, fields with
 11506  	// empty values are omitted from API requests. However, any non-pointer,
 11507  	// non-interface field appearing in ForceSendFields will be sent to the
 11508  	// server regardless of whether the field is empty or not. This may be
 11509  	// used to include empty fields in Patch requests.
 11510  	ForceSendFields []string `json:"-"`
 11511  
 11512  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11513  	// requests with the JSON null value. By default, fields with empty
 11514  	// values are omitted from API requests. However, any field with an
 11515  	// empty value appearing in NullFields will be sent to the server as
 11516  	// null. It is an error if a field in this list has a non-empty value.
 11517  	// This may be used to include null fields in Patch requests.
 11518  	NullFields []string `json:"-"`
 11519  }
 11520  
 11521  func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 11522  	type NoMethod RemarketingListsListResponse
 11523  	raw := NoMethod(*s)
 11524  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11525  }
 11526  
 11527  // Report: Represents a Report resource.
 11528  type Report struct {
 11529  	// AccountId: The account ID to which this report belongs.
 11530  	AccountId int64 `json:"accountId,omitempty,string"`
 11531  
 11532  	// Criteria: The report criteria for a report of type "STANDARD".
 11533  	Criteria *ReportCriteria `json:"criteria,omitempty"`
 11534  
 11535  	// CrossDimensionReachCriteria: The report criteria for a report of type
 11536  	// "CROSS_DIMENSION_REACH".
 11537  	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
 11538  
 11539  	// Delivery: The report's email delivery settings.
 11540  	Delivery *ReportDelivery `json:"delivery,omitempty"`
 11541  
 11542  	// Etag: The eTag of this response for caching purposes.
 11543  	Etag string `json:"etag,omitempty"`
 11544  
 11545  	// FileName: The filename used when generating report files for this
 11546  	// report.
 11547  	FileName string `json:"fileName,omitempty"`
 11548  
 11549  	// FloodlightCriteria: The report criteria for a report of type
 11550  	// "FLOODLIGHT".
 11551  	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
 11552  
 11553  	// Format: The output format of the report. If not specified, default
 11554  	// format is "CSV". Note that the actual format in the completed report
 11555  	// file might differ if for instance the report's size exceeds the
 11556  	// format's capabilities. "CSV" will then be the fallback format.
 11557  	//
 11558  	// Possible values:
 11559  	//   "CSV"
 11560  	//   "EXCEL"
 11561  	Format string `json:"format,omitempty"`
 11562  
 11563  	// Id: The unique ID identifying this report resource.
 11564  	Id int64 `json:"id,omitempty,string"`
 11565  
 11566  	// Kind: The kind of resource this is, in this case dfareporting#report.
 11567  	Kind string `json:"kind,omitempty"`
 11568  
 11569  	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
 11570  	// this report was last modified.
 11571  	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
 11572  
 11573  	// Name: The name of the report.
 11574  	Name string `json:"name,omitempty"`
 11575  
 11576  	// OwnerProfileId: The user profile id of the owner of this report.
 11577  	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
 11578  
 11579  	// PathToConversionCriteria: The report criteria for a report of type
 11580  	// "PATH_TO_CONVERSION".
 11581  	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
 11582  
 11583  	// ReachCriteria: The report criteria for a report of type "REACH".
 11584  	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
 11585  
 11586  	// Schedule: The report's schedule. Can only be set if the report's
 11587  	// 'dateRange' is a relative date range and the relative date range is
 11588  	// not "TODAY".
 11589  	Schedule *ReportSchedule `json:"schedule,omitempty"`
 11590  
 11591  	// SubAccountId: The subaccount ID to which this report belongs if
 11592  	// applicable.
 11593  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 11594  
 11595  	// Type: The type of the report.
 11596  	//
 11597  	// Possible values:
 11598  	//   "CROSS_DIMENSION_REACH"
 11599  	//   "FLOODLIGHT"
 11600  	//   "PATH_TO_CONVERSION"
 11601  	//   "REACH"
 11602  	//   "STANDARD"
 11603  	Type string `json:"type,omitempty"`
 11604  
 11605  	// ServerResponse contains the HTTP response code and headers from the
 11606  	// server.
 11607  	googleapi.ServerResponse `json:"-"`
 11608  
 11609  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11610  	// unconditionally include in API requests. By default, fields with
 11611  	// empty values are omitted from API requests. However, any non-pointer,
 11612  	// non-interface field appearing in ForceSendFields will be sent to the
 11613  	// server regardless of whether the field is empty or not. This may be
 11614  	// used to include empty fields in Patch requests.
 11615  	ForceSendFields []string `json:"-"`
 11616  
 11617  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11618  	// API requests with the JSON null value. By default, fields with empty
 11619  	// values are omitted from API requests. However, any field with an
 11620  	// empty value appearing in NullFields will be sent to the server as
 11621  	// null. It is an error if a field in this list has a non-empty value.
 11622  	// This may be used to include null fields in Patch requests.
 11623  	NullFields []string `json:"-"`
 11624  }
 11625  
 11626  func (s *Report) MarshalJSON() ([]byte, error) {
 11627  	type NoMethod Report
 11628  	raw := NoMethod(*s)
 11629  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11630  }
 11631  
 11632  // ReportCriteria: The report criteria for a report of type "STANDARD".
 11633  type ReportCriteria struct {
 11634  	// Activities: Activity group.
 11635  	Activities *Activities `json:"activities,omitempty"`
 11636  
 11637  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11638  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11639  
 11640  	// DateRange: The date range for which this report should be run.
 11641  	DateRange *DateRange `json:"dateRange,omitempty"`
 11642  
 11643  	// DimensionFilters: The list of filters on which dimensions are
 11644  	// filtered.
 11645  	// Filters for different dimensions are ANDed, filters for the same
 11646  	// dimension are grouped together and ORed.
 11647  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11648  
 11649  	// Dimensions: The list of standard dimensions the report should
 11650  	// include.
 11651  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11652  
 11653  	// MetricNames: The list of names of metrics the report should include.
 11654  	MetricNames []string `json:"metricNames,omitempty"`
 11655  
 11656  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11657  	// unconditionally include in API requests. By default, fields with
 11658  	// empty values are omitted from API requests. However, any non-pointer,
 11659  	// non-interface field appearing in ForceSendFields will be sent to the
 11660  	// server regardless of whether the field is empty or not. This may be
 11661  	// used to include empty fields in Patch requests.
 11662  	ForceSendFields []string `json:"-"`
 11663  
 11664  	// NullFields is a list of field names (e.g. "Activities") to include in
 11665  	// API requests with the JSON null value. By default, fields with empty
 11666  	// values are omitted from API requests. However, any field with an
 11667  	// empty value appearing in NullFields will be sent to the server as
 11668  	// null. It is an error if a field in this list has a non-empty value.
 11669  	// This may be used to include null fields in Patch requests.
 11670  	NullFields []string `json:"-"`
 11671  }
 11672  
 11673  func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
 11674  	type NoMethod ReportCriteria
 11675  	raw := NoMethod(*s)
 11676  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11677  }
 11678  
 11679  // ReportCrossDimensionReachCriteria: The report criteria for a report
 11680  // of type "CROSS_DIMENSION_REACH".
 11681  type ReportCrossDimensionReachCriteria struct {
 11682  	// Breakdown: The list of dimensions the report should include.
 11683  	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
 11684  
 11685  	// DateRange: The date range this report should be run for.
 11686  	DateRange *DateRange `json:"dateRange,omitempty"`
 11687  
 11688  	// Dimension: The dimension option.
 11689  	//
 11690  	// Possible values:
 11691  	//   "ADVERTISER"
 11692  	//   "CAMPAIGN"
 11693  	//   "SITE_BY_ADVERTISER"
 11694  	//   "SITE_BY_CAMPAIGN"
 11695  	Dimension string `json:"dimension,omitempty"`
 11696  
 11697  	// DimensionFilters: The list of filters on which dimensions are
 11698  	// filtered.
 11699  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11700  
 11701  	// MetricNames: The list of names of metrics the report should include.
 11702  	MetricNames []string `json:"metricNames,omitempty"`
 11703  
 11704  	// OverlapMetricNames: The list of names of overlap metrics the report
 11705  	// should include.
 11706  	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
 11707  
 11708  	// Pivoted: Whether the report is pivoted or not. Defaults to true.
 11709  	Pivoted bool `json:"pivoted,omitempty"`
 11710  
 11711  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
 11712  	// unconditionally include in API requests. By default, fields with
 11713  	// empty values are omitted from API requests. However, any non-pointer,
 11714  	// non-interface field appearing in ForceSendFields will be sent to the
 11715  	// server regardless of whether the field is empty or not. This may be
 11716  	// used to include empty fields in Patch requests.
 11717  	ForceSendFields []string `json:"-"`
 11718  
 11719  	// NullFields is a list of field names (e.g. "Breakdown") to include in
 11720  	// API requests with the JSON null value. By default, fields with empty
 11721  	// values are omitted from API requests. However, any field with an
 11722  	// empty value appearing in NullFields will be sent to the server as
 11723  	// null. It is an error if a field in this list has a non-empty value.
 11724  	// This may be used to include null fields in Patch requests.
 11725  	NullFields []string `json:"-"`
 11726  }
 11727  
 11728  func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
 11729  	type NoMethod ReportCrossDimensionReachCriteria
 11730  	raw := NoMethod(*s)
 11731  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11732  }
 11733  
 11734  // ReportDelivery: The report's email delivery settings.
 11735  type ReportDelivery struct {
 11736  	// EmailOwner: Whether the report should be emailed to the report owner.
 11737  	EmailOwner bool `json:"emailOwner,omitempty"`
 11738  
 11739  	// EmailOwnerDeliveryType: The type of delivery for the owner to
 11740  	// receive, if enabled.
 11741  	//
 11742  	// Possible values:
 11743  	//   "ATTACHMENT"
 11744  	//   "LINK"
 11745  	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
 11746  
 11747  	// Message: The message to be sent with each email.
 11748  	Message string `json:"message,omitempty"`
 11749  
 11750  	// Recipients: The list of recipients to which to email the report.
 11751  	Recipients []*Recipient `json:"recipients,omitempty"`
 11752  
 11753  	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
 11754  	// unconditionally include in API requests. By default, fields with
 11755  	// empty values are omitted from API requests. However, any non-pointer,
 11756  	// non-interface field appearing in ForceSendFields will be sent to the
 11757  	// server regardless of whether the field is empty or not. This may be
 11758  	// used to include empty fields in Patch requests.
 11759  	ForceSendFields []string `json:"-"`
 11760  
 11761  	// NullFields is a list of field names (e.g. "EmailOwner") to include in
 11762  	// API requests with the JSON null value. By default, fields with empty
 11763  	// values are omitted from API requests. However, any field with an
 11764  	// empty value appearing in NullFields will be sent to the server as
 11765  	// null. It is an error if a field in this list has a non-empty value.
 11766  	// This may be used to include null fields in Patch requests.
 11767  	NullFields []string `json:"-"`
 11768  }
 11769  
 11770  func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
 11771  	type NoMethod ReportDelivery
 11772  	raw := NoMethod(*s)
 11773  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11774  }
 11775  
 11776  // ReportFloodlightCriteria: The report criteria for a report of type
 11777  // "FLOODLIGHT".
 11778  type ReportFloodlightCriteria struct {
 11779  	// CustomRichMediaEvents: The list of custom rich media events to
 11780  	// include.
 11781  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11782  
 11783  	// DateRange: The date range this report should be run for.
 11784  	DateRange *DateRange `json:"dateRange,omitempty"`
 11785  
 11786  	// DimensionFilters: The list of filters on which dimensions are
 11787  	// filtered.
 11788  	// Filters for different dimensions are ANDed, filters for the same
 11789  	// dimension are grouped together and ORed.
 11790  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11791  
 11792  	// Dimensions: The list of dimensions the report should include.
 11793  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11794  
 11795  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11796  	// report. All advertisers associated with that ID will automatically be
 11797  	// added. The dimension of the value needs to be
 11798  	// 'dfa:floodlightConfigId'.
 11799  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11800  
 11801  	// MetricNames: The list of names of metrics the report should include.
 11802  	MetricNames []string `json:"metricNames,omitempty"`
 11803  
 11804  	// ReportProperties: The properties of the report.
 11805  	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
 11806  
 11807  	// ForceSendFields is a list of field names (e.g.
 11808  	// "CustomRichMediaEvents") to unconditionally include in API requests.
 11809  	// By default, fields with empty values are omitted from API requests.
 11810  	// However, any non-pointer, non-interface field appearing in
 11811  	// ForceSendFields will be sent to the server regardless of whether the
 11812  	// field is empty or not. This may be used to include empty fields in
 11813  	// Patch requests.
 11814  	ForceSendFields []string `json:"-"`
 11815  
 11816  	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
 11817  	// include in API requests with the JSON null value. By default, fields
 11818  	// with empty values are omitted from API requests. However, any field
 11819  	// with an empty value appearing in NullFields will be sent to the
 11820  	// server as null. It is an error if a field in this list has a
 11821  	// non-empty value. This may be used to include null fields in Patch
 11822  	// requests.
 11823  	NullFields []string `json:"-"`
 11824  }
 11825  
 11826  func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
 11827  	type NoMethod ReportFloodlightCriteria
 11828  	raw := NoMethod(*s)
 11829  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11830  }
 11831  
 11832  // ReportFloodlightCriteriaReportProperties: The properties of the
 11833  // report.
 11834  type ReportFloodlightCriteriaReportProperties struct {
 11835  	// IncludeAttributedIPConversions: Include conversions that have no
 11836  	// cookie, but do have an exposure path.
 11837  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11838  
 11839  	// IncludeUnattributedCookieConversions: Include conversions of users
 11840  	// with a DoubleClick cookie but without an exposure. That means the
 11841  	// user did not click or see an ad from the advertiser within the
 11842  	// Floodlight group, or that the interaction happened outside the
 11843  	// lookback window.
 11844  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11845  
 11846  	// IncludeUnattributedIPConversions: Include conversions that have no
 11847  	// associated cookies and no exposures. It’s therefore impossible to
 11848  	// know how the user was exposed to your ads during the lookback window
 11849  	// prior to a conversion.
 11850  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11851  
 11852  	// ForceSendFields is a list of field names (e.g.
 11853  	// "IncludeAttributedIPConversions") to unconditionally include in API
 11854  	// requests. By default, fields with empty values are omitted from API
 11855  	// requests. However, any non-pointer, non-interface field appearing in
 11856  	// ForceSendFields will be sent to the server regardless of whether the
 11857  	// field is empty or not. This may be used to include empty fields in
 11858  	// Patch requests.
 11859  	ForceSendFields []string `json:"-"`
 11860  
 11861  	// NullFields is a list of field names (e.g.
 11862  	// "IncludeAttributedIPConversions") to include in API requests with the
 11863  	// JSON null value. By default, fields with empty values are omitted
 11864  	// from API requests. However, any field with an empty value appearing
 11865  	// in NullFields will be sent to the server as null. It is an error if a
 11866  	// field in this list has a non-empty value. This may be used to include
 11867  	// null fields in Patch requests.
 11868  	NullFields []string `json:"-"`
 11869  }
 11870  
 11871  func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11872  	type NoMethod ReportFloodlightCriteriaReportProperties
 11873  	raw := NoMethod(*s)
 11874  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11875  }
 11876  
 11877  // ReportPathToConversionCriteria: The report criteria for a report of
 11878  // type "PATH_TO_CONVERSION".
 11879  type ReportPathToConversionCriteria struct {
 11880  	// ActivityFilters: The list of 'dfa:activity' values to filter on.
 11881  	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
 11882  
 11883  	// ConversionDimensions: The list of conversion dimensions the report
 11884  	// should include.
 11885  	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
 11886  
 11887  	// CustomFloodlightVariables: The list of custom floodlight variables
 11888  	// the report should include.
 11889  	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
 11890  
 11891  	// CustomRichMediaEvents: The list of custom rich media events to
 11892  	// include.
 11893  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11894  
 11895  	// DateRange: The date range this report should be run for.
 11896  	DateRange *DateRange `json:"dateRange,omitempty"`
 11897  
 11898  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11899  	// report. All advertisers associated with that ID will automatically be
 11900  	// added. The dimension of the value needs to be
 11901  	// 'dfa:floodlightConfigId'.
 11902  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11903  
 11904  	// MetricNames: The list of names of metrics the report should include.
 11905  	MetricNames []string `json:"metricNames,omitempty"`
 11906  
 11907  	// PerInteractionDimensions: The list of per interaction dimensions the
 11908  	// report should include.
 11909  	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
 11910  
 11911  	// ReportProperties: The properties of the report.
 11912  	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
 11913  
 11914  	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
 11915  	// unconditionally include in API requests. By default, fields with
 11916  	// empty values are omitted from API requests. However, any non-pointer,
 11917  	// non-interface field appearing in ForceSendFields will be sent to the
 11918  	// server regardless of whether the field is empty or not. This may be
 11919  	// used to include empty fields in Patch requests.
 11920  	ForceSendFields []string `json:"-"`
 11921  
 11922  	// NullFields is a list of field names (e.g. "ActivityFilters") to
 11923  	// include in API requests with the JSON null value. By default, fields
 11924  	// with empty values are omitted from API requests. However, any field
 11925  	// with an empty value appearing in NullFields will be sent to the
 11926  	// server as null. It is an error if a field in this list has a
 11927  	// non-empty value. This may be used to include null fields in Patch
 11928  	// requests.
 11929  	NullFields []string `json:"-"`
 11930  }
 11931  
 11932  func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
 11933  	type NoMethod ReportPathToConversionCriteria
 11934  	raw := NoMethod(*s)
 11935  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11936  }
 11937  
 11938  // ReportPathToConversionCriteriaReportProperties: The properties of the
 11939  // report.
 11940  type ReportPathToConversionCriteriaReportProperties struct {
 11941  	// ClicksLookbackWindow: DFA checks to see if a click interaction
 11942  	// occurred within the specified period of time before a conversion. By
 11943  	// default the value is pulled from Floodlight or you can manually enter
 11944  	// a custom value. Valid values: 1-90.
 11945  	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
 11946  
 11947  	// ImpressionsLookbackWindow: DFA checks to see if an impression
 11948  	// interaction occurred within the specified period of time before a
 11949  	// conversion. By default the value is pulled from Floodlight or you can
 11950  	// manually enter a custom value. Valid values: 1-90.
 11951  	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
 11952  
 11953  	// IncludeAttributedIPConversions: Deprecated: has no effect.
 11954  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11955  
 11956  	// IncludeUnattributedCookieConversions: Include conversions of users
 11957  	// with a DoubleClick cookie but without an exposure. That means the
 11958  	// user did not click or see an ad from the advertiser within the
 11959  	// Floodlight group, or that the interaction happened outside the
 11960  	// lookback window.
 11961  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11962  
 11963  	// IncludeUnattributedIPConversions: Include conversions that have no
 11964  	// associated cookies and no exposures. It’s therefore impossible to
 11965  	// know how the user was exposed to your ads during the lookback window
 11966  	// prior to a conversion.
 11967  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11968  
 11969  	// MaximumClickInteractions: The maximum number of click interactions to
 11970  	// include in the report. Advertisers currently paying for E2C reports
 11971  	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
 11972  	// your network is paying for E2C, you can have up to 5 total exposures
 11973  	// per report.
 11974  	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
 11975  
 11976  	// MaximumImpressionInteractions: The maximum number of click
 11977  	// interactions to include in the report. Advertisers currently paying
 11978  	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
 11979  	// another advertiser in your network is paying for E2C, you can have up
 11980  	// to 5 total exposures per report.
 11981  	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
 11982  
 11983  	// MaximumInteractionGap: The maximum amount of time that can take place
 11984  	// between interactions (clicks or impressions) by the same user. Valid
 11985  	// values: 1-90.
 11986  	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
 11987  
 11988  	// PivotOnInteractionPath: Enable pivoting on interaction path.
 11989  	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
 11990  
 11991  	// ForceSendFields is a list of field names (e.g.
 11992  	// "ClicksLookbackWindow") to unconditionally include in API requests.
 11993  	// By default, fields with empty values are omitted from API requests.
 11994  	// However, any non-pointer, non-interface field appearing in
 11995  	// ForceSendFields will be sent to the server regardless of whether the
 11996  	// field is empty or not. This may be used to include empty fields in
 11997  	// Patch requests.
 11998  	ForceSendFields []string `json:"-"`
 11999  
 12000  	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
 12001  	// include in API requests with the JSON null value. By default, fields
 12002  	// with empty values are omitted from API requests. However, any field
 12003  	// with an empty value appearing in NullFields will be sent to the
 12004  	// server as null. It is an error if a field in this list has a
 12005  	// non-empty value. This may be used to include null fields in Patch
 12006  	// requests.
 12007  	NullFields []string `json:"-"`
 12008  }
 12009  
 12010  func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 12011  	type NoMethod ReportPathToConversionCriteriaReportProperties
 12012  	raw := NoMethod(*s)
 12013  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12014  }
 12015  
 12016  // ReportReachCriteria: The report criteria for a report of type
 12017  // "REACH".
 12018  type ReportReachCriteria struct {
 12019  	// Activities: Activity group.
 12020  	Activities *Activities `json:"activities,omitempty"`
 12021  
 12022  	// CustomRichMediaEvents: Custom Rich Media Events group.
 12023  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 12024  
 12025  	// DateRange: The date range this report should be run for.
 12026  	DateRange *DateRange `json:"dateRange,omitempty"`
 12027  
 12028  	// DimensionFilters: The list of filters on which dimensions are
 12029  	// filtered.
 12030  	// Filters for different dimensions are ANDed, filters for the same
 12031  	// dimension are grouped together and ORed.
 12032  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 12033  
 12034  	// Dimensions: The list of dimensions the report should include.
 12035  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 12036  
 12037  	// EnableAllDimensionCombinations: Whether to enable all reach dimension
 12038  	// combinations in the report. Defaults to false. If enabled, the date
 12039  	// range of the report should be within the last 42 days.
 12040  	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
 12041  
 12042  	// MetricNames: The list of names of metrics the report should include.
 12043  	MetricNames []string `json:"metricNames,omitempty"`
 12044  
 12045  	// ReachByFrequencyMetricNames: The list of names of  Reach By Frequency
 12046  	// metrics the report should include.
 12047  	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
 12048  
 12049  	// ForceSendFields is a list of field names (e.g. "Activities") to
 12050  	// unconditionally include in API requests. By default, fields with
 12051  	// empty values are omitted from API requests. However, any non-pointer,
 12052  	// non-interface field appearing in ForceSendFields will be sent to the
 12053  	// server regardless of whether the field is empty or not. This may be
 12054  	// used to include empty fields in Patch requests.
 12055  	ForceSendFields []string `json:"-"`
 12056  
 12057  	// NullFields is a list of field names (e.g. "Activities") to include in
 12058  	// API requests with the JSON null value. By default, fields with empty
 12059  	// values are omitted from API requests. However, any field with an
 12060  	// empty value appearing in NullFields will be sent to the server as
 12061  	// null. It is an error if a field in this list has a non-empty value.
 12062  	// This may be used to include null fields in Patch requests.
 12063  	NullFields []string `json:"-"`
 12064  }
 12065  
 12066  func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
 12067  	type NoMethod ReportReachCriteria
 12068  	raw := NoMethod(*s)
 12069  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12070  }
 12071  
 12072  // ReportSchedule: The report's schedule. Can only be set if the
 12073  // report's 'dateRange' is a relative date range and the relative date
 12074  // range is not "TODAY".
 12075  type ReportSchedule struct {
 12076  	// Active: Whether the schedule is active or not. Must be set to either
 12077  	// true or false.
 12078  	Active bool `json:"active,omitempty"`
 12079  
 12080  	// Every: Defines every how many days, weeks or months the report should
 12081  	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
 12082  	// "MONTHLY".
 12083  	Every int64 `json:"every,omitempty"`
 12084  
 12085  	// ExpirationDate: The expiration date when the scheduled report stops
 12086  	// running.
 12087  	ExpirationDate string `json:"expirationDate,omitempty"`
 12088  
 12089  	// Repeats: The interval for which the report is repeated. Note:
 12090  	// - "DAILY" also requires field "every" to be set.
 12091  	// - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be
 12092  	// set.
 12093  	// - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
 12094  	// set.
 12095  	Repeats string `json:"repeats,omitempty"`
 12096  
 12097  	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
 12098  	// reports should run.
 12099  	//
 12100  	// Possible values:
 12101  	//   "FRIDAY"
 12102  	//   "MONDAY"
 12103  	//   "SATURDAY"
 12104  	//   "SUNDAY"
 12105  	//   "THURSDAY"
 12106  	//   "TUESDAY"
 12107  	//   "WEDNESDAY"
 12108  	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
 12109  
 12110  	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
 12111  	// whether reports should be repeated on the same day of the month as
 12112  	// "startDate" or the same day of the week of the month.
 12113  	// Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02),
 12114  	// "DAY_OF_MONTH" would run subsequent reports on the 2nd of every
 12115  	// Month, and "WEEK_OF_MONTH" would run subsequent reports on the first
 12116  	// Monday of the month.
 12117  	//
 12118  	// Possible values:
 12119  	//   "DAY_OF_MONTH"
 12120  	//   "WEEK_OF_MONTH"
 12121  	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
 12122  
 12123  	// StartDate: Start date of date range for which scheduled reports
 12124  	// should be run.
 12125  	StartDate string `json:"startDate,omitempty"`
 12126  
 12127  	// ForceSendFields is a list of field names (e.g. "Active") to
 12128  	// unconditionally include in API requests. By default, fields with
 12129  	// empty values are omitted from API requests. However, any non-pointer,
 12130  	// non-interface field appearing in ForceSendFields will be sent to the
 12131  	// server regardless of whether the field is empty or not. This may be
 12132  	// used to include empty fields in Patch requests.
 12133  	ForceSendFields []string `json:"-"`
 12134  
 12135  	// NullFields is a list of field names (e.g. "Active") to include in API
 12136  	// requests with the JSON null value. By default, fields with empty
 12137  	// values are omitted from API requests. However, any field with an
 12138  	// empty value appearing in NullFields will be sent to the server as
 12139  	// null. It is an error if a field in this list has a non-empty value.
 12140  	// This may be used to include null fields in Patch requests.
 12141  	NullFields []string `json:"-"`
 12142  }
 12143  
 12144  func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
 12145  	type NoMethod ReportSchedule
 12146  	raw := NoMethod(*s)
 12147  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12148  }
 12149  
 12150  // ReportCompatibleFields: Represents fields that are compatible to be
 12151  // selected for a report of type "STANDARD".
 12152  type ReportCompatibleFields struct {
 12153  	// DimensionFilters: Dimensions which are compatible to be selected in
 12154  	// the "dimensionFilters" section of the report.
 12155  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 12156  
 12157  	// Dimensions: Dimensions which are compatible to be selected in the
 12158  	// "dimensions" section of the report.
 12159  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 12160  
 12161  	// Kind: The kind of resource this is, in this case
 12162  	// dfareporting#reportCompatibleFields.
 12163  	Kind string `json:"kind,omitempty"`
 12164  
 12165  	// Metrics: Metrics which are compatible to be selected in the
 12166  	// "metricNames" section of the report.
 12167  	Metrics []*Metric `json:"metrics,omitempty"`
 12168  
 12169  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 12170  	// as activity metrics to pivot on in the "activities" section of the
 12171  	// report.
 12172  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 12173  
 12174  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 12175  	// unconditionally include in API requests. By default, fields with
 12176  	// empty values are omitted from API requests. However, any non-pointer,
 12177  	// non-interface field appearing in ForceSendFields will be sent to the
 12178  	// server regardless of whether the field is empty or not. This may be
 12179  	// used to include empty fields in Patch requests.
 12180  	ForceSendFields []string `json:"-"`
 12181  
 12182  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 12183  	// include in API requests with the JSON null value. By default, fields
 12184  	// with empty values are omitted from API requests. However, any field
 12185  	// with an empty value appearing in NullFields will be sent to the
 12186  	// server as null. It is an error if a field in this list has a
 12187  	// non-empty value. This may be used to include null fields in Patch
 12188  	// requests.
 12189  	NullFields []string `json:"-"`
 12190  }
 12191  
 12192  func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
 12193  	type NoMethod ReportCompatibleFields
 12194  	raw := NoMethod(*s)
 12195  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12196  }
 12197  
 12198  // ReportList: Represents the list of reports.
 12199  type ReportList struct {
 12200  	// Etag: The eTag of this response for caching purposes.
 12201  	Etag string `json:"etag,omitempty"`
 12202  
 12203  	// Items: The reports returned in this response.
 12204  	Items []*Report `json:"items,omitempty"`
 12205  
 12206  	// Kind: The kind of list this is, in this case dfareporting#reportList.
 12207  	Kind string `json:"kind,omitempty"`
 12208  
 12209  	// NextPageToken: Continuation token used to page through reports. To
 12210  	// retrieve the next page of results, set the next request's "pageToken"
 12211  	// to the value of this field. The page token is only valid for a
 12212  	// limited amount of time and should not be persisted.
 12213  	NextPageToken string `json:"nextPageToken,omitempty"`
 12214  
 12215  	// ServerResponse contains the HTTP response code and headers from the
 12216  	// server.
 12217  	googleapi.ServerResponse `json:"-"`
 12218  
 12219  	// ForceSendFields is a list of field names (e.g. "Etag") to
 12220  	// unconditionally include in API requests. By default, fields with
 12221  	// empty values are omitted from API requests. However, any non-pointer,
 12222  	// non-interface field appearing in ForceSendFields will be sent to the
 12223  	// server regardless of whether the field is empty or not. This may be
 12224  	// used to include empty fields in Patch requests.
 12225  	ForceSendFields []string `json:"-"`
 12226  
 12227  	// NullFields is a list of field names (e.g. "Etag") to include in API
 12228  	// requests with the JSON null value. By default, fields with empty
 12229  	// values are omitted from API requests. However, any field with an
 12230  	// empty value appearing in NullFields will be sent to the server as
 12231  	// null. It is an error if a field in this list has a non-empty value.
 12232  	// This may be used to include null fields in Patch requests.
 12233  	NullFields []string `json:"-"`
 12234  }
 12235  
 12236  func (s *ReportList) MarshalJSON() ([]byte, error) {
 12237  	type NoMethod ReportList
 12238  	raw := NoMethod(*s)
 12239  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12240  }
 12241  
 12242  // ReportsConfiguration: Reporting Configuration
 12243  type ReportsConfiguration struct {
 12244  	// ExposureToConversionEnabled: Whether the exposure to conversion
 12245  	// report is enabled. This report shows detailed pathway information on
 12246  	// up to 10 of the most recent ad exposures seen by a user before
 12247  	// converting.
 12248  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
 12249  
 12250  	// LookbackConfiguration: Default lookback windows for new advertisers
 12251  	// in this account.
 12252  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 12253  
 12254  	// ReportGenerationTimeZoneId: Report generation time zone ID of this
 12255  	// account. This is a required field that can only be changed by a
 12256  	// superuser.
 12257  	// Acceptable values are:
 12258  	//
 12259  	// - "1" for "America/New_York"
 12260  	// - "2" for "Europe/London"
 12261  	// - "3" for "Europe/Paris"
 12262  	// - "4" for "Africa/Johannesburg"
 12263  	// - "5" for "Asia/Jerusalem"
 12264  	// - "6" for "Asia/Shanghai"
 12265  	// - "7" for "Asia/Hong_Kong"
 12266  	// - "8" for "Asia/Tokyo"
 12267  	// - "9" for "Australia/Sydney"
 12268  	// - "10" for "Asia/Dubai"
 12269  	// - "11" for "America/Los_Angeles"
 12270  	// - "12" for "Pacific/Auckland"
 12271  	// - "13" for "America/Sao_Paulo"
 12272  	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
 12273  
 12274  	// ForceSendFields is a list of field names (e.g.
 12275  	// "ExposureToConversionEnabled") to unconditionally include in API
 12276  	// requests. By default, fields with empty values are omitted from API
 12277  	// requests. However, any non-pointer, non-interface field appearing in
 12278  	// ForceSendFields will be sent to the server regardless of whether the
 12279  	// field is empty or not. This may be used to include empty fields in
 12280  	// Patch requests.
 12281  	ForceSendFields []string `json:"-"`
 12282  
 12283  	// NullFields is a list of field names (e.g.
 12284  	// "ExposureToConversionEnabled") to include in API requests with the
 12285  	// JSON null value. By default, fields with empty values are omitted
 12286  	// from API requests. However, any field with an empty value appearing
 12287  	// in NullFields will be sent to the server as null. It is an error if a
 12288  	// field in this list has a non-empty value. This may be used to include
 12289  	// null fields in Patch requests.
 12290  	NullFields []string `json:"-"`
 12291  }
 12292  
 12293  func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
 12294  	type NoMethod ReportsConfiguration
 12295  	raw := NoMethod(*s)
 12296  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12297  }
 12298  
 12299  // RichMediaExitOverride: Rich Media Exit Override.
 12300  type RichMediaExitOverride struct {
 12301  	// ClickThroughUrl: Click-through URL of this rich media exit override.
 12302  	// Applicable if the enabled field is set to true.
 12303  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
 12304  
 12305  	// Enabled: Whether to use the clickThroughUrl. If false, the
 12306  	// creative-level exit will be used.
 12307  	Enabled bool `json:"enabled,omitempty"`
 12308  
 12309  	// ExitId: ID for the override to refer to a specific exit in the
 12310  	// creative.
 12311  	ExitId int64 `json:"exitId,omitempty,string"`
 12312  
 12313  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
 12314  	// unconditionally include in API requests. By default, fields with
 12315  	// empty values are omitted from API requests. However, any non-pointer,
 12316  	// non-interface field appearing in ForceSendFields will be sent to the
 12317  	// server regardless of whether the field is empty or not. This may be
 12318  	// used to include empty fields in Patch requests.
 12319  	ForceSendFields []string `json:"-"`
 12320  
 12321  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
 12322  	// include in API requests with the JSON null value. By default, fields
 12323  	// with empty values are omitted from API requests. However, any field
 12324  	// with an empty value appearing in NullFields will be sent to the
 12325  	// server as null. It is an error if a field in this list has a
 12326  	// non-empty value. This may be used to include null fields in Patch
 12327  	// requests.
 12328  	NullFields []string `json:"-"`
 12329  }
 12330  
 12331  func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
 12332  	type NoMethod RichMediaExitOverride
 12333  	raw := NoMethod(*s)
 12334  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12335  }
 12336  
 12337  // Rule: A rule associates an asset with a targeting template for
 12338  // asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
 12339  type Rule struct {
 12340  	// AssetId: A creativeAssets[].id. This should refer to one of the
 12341  	// parent assets in this creative. This is a required field.
 12342  	AssetId int64 `json:"assetId,omitempty,string"`
 12343  
 12344  	// Name: A user-friendly name for this rule. This is a required field.
 12345  	Name string `json:"name,omitempty"`
 12346  
 12347  	// TargetingTemplateId: A targeting template ID. The targeting from the
 12348  	// targeting template will be used to determine whether this asset
 12349  	// should be served. This is a required field.
 12350  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
 12351  
 12352  	// ForceSendFields is a list of field names (e.g. "AssetId") to
 12353  	// unconditionally include in API requests. By default, fields with
 12354  	// empty values are omitted from API requests. However, any non-pointer,
 12355  	// non-interface field appearing in ForceSendFields will be sent to the
 12356  	// server regardless of whether the field is empty or not. This may be
 12357  	// used to include empty fields in Patch requests.
 12358  	ForceSendFields []string `json:"-"`
 12359  
 12360  	// NullFields is a list of field names (e.g. "AssetId") to include in
 12361  	// API requests with the JSON null value. By default, fields with empty
 12362  	// values are omitted from API requests. However, any field with an
 12363  	// empty value appearing in NullFields will be sent to the server as
 12364  	// null. It is an error if a field in this list has a non-empty value.
 12365  	// This may be used to include null fields in Patch requests.
 12366  	NullFields []string `json:"-"`
 12367  }
 12368  
 12369  func (s *Rule) MarshalJSON() ([]byte, error) {
 12370  	type NoMethod Rule
 12371  	raw := NoMethod(*s)
 12372  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12373  }
 12374  
 12375  // Site: Contains properties of a site.
 12376  type Site struct {
 12377  	// AccountId: Account ID of this site. This is a read-only field that
 12378  	// can be left blank.
 12379  	AccountId int64 `json:"accountId,omitempty,string"`
 12380  
 12381  	// Approved: Whether this site is approved.
 12382  	Approved bool `json:"approved,omitempty"`
 12383  
 12384  	// DirectorySiteId: Directory site associated with this site. This is a
 12385  	// required field that is read-only after insertion.
 12386  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 12387  
 12388  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 12389  	// directory site. This is a read-only, auto-generated field.
 12390  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 12391  
 12392  	// Id: ID of this site. This is a read-only, auto-generated field.
 12393  	Id int64 `json:"id,omitempty,string"`
 12394  
 12395  	// IdDimensionValue: Dimension value for the ID of this site. This is a
 12396  	// read-only, auto-generated field.
 12397  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 12398  
 12399  	// KeyName: Key name of this site. This is a read-only, auto-generated
 12400  	// field.
 12401  	KeyName string `json:"keyName,omitempty"`
 12402  
 12403  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12404  	// string "dfareporting#site".
 12405  	Kind string `json:"kind,omitempty"`
 12406  
 12407  	// Name: Name of this site.This is a required field. Must be less than
 12408  	// 128 characters long. If this site is under a subaccount, the name
 12409  	// must be unique among sites of the same subaccount. Otherwise, this
 12410  	// site is a top-level site, and the name must be unique among top-level
 12411  	// sites of the same account.
 12412  	Name string `json:"name,omitempty"`
 12413  
 12414  	// SiteContacts: Site contacts.
 12415  	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
 12416  
 12417  	// SiteSettings: Site-wide settings.
 12418  	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
 12419  
 12420  	// SubaccountId: Subaccount ID of this site. This is a read-only field
 12421  	// that can be left blank.
 12422  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12423  
 12424  	// ServerResponse contains the HTTP response code and headers from the
 12425  	// server.
 12426  	googleapi.ServerResponse `json:"-"`
 12427  
 12428  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12429  	// unconditionally include in API requests. By default, fields with
 12430  	// empty values are omitted from API requests. However, any non-pointer,
 12431  	// non-interface field appearing in ForceSendFields will be sent to the
 12432  	// server regardless of whether the field is empty or not. This may be
 12433  	// used to include empty fields in Patch requests.
 12434  	ForceSendFields []string `json:"-"`
 12435  
 12436  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12437  	// API requests with the JSON null value. By default, fields with empty
 12438  	// values are omitted from API requests. However, any field with an
 12439  	// empty value appearing in NullFields will be sent to the server as
 12440  	// null. It is an error if a field in this list has a non-empty value.
 12441  	// This may be used to include null fields in Patch requests.
 12442  	NullFields []string `json:"-"`
 12443  }
 12444  
 12445  func (s *Site) MarshalJSON() ([]byte, error) {
 12446  	type NoMethod Site
 12447  	raw := NoMethod(*s)
 12448  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12449  }
 12450  
 12451  // SiteContact: Site Contact
 12452  type SiteContact struct {
 12453  	// Address: Address of this site contact.
 12454  	Address string `json:"address,omitempty"`
 12455  
 12456  	// ContactType: Site contact type.
 12457  	//
 12458  	// Possible values:
 12459  	//   "SALES_PERSON"
 12460  	//   "TRAFFICKER"
 12461  	ContactType string `json:"contactType,omitempty"`
 12462  
 12463  	// Email: Email address of this site contact. This is a required field.
 12464  	Email string `json:"email,omitempty"`
 12465  
 12466  	// FirstName: First name of this site contact.
 12467  	FirstName string `json:"firstName,omitempty"`
 12468  
 12469  	// Id: ID of this site contact. This is a read-only, auto-generated
 12470  	// field.
 12471  	Id int64 `json:"id,omitempty,string"`
 12472  
 12473  	// LastName: Last name of this site contact.
 12474  	LastName string `json:"lastName,omitempty"`
 12475  
 12476  	// Phone: Primary phone number of this site contact.
 12477  	Phone string `json:"phone,omitempty"`
 12478  
 12479  	// Title: Title or designation of this site contact.
 12480  	Title string `json:"title,omitempty"`
 12481  
 12482  	// ForceSendFields is a list of field names (e.g. "Address") to
 12483  	// unconditionally include in API requests. By default, fields with
 12484  	// empty values are omitted from API requests. However, any non-pointer,
 12485  	// non-interface field appearing in ForceSendFields will be sent to the
 12486  	// server regardless of whether the field is empty or not. This may be
 12487  	// used to include empty fields in Patch requests.
 12488  	ForceSendFields []string `json:"-"`
 12489  
 12490  	// NullFields is a list of field names (e.g. "Address") to include in
 12491  	// API requests with the JSON null value. By default, fields with empty
 12492  	// values are omitted from API requests. However, any field with an
 12493  	// empty value appearing in NullFields will be sent to the server as
 12494  	// null. It is an error if a field in this list has a non-empty value.
 12495  	// This may be used to include null fields in Patch requests.
 12496  	NullFields []string `json:"-"`
 12497  }
 12498  
 12499  func (s *SiteContact) MarshalJSON() ([]byte, error) {
 12500  	type NoMethod SiteContact
 12501  	raw := NoMethod(*s)
 12502  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12503  }
 12504  
 12505  // SiteSettings: Site Settings
 12506  type SiteSettings struct {
 12507  	// ActiveViewOptOut: Whether active view creatives are disabled for this
 12508  	// site.
 12509  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
 12510  
 12511  	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
 12512  	// true, ad blocking is disabled for all placements under the site,
 12513  	// regardless of the individual placement settings. When false, the
 12514  	// campaign and placement settings take effect.
 12515  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
 12516  
 12517  	// CreativeSettings: Site-wide creative settings.
 12518  	CreativeSettings *CreativeSettings `json:"creativeSettings,omitempty"`
 12519  
 12520  	// DisableNewCookie: Whether new cookies are disabled for this site.
 12521  	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
 12522  
 12523  	// LookbackConfiguration: Lookback window settings for this site.
 12524  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 12525  
 12526  	// TagSetting: Configuration settings for dynamic and image floodlight
 12527  	// tags.
 12528  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
 12529  
 12530  	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
 12531  	// for in-stream video creatives are disabled by default for new
 12532  	// placements created under this site. This value will be used to
 12533  	// populate the placement.videoActiveViewOptOut field, when no value is
 12534  	// specified for the new placement.
 12535  	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
 12536  
 12537  	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
 12538  	// placements created under this site. This value will be used to
 12539  	// populate the placements.vpaidAdapterChoice field, when no value is
 12540  	// specified for the new placement. Controls which VPAID format the
 12541  	// measurement adapter will use for in-stream video creatives assigned
 12542  	// to the placement. The publisher's specifications will typically
 12543  	// determine this setting. For VPAID creatives, the adapter format will
 12544  	// match the VPAID format (HTML5 VPAID creatives use the HTML5
 12545  	// adapter).
 12546  	//
 12547  	// Note: Flash is no longer supported. This field now defaults to HTML5
 12548  	// when the following values are provided: FLASH, BOTH.
 12549  	//
 12550  	// Possible values:
 12551  	//   "BOTH"
 12552  	//   "DEFAULT"
 12553  	//   "FLASH"
 12554  	//   "HTML5"
 12555  	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
 12556  
 12557  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
 12558  	// unconditionally include in API requests. By default, fields with
 12559  	// empty values are omitted from API requests. However, any non-pointer,
 12560  	// non-interface field appearing in ForceSendFields will be sent to the
 12561  	// server regardless of whether the field is empty or not. This may be
 12562  	// used to include empty fields in Patch requests.
 12563  	ForceSendFields []string `json:"-"`
 12564  
 12565  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
 12566  	// include in API requests with the JSON null value. By default, fields
 12567  	// with empty values are omitted from API requests. However, any field
 12568  	// with an empty value appearing in NullFields will be sent to the
 12569  	// server as null. It is an error if a field in this list has a
 12570  	// non-empty value. This may be used to include null fields in Patch
 12571  	// requests.
 12572  	NullFields []string `json:"-"`
 12573  }
 12574  
 12575  func (s *SiteSettings) MarshalJSON() ([]byte, error) {
 12576  	type NoMethod SiteSettings
 12577  	raw := NoMethod(*s)
 12578  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12579  }
 12580  
 12581  // SitesListResponse: Site List Response
 12582  type SitesListResponse struct {
 12583  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12584  	// string "dfareporting#sitesListResponse".
 12585  	Kind string `json:"kind,omitempty"`
 12586  
 12587  	// NextPageToken: Pagination token to be used for the next list
 12588  	// operation.
 12589  	NextPageToken string `json:"nextPageToken,omitempty"`
 12590  
 12591  	// Sites: Site collection.
 12592  	Sites []*Site `json:"sites,omitempty"`
 12593  
 12594  	// ServerResponse contains the HTTP response code and headers from the
 12595  	// server.
 12596  	googleapi.ServerResponse `json:"-"`
 12597  
 12598  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12599  	// unconditionally include in API requests. By default, fields with
 12600  	// empty values are omitted from API requests. However, any non-pointer,
 12601  	// non-interface field appearing in ForceSendFields will be sent to the
 12602  	// server regardless of whether the field is empty or not. This may be
 12603  	// used to include empty fields in Patch requests.
 12604  	ForceSendFields []string `json:"-"`
 12605  
 12606  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12607  	// requests with the JSON null value. By default, fields with empty
 12608  	// values are omitted from API requests. However, any field with an
 12609  	// empty value appearing in NullFields will be sent to the server as
 12610  	// null. It is an error if a field in this list has a non-empty value.
 12611  	// This may be used to include null fields in Patch requests.
 12612  	NullFields []string `json:"-"`
 12613  }
 12614  
 12615  func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
 12616  	type NoMethod SitesListResponse
 12617  	raw := NoMethod(*s)
 12618  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12619  }
 12620  
 12621  // Size: Represents the dimensions of ads, placements, creatives, or
 12622  // creative assets.
 12623  type Size struct {
 12624  	// Height: Height of this size. Acceptable values are 0 to 32767,
 12625  	// inclusive.
 12626  	Height int64 `json:"height,omitempty"`
 12627  
 12628  	// Iab: IAB standard size. This is a read-only, auto-generated field.
 12629  	Iab bool `json:"iab,omitempty"`
 12630  
 12631  	// Id: ID of this size. This is a read-only, auto-generated field.
 12632  	Id int64 `json:"id,omitempty,string"`
 12633  
 12634  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12635  	// string "dfareporting#size".
 12636  	Kind string `json:"kind,omitempty"`
 12637  
 12638  	// Width: Width of this size. Acceptable values are 0 to 32767,
 12639  	// inclusive.
 12640  	Width int64 `json:"width,omitempty"`
 12641  
 12642  	// ServerResponse contains the HTTP response code and headers from the
 12643  	// server.
 12644  	googleapi.ServerResponse `json:"-"`
 12645  
 12646  	// ForceSendFields is a list of field names (e.g. "Height") to
 12647  	// unconditionally include in API requests. By default, fields with
 12648  	// empty values are omitted from API requests. However, any non-pointer,
 12649  	// non-interface field appearing in ForceSendFields will be sent to the
 12650  	// server regardless of whether the field is empty or not. This may be
 12651  	// used to include empty fields in Patch requests.
 12652  	ForceSendFields []string `json:"-"`
 12653  
 12654  	// NullFields is a list of field names (e.g. "Height") to include in API
 12655  	// requests with the JSON null value. By default, fields with empty
 12656  	// values are omitted from API requests. However, any field with an
 12657  	// empty value appearing in NullFields will be sent to the server as
 12658  	// null. It is an error if a field in this list has a non-empty value.
 12659  	// This may be used to include null fields in Patch requests.
 12660  	NullFields []string `json:"-"`
 12661  }
 12662  
 12663  func (s *Size) MarshalJSON() ([]byte, error) {
 12664  	type NoMethod Size
 12665  	raw := NoMethod(*s)
 12666  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12667  }
 12668  
 12669  // SizesListResponse: Size List Response
 12670  type SizesListResponse struct {
 12671  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12672  	// string "dfareporting#sizesListResponse".
 12673  	Kind string `json:"kind,omitempty"`
 12674  
 12675  	// Sizes: Size collection.
 12676  	Sizes []*Size `json:"sizes,omitempty"`
 12677  
 12678  	// ServerResponse contains the HTTP response code and headers from the
 12679  	// server.
 12680  	googleapi.ServerResponse `json:"-"`
 12681  
 12682  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12683  	// unconditionally include in API requests. By default, fields with
 12684  	// empty values are omitted from API requests. However, any non-pointer,
 12685  	// non-interface field appearing in ForceSendFields will be sent to the
 12686  	// server regardless of whether the field is empty or not. This may be
 12687  	// used to include empty fields in Patch requests.
 12688  	ForceSendFields []string `json:"-"`
 12689  
 12690  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12691  	// requests with the JSON null value. By default, fields with empty
 12692  	// values are omitted from API requests. However, any field with an
 12693  	// empty value appearing in NullFields will be sent to the server as
 12694  	// null. It is an error if a field in this list has a non-empty value.
 12695  	// This may be used to include null fields in Patch requests.
 12696  	NullFields []string `json:"-"`
 12697  }
 12698  
 12699  func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
 12700  	type NoMethod SizesListResponse
 12701  	raw := NoMethod(*s)
 12702  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12703  }
 12704  
 12705  // SkippableSetting: Skippable Settings
 12706  type SkippableSetting struct {
 12707  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12708  	// string "dfareporting#skippableSetting".
 12709  	Kind string `json:"kind,omitempty"`
 12710  
 12711  	// ProgressOffset: Amount of time to play videos served to this
 12712  	// placement before counting a view. Applicable when skippable is true.
 12713  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
 12714  
 12715  	// SkipOffset: Amount of time to play videos served to this placement
 12716  	// before the skip button should appear. Applicable when skippable is
 12717  	// true.
 12718  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
 12719  
 12720  	// Skippable: Whether the user can skip creatives served to this
 12721  	// placement.
 12722  	Skippable bool `json:"skippable,omitempty"`
 12723  
 12724  	// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") 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 *SkippableSetting) MarshalJSON() ([]byte, error) {
 12742  	type NoMethod SkippableSetting
 12743  	raw := NoMethod(*s)
 12744  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12745  }
 12746  
 12747  // SortedDimension: Represents a sorted dimension.
 12748  type SortedDimension struct {
 12749  	// Kind: The kind of resource this is, in this case
 12750  	// dfareporting#sortedDimension.
 12751  	Kind string `json:"kind,omitempty"`
 12752  
 12753  	// Name: The name of the dimension.
 12754  	Name string `json:"name,omitempty"`
 12755  
 12756  	// SortOrder: An optional sort order for the dimension column.
 12757  	//
 12758  	// Possible values:
 12759  	//   "ASCENDING"
 12760  	//   "DESCENDING"
 12761  	SortOrder string `json:"sortOrder,omitempty"`
 12762  
 12763  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12764  	// unconditionally include in API requests. By default, fields with
 12765  	// empty values are omitted from API requests. However, any non-pointer,
 12766  	// non-interface field appearing in ForceSendFields will be sent to the
 12767  	// server regardless of whether the field is empty or not. This may be
 12768  	// used to include empty fields in Patch requests.
 12769  	ForceSendFields []string `json:"-"`
 12770  
 12771  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12772  	// requests with the JSON null value. By default, fields with empty
 12773  	// values are omitted from API requests. However, any field with an
 12774  	// empty value appearing in NullFields will be sent to the server as
 12775  	// null. It is an error if a field in this list has a non-empty value.
 12776  	// This may be used to include null fields in Patch requests.
 12777  	NullFields []string `json:"-"`
 12778  }
 12779  
 12780  func (s *SortedDimension) MarshalJSON() ([]byte, error) {
 12781  	type NoMethod SortedDimension
 12782  	raw := NoMethod(*s)
 12783  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12784  }
 12785  
 12786  // Subaccount: Contains properties of a Campaign Manager subaccount.
 12787  type Subaccount struct {
 12788  	// AccountId: ID of the account that contains this subaccount. This is a
 12789  	// read-only field that can be left blank.
 12790  	AccountId int64 `json:"accountId,omitempty,string"`
 12791  
 12792  	// AvailablePermissionIds: IDs of the available user role permissions
 12793  	// for this subaccount.
 12794  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
 12795  
 12796  	// Id: ID of this subaccount. This is a read-only, auto-generated field.
 12797  	Id int64 `json:"id,omitempty,string"`
 12798  
 12799  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12800  	// string "dfareporting#subaccount".
 12801  	Kind string `json:"kind,omitempty"`
 12802  
 12803  	// Name: Name of this subaccount. This is a required field. Must be less
 12804  	// than 128 characters long and be unique among subaccounts of the same
 12805  	// account.
 12806  	Name string `json:"name,omitempty"`
 12807  
 12808  	// ServerResponse contains the HTTP response code and headers from the
 12809  	// server.
 12810  	googleapi.ServerResponse `json:"-"`
 12811  
 12812  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12813  	// unconditionally include in API requests. By default, fields with
 12814  	// empty values are omitted from API requests. However, any non-pointer,
 12815  	// non-interface field appearing in ForceSendFields will be sent to the
 12816  	// server regardless of whether the field is empty or not. This may be
 12817  	// used to include empty fields in Patch requests.
 12818  	ForceSendFields []string `json:"-"`
 12819  
 12820  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12821  	// API requests with the JSON null value. By default, fields with empty
 12822  	// values are omitted from API requests. However, any field with an
 12823  	// empty value appearing in NullFields will be sent to the server as
 12824  	// null. It is an error if a field in this list has a non-empty value.
 12825  	// This may be used to include null fields in Patch requests.
 12826  	NullFields []string `json:"-"`
 12827  }
 12828  
 12829  func (s *Subaccount) MarshalJSON() ([]byte, error) {
 12830  	type NoMethod Subaccount
 12831  	raw := NoMethod(*s)
 12832  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12833  }
 12834  
 12835  // SubaccountsListResponse: Subaccount List Response
 12836  type SubaccountsListResponse struct {
 12837  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12838  	// string "dfareporting#subaccountsListResponse".
 12839  	Kind string `json:"kind,omitempty"`
 12840  
 12841  	// NextPageToken: Pagination token to be used for the next list
 12842  	// operation.
 12843  	NextPageToken string `json:"nextPageToken,omitempty"`
 12844  
 12845  	// Subaccounts: Subaccount collection.
 12846  	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
 12847  
 12848  	// ServerResponse contains the HTTP response code and headers from the
 12849  	// server.
 12850  	googleapi.ServerResponse `json:"-"`
 12851  
 12852  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12853  	// unconditionally include in API requests. By default, fields with
 12854  	// empty values are omitted from API requests. However, any non-pointer,
 12855  	// non-interface field appearing in ForceSendFields will be sent to the
 12856  	// server regardless of whether the field is empty or not. This may be
 12857  	// used to include empty fields in Patch requests.
 12858  	ForceSendFields []string `json:"-"`
 12859  
 12860  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12861  	// requests with the JSON null value. By default, fields with empty
 12862  	// values are omitted from API requests. However, any field with an
 12863  	// empty value appearing in NullFields will be sent to the server as
 12864  	// null. It is an error if a field in this list has a non-empty value.
 12865  	// This may be used to include null fields in Patch requests.
 12866  	NullFields []string `json:"-"`
 12867  }
 12868  
 12869  func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
 12870  	type NoMethod SubaccountsListResponse
 12871  	raw := NoMethod(*s)
 12872  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12873  }
 12874  
 12875  // TagData: Placement Tag Data
 12876  type TagData struct {
 12877  	// AdId: Ad associated with this placement tag. Applicable only when
 12878  	// format is PLACEMENT_TAG_TRACKING.
 12879  	AdId int64 `json:"adId,omitempty,string"`
 12880  
 12881  	// ClickTag: Tag string to record a click.
 12882  	ClickTag string `json:"clickTag,omitempty"`
 12883  
 12884  	// CreativeId: Creative associated with this placement tag. Applicable
 12885  	// only when format is PLACEMENT_TAG_TRACKING.
 12886  	CreativeId int64 `json:"creativeId,omitempty,string"`
 12887  
 12888  	// Format: TagData tag format of this tag.
 12889  	//
 12890  	// Possible values:
 12891  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
 12892  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 12893  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 12894  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 12895  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 12896  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 12897  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 12898  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
 12899  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 12900  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 12901  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 12902  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 12903  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 12904  	//   "PLACEMENT_TAG_JAVASCRIPT"
 12905  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 12906  	//   "PLACEMENT_TAG_STANDARD"
 12907  	//   "PLACEMENT_TAG_TRACKING"
 12908  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 12909  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 12910  	Format string `json:"format,omitempty"`
 12911  
 12912  	// ImpressionTag: Tag string for serving an ad.
 12913  	ImpressionTag string `json:"impressionTag,omitempty"`
 12914  
 12915  	// ForceSendFields is a list of field names (e.g. "AdId") to
 12916  	// unconditionally include in API requests. By default, fields with
 12917  	// empty values are omitted from API requests. However, any non-pointer,
 12918  	// non-interface field appearing in ForceSendFields will be sent to the
 12919  	// server regardless of whether the field is empty or not. This may be
 12920  	// used to include empty fields in Patch requests.
 12921  	ForceSendFields []string `json:"-"`
 12922  
 12923  	// NullFields is a list of field names (e.g. "AdId") to include in API
 12924  	// requests with the JSON null value. By default, fields with empty
 12925  	// values are omitted from API requests. However, any field with an
 12926  	// empty value appearing in NullFields will be sent to the server as
 12927  	// null. It is an error if a field in this list has a non-empty value.
 12928  	// This may be used to include null fields in Patch requests.
 12929  	NullFields []string `json:"-"`
 12930  }
 12931  
 12932  func (s *TagData) MarshalJSON() ([]byte, error) {
 12933  	type NoMethod TagData
 12934  	raw := NoMethod(*s)
 12935  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12936  }
 12937  
 12938  // TagSetting: Tag Settings
 12939  type TagSetting struct {
 12940  	// AdditionalKeyValues: Additional key-values to be included in tags.
 12941  	// Each key-value pair must be of the form key=value, and pairs must be
 12942  	// separated by a semicolon (;). Keys and values must not contain
 12943  	// commas. For example, id=2;color=red is a valid value for this field.
 12944  	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
 12945  
 12946  	// IncludeClickThroughUrls: Whether static landing page URLs should be
 12947  	// included in the tags. This setting applies only to placements.
 12948  	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
 12949  
 12950  	// IncludeClickTracking: Whether click-tracking string should be
 12951  	// included in the tags.
 12952  	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
 12953  
 12954  	// KeywordOption: Option specifying how keywords are embedded in ad
 12955  	// tags. This setting can be used to specify whether keyword
 12956  	// placeholders are inserted in placement tags for this site. Publishers
 12957  	// can then add keywords to those placeholders.
 12958  	//
 12959  	// Possible values:
 12960  	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
 12961  	//   "IGNORE"
 12962  	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
 12963  	KeywordOption string `json:"keywordOption,omitempty"`
 12964  
 12965  	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
 12966  	// to unconditionally include in API requests. By default, fields with
 12967  	// empty values are omitted from API requests. However, any non-pointer,
 12968  	// non-interface field appearing in ForceSendFields will be sent to the
 12969  	// server regardless of whether the field is empty or not. This may be
 12970  	// used to include empty fields in Patch requests.
 12971  	ForceSendFields []string `json:"-"`
 12972  
 12973  	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
 12974  	// include in API requests with the JSON null value. By default, fields
 12975  	// with empty values are omitted from API requests. However, any field
 12976  	// with an empty value appearing in NullFields will be sent to the
 12977  	// server as null. It is an error if a field in this list has a
 12978  	// non-empty value. This may be used to include null fields in Patch
 12979  	// requests.
 12980  	NullFields []string `json:"-"`
 12981  }
 12982  
 12983  func (s *TagSetting) MarshalJSON() ([]byte, error) {
 12984  	type NoMethod TagSetting
 12985  	raw := NoMethod(*s)
 12986  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12987  }
 12988  
 12989  // TagSettings: Dynamic and Image Tag Settings.
 12990  type TagSettings struct {
 12991  	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
 12992  	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
 12993  
 12994  	// ImageTagEnabled: Whether image tags are enabled.
 12995  	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
 12996  
 12997  	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
 12998  	// to unconditionally include in API requests. By default, fields with
 12999  	// empty values are omitted from API requests. However, any non-pointer,
 13000  	// non-interface field appearing in ForceSendFields will be sent to the
 13001  	// server regardless of whether the field is empty or not. This may be
 13002  	// used to include empty fields in Patch requests.
 13003  	ForceSendFields []string `json:"-"`
 13004  
 13005  	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
 13006  	// include in API requests with the JSON null value. By default, fields
 13007  	// with empty values are omitted from API requests. However, any field
 13008  	// with an empty value appearing in NullFields will be sent to the
 13009  	// server as null. It is an error if a field in this list has a
 13010  	// non-empty value. This may be used to include null fields in Patch
 13011  	// requests.
 13012  	NullFields []string `json:"-"`
 13013  }
 13014  
 13015  func (s *TagSettings) MarshalJSON() ([]byte, error) {
 13016  	type NoMethod TagSettings
 13017  	raw := NoMethod(*s)
 13018  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13019  }
 13020  
 13021  // TargetWindow: Target Window.
 13022  type TargetWindow struct {
 13023  	// CustomHtml: User-entered value.
 13024  	CustomHtml string `json:"customHtml,omitempty"`
 13025  
 13026  	// TargetWindowOption: Type of browser window for which the backup image
 13027  	// of the flash creative can be displayed.
 13028  	//
 13029  	// Possible values:
 13030  	//   "CURRENT_WINDOW"
 13031  	//   "CUSTOM"
 13032  	//   "NEW_WINDOW"
 13033  	TargetWindowOption string `json:"targetWindowOption,omitempty"`
 13034  
 13035  	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
 13036  	// unconditionally include in API requests. By default, fields with
 13037  	// empty values are omitted from API requests. However, any non-pointer,
 13038  	// non-interface field appearing in ForceSendFields will be sent to the
 13039  	// server regardless of whether the field is empty or not. This may be
 13040  	// used to include empty fields in Patch requests.
 13041  	ForceSendFields []string `json:"-"`
 13042  
 13043  	// NullFields is a list of field names (e.g. "CustomHtml") to include in
 13044  	// API requests with the JSON null value. By default, fields with empty
 13045  	// values are omitted from API requests. However, any field with an
 13046  	// empty value appearing in NullFields will be sent to the server as
 13047  	// null. It is an error if a field in this list has a non-empty value.
 13048  	// This may be used to include null fields in Patch requests.
 13049  	NullFields []string `json:"-"`
 13050  }
 13051  
 13052  func (s *TargetWindow) MarshalJSON() ([]byte, error) {
 13053  	type NoMethod TargetWindow
 13054  	raw := NoMethod(*s)
 13055  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13056  }
 13057  
 13058  // TargetableRemarketingList: Contains properties of a targetable
 13059  // remarketing list. Remarketing enables you to create lists of users
 13060  // who have performed specific actions on a site, then target ads to
 13061  // members of those lists. This resource is a read-only view of a
 13062  // remarketing list to be used to faciliate targeting ads to specific
 13063  // lists. Remarketing lists that are owned by your advertisers and those
 13064  // that are shared to your advertisers or account are accessible via
 13065  // this resource. To manage remarketing lists that are owned by your
 13066  // advertisers, use the RemarketingLists resource.
 13067  type TargetableRemarketingList struct {
 13068  	// AccountId: Account ID of this remarketing list. This is a read-only,
 13069  	// auto-generated field that is only returned in GET requests.
 13070  	AccountId int64 `json:"accountId,omitempty,string"`
 13071  
 13072  	// Active: Whether this targetable remarketing list is active.
 13073  	Active bool `json:"active,omitempty"`
 13074  
 13075  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 13076  	// targetable remarketing list.
 13077  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13078  
 13079  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 13080  	// advertiser.
 13081  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 13082  
 13083  	// Description: Targetable remarketing list description.
 13084  	Description string `json:"description,omitempty"`
 13085  
 13086  	// Id: Targetable remarketing list ID.
 13087  	Id int64 `json:"id,omitempty,string"`
 13088  
 13089  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13090  	// string "dfareporting#targetableRemarketingList".
 13091  	Kind string `json:"kind,omitempty"`
 13092  
 13093  	// LifeSpan: Number of days that a user should remain in the targetable
 13094  	// remarketing list without an impression.
 13095  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 13096  
 13097  	// ListSize: Number of users currently in the list. This is a read-only
 13098  	// field.
 13099  	ListSize int64 `json:"listSize,omitempty,string"`
 13100  
 13101  	// ListSource: Product from which this targetable remarketing list was
 13102  	// originated.
 13103  	//
 13104  	// Possible values:
 13105  	//   "REMARKETING_LIST_SOURCE_ADX"
 13106  	//   "REMARKETING_LIST_SOURCE_DBM"
 13107  	//   "REMARKETING_LIST_SOURCE_DFA"
 13108  	//   "REMARKETING_LIST_SOURCE_DFP"
 13109  	//   "REMARKETING_LIST_SOURCE_DMP"
 13110  	//   "REMARKETING_LIST_SOURCE_GA"
 13111  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 13112  	//   "REMARKETING_LIST_SOURCE_OTHER"
 13113  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 13114  	//   "REMARKETING_LIST_SOURCE_XFP"
 13115  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 13116  	ListSource string `json:"listSource,omitempty"`
 13117  
 13118  	// Name: Name of the targetable remarketing list. Is no greater than 128
 13119  	// characters long.
 13120  	Name string `json:"name,omitempty"`
 13121  
 13122  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 13123  	// read-only, auto-generated field that is only returned in GET
 13124  	// requests.
 13125  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13126  
 13127  	// ServerResponse contains the HTTP response code and headers from the
 13128  	// server.
 13129  	googleapi.ServerResponse `json:"-"`
 13130  
 13131  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13132  	// unconditionally include in API requests. By default, fields with
 13133  	// empty values are omitted from API requests. However, any non-pointer,
 13134  	// non-interface field appearing in ForceSendFields will be sent to the
 13135  	// server regardless of whether the field is empty or not. This may be
 13136  	// used to include empty fields in Patch requests.
 13137  	ForceSendFields []string `json:"-"`
 13138  
 13139  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13140  	// API requests with the JSON null value. By default, fields with empty
 13141  	// values are omitted from API requests. However, any field with an
 13142  	// empty value appearing in NullFields will be sent to the server as
 13143  	// null. It is an error if a field in this list has a non-empty value.
 13144  	// This may be used to include null fields in Patch requests.
 13145  	NullFields []string `json:"-"`
 13146  }
 13147  
 13148  func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
 13149  	type NoMethod TargetableRemarketingList
 13150  	raw := NoMethod(*s)
 13151  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13152  }
 13153  
 13154  // TargetableRemarketingListsListResponse: Targetable remarketing list
 13155  // response
 13156  type TargetableRemarketingListsListResponse struct {
 13157  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13158  	// string "dfareporting#targetableRemarketingListsListResponse".
 13159  	Kind string `json:"kind,omitempty"`
 13160  
 13161  	// NextPageToken: Pagination token to be used for the next list
 13162  	// operation.
 13163  	NextPageToken string `json:"nextPageToken,omitempty"`
 13164  
 13165  	// TargetableRemarketingLists: Targetable remarketing list collection.
 13166  	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
 13167  
 13168  	// ServerResponse contains the HTTP response code and headers from the
 13169  	// server.
 13170  	googleapi.ServerResponse `json:"-"`
 13171  
 13172  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13173  	// unconditionally include in API requests. By default, fields with
 13174  	// empty values are omitted from API requests. However, any non-pointer,
 13175  	// non-interface field appearing in ForceSendFields will be sent to the
 13176  	// server regardless of whether the field is empty or not. This may be
 13177  	// used to include empty fields in Patch requests.
 13178  	ForceSendFields []string `json:"-"`
 13179  
 13180  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13181  	// requests with the JSON null value. By default, fields with empty
 13182  	// values are omitted from API requests. However, any field with an
 13183  	// empty value appearing in NullFields will be sent to the server as
 13184  	// null. It is an error if a field in this list has a non-empty value.
 13185  	// This may be used to include null fields in Patch requests.
 13186  	NullFields []string `json:"-"`
 13187  }
 13188  
 13189  func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 13190  	type NoMethod TargetableRemarketingListsListResponse
 13191  	raw := NoMethod(*s)
 13192  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13193  }
 13194  
 13195  // TargetingTemplate: Contains properties of a targeting template. A
 13196  // targeting template encapsulates targeting information which can be
 13197  // reused across multiple ads.
 13198  type TargetingTemplate struct {
 13199  	// AccountId: Account ID of this targeting template. This field, if left
 13200  	// unset, will be auto-generated on insert and is read-only after
 13201  	// insert.
 13202  	AccountId int64 `json:"accountId,omitempty,string"`
 13203  
 13204  	// AdvertiserId: Advertiser ID of this targeting template. This is a
 13205  	// required field on insert and is read-only after insert.
 13206  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13207  
 13208  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 13209  	// advertiser. This is a read-only, auto-generated field.
 13210  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 13211  
 13212  	// DayPartTargeting: Time and day targeting criteria.
 13213  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
 13214  
 13215  	// GeoTargeting: Geographical targeting criteria.
 13216  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
 13217  
 13218  	// Id: ID of this targeting template. This is a read-only,
 13219  	// auto-generated field.
 13220  	Id int64 `json:"id,omitempty,string"`
 13221  
 13222  	// KeyValueTargetingExpression: Key-value targeting criteria.
 13223  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
 13224  
 13225  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13226  	// string "dfareporting#targetingTemplate".
 13227  	Kind string `json:"kind,omitempty"`
 13228  
 13229  	// LanguageTargeting: Language targeting criteria.
 13230  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
 13231  
 13232  	// ListTargetingExpression: Remarketing list targeting criteria.
 13233  	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
 13234  
 13235  	// Name: Name of this targeting template. This field is required. It
 13236  	// must be less than 256 characters long and unique within an
 13237  	// advertiser.
 13238  	Name string `json:"name,omitempty"`
 13239  
 13240  	// SubaccountId: Subaccount ID of this targeting template. This field,
 13241  	// if left unset, will be auto-generated on insert and is read-only
 13242  	// after insert.
 13243  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13244  
 13245  	// TechnologyTargeting: Technology platform targeting criteria.
 13246  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
 13247  
 13248  	// ServerResponse contains the HTTP response code and headers from the
 13249  	// server.
 13250  	googleapi.ServerResponse `json:"-"`
 13251  
 13252  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13253  	// unconditionally include in API requests. By default, fields with
 13254  	// empty values are omitted from API requests. However, any non-pointer,
 13255  	// non-interface field appearing in ForceSendFields will be sent to the
 13256  	// server regardless of whether the field is empty or not. This may be
 13257  	// used to include empty fields in Patch requests.
 13258  	ForceSendFields []string `json:"-"`
 13259  
 13260  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13261  	// API requests with the JSON null value. By default, fields with empty
 13262  	// values are omitted from API requests. However, any field with an
 13263  	// empty value appearing in NullFields will be sent to the server as
 13264  	// null. It is an error if a field in this list has a non-empty value.
 13265  	// This may be used to include null fields in Patch requests.
 13266  	NullFields []string `json:"-"`
 13267  }
 13268  
 13269  func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
 13270  	type NoMethod TargetingTemplate
 13271  	raw := NoMethod(*s)
 13272  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13273  }
 13274  
 13275  // TargetingTemplatesListResponse: Targeting Template List Response
 13276  type TargetingTemplatesListResponse struct {
 13277  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13278  	// string "dfareporting#targetingTemplatesListResponse".
 13279  	Kind string `json:"kind,omitempty"`
 13280  
 13281  	// NextPageToken: Pagination token to be used for the next list
 13282  	// operation.
 13283  	NextPageToken string `json:"nextPageToken,omitempty"`
 13284  
 13285  	// TargetingTemplates: Targeting template collection.
 13286  	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
 13287  
 13288  	// ServerResponse contains the HTTP response code and headers from the
 13289  	// server.
 13290  	googleapi.ServerResponse `json:"-"`
 13291  
 13292  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13293  	// unconditionally include in API requests. By default, fields with
 13294  	// empty values are omitted from API requests. However, any non-pointer,
 13295  	// non-interface field appearing in ForceSendFields will be sent to the
 13296  	// server regardless of whether the field is empty or not. This may be
 13297  	// used to include empty fields in Patch requests.
 13298  	ForceSendFields []string `json:"-"`
 13299  
 13300  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13301  	// requests with the JSON null value. By default, fields with empty
 13302  	// values are omitted from API requests. However, any field with an
 13303  	// empty value appearing in NullFields will be sent to the server as
 13304  	// null. It is an error if a field in this list has a non-empty value.
 13305  	// This may be used to include null fields in Patch requests.
 13306  	NullFields []string `json:"-"`
 13307  }
 13308  
 13309  func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
 13310  	type NoMethod TargetingTemplatesListResponse
 13311  	raw := NoMethod(*s)
 13312  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13313  }
 13314  
 13315  // TechnologyTargeting: Technology Targeting.
 13316  type TechnologyTargeting struct {
 13317  	// Browsers: Browsers that this ad targets. For each browser either set
 13318  	// browserVersionId or dartId along with the version numbers. If both
 13319  	// are specified, only browserVersionId will be used. The other fields
 13320  	// are populated automatically when the ad is inserted or updated.
 13321  	Browsers []*Browser `json:"browsers,omitempty"`
 13322  
 13323  	// ConnectionTypes: Connection types that this ad targets. For each
 13324  	// connection type only id is required. The other fields are populated
 13325  	// automatically when the ad is inserted or updated.
 13326  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
 13327  
 13328  	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
 13329  	// carrier only id is required, and the other fields are populated
 13330  	// automatically when the ad is inserted or updated. If targeting a
 13331  	// mobile carrier, do not set targeting for any zip codes.
 13332  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
 13333  
 13334  	// OperatingSystemVersions: Operating system versions that this ad
 13335  	// targets. To target all versions, use operatingSystems. For each
 13336  	// operating system version, only id is required. The other fields are
 13337  	// populated automatically when the ad is inserted or updated. If
 13338  	// targeting an operating system version, do not set targeting for the
 13339  	// corresponding operating system in operatingSystems.
 13340  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
 13341  
 13342  	// OperatingSystems: Operating systems that this ad targets. To target
 13343  	// specific versions, use operatingSystemVersions. For each operating
 13344  	// system only dartId is required. The other fields are populated
 13345  	// automatically when the ad is inserted or updated. If targeting an
 13346  	// operating system, do not set targeting for operating system versions
 13347  	// for the same operating system.
 13348  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
 13349  
 13350  	// PlatformTypes: Platform types that this ad targets. For example,
 13351  	// desktop, mobile, or tablet. For each platform type, only id is
 13352  	// required, and the other fields are populated automatically when the
 13353  	// ad is inserted or updated.
 13354  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 13355  
 13356  	// ForceSendFields is a list of field names (e.g. "Browsers") to
 13357  	// unconditionally include in API requests. By default, fields with
 13358  	// empty values are omitted from API requests. However, any non-pointer,
 13359  	// non-interface field appearing in ForceSendFields will be sent to the
 13360  	// server regardless of whether the field is empty or not. This may be
 13361  	// used to include empty fields in Patch requests.
 13362  	ForceSendFields []string `json:"-"`
 13363  
 13364  	// NullFields is a list of field names (e.g. "Browsers") to include in
 13365  	// API requests with the JSON null value. By default, fields with empty
 13366  	// values are omitted from API requests. However, any field with an
 13367  	// empty value appearing in NullFields will be sent to the server as
 13368  	// null. It is an error if a field in this list has a non-empty value.
 13369  	// This may be used to include null fields in Patch requests.
 13370  	NullFields []string `json:"-"`
 13371  }
 13372  
 13373  func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
 13374  	type NoMethod TechnologyTargeting
 13375  	raw := NoMethod(*s)
 13376  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13377  }
 13378  
 13379  // ThirdPartyAuthenticationToken: Third Party Authentication Token
 13380  type ThirdPartyAuthenticationToken struct {
 13381  	// Name: Name of the third-party authentication token.
 13382  	Name string `json:"name,omitempty"`
 13383  
 13384  	// Value: Value of the third-party authentication token. This is a
 13385  	// read-only, auto-generated field.
 13386  	Value string `json:"value,omitempty"`
 13387  
 13388  	// ForceSendFields is a list of field names (e.g. "Name") to
 13389  	// unconditionally include in API requests. By default, fields with
 13390  	// empty values are omitted from API requests. However, any non-pointer,
 13391  	// non-interface field appearing in ForceSendFields will be sent to the
 13392  	// server regardless of whether the field is empty or not. This may be
 13393  	// used to include empty fields in Patch requests.
 13394  	ForceSendFields []string `json:"-"`
 13395  
 13396  	// NullFields is a list of field names (e.g. "Name") to include in API
 13397  	// requests with the JSON null value. By default, fields with empty
 13398  	// values are omitted from API requests. However, any field with an
 13399  	// empty value appearing in NullFields will be sent to the server as
 13400  	// null. It is an error if a field in this list has a non-empty value.
 13401  	// This may be used to include null fields in Patch requests.
 13402  	NullFields []string `json:"-"`
 13403  }
 13404  
 13405  func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
 13406  	type NoMethod ThirdPartyAuthenticationToken
 13407  	raw := NoMethod(*s)
 13408  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13409  }
 13410  
 13411  // ThirdPartyTrackingUrl: Third-party Tracking URL.
 13412  type ThirdPartyTrackingUrl struct {
 13413  	// ThirdPartyUrlType: Third-party URL type for in-stream video and
 13414  	// in-stream audio creatives.
 13415  	//
 13416  	// Possible values:
 13417  	//   "CLICK_TRACKING"
 13418  	//   "IMPRESSION"
 13419  	//   "RICH_MEDIA_BACKUP_IMPRESSION"
 13420  	//   "RICH_MEDIA_IMPRESSION"
 13421  	//   "RICH_MEDIA_RM_IMPRESSION"
 13422  	//   "SURVEY"
 13423  	//   "VIDEO_COMPLETE"
 13424  	//   "VIDEO_CUSTOM"
 13425  	//   "VIDEO_FIRST_QUARTILE"
 13426  	//   "VIDEO_FULLSCREEN"
 13427  	//   "VIDEO_MIDPOINT"
 13428  	//   "VIDEO_MUTE"
 13429  	//   "VIDEO_PAUSE"
 13430  	//   "VIDEO_PROGRESS"
 13431  	//   "VIDEO_REWIND"
 13432  	//   "VIDEO_SKIP"
 13433  	//   "VIDEO_START"
 13434  	//   "VIDEO_STOP"
 13435  	//   "VIDEO_THIRD_QUARTILE"
 13436  	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
 13437  
 13438  	// Url: URL for the specified third-party URL type.
 13439  	Url string `json:"url,omitempty"`
 13440  
 13441  	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
 13442  	// to unconditionally include in API requests. By default, fields with
 13443  	// empty values are omitted from API requests. However, any non-pointer,
 13444  	// non-interface field appearing in ForceSendFields will be sent to the
 13445  	// server regardless of whether the field is empty or not. This may be
 13446  	// used to include empty fields in Patch requests.
 13447  	ForceSendFields []string `json:"-"`
 13448  
 13449  	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
 13450  	// include in API requests with the JSON null value. By default, fields
 13451  	// with empty values are omitted from API requests. However, any field
 13452  	// with an empty value appearing in NullFields will be sent to the
 13453  	// server as null. It is an error if a field in this list has a
 13454  	// non-empty value. This may be used to include null fields in Patch
 13455  	// requests.
 13456  	NullFields []string `json:"-"`
 13457  }
 13458  
 13459  func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
 13460  	type NoMethod ThirdPartyTrackingUrl
 13461  	raw := NoMethod(*s)
 13462  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13463  }
 13464  
 13465  // TranscodeSetting: Transcode Settings
 13466  type TranscodeSetting struct {
 13467  	// EnabledVideoFormats: Whitelist of video formats to be served to this
 13468  	// placement. Set this list to null or empty to serve all video formats.
 13469  	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
 13470  
 13471  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13472  	// string "dfareporting#transcodeSetting".
 13473  	Kind string `json:"kind,omitempty"`
 13474  
 13475  	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
 13476  	// to unconditionally include in API requests. By default, fields with
 13477  	// empty values are omitted from API requests. However, any non-pointer,
 13478  	// non-interface field appearing in ForceSendFields will be sent to the
 13479  	// server regardless of whether the field is empty or not. This may be
 13480  	// used to include empty fields in Patch requests.
 13481  	ForceSendFields []string `json:"-"`
 13482  
 13483  	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
 13484  	// include in API requests with the JSON null value. By default, fields
 13485  	// with empty values are omitted from API requests. However, any field
 13486  	// with an empty value appearing in NullFields will be sent to the
 13487  	// server as null. It is an error if a field in this list has a
 13488  	// non-empty value. This may be used to include null fields in Patch
 13489  	// requests.
 13490  	NullFields []string `json:"-"`
 13491  }
 13492  
 13493  func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
 13494  	type NoMethod TranscodeSetting
 13495  	raw := NoMethod(*s)
 13496  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13497  }
 13498  
 13499  // UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
 13500  // to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
 13501  // VPAID.
 13502  type UniversalAdId struct {
 13503  	// Registry: Registry used for the Ad ID value.
 13504  	//
 13505  	// Possible values:
 13506  	//   "AD_ID.ORG"
 13507  	//   "CLEARCAST"
 13508  	//   "DCM"
 13509  	//   "OTHER"
 13510  	Registry string `json:"registry,omitempty"`
 13511  
 13512  	// Value: ID value for this creative. Only alphanumeric characters and
 13513  	// the following symbols are valid: "_/\-". Maximum length is 64
 13514  	// characters. Read only when registry is DCM.
 13515  	Value string `json:"value,omitempty"`
 13516  
 13517  	// ForceSendFields is a list of field names (e.g. "Registry") to
 13518  	// unconditionally include in API requests. By default, fields with
 13519  	// empty values are omitted from API requests. However, any non-pointer,
 13520  	// non-interface field appearing in ForceSendFields will be sent to the
 13521  	// server regardless of whether the field is empty or not. This may be
 13522  	// used to include empty fields in Patch requests.
 13523  	ForceSendFields []string `json:"-"`
 13524  
 13525  	// NullFields is a list of field names (e.g. "Registry") to include in
 13526  	// API requests with the JSON null value. By default, fields with empty
 13527  	// values are omitted from API requests. However, any field with an
 13528  	// empty value appearing in NullFields will be sent to the server as
 13529  	// null. It is an error if a field in this list has a non-empty value.
 13530  	// This may be used to include null fields in Patch requests.
 13531  	NullFields []string `json:"-"`
 13532  }
 13533  
 13534  func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
 13535  	type NoMethod UniversalAdId
 13536  	raw := NoMethod(*s)
 13537  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13538  }
 13539  
 13540  // UserDefinedVariableConfiguration: User Defined Variable
 13541  // configuration.
 13542  type UserDefinedVariableConfiguration struct {
 13543  	// DataType: Data type for the variable. This is a required field.
 13544  	//
 13545  	// Possible values:
 13546  	//   "NUMBER"
 13547  	//   "STRING"
 13548  	DataType string `json:"dataType,omitempty"`
 13549  
 13550  	// ReportName: User-friendly name for the variable which will appear in
 13551  	// reports. This is a required field, must be less than 64 characters
 13552  	// long, and cannot contain the following characters: ""<>".
 13553  	ReportName string `json:"reportName,omitempty"`
 13554  
 13555  	// VariableType: Variable name in the tag. This is a required field.
 13556  	//
 13557  	// Possible values:
 13558  	//   "U1"
 13559  	//   "U10"
 13560  	//   "U100"
 13561  	//   "U11"
 13562  	//   "U12"
 13563  	//   "U13"
 13564  	//   "U14"
 13565  	//   "U15"
 13566  	//   "U16"
 13567  	//   "U17"
 13568  	//   "U18"
 13569  	//   "U19"
 13570  	//   "U2"
 13571  	//   "U20"
 13572  	//   "U21"
 13573  	//   "U22"
 13574  	//   "U23"
 13575  	//   "U24"
 13576  	//   "U25"
 13577  	//   "U26"
 13578  	//   "U27"
 13579  	//   "U28"
 13580  	//   "U29"
 13581  	//   "U3"
 13582  	//   "U30"
 13583  	//   "U31"
 13584  	//   "U32"
 13585  	//   "U33"
 13586  	//   "U34"
 13587  	//   "U35"
 13588  	//   "U36"
 13589  	//   "U37"
 13590  	//   "U38"
 13591  	//   "U39"
 13592  	//   "U4"
 13593  	//   "U40"
 13594  	//   "U41"
 13595  	//   "U42"
 13596  	//   "U43"
 13597  	//   "U44"
 13598  	//   "U45"
 13599  	//   "U46"
 13600  	//   "U47"
 13601  	//   "U48"
 13602  	//   "U49"
 13603  	//   "U5"
 13604  	//   "U50"
 13605  	//   "U51"
 13606  	//   "U52"
 13607  	//   "U53"
 13608  	//   "U54"
 13609  	//   "U55"
 13610  	//   "U56"
 13611  	//   "U57"
 13612  	//   "U58"
 13613  	//   "U59"
 13614  	//   "U6"
 13615  	//   "U60"
 13616  	//   "U61"
 13617  	//   "U62"
 13618  	//   "U63"
 13619  	//   "U64"
 13620  	//   "U65"
 13621  	//   "U66"
 13622  	//   "U67"
 13623  	//   "U68"
 13624  	//   "U69"
 13625  	//   "U7"
 13626  	//   "U70"
 13627  	//   "U71"
 13628  	//   "U72"
 13629  	//   "U73"
 13630  	//   "U74"
 13631  	//   "U75"
 13632  	//   "U76"
 13633  	//   "U77"
 13634  	//   "U78"
 13635  	//   "U79"
 13636  	//   "U8"
 13637  	//   "U80"
 13638  	//   "U81"
 13639  	//   "U82"
 13640  	//   "U83"
 13641  	//   "U84"
 13642  	//   "U85"
 13643  	//   "U86"
 13644  	//   "U87"
 13645  	//   "U88"
 13646  	//   "U89"
 13647  	//   "U9"
 13648  	//   "U90"
 13649  	//   "U91"
 13650  	//   "U92"
 13651  	//   "U93"
 13652  	//   "U94"
 13653  	//   "U95"
 13654  	//   "U96"
 13655  	//   "U97"
 13656  	//   "U98"
 13657  	//   "U99"
 13658  	VariableType string `json:"variableType,omitempty"`
 13659  
 13660  	// ForceSendFields is a list of field names (e.g. "DataType") to
 13661  	// unconditionally include in API requests. By default, fields with
 13662  	// empty values are omitted from API requests. However, any non-pointer,
 13663  	// non-interface field appearing in ForceSendFields will be sent to the
 13664  	// server regardless of whether the field is empty or not. This may be
 13665  	// used to include empty fields in Patch requests.
 13666  	ForceSendFields []string `json:"-"`
 13667  
 13668  	// NullFields is a list of field names (e.g. "DataType") to include in
 13669  	// API requests with the JSON null value. By default, fields with empty
 13670  	// values are omitted from API requests. However, any field with an
 13671  	// empty value appearing in NullFields will be sent to the server as
 13672  	// null. It is an error if a field in this list has a non-empty value.
 13673  	// This may be used to include null fields in Patch requests.
 13674  	NullFields []string `json:"-"`
 13675  }
 13676  
 13677  func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
 13678  	type NoMethod UserDefinedVariableConfiguration
 13679  	raw := NoMethod(*s)
 13680  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13681  }
 13682  
 13683  // UserProfile: Represents a UserProfile resource.
 13684  type UserProfile struct {
 13685  	// AccountId: The account ID to which this profile belongs.
 13686  	AccountId int64 `json:"accountId,omitempty,string"`
 13687  
 13688  	// AccountName: The account name this profile belongs to.
 13689  	AccountName string `json:"accountName,omitempty"`
 13690  
 13691  	// Etag: The eTag of this response for caching purposes.
 13692  	Etag string `json:"etag,omitempty"`
 13693  
 13694  	// Kind: The kind of resource this is, in this case
 13695  	// dfareporting#userProfile.
 13696  	Kind string `json:"kind,omitempty"`
 13697  
 13698  	// ProfileId: The unique ID of the user profile.
 13699  	ProfileId int64 `json:"profileId,omitempty,string"`
 13700  
 13701  	// SubAccountId: The sub account ID this profile belongs to if
 13702  	// applicable.
 13703  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 13704  
 13705  	// SubAccountName: The sub account name this profile belongs to if
 13706  	// applicable.
 13707  	SubAccountName string `json:"subAccountName,omitempty"`
 13708  
 13709  	// UserName: The user name.
 13710  	UserName string `json:"userName,omitempty"`
 13711  
 13712  	// ServerResponse contains the HTTP response code and headers from the
 13713  	// server.
 13714  	googleapi.ServerResponse `json:"-"`
 13715  
 13716  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13717  	// unconditionally include in API requests. By default, fields with
 13718  	// empty values are omitted from API requests. However, any non-pointer,
 13719  	// non-interface field appearing in ForceSendFields will be sent to the
 13720  	// server regardless of whether the field is empty or not. This may be
 13721  	// used to include empty fields in Patch requests.
 13722  	ForceSendFields []string `json:"-"`
 13723  
 13724  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13725  	// API requests with the JSON null value. By default, fields with empty
 13726  	// values are omitted from API requests. However, any field with an
 13727  	// empty value appearing in NullFields will be sent to the server as
 13728  	// null. It is an error if a field in this list has a non-empty value.
 13729  	// This may be used to include null fields in Patch requests.
 13730  	NullFields []string `json:"-"`
 13731  }
 13732  
 13733  func (s *UserProfile) MarshalJSON() ([]byte, error) {
 13734  	type NoMethod UserProfile
 13735  	raw := NoMethod(*s)
 13736  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13737  }
 13738  
 13739  // UserProfileList: Represents the list of user profiles.
 13740  type UserProfileList struct {
 13741  	// Etag: The eTag of this response for caching purposes.
 13742  	Etag string `json:"etag,omitempty"`
 13743  
 13744  	// Items: The user profiles returned in this response.
 13745  	Items []*UserProfile `json:"items,omitempty"`
 13746  
 13747  	// Kind: The kind of list this is, in this case
 13748  	// dfareporting#userProfileList.
 13749  	Kind string `json:"kind,omitempty"`
 13750  
 13751  	// ServerResponse contains the HTTP response code and headers from the
 13752  	// server.
 13753  	googleapi.ServerResponse `json:"-"`
 13754  
 13755  	// ForceSendFields is a list of field names (e.g. "Etag") to
 13756  	// unconditionally include in API requests. By default, fields with
 13757  	// empty values are omitted from API requests. However, any non-pointer,
 13758  	// non-interface field appearing in ForceSendFields will be sent to the
 13759  	// server regardless of whether the field is empty or not. This may be
 13760  	// used to include empty fields in Patch requests.
 13761  	ForceSendFields []string `json:"-"`
 13762  
 13763  	// NullFields is a list of field names (e.g. "Etag") to include in API
 13764  	// requests with the JSON null value. By default, fields with empty
 13765  	// values are omitted from API requests. However, any field with an
 13766  	// empty value appearing in NullFields will be sent to the server as
 13767  	// null. It is an error if a field in this list has a non-empty value.
 13768  	// This may be used to include null fields in Patch requests.
 13769  	NullFields []string `json:"-"`
 13770  }
 13771  
 13772  func (s *UserProfileList) MarshalJSON() ([]byte, error) {
 13773  	type NoMethod UserProfileList
 13774  	raw := NoMethod(*s)
 13775  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13776  }
 13777  
 13778  // UserRole: Contains properties of auser role, which is used to manage
 13779  // user access.
 13780  type UserRole struct {
 13781  	// AccountId: Account ID of this user role. This is a read-only field
 13782  	// that can be left blank.
 13783  	AccountId int64 `json:"accountId,omitempty,string"`
 13784  
 13785  	// DefaultUserRole: Whether this is a default user role. Default user
 13786  	// roles are created by the system for the account/subaccount and cannot
 13787  	// be modified or deleted. Each default user role comes with a basic set
 13788  	// of preassigned permissions.
 13789  	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
 13790  
 13791  	// Id: ID of this user role. This is a read-only, auto-generated field.
 13792  	Id int64 `json:"id,omitempty,string"`
 13793  
 13794  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13795  	// string "dfareporting#userRole".
 13796  	Kind string `json:"kind,omitempty"`
 13797  
 13798  	// Name: Name of this user role. This is a required field. Must be less
 13799  	// than 256 characters long. If this user role is under a subaccount,
 13800  	// the name must be unique among sites of the same subaccount.
 13801  	// Otherwise, this user role is a top-level user role, and the name must
 13802  	// be unique among top-level user roles of the same account.
 13803  	Name string `json:"name,omitempty"`
 13804  
 13805  	// ParentUserRoleId: ID of the user role that this user role is based on
 13806  	// or copied from. This is a required field.
 13807  	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
 13808  
 13809  	// Permissions: List of permissions associated with this user role.
 13810  	Permissions []*UserRolePermission `json:"permissions,omitempty"`
 13811  
 13812  	// SubaccountId: Subaccount ID of this user role. This is a read-only
 13813  	// field that can be left blank.
 13814  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13815  
 13816  	// ServerResponse contains the HTTP response code and headers from the
 13817  	// server.
 13818  	googleapi.ServerResponse `json:"-"`
 13819  
 13820  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13821  	// unconditionally include in API requests. By default, fields with
 13822  	// empty values are omitted from API requests. However, any non-pointer,
 13823  	// non-interface field appearing in ForceSendFields will be sent to the
 13824  	// server regardless of whether the field is empty or not. This may be
 13825  	// used to include empty fields in Patch requests.
 13826  	ForceSendFields []string `json:"-"`
 13827  
 13828  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13829  	// API requests with the JSON null value. By default, fields with empty
 13830  	// values are omitted from API requests. However, any field with an
 13831  	// empty value appearing in NullFields will be sent to the server as
 13832  	// null. It is an error if a field in this list has a non-empty value.
 13833  	// This may be used to include null fields in Patch requests.
 13834  	NullFields []string `json:"-"`
 13835  }
 13836  
 13837  func (s *UserRole) MarshalJSON() ([]byte, error) {
 13838  	type NoMethod UserRole
 13839  	raw := NoMethod(*s)
 13840  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13841  }
 13842  
 13843  // UserRolePermission: Contains properties of a user role permission.
 13844  type UserRolePermission struct {
 13845  	// Availability: Levels of availability for a user role permission.
 13846  	//
 13847  	// Possible values:
 13848  	//   "ACCOUNT_ALWAYS"
 13849  	//   "ACCOUNT_BY_DEFAULT"
 13850  	//   "NOT_AVAILABLE_BY_DEFAULT"
 13851  	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
 13852  	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
 13853  	Availability string `json:"availability,omitempty"`
 13854  
 13855  	// Id: ID of this user role permission.
 13856  	Id int64 `json:"id,omitempty,string"`
 13857  
 13858  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13859  	// string "dfareporting#userRolePermission".
 13860  	Kind string `json:"kind,omitempty"`
 13861  
 13862  	// Name: Name of this user role permission.
 13863  	Name string `json:"name,omitempty"`
 13864  
 13865  	// PermissionGroupId: ID of the permission group that this user role
 13866  	// permission belongs to.
 13867  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
 13868  
 13869  	// ServerResponse contains the HTTP response code and headers from the
 13870  	// server.
 13871  	googleapi.ServerResponse `json:"-"`
 13872  
 13873  	// ForceSendFields is a list of field names (e.g. "Availability") to
 13874  	// unconditionally include in API requests. By default, fields with
 13875  	// empty values are omitted from API requests. However, any non-pointer,
 13876  	// non-interface field appearing in ForceSendFields will be sent to the
 13877  	// server regardless of whether the field is empty or not. This may be
 13878  	// used to include empty fields in Patch requests.
 13879  	ForceSendFields []string `json:"-"`
 13880  
 13881  	// NullFields is a list of field names (e.g. "Availability") to include
 13882  	// in API requests with the JSON null value. By default, fields with
 13883  	// empty values are omitted from API requests. However, any field with
 13884  	// an empty value appearing in NullFields will be sent to the server as
 13885  	// null. It is an error if a field in this list has a non-empty value.
 13886  	// This may be used to include null fields in Patch requests.
 13887  	NullFields []string `json:"-"`
 13888  }
 13889  
 13890  func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
 13891  	type NoMethod UserRolePermission
 13892  	raw := NoMethod(*s)
 13893  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13894  }
 13895  
 13896  // UserRolePermissionGroup: Represents a grouping of related user role
 13897  // permissions.
 13898  type UserRolePermissionGroup struct {
 13899  	// Id: ID of this user role permission.
 13900  	Id int64 `json:"id,omitempty,string"`
 13901  
 13902  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13903  	// string "dfareporting#userRolePermissionGroup".
 13904  	Kind string `json:"kind,omitempty"`
 13905  
 13906  	// Name: Name of this user role permission group.
 13907  	Name string `json:"name,omitempty"`
 13908  
 13909  	// ServerResponse contains the HTTP response code and headers from the
 13910  	// server.
 13911  	googleapi.ServerResponse `json:"-"`
 13912  
 13913  	// ForceSendFields is a list of field names (e.g. "Id") to
 13914  	// unconditionally include in API requests. By default, fields with
 13915  	// empty values are omitted from API requests. However, any non-pointer,
 13916  	// non-interface field appearing in ForceSendFields will be sent to the
 13917  	// server regardless of whether the field is empty or not. This may be
 13918  	// used to include empty fields in Patch requests.
 13919  	ForceSendFields []string `json:"-"`
 13920  
 13921  	// NullFields is a list of field names (e.g. "Id") to include in API
 13922  	// requests with the JSON null value. By default, fields with empty
 13923  	// values are omitted from API requests. However, any field with an
 13924  	// empty value appearing in NullFields will be sent to the server as
 13925  	// null. It is an error if a field in this list has a non-empty value.
 13926  	// This may be used to include null fields in Patch requests.
 13927  	NullFields []string `json:"-"`
 13928  }
 13929  
 13930  func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
 13931  	type NoMethod UserRolePermissionGroup
 13932  	raw := NoMethod(*s)
 13933  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13934  }
 13935  
 13936  // UserRolePermissionGroupsListResponse: User Role Permission Group List
 13937  // Response
 13938  type UserRolePermissionGroupsListResponse struct {
 13939  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13940  	// string "dfareporting#userRolePermissionGroupsListResponse".
 13941  	Kind string `json:"kind,omitempty"`
 13942  
 13943  	// UserRolePermissionGroups: User role permission group collection.
 13944  	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
 13945  
 13946  	// ServerResponse contains the HTTP response code and headers from the
 13947  	// server.
 13948  	googleapi.ServerResponse `json:"-"`
 13949  
 13950  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13951  	// unconditionally include in API requests. By default, fields with
 13952  	// empty values are omitted from API requests. However, any non-pointer,
 13953  	// non-interface field appearing in ForceSendFields will be sent to the
 13954  	// server regardless of whether the field is empty or not. This may be
 13955  	// used to include empty fields in Patch requests.
 13956  	ForceSendFields []string `json:"-"`
 13957  
 13958  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13959  	// requests with the JSON null value. By default, fields with empty
 13960  	// values are omitted from API requests. However, any field with an
 13961  	// empty value appearing in NullFields will be sent to the server as
 13962  	// null. It is an error if a field in this list has a non-empty value.
 13963  	// This may be used to include null fields in Patch requests.
 13964  	NullFields []string `json:"-"`
 13965  }
 13966  
 13967  func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
 13968  	type NoMethod UserRolePermissionGroupsListResponse
 13969  	raw := NoMethod(*s)
 13970  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13971  }
 13972  
 13973  // UserRolePermissionsListResponse: User Role Permission List Response
 13974  type UserRolePermissionsListResponse struct {
 13975  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13976  	// string "dfareporting#userRolePermissionsListResponse".
 13977  	Kind string `json:"kind,omitempty"`
 13978  
 13979  	// UserRolePermissions: User role permission collection.
 13980  	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
 13981  
 13982  	// ServerResponse contains the HTTP response code and headers from the
 13983  	// server.
 13984  	googleapi.ServerResponse `json:"-"`
 13985  
 13986  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13987  	// unconditionally include in API requests. By default, fields with
 13988  	// empty values are omitted from API requests. However, any non-pointer,
 13989  	// non-interface field appearing in ForceSendFields will be sent to the
 13990  	// server regardless of whether the field is empty or not. This may be
 13991  	// used to include empty fields in Patch requests.
 13992  	ForceSendFields []string `json:"-"`
 13993  
 13994  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13995  	// requests with the JSON null value. By default, fields with empty
 13996  	// values are omitted from API requests. However, any field with an
 13997  	// empty value appearing in NullFields will be sent to the server as
 13998  	// null. It is an error if a field in this list has a non-empty value.
 13999  	// This may be used to include null fields in Patch requests.
 14000  	NullFields []string `json:"-"`
 14001  }
 14002  
 14003  func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
 14004  	type NoMethod UserRolePermissionsListResponse
 14005  	raw := NoMethod(*s)
 14006  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14007  }
 14008  
 14009  // UserRolesListResponse: User Role List Response
 14010  type UserRolesListResponse struct {
 14011  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14012  	// string "dfareporting#userRolesListResponse".
 14013  	Kind string `json:"kind,omitempty"`
 14014  
 14015  	// NextPageToken: Pagination token to be used for the next list
 14016  	// operation.
 14017  	NextPageToken string `json:"nextPageToken,omitempty"`
 14018  
 14019  	// UserRoles: User role collection.
 14020  	UserRoles []*UserRole `json:"userRoles,omitempty"`
 14021  
 14022  	// ServerResponse contains the HTTP response code and headers from the
 14023  	// server.
 14024  	googleapi.ServerResponse `json:"-"`
 14025  
 14026  	// ForceSendFields is a list of field names (e.g. "Kind") to
 14027  	// unconditionally include in API requests. By default, fields with
 14028  	// empty values are omitted from API requests. However, any non-pointer,
 14029  	// non-interface field appearing in ForceSendFields will be sent to the
 14030  	// server regardless of whether the field is empty or not. This may be
 14031  	// used to include empty fields in Patch requests.
 14032  	ForceSendFields []string `json:"-"`
 14033  
 14034  	// NullFields is a list of field names (e.g. "Kind") to include in API
 14035  	// requests with the JSON null value. By default, fields with empty
 14036  	// values are omitted from API requests. However, any field with an
 14037  	// empty value appearing in NullFields will be sent to the server as
 14038  	// null. It is an error if a field in this list has a non-empty value.
 14039  	// This may be used to include null fields in Patch requests.
 14040  	NullFields []string `json:"-"`
 14041  }
 14042  
 14043  func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
 14044  	type NoMethod UserRolesListResponse
 14045  	raw := NoMethod(*s)
 14046  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14047  }
 14048  
 14049  // VideoFormat: Contains information about supported video formats.
 14050  type VideoFormat struct {
 14051  	// FileType: File type of the video format.
 14052  	//
 14053  	// Possible values:
 14054  	//   "FLV"
 14055  	//   "M3U8"
 14056  	//   "MP4"
 14057  	//   "THREEGPP"
 14058  	//   "WEBM"
 14059  	FileType string `json:"fileType,omitempty"`
 14060  
 14061  	// Id: ID of the video format.
 14062  	Id int64 `json:"id,omitempty"`
 14063  
 14064  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14065  	// string "dfareporting#videoFormat".
 14066  	Kind string `json:"kind,omitempty"`
 14067  
 14068  	// Resolution: The resolution of this video format.
 14069  	Resolution *Size `json:"resolution,omitempty"`
 14070  
 14071  	// TargetBitRate: The target bit rate of this video format.
 14072  	TargetBitRate int64 `json:"targetBitRate,omitempty"`
 14073  
 14074  	// ServerResponse contains the HTTP response code and headers from the
 14075  	// server.
 14076  	googleapi.ServerResponse `json:"-"`
 14077  
 14078  	// ForceSendFields is a list of field names (e.g. "FileType") to
 14079  	// unconditionally include in API requests. By default, fields with
 14080  	// empty values are omitted from API requests. However, any non-pointer,
 14081  	// non-interface field appearing in ForceSendFields will be sent to the
 14082  	// server regardless of whether the field is empty or not. This may be
 14083  	// used to include empty fields in Patch requests.
 14084  	ForceSendFields []string `json:"-"`
 14085  
 14086  	// NullFields is a list of field names (e.g. "FileType") to include in
 14087  	// API requests with the JSON null value. By default, fields with empty
 14088  	// values are omitted from API requests. However, any field with an
 14089  	// empty value appearing in NullFields will be sent to the server as
 14090  	// null. It is an error if a field in this list has a non-empty value.
 14091  	// This may be used to include null fields in Patch requests.
 14092  	NullFields []string `json:"-"`
 14093  }
 14094  
 14095  func (s *VideoFormat) MarshalJSON() ([]byte, error) {
 14096  	type NoMethod VideoFormat
 14097  	raw := NoMethod(*s)
 14098  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14099  }
 14100  
 14101  // VideoFormatsListResponse: Video Format List Response
 14102  type VideoFormatsListResponse struct {
 14103  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14104  	// string "dfareporting#videoFormatsListResponse".
 14105  	Kind string `json:"kind,omitempty"`
 14106  
 14107  	// VideoFormats: Video format collection.
 14108  	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
 14109  
 14110  	// ServerResponse contains the HTTP response code and headers from the
 14111  	// server.
 14112  	googleapi.ServerResponse `json:"-"`
 14113  
 14114  	// ForceSendFields is a list of field names (e.g. "Kind") to
 14115  	// unconditionally include in API requests. By default, fields with
 14116  	// empty values are omitted from API requests. However, any non-pointer,
 14117  	// non-interface field appearing in ForceSendFields will be sent to the
 14118  	// server regardless of whether the field is empty or not. This may be
 14119  	// used to include empty fields in Patch requests.
 14120  	ForceSendFields []string `json:"-"`
 14121  
 14122  	// NullFields is a list of field names (e.g. "Kind") to include in API
 14123  	// requests with the JSON null value. By default, fields with empty
 14124  	// values are omitted from API requests. However, any field with an
 14125  	// empty value appearing in NullFields will be sent to the server as
 14126  	// null. It is an error if a field in this list has a non-empty value.
 14127  	// This may be used to include null fields in Patch requests.
 14128  	NullFields []string `json:"-"`
 14129  }
 14130  
 14131  func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
 14132  	type NoMethod VideoFormatsListResponse
 14133  	raw := NoMethod(*s)
 14134  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14135  }
 14136  
 14137  // VideoOffset: Video Offset
 14138  type VideoOffset struct {
 14139  	// OffsetPercentage: Duration, as a percentage of video duration. Do not
 14140  	// set when offsetSeconds is set. Acceptable values are 0 to 100,
 14141  	// inclusive.
 14142  	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
 14143  
 14144  	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
 14145  	// is set. Acceptable values are 0 to 86399, inclusive.
 14146  	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
 14147  
 14148  	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
 14149  	// unconditionally include in API requests. By default, fields with
 14150  	// empty values are omitted from API requests. However, any non-pointer,
 14151  	// non-interface field appearing in ForceSendFields will be sent to the
 14152  	// server regardless of whether the field is empty or not. This may be
 14153  	// used to include empty fields in Patch requests.
 14154  	ForceSendFields []string `json:"-"`
 14155  
 14156  	// NullFields is a list of field names (e.g. "OffsetPercentage") to
 14157  	// include in API requests with the JSON null value. By default, fields
 14158  	// with empty values are omitted from API requests. However, any field
 14159  	// with an empty value appearing in NullFields will be sent to the
 14160  	// server as null. It is an error if a field in this list has a
 14161  	// non-empty value. This may be used to include null fields in Patch
 14162  	// requests.
 14163  	NullFields []string `json:"-"`
 14164  }
 14165  
 14166  func (s *VideoOffset) MarshalJSON() ([]byte, error) {
 14167  	type NoMethod VideoOffset
 14168  	raw := NoMethod(*s)
 14169  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14170  }
 14171  
 14172  // VideoSettings: Video Settings
 14173  type VideoSettings struct {
 14174  	// CompanionSettings: Settings for the companion creatives of video
 14175  	// creatives served to this placement.
 14176  	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
 14177  
 14178  	// Kind: Identifies what kind of resource this is. Value: the fixed
 14179  	// string "dfareporting#videoSettings".
 14180  	Kind string `json:"kind,omitempty"`
 14181  
 14182  	// Orientation: Orientation of a video placement. If this value is set,
 14183  	// placement will return assets matching the specified orientation.
 14184  	//
 14185  	// Possible values:
 14186  	//   "ANY"
 14187  	//   "LANDSCAPE"
 14188  	//   "PORTRAIT"
 14189  	Orientation string `json:"orientation,omitempty"`
 14190  
 14191  	// SkippableSettings: Settings for the skippability of video creatives
 14192  	// served to this placement. If this object is provided, the
 14193  	// creative-level skippable settings will be overridden.
 14194  	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
 14195  
 14196  	// TranscodeSettings: Settings for the transcodes of video creatives
 14197  	// served to this placement. If this object is provided, the
 14198  	// creative-level transcode settings will be overridden.
 14199  	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
 14200  
 14201  	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
 14202  	// to unconditionally include in API requests. By default, fields with
 14203  	// empty values are omitted from API requests. However, any non-pointer,
 14204  	// non-interface field appearing in ForceSendFields will be sent to the
 14205  	// server regardless of whether the field is empty or not. This may be
 14206  	// used to include empty fields in Patch requests.
 14207  	ForceSendFields []string `json:"-"`
 14208  
 14209  	// NullFields is a list of field names (e.g. "CompanionSettings") to
 14210  	// include in API requests with the JSON null value. By default, fields
 14211  	// with empty values are omitted from API requests. However, any field
 14212  	// with an empty value appearing in NullFields will be sent to the
 14213  	// server as null. It is an error if a field in this list has a
 14214  	// non-empty value. This may be used to include null fields in Patch
 14215  	// requests.
 14216  	NullFields []string `json:"-"`
 14217  }
 14218  
 14219  func (s *VideoSettings) MarshalJSON() ([]byte, error) {
 14220  	type NoMethod VideoSettings
 14221  	raw := NoMethod(*s)
 14222  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14223  }
 14224  
 14225  // method id "dfareporting.accountActiveAdSummaries.get":
 14226  
 14227  type AccountActiveAdSummariesGetCall struct {
 14228  	s                *Service
 14229  	profileId        int64
 14230  	summaryAccountId int64
 14231  	urlParams_       gensupport.URLParams
 14232  	ifNoneMatch_     string
 14233  	ctx_             context.Context
 14234  	header_          http.Header
 14235  }
 14236  
 14237  // Get: Gets the account's active ad summary by account ID.
 14238  func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
 14239  	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14240  	c.profileId = profileId
 14241  	c.summaryAccountId = summaryAccountId
 14242  	return c
 14243  }
 14244  
 14245  // Fields allows partial responses to be retrieved. See
 14246  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14247  // for more information.
 14248  func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
 14249  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14250  	return c
 14251  }
 14252  
 14253  // IfNoneMatch sets the optional parameter which makes the operation
 14254  // fail if the object's ETag matches the given value. This is useful for
 14255  // getting updates only after the object has changed since the last
 14256  // request. Use googleapi.IsNotModified to check whether the response
 14257  // error from Do is the result of In-None-Match.
 14258  func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
 14259  	c.ifNoneMatch_ = entityTag
 14260  	return c
 14261  }
 14262  
 14263  // Context sets the context to be used in this call's Do method. Any
 14264  // pending HTTP request will be aborted if the provided context is
 14265  // canceled.
 14266  func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 14267  	c.ctx_ = ctx
 14268  	return c
 14269  }
 14270  
 14271  // Header returns an http.Header that can be modified by the caller to
 14272  // add HTTP headers to the request.
 14273  func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
 14274  	if c.header_ == nil {
 14275  		c.header_ = make(http.Header)
 14276  	}
 14277  	return c.header_
 14278  }
 14279  
 14280  func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 14281  	reqHeaders := make(http.Header)
 14282  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14283  	for k, v := range c.header_ {
 14284  		reqHeaders[k] = v
 14285  	}
 14286  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14287  	if c.ifNoneMatch_ != "" {
 14288  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14289  	}
 14290  	var body io.Reader = nil
 14291  	c.urlParams_.Set("alt", alt)
 14292  	c.urlParams_.Set("prettyPrint", "false")
 14293  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
 14294  	urls += "?" + c.urlParams_.Encode()
 14295  	req, err := http.NewRequest("GET", urls, body)
 14296  	if err != nil {
 14297  		return nil, err
 14298  	}
 14299  	req.Header = reqHeaders
 14300  	googleapi.Expand(req.URL, map[string]string{
 14301  		"profileId":        strconv.FormatInt(c.profileId, 10),
 14302  		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 14303  	})
 14304  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14305  }
 14306  
 14307  // Do executes the "dfareporting.accountActiveAdSummaries.get" call.
 14308  // Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
 14309  // non-2xx status code is an error. Response headers are in either
 14310  // *AccountActiveAdSummary.ServerResponse.Header or (if a response was
 14311  // returned at all) in error.(*googleapi.Error).Header. Use
 14312  // googleapi.IsNotModified to check whether the returned error was
 14313  // because http.StatusNotModified was returned.
 14314  func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
 14315  	gensupport.SetOptions(c.urlParams_, opts...)
 14316  	res, err := c.doRequest("json")
 14317  	if res != nil && res.StatusCode == http.StatusNotModified {
 14318  		if res.Body != nil {
 14319  			res.Body.Close()
 14320  		}
 14321  		return nil, &googleapi.Error{
 14322  			Code:   res.StatusCode,
 14323  			Header: res.Header,
 14324  		}
 14325  	}
 14326  	if err != nil {
 14327  		return nil, err
 14328  	}
 14329  	defer googleapi.CloseBody(res)
 14330  	if err := googleapi.CheckResponse(res); err != nil {
 14331  		return nil, err
 14332  	}
 14333  	ret := &AccountActiveAdSummary{
 14334  		ServerResponse: googleapi.ServerResponse{
 14335  			Header:         res.Header,
 14336  			HTTPStatusCode: res.StatusCode,
 14337  		},
 14338  	}
 14339  	target := &ret
 14340  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14341  		return nil, err
 14342  	}
 14343  	return ret, nil
 14344  	// {
 14345  	//   "description": "Gets the account's active ad summary by account ID.",
 14346  	//   "httpMethod": "GET",
 14347  	//   "id": "dfareporting.accountActiveAdSummaries.get",
 14348  	//   "parameterOrder": [
 14349  	//     "profileId",
 14350  	//     "summaryAccountId"
 14351  	//   ],
 14352  	//   "parameters": {
 14353  	//     "profileId": {
 14354  	//       "description": "User profile ID associated with this request.",
 14355  	//       "format": "int64",
 14356  	//       "location": "path",
 14357  	//       "required": true,
 14358  	//       "type": "string"
 14359  	//     },
 14360  	//     "summaryAccountId": {
 14361  	//       "description": "Account ID.",
 14362  	//       "format": "int64",
 14363  	//       "location": "path",
 14364  	//       "required": true,
 14365  	//       "type": "string"
 14366  	//     }
 14367  	//   },
 14368  	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 14369  	//   "response": {
 14370  	//     "$ref": "AccountActiveAdSummary"
 14371  	//   },
 14372  	//   "scopes": [
 14373  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14374  	//   ]
 14375  	// }
 14376  
 14377  }
 14378  
 14379  // method id "dfareporting.accountPermissionGroups.get":
 14380  
 14381  type AccountPermissionGroupsGetCall struct {
 14382  	s            *Service
 14383  	profileId    int64
 14384  	id           int64
 14385  	urlParams_   gensupport.URLParams
 14386  	ifNoneMatch_ string
 14387  	ctx_         context.Context
 14388  	header_      http.Header
 14389  }
 14390  
 14391  // Get: Gets one account permission group by ID.
 14392  func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
 14393  	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14394  	c.profileId = profileId
 14395  	c.id = id
 14396  	return c
 14397  }
 14398  
 14399  // Fields allows partial responses to be retrieved. See
 14400  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14401  // for more information.
 14402  func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
 14403  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14404  	return c
 14405  }
 14406  
 14407  // IfNoneMatch sets the optional parameter which makes the operation
 14408  // fail if the object's ETag matches the given value. This is useful for
 14409  // getting updates only after the object has changed since the last
 14410  // request. Use googleapi.IsNotModified to check whether the response
 14411  // error from Do is the result of In-None-Match.
 14412  func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
 14413  	c.ifNoneMatch_ = entityTag
 14414  	return c
 14415  }
 14416  
 14417  // Context sets the context to be used in this call's Do method. Any
 14418  // pending HTTP request will be aborted if the provided context is
 14419  // canceled.
 14420  func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 14421  	c.ctx_ = ctx
 14422  	return c
 14423  }
 14424  
 14425  // Header returns an http.Header that can be modified by the caller to
 14426  // add HTTP headers to the request.
 14427  func (c *AccountPermissionGroupsGetCall) Header() http.Header {
 14428  	if c.header_ == nil {
 14429  		c.header_ = make(http.Header)
 14430  	}
 14431  	return c.header_
 14432  }
 14433  
 14434  func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 14435  	reqHeaders := make(http.Header)
 14436  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14437  	for k, v := range c.header_ {
 14438  		reqHeaders[k] = v
 14439  	}
 14440  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14441  	if c.ifNoneMatch_ != "" {
 14442  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14443  	}
 14444  	var body io.Reader = nil
 14445  	c.urlParams_.Set("alt", alt)
 14446  	c.urlParams_.Set("prettyPrint", "false")
 14447  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
 14448  	urls += "?" + c.urlParams_.Encode()
 14449  	req, err := http.NewRequest("GET", urls, body)
 14450  	if err != nil {
 14451  		return nil, err
 14452  	}
 14453  	req.Header = reqHeaders
 14454  	googleapi.Expand(req.URL, map[string]string{
 14455  		"profileId": strconv.FormatInt(c.profileId, 10),
 14456  		"id":        strconv.FormatInt(c.id, 10),
 14457  	})
 14458  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14459  }
 14460  
 14461  // Do executes the "dfareporting.accountPermissionGroups.get" call.
 14462  // Exactly one of *AccountPermissionGroup or error will be non-nil. Any
 14463  // non-2xx status code is an error. Response headers are in either
 14464  // *AccountPermissionGroup.ServerResponse.Header or (if a response was
 14465  // returned at all) in error.(*googleapi.Error).Header. Use
 14466  // googleapi.IsNotModified to check whether the returned error was
 14467  // because http.StatusNotModified was returned.
 14468  func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
 14469  	gensupport.SetOptions(c.urlParams_, opts...)
 14470  	res, err := c.doRequest("json")
 14471  	if res != nil && res.StatusCode == http.StatusNotModified {
 14472  		if res.Body != nil {
 14473  			res.Body.Close()
 14474  		}
 14475  		return nil, &googleapi.Error{
 14476  			Code:   res.StatusCode,
 14477  			Header: res.Header,
 14478  		}
 14479  	}
 14480  	if err != nil {
 14481  		return nil, err
 14482  	}
 14483  	defer googleapi.CloseBody(res)
 14484  	if err := googleapi.CheckResponse(res); err != nil {
 14485  		return nil, err
 14486  	}
 14487  	ret := &AccountPermissionGroup{
 14488  		ServerResponse: googleapi.ServerResponse{
 14489  			Header:         res.Header,
 14490  			HTTPStatusCode: res.StatusCode,
 14491  		},
 14492  	}
 14493  	target := &ret
 14494  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14495  		return nil, err
 14496  	}
 14497  	return ret, nil
 14498  	// {
 14499  	//   "description": "Gets one account permission group by ID.",
 14500  	//   "httpMethod": "GET",
 14501  	//   "id": "dfareporting.accountPermissionGroups.get",
 14502  	//   "parameterOrder": [
 14503  	//     "profileId",
 14504  	//     "id"
 14505  	//   ],
 14506  	//   "parameters": {
 14507  	//     "id": {
 14508  	//       "description": "Account permission group ID.",
 14509  	//       "format": "int64",
 14510  	//       "location": "path",
 14511  	//       "required": true,
 14512  	//       "type": "string"
 14513  	//     },
 14514  	//     "profileId": {
 14515  	//       "description": "User profile ID associated with this request.",
 14516  	//       "format": "int64",
 14517  	//       "location": "path",
 14518  	//       "required": true,
 14519  	//       "type": "string"
 14520  	//     }
 14521  	//   },
 14522  	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 14523  	//   "response": {
 14524  	//     "$ref": "AccountPermissionGroup"
 14525  	//   },
 14526  	//   "scopes": [
 14527  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14528  	//   ]
 14529  	// }
 14530  
 14531  }
 14532  
 14533  // method id "dfareporting.accountPermissionGroups.list":
 14534  
 14535  type AccountPermissionGroupsListCall struct {
 14536  	s            *Service
 14537  	profileId    int64
 14538  	urlParams_   gensupport.URLParams
 14539  	ifNoneMatch_ string
 14540  	ctx_         context.Context
 14541  	header_      http.Header
 14542  }
 14543  
 14544  // List: Retrieves the list of account permission groups.
 14545  func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
 14546  	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14547  	c.profileId = profileId
 14548  	return c
 14549  }
 14550  
 14551  // Fields allows partial responses to be retrieved. See
 14552  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14553  // for more information.
 14554  func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
 14555  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14556  	return c
 14557  }
 14558  
 14559  // IfNoneMatch sets the optional parameter which makes the operation
 14560  // fail if the object's ETag matches the given value. This is useful for
 14561  // getting updates only after the object has changed since the last
 14562  // request. Use googleapi.IsNotModified to check whether the response
 14563  // error from Do is the result of In-None-Match.
 14564  func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
 14565  	c.ifNoneMatch_ = entityTag
 14566  	return c
 14567  }
 14568  
 14569  // Context sets the context to be used in this call's Do method. Any
 14570  // pending HTTP request will be aborted if the provided context is
 14571  // canceled.
 14572  func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 14573  	c.ctx_ = ctx
 14574  	return c
 14575  }
 14576  
 14577  // Header returns an http.Header that can be modified by the caller to
 14578  // add HTTP headers to the request.
 14579  func (c *AccountPermissionGroupsListCall) Header() http.Header {
 14580  	if c.header_ == nil {
 14581  		c.header_ = make(http.Header)
 14582  	}
 14583  	return c.header_
 14584  }
 14585  
 14586  func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 14587  	reqHeaders := make(http.Header)
 14588  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14589  	for k, v := range c.header_ {
 14590  		reqHeaders[k] = v
 14591  	}
 14592  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14593  	if c.ifNoneMatch_ != "" {
 14594  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14595  	}
 14596  	var body io.Reader = nil
 14597  	c.urlParams_.Set("alt", alt)
 14598  	c.urlParams_.Set("prettyPrint", "false")
 14599  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
 14600  	urls += "?" + c.urlParams_.Encode()
 14601  	req, err := http.NewRequest("GET", urls, body)
 14602  	if err != nil {
 14603  		return nil, err
 14604  	}
 14605  	req.Header = reqHeaders
 14606  	googleapi.Expand(req.URL, map[string]string{
 14607  		"profileId": strconv.FormatInt(c.profileId, 10),
 14608  	})
 14609  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14610  }
 14611  
 14612  // Do executes the "dfareporting.accountPermissionGroups.list" call.
 14613  // Exactly one of *AccountPermissionGroupsListResponse or error will be
 14614  // non-nil. Any non-2xx status code is an error. Response headers are in
 14615  // either *AccountPermissionGroupsListResponse.ServerResponse.Header or
 14616  // (if a response was returned at all) in
 14617  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14618  // whether the returned error was because http.StatusNotModified was
 14619  // returned.
 14620  func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
 14621  	gensupport.SetOptions(c.urlParams_, opts...)
 14622  	res, err := c.doRequest("json")
 14623  	if res != nil && res.StatusCode == http.StatusNotModified {
 14624  		if res.Body != nil {
 14625  			res.Body.Close()
 14626  		}
 14627  		return nil, &googleapi.Error{
 14628  			Code:   res.StatusCode,
 14629  			Header: res.Header,
 14630  		}
 14631  	}
 14632  	if err != nil {
 14633  		return nil, err
 14634  	}
 14635  	defer googleapi.CloseBody(res)
 14636  	if err := googleapi.CheckResponse(res); err != nil {
 14637  		return nil, err
 14638  	}
 14639  	ret := &AccountPermissionGroupsListResponse{
 14640  		ServerResponse: googleapi.ServerResponse{
 14641  			Header:         res.Header,
 14642  			HTTPStatusCode: res.StatusCode,
 14643  		},
 14644  	}
 14645  	target := &ret
 14646  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14647  		return nil, err
 14648  	}
 14649  	return ret, nil
 14650  	// {
 14651  	//   "description": "Retrieves the list of account permission groups.",
 14652  	//   "httpMethod": "GET",
 14653  	//   "id": "dfareporting.accountPermissionGroups.list",
 14654  	//   "parameterOrder": [
 14655  	//     "profileId"
 14656  	//   ],
 14657  	//   "parameters": {
 14658  	//     "profileId": {
 14659  	//       "description": "User profile ID associated with this request.",
 14660  	//       "format": "int64",
 14661  	//       "location": "path",
 14662  	//       "required": true,
 14663  	//       "type": "string"
 14664  	//     }
 14665  	//   },
 14666  	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
 14667  	//   "response": {
 14668  	//     "$ref": "AccountPermissionGroupsListResponse"
 14669  	//   },
 14670  	//   "scopes": [
 14671  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14672  	//   ]
 14673  	// }
 14674  
 14675  }
 14676  
 14677  // method id "dfareporting.accountPermissions.get":
 14678  
 14679  type AccountPermissionsGetCall struct {
 14680  	s            *Service
 14681  	profileId    int64
 14682  	id           int64
 14683  	urlParams_   gensupport.URLParams
 14684  	ifNoneMatch_ string
 14685  	ctx_         context.Context
 14686  	header_      http.Header
 14687  }
 14688  
 14689  // Get: Gets one account permission by ID.
 14690  func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
 14691  	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14692  	c.profileId = profileId
 14693  	c.id = id
 14694  	return c
 14695  }
 14696  
 14697  // Fields allows partial responses to be retrieved. See
 14698  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14699  // for more information.
 14700  func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
 14701  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14702  	return c
 14703  }
 14704  
 14705  // IfNoneMatch sets the optional parameter which makes the operation
 14706  // fail if the object's ETag matches the given value. This is useful for
 14707  // getting updates only after the object has changed since the last
 14708  // request. Use googleapi.IsNotModified to check whether the response
 14709  // error from Do is the result of In-None-Match.
 14710  func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
 14711  	c.ifNoneMatch_ = entityTag
 14712  	return c
 14713  }
 14714  
 14715  // Context sets the context to be used in this call's Do method. Any
 14716  // pending HTTP request will be aborted if the provided context is
 14717  // canceled.
 14718  func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 14719  	c.ctx_ = ctx
 14720  	return c
 14721  }
 14722  
 14723  // Header returns an http.Header that can be modified by the caller to
 14724  // add HTTP headers to the request.
 14725  func (c *AccountPermissionsGetCall) Header() http.Header {
 14726  	if c.header_ == nil {
 14727  		c.header_ = make(http.Header)
 14728  	}
 14729  	return c.header_
 14730  }
 14731  
 14732  func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 14733  	reqHeaders := make(http.Header)
 14734  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14735  	for k, v := range c.header_ {
 14736  		reqHeaders[k] = v
 14737  	}
 14738  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14739  	if c.ifNoneMatch_ != "" {
 14740  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14741  	}
 14742  	var body io.Reader = nil
 14743  	c.urlParams_.Set("alt", alt)
 14744  	c.urlParams_.Set("prettyPrint", "false")
 14745  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
 14746  	urls += "?" + c.urlParams_.Encode()
 14747  	req, err := http.NewRequest("GET", urls, body)
 14748  	if err != nil {
 14749  		return nil, err
 14750  	}
 14751  	req.Header = reqHeaders
 14752  	googleapi.Expand(req.URL, map[string]string{
 14753  		"profileId": strconv.FormatInt(c.profileId, 10),
 14754  		"id":        strconv.FormatInt(c.id, 10),
 14755  	})
 14756  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14757  }
 14758  
 14759  // Do executes the "dfareporting.accountPermissions.get" call.
 14760  // Exactly one of *AccountPermission or error will be non-nil. Any
 14761  // non-2xx status code is an error. Response headers are in either
 14762  // *AccountPermission.ServerResponse.Header or (if a response was
 14763  // returned at all) in error.(*googleapi.Error).Header. Use
 14764  // googleapi.IsNotModified to check whether the returned error was
 14765  // because http.StatusNotModified was returned.
 14766  func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
 14767  	gensupport.SetOptions(c.urlParams_, opts...)
 14768  	res, err := c.doRequest("json")
 14769  	if res != nil && res.StatusCode == http.StatusNotModified {
 14770  		if res.Body != nil {
 14771  			res.Body.Close()
 14772  		}
 14773  		return nil, &googleapi.Error{
 14774  			Code:   res.StatusCode,
 14775  			Header: res.Header,
 14776  		}
 14777  	}
 14778  	if err != nil {
 14779  		return nil, err
 14780  	}
 14781  	defer googleapi.CloseBody(res)
 14782  	if err := googleapi.CheckResponse(res); err != nil {
 14783  		return nil, err
 14784  	}
 14785  	ret := &AccountPermission{
 14786  		ServerResponse: googleapi.ServerResponse{
 14787  			Header:         res.Header,
 14788  			HTTPStatusCode: res.StatusCode,
 14789  		},
 14790  	}
 14791  	target := &ret
 14792  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14793  		return nil, err
 14794  	}
 14795  	return ret, nil
 14796  	// {
 14797  	//   "description": "Gets one account permission by ID.",
 14798  	//   "httpMethod": "GET",
 14799  	//   "id": "dfareporting.accountPermissions.get",
 14800  	//   "parameterOrder": [
 14801  	//     "profileId",
 14802  	//     "id"
 14803  	//   ],
 14804  	//   "parameters": {
 14805  	//     "id": {
 14806  	//       "description": "Account permission ID.",
 14807  	//       "format": "int64",
 14808  	//       "location": "path",
 14809  	//       "required": true,
 14810  	//       "type": "string"
 14811  	//     },
 14812  	//     "profileId": {
 14813  	//       "description": "User profile ID associated with this request.",
 14814  	//       "format": "int64",
 14815  	//       "location": "path",
 14816  	//       "required": true,
 14817  	//       "type": "string"
 14818  	//     }
 14819  	//   },
 14820  	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
 14821  	//   "response": {
 14822  	//     "$ref": "AccountPermission"
 14823  	//   },
 14824  	//   "scopes": [
 14825  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14826  	//   ]
 14827  	// }
 14828  
 14829  }
 14830  
 14831  // method id "dfareporting.accountPermissions.list":
 14832  
 14833  type AccountPermissionsListCall struct {
 14834  	s            *Service
 14835  	profileId    int64
 14836  	urlParams_   gensupport.URLParams
 14837  	ifNoneMatch_ string
 14838  	ctx_         context.Context
 14839  	header_      http.Header
 14840  }
 14841  
 14842  // List: Retrieves the list of account permissions.
 14843  func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
 14844  	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14845  	c.profileId = profileId
 14846  	return c
 14847  }
 14848  
 14849  // Fields allows partial responses to be retrieved. See
 14850  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14851  // for more information.
 14852  func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
 14853  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14854  	return c
 14855  }
 14856  
 14857  // IfNoneMatch sets the optional parameter which makes the operation
 14858  // fail if the object's ETag matches the given value. This is useful for
 14859  // getting updates only after the object has changed since the last
 14860  // request. Use googleapi.IsNotModified to check whether the response
 14861  // error from Do is the result of In-None-Match.
 14862  func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
 14863  	c.ifNoneMatch_ = entityTag
 14864  	return c
 14865  }
 14866  
 14867  // Context sets the context to be used in this call's Do method. Any
 14868  // pending HTTP request will be aborted if the provided context is
 14869  // canceled.
 14870  func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 14871  	c.ctx_ = ctx
 14872  	return c
 14873  }
 14874  
 14875  // Header returns an http.Header that can be modified by the caller to
 14876  // add HTTP headers to the request.
 14877  func (c *AccountPermissionsListCall) Header() http.Header {
 14878  	if c.header_ == nil {
 14879  		c.header_ = make(http.Header)
 14880  	}
 14881  	return c.header_
 14882  }
 14883  
 14884  func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 14885  	reqHeaders := make(http.Header)
 14886  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 14887  	for k, v := range c.header_ {
 14888  		reqHeaders[k] = v
 14889  	}
 14890  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14891  	if c.ifNoneMatch_ != "" {
 14892  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14893  	}
 14894  	var body io.Reader = nil
 14895  	c.urlParams_.Set("alt", alt)
 14896  	c.urlParams_.Set("prettyPrint", "false")
 14897  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
 14898  	urls += "?" + c.urlParams_.Encode()
 14899  	req, err := http.NewRequest("GET", urls, body)
 14900  	if err != nil {
 14901  		return nil, err
 14902  	}
 14903  	req.Header = reqHeaders
 14904  	googleapi.Expand(req.URL, map[string]string{
 14905  		"profileId": strconv.FormatInt(c.profileId, 10),
 14906  	})
 14907  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14908  }
 14909  
 14910  // Do executes the "dfareporting.accountPermissions.list" call.
 14911  // Exactly one of *AccountPermissionsListResponse or error will be
 14912  // non-nil. Any non-2xx status code is an error. Response headers are in
 14913  // either *AccountPermissionsListResponse.ServerResponse.Header or (if a
 14914  // response was returned at all) in error.(*googleapi.Error).Header. Use
 14915  // googleapi.IsNotModified to check whether the returned error was
 14916  // because http.StatusNotModified was returned.
 14917  func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
 14918  	gensupport.SetOptions(c.urlParams_, opts...)
 14919  	res, err := c.doRequest("json")
 14920  	if res != nil && res.StatusCode == http.StatusNotModified {
 14921  		if res.Body != nil {
 14922  			res.Body.Close()
 14923  		}
 14924  		return nil, &googleapi.Error{
 14925  			Code:   res.StatusCode,
 14926  			Header: res.Header,
 14927  		}
 14928  	}
 14929  	if err != nil {
 14930  		return nil, err
 14931  	}
 14932  	defer googleapi.CloseBody(res)
 14933  	if err := googleapi.CheckResponse(res); err != nil {
 14934  		return nil, err
 14935  	}
 14936  	ret := &AccountPermissionsListResponse{
 14937  		ServerResponse: googleapi.ServerResponse{
 14938  			Header:         res.Header,
 14939  			HTTPStatusCode: res.StatusCode,
 14940  		},
 14941  	}
 14942  	target := &ret
 14943  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14944  		return nil, err
 14945  	}
 14946  	return ret, nil
 14947  	// {
 14948  	//   "description": "Retrieves the list of account permissions.",
 14949  	//   "httpMethod": "GET",
 14950  	//   "id": "dfareporting.accountPermissions.list",
 14951  	//   "parameterOrder": [
 14952  	//     "profileId"
 14953  	//   ],
 14954  	//   "parameters": {
 14955  	//     "profileId": {
 14956  	//       "description": "User profile ID associated with this request.",
 14957  	//       "format": "int64",
 14958  	//       "location": "path",
 14959  	//       "required": true,
 14960  	//       "type": "string"
 14961  	//     }
 14962  	//   },
 14963  	//   "path": "userprofiles/{profileId}/accountPermissions",
 14964  	//   "response": {
 14965  	//     "$ref": "AccountPermissionsListResponse"
 14966  	//   },
 14967  	//   "scopes": [
 14968  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14969  	//   ]
 14970  	// }
 14971  
 14972  }
 14973  
 14974  // method id "dfareporting.accountUserProfiles.get":
 14975  
 14976  type AccountUserProfilesGetCall struct {
 14977  	s            *Service
 14978  	profileId    int64
 14979  	id           int64
 14980  	urlParams_   gensupport.URLParams
 14981  	ifNoneMatch_ string
 14982  	ctx_         context.Context
 14983  	header_      http.Header
 14984  }
 14985  
 14986  // Get: Gets one account user profile by ID.
 14987  func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
 14988  	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14989  	c.profileId = profileId
 14990  	c.id = id
 14991  	return c
 14992  }
 14993  
 14994  // Fields allows partial responses to be retrieved. See
 14995  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14996  // for more information.
 14997  func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
 14998  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14999  	return c
 15000  }
 15001  
 15002  // IfNoneMatch sets the optional parameter which makes the operation
 15003  // fail if the object's ETag matches the given value. This is useful for
 15004  // getting updates only after the object has changed since the last
 15005  // request. Use googleapi.IsNotModified to check whether the response
 15006  // error from Do is the result of In-None-Match.
 15007  func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
 15008  	c.ifNoneMatch_ = entityTag
 15009  	return c
 15010  }
 15011  
 15012  // Context sets the context to be used in this call's Do method. Any
 15013  // pending HTTP request will be aborted if the provided context is
 15014  // canceled.
 15015  func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 15016  	c.ctx_ = ctx
 15017  	return c
 15018  }
 15019  
 15020  // Header returns an http.Header that can be modified by the caller to
 15021  // add HTTP headers to the request.
 15022  func (c *AccountUserProfilesGetCall) Header() http.Header {
 15023  	if c.header_ == nil {
 15024  		c.header_ = make(http.Header)
 15025  	}
 15026  	return c.header_
 15027  }
 15028  
 15029  func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 15030  	reqHeaders := make(http.Header)
 15031  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15032  	for k, v := range c.header_ {
 15033  		reqHeaders[k] = v
 15034  	}
 15035  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15036  	if c.ifNoneMatch_ != "" {
 15037  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15038  	}
 15039  	var body io.Reader = nil
 15040  	c.urlParams_.Set("alt", alt)
 15041  	c.urlParams_.Set("prettyPrint", "false")
 15042  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
 15043  	urls += "?" + c.urlParams_.Encode()
 15044  	req, err := http.NewRequest("GET", urls, body)
 15045  	if err != nil {
 15046  		return nil, err
 15047  	}
 15048  	req.Header = reqHeaders
 15049  	googleapi.Expand(req.URL, map[string]string{
 15050  		"profileId": strconv.FormatInt(c.profileId, 10),
 15051  		"id":        strconv.FormatInt(c.id, 10),
 15052  	})
 15053  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15054  }
 15055  
 15056  // Do executes the "dfareporting.accountUserProfiles.get" call.
 15057  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15058  // non-2xx status code is an error. Response headers are in either
 15059  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15060  // returned at all) in error.(*googleapi.Error).Header. Use
 15061  // googleapi.IsNotModified to check whether the returned error was
 15062  // because http.StatusNotModified was returned.
 15063  func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15064  	gensupport.SetOptions(c.urlParams_, opts...)
 15065  	res, err := c.doRequest("json")
 15066  	if res != nil && res.StatusCode == http.StatusNotModified {
 15067  		if res.Body != nil {
 15068  			res.Body.Close()
 15069  		}
 15070  		return nil, &googleapi.Error{
 15071  			Code:   res.StatusCode,
 15072  			Header: res.Header,
 15073  		}
 15074  	}
 15075  	if err != nil {
 15076  		return nil, err
 15077  	}
 15078  	defer googleapi.CloseBody(res)
 15079  	if err := googleapi.CheckResponse(res); err != nil {
 15080  		return nil, err
 15081  	}
 15082  	ret := &AccountUserProfile{
 15083  		ServerResponse: googleapi.ServerResponse{
 15084  			Header:         res.Header,
 15085  			HTTPStatusCode: res.StatusCode,
 15086  		},
 15087  	}
 15088  	target := &ret
 15089  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15090  		return nil, err
 15091  	}
 15092  	return ret, nil
 15093  	// {
 15094  	//   "description": "Gets one account user profile by ID.",
 15095  	//   "httpMethod": "GET",
 15096  	//   "id": "dfareporting.accountUserProfiles.get",
 15097  	//   "parameterOrder": [
 15098  	//     "profileId",
 15099  	//     "id"
 15100  	//   ],
 15101  	//   "parameters": {
 15102  	//     "id": {
 15103  	//       "description": "User profile ID.",
 15104  	//       "format": "int64",
 15105  	//       "location": "path",
 15106  	//       "required": true,
 15107  	//       "type": "string"
 15108  	//     },
 15109  	//     "profileId": {
 15110  	//       "description": "User profile ID associated with this request.",
 15111  	//       "format": "int64",
 15112  	//       "location": "path",
 15113  	//       "required": true,
 15114  	//       "type": "string"
 15115  	//     }
 15116  	//   },
 15117  	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
 15118  	//   "response": {
 15119  	//     "$ref": "AccountUserProfile"
 15120  	//   },
 15121  	//   "scopes": [
 15122  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15123  	//   ]
 15124  	// }
 15125  
 15126  }
 15127  
 15128  // method id "dfareporting.accountUserProfiles.insert":
 15129  
 15130  type AccountUserProfilesInsertCall struct {
 15131  	s                  *Service
 15132  	profileId          int64
 15133  	accountuserprofile *AccountUserProfile
 15134  	urlParams_         gensupport.URLParams
 15135  	ctx_               context.Context
 15136  	header_            http.Header
 15137  }
 15138  
 15139  // Insert: Inserts a new account user profile.
 15140  func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
 15141  	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15142  	c.profileId = profileId
 15143  	c.accountuserprofile = accountuserprofile
 15144  	return c
 15145  }
 15146  
 15147  // Fields allows partial responses to be retrieved. See
 15148  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15149  // for more information.
 15150  func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
 15151  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15152  	return c
 15153  }
 15154  
 15155  // Context sets the context to be used in this call's Do method. Any
 15156  // pending HTTP request will be aborted if the provided context is
 15157  // canceled.
 15158  func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
 15159  	c.ctx_ = ctx
 15160  	return c
 15161  }
 15162  
 15163  // Header returns an http.Header that can be modified by the caller to
 15164  // add HTTP headers to the request.
 15165  func (c *AccountUserProfilesInsertCall) Header() http.Header {
 15166  	if c.header_ == nil {
 15167  		c.header_ = make(http.Header)
 15168  	}
 15169  	return c.header_
 15170  }
 15171  
 15172  func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 15173  	reqHeaders := make(http.Header)
 15174  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15175  	for k, v := range c.header_ {
 15176  		reqHeaders[k] = v
 15177  	}
 15178  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15179  	var body io.Reader = nil
 15180  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15181  	if err != nil {
 15182  		return nil, err
 15183  	}
 15184  	reqHeaders.Set("Content-Type", "application/json")
 15185  	c.urlParams_.Set("alt", alt)
 15186  	c.urlParams_.Set("prettyPrint", "false")
 15187  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15188  	urls += "?" + c.urlParams_.Encode()
 15189  	req, err := http.NewRequest("POST", urls, body)
 15190  	if err != nil {
 15191  		return nil, err
 15192  	}
 15193  	req.Header = reqHeaders
 15194  	googleapi.Expand(req.URL, map[string]string{
 15195  		"profileId": strconv.FormatInt(c.profileId, 10),
 15196  	})
 15197  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15198  }
 15199  
 15200  // Do executes the "dfareporting.accountUserProfiles.insert" call.
 15201  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15202  // non-2xx status code is an error. Response headers are in either
 15203  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15204  // returned at all) in error.(*googleapi.Error).Header. Use
 15205  // googleapi.IsNotModified to check whether the returned error was
 15206  // because http.StatusNotModified was returned.
 15207  func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15208  	gensupport.SetOptions(c.urlParams_, opts...)
 15209  	res, err := c.doRequest("json")
 15210  	if res != nil && res.StatusCode == http.StatusNotModified {
 15211  		if res.Body != nil {
 15212  			res.Body.Close()
 15213  		}
 15214  		return nil, &googleapi.Error{
 15215  			Code:   res.StatusCode,
 15216  			Header: res.Header,
 15217  		}
 15218  	}
 15219  	if err != nil {
 15220  		return nil, err
 15221  	}
 15222  	defer googleapi.CloseBody(res)
 15223  	if err := googleapi.CheckResponse(res); err != nil {
 15224  		return nil, err
 15225  	}
 15226  	ret := &AccountUserProfile{
 15227  		ServerResponse: googleapi.ServerResponse{
 15228  			Header:         res.Header,
 15229  			HTTPStatusCode: res.StatusCode,
 15230  		},
 15231  	}
 15232  	target := &ret
 15233  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15234  		return nil, err
 15235  	}
 15236  	return ret, nil
 15237  	// {
 15238  	//   "description": "Inserts a new account user profile.",
 15239  	//   "httpMethod": "POST",
 15240  	//   "id": "dfareporting.accountUserProfiles.insert",
 15241  	//   "parameterOrder": [
 15242  	//     "profileId"
 15243  	//   ],
 15244  	//   "parameters": {
 15245  	//     "profileId": {
 15246  	//       "description": "User profile ID associated with this request.",
 15247  	//       "format": "int64",
 15248  	//       "location": "path",
 15249  	//       "required": true,
 15250  	//       "type": "string"
 15251  	//     }
 15252  	//   },
 15253  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15254  	//   "request": {
 15255  	//     "$ref": "AccountUserProfile"
 15256  	//   },
 15257  	//   "response": {
 15258  	//     "$ref": "AccountUserProfile"
 15259  	//   },
 15260  	//   "scopes": [
 15261  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15262  	//   ]
 15263  	// }
 15264  
 15265  }
 15266  
 15267  // method id "dfareporting.accountUserProfiles.list":
 15268  
 15269  type AccountUserProfilesListCall struct {
 15270  	s            *Service
 15271  	profileId    int64
 15272  	urlParams_   gensupport.URLParams
 15273  	ifNoneMatch_ string
 15274  	ctx_         context.Context
 15275  	header_      http.Header
 15276  }
 15277  
 15278  // List: Retrieves a list of account user profiles, possibly filtered.
 15279  // This method supports paging.
 15280  func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
 15281  	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15282  	c.profileId = profileId
 15283  	return c
 15284  }
 15285  
 15286  // Active sets the optional parameter "active": Select only active user
 15287  // profiles.
 15288  func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
 15289  	c.urlParams_.Set("active", fmt.Sprint(active))
 15290  	return c
 15291  }
 15292  
 15293  // Ids sets the optional parameter "ids": Select only user profiles with
 15294  // these IDs.
 15295  func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
 15296  	var ids_ []string
 15297  	for _, v := range ids {
 15298  		ids_ = append(ids_, fmt.Sprint(v))
 15299  	}
 15300  	c.urlParams_.SetMulti("ids", ids_)
 15301  	return c
 15302  }
 15303  
 15304  // MaxResults sets the optional parameter "maxResults": Maximum number
 15305  // of results to return.
 15306  func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
 15307  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15308  	return c
 15309  }
 15310  
 15311  // PageToken sets the optional parameter "pageToken": Value of the
 15312  // nextPageToken from the previous result page.
 15313  func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
 15314  	c.urlParams_.Set("pageToken", pageToken)
 15315  	return c
 15316  }
 15317  
 15318  // SearchString sets the optional parameter "searchString": Allows
 15319  // searching for objects by name, ID or email. Wildcards (*) are
 15320  // allowed. For example, "user profile*2015" will return objects with
 15321  // names like "user profile June 2015", "user profile April 2015", or
 15322  // simply "user profile 2015". Most of the searches also add wildcards
 15323  // implicitly at the start and the end of the search string. For
 15324  // example, a search string of "user profile" will match objects with
 15325  // name "my user profile", "user profile 2015", or simply "user
 15326  // profile".
 15327  func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
 15328  	c.urlParams_.Set("searchString", searchString)
 15329  	return c
 15330  }
 15331  
 15332  // SortField sets the optional parameter "sortField": Field by which to
 15333  // sort the list.
 15334  //
 15335  // Possible values:
 15336  //
 15337  //	"ID" (default)
 15338  //	"NAME"
 15339  func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
 15340  	c.urlParams_.Set("sortField", sortField)
 15341  	return c
 15342  }
 15343  
 15344  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 15345  // results.
 15346  //
 15347  // Possible values:
 15348  //
 15349  //	"ASCENDING" (default)
 15350  //	"DESCENDING"
 15351  func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
 15352  	c.urlParams_.Set("sortOrder", sortOrder)
 15353  	return c
 15354  }
 15355  
 15356  // SubaccountId sets the optional parameter "subaccountId": Select only
 15357  // user profiles with the specified subaccount ID.
 15358  func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
 15359  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 15360  	return c
 15361  }
 15362  
 15363  // UserRoleId sets the optional parameter "userRoleId": Select only user
 15364  // profiles with the specified user role ID.
 15365  func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
 15366  	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
 15367  	return c
 15368  }
 15369  
 15370  // Fields allows partial responses to be retrieved. See
 15371  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15372  // for more information.
 15373  func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
 15374  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15375  	return c
 15376  }
 15377  
 15378  // IfNoneMatch sets the optional parameter which makes the operation
 15379  // fail if the object's ETag matches the given value. This is useful for
 15380  // getting updates only after the object has changed since the last
 15381  // request. Use googleapi.IsNotModified to check whether the response
 15382  // error from Do is the result of In-None-Match.
 15383  func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
 15384  	c.ifNoneMatch_ = entityTag
 15385  	return c
 15386  }
 15387  
 15388  // Context sets the context to be used in this call's Do method. Any
 15389  // pending HTTP request will be aborted if the provided context is
 15390  // canceled.
 15391  func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 15392  	c.ctx_ = ctx
 15393  	return c
 15394  }
 15395  
 15396  // Header returns an http.Header that can be modified by the caller to
 15397  // add HTTP headers to the request.
 15398  func (c *AccountUserProfilesListCall) Header() http.Header {
 15399  	if c.header_ == nil {
 15400  		c.header_ = make(http.Header)
 15401  	}
 15402  	return c.header_
 15403  }
 15404  
 15405  func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 15406  	reqHeaders := make(http.Header)
 15407  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15408  	for k, v := range c.header_ {
 15409  		reqHeaders[k] = v
 15410  	}
 15411  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15412  	if c.ifNoneMatch_ != "" {
 15413  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15414  	}
 15415  	var body io.Reader = nil
 15416  	c.urlParams_.Set("alt", alt)
 15417  	c.urlParams_.Set("prettyPrint", "false")
 15418  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15419  	urls += "?" + c.urlParams_.Encode()
 15420  	req, err := http.NewRequest("GET", urls, body)
 15421  	if err != nil {
 15422  		return nil, err
 15423  	}
 15424  	req.Header = reqHeaders
 15425  	googleapi.Expand(req.URL, map[string]string{
 15426  		"profileId": strconv.FormatInt(c.profileId, 10),
 15427  	})
 15428  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15429  }
 15430  
 15431  // Do executes the "dfareporting.accountUserProfiles.list" call.
 15432  // Exactly one of *AccountUserProfilesListResponse or error will be
 15433  // non-nil. Any non-2xx status code is an error. Response headers are in
 15434  // either *AccountUserProfilesListResponse.ServerResponse.Header or (if
 15435  // a response was returned at all) in error.(*googleapi.Error).Header.
 15436  // Use googleapi.IsNotModified to check whether the returned error was
 15437  // because http.StatusNotModified was returned.
 15438  func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
 15439  	gensupport.SetOptions(c.urlParams_, opts...)
 15440  	res, err := c.doRequest("json")
 15441  	if res != nil && res.StatusCode == http.StatusNotModified {
 15442  		if res.Body != nil {
 15443  			res.Body.Close()
 15444  		}
 15445  		return nil, &googleapi.Error{
 15446  			Code:   res.StatusCode,
 15447  			Header: res.Header,
 15448  		}
 15449  	}
 15450  	if err != nil {
 15451  		return nil, err
 15452  	}
 15453  	defer googleapi.CloseBody(res)
 15454  	if err := googleapi.CheckResponse(res); err != nil {
 15455  		return nil, err
 15456  	}
 15457  	ret := &AccountUserProfilesListResponse{
 15458  		ServerResponse: googleapi.ServerResponse{
 15459  			Header:         res.Header,
 15460  			HTTPStatusCode: res.StatusCode,
 15461  		},
 15462  	}
 15463  	target := &ret
 15464  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15465  		return nil, err
 15466  	}
 15467  	return ret, nil
 15468  	// {
 15469  	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
 15470  	//   "httpMethod": "GET",
 15471  	//   "id": "dfareporting.accountUserProfiles.list",
 15472  	//   "parameterOrder": [
 15473  	//     "profileId"
 15474  	//   ],
 15475  	//   "parameters": {
 15476  	//     "active": {
 15477  	//       "description": "Select only active user profiles.",
 15478  	//       "location": "query",
 15479  	//       "type": "boolean"
 15480  	//     },
 15481  	//     "ids": {
 15482  	//       "description": "Select only user profiles with these IDs.",
 15483  	//       "format": "int64",
 15484  	//       "location": "query",
 15485  	//       "repeated": true,
 15486  	//       "type": "string"
 15487  	//     },
 15488  	//     "maxResults": {
 15489  	//       "default": "1000",
 15490  	//       "description": "Maximum number of results to return.",
 15491  	//       "format": "int32",
 15492  	//       "location": "query",
 15493  	//       "maximum": "1000",
 15494  	//       "minimum": "0",
 15495  	//       "type": "integer"
 15496  	//     },
 15497  	//     "pageToken": {
 15498  	//       "description": "Value of the nextPageToken from the previous result page.",
 15499  	//       "location": "query",
 15500  	//       "type": "string"
 15501  	//     },
 15502  	//     "profileId": {
 15503  	//       "description": "User profile ID associated with this request.",
 15504  	//       "format": "int64",
 15505  	//       "location": "path",
 15506  	//       "required": true,
 15507  	//       "type": "string"
 15508  	//     },
 15509  	//     "searchString": {
 15510  	//       "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\".",
 15511  	//       "location": "query",
 15512  	//       "type": "string"
 15513  	//     },
 15514  	//     "sortField": {
 15515  	//       "default": "ID",
 15516  	//       "description": "Field by which to sort the list.",
 15517  	//       "enum": [
 15518  	//         "ID",
 15519  	//         "NAME"
 15520  	//       ],
 15521  	//       "enumDescriptions": [
 15522  	//         "",
 15523  	//         ""
 15524  	//       ],
 15525  	//       "location": "query",
 15526  	//       "type": "string"
 15527  	//     },
 15528  	//     "sortOrder": {
 15529  	//       "default": "ASCENDING",
 15530  	//       "description": "Order of sorted results.",
 15531  	//       "enum": [
 15532  	//         "ASCENDING",
 15533  	//         "DESCENDING"
 15534  	//       ],
 15535  	//       "enumDescriptions": [
 15536  	//         "",
 15537  	//         ""
 15538  	//       ],
 15539  	//       "location": "query",
 15540  	//       "type": "string"
 15541  	//     },
 15542  	//     "subaccountId": {
 15543  	//       "description": "Select only user profiles with the specified subaccount ID.",
 15544  	//       "format": "int64",
 15545  	//       "location": "query",
 15546  	//       "type": "string"
 15547  	//     },
 15548  	//     "userRoleId": {
 15549  	//       "description": "Select only user profiles with the specified user role ID.",
 15550  	//       "format": "int64",
 15551  	//       "location": "query",
 15552  	//       "type": "string"
 15553  	//     }
 15554  	//   },
 15555  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15556  	//   "response": {
 15557  	//     "$ref": "AccountUserProfilesListResponse"
 15558  	//   },
 15559  	//   "scopes": [
 15560  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15561  	//   ]
 15562  	// }
 15563  
 15564  }
 15565  
 15566  // Pages invokes f for each page of results.
 15567  // A non-nil error returned from f will halt the iteration.
 15568  // The provided context supersedes any context provided to the Context method.
 15569  func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
 15570  	c.ctx_ = ctx
 15571  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 15572  	for {
 15573  		x, err := c.Do()
 15574  		if err != nil {
 15575  			return err
 15576  		}
 15577  		if err := f(x); err != nil {
 15578  			return err
 15579  		}
 15580  		if x.NextPageToken == "" {
 15581  			return nil
 15582  		}
 15583  		c.PageToken(x.NextPageToken)
 15584  	}
 15585  }
 15586  
 15587  // method id "dfareporting.accountUserProfiles.patch":
 15588  
 15589  type AccountUserProfilesPatchCall struct {
 15590  	s                  *Service
 15591  	profileId          int64
 15592  	accountuserprofile *AccountUserProfile
 15593  	urlParams_         gensupport.URLParams
 15594  	ctx_               context.Context
 15595  	header_            http.Header
 15596  }
 15597  
 15598  // Patch: Updates an existing account user profile. This method supports
 15599  // patch semantics.
 15600  func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
 15601  	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15602  	c.profileId = profileId
 15603  	c.urlParams_.Set("id", fmt.Sprint(id))
 15604  	c.accountuserprofile = accountuserprofile
 15605  	return c
 15606  }
 15607  
 15608  // Fields allows partial responses to be retrieved. See
 15609  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15610  // for more information.
 15611  func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
 15612  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15613  	return c
 15614  }
 15615  
 15616  // Context sets the context to be used in this call's Do method. Any
 15617  // pending HTTP request will be aborted if the provided context is
 15618  // canceled.
 15619  func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 15620  	c.ctx_ = ctx
 15621  	return c
 15622  }
 15623  
 15624  // Header returns an http.Header that can be modified by the caller to
 15625  // add HTTP headers to the request.
 15626  func (c *AccountUserProfilesPatchCall) Header() http.Header {
 15627  	if c.header_ == nil {
 15628  		c.header_ = make(http.Header)
 15629  	}
 15630  	return c.header_
 15631  }
 15632  
 15633  func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 15634  	reqHeaders := make(http.Header)
 15635  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15636  	for k, v := range c.header_ {
 15637  		reqHeaders[k] = v
 15638  	}
 15639  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15640  	var body io.Reader = nil
 15641  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15642  	if err != nil {
 15643  		return nil, err
 15644  	}
 15645  	reqHeaders.Set("Content-Type", "application/json")
 15646  	c.urlParams_.Set("alt", alt)
 15647  	c.urlParams_.Set("prettyPrint", "false")
 15648  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15649  	urls += "?" + c.urlParams_.Encode()
 15650  	req, err := http.NewRequest("PATCH", urls, body)
 15651  	if err != nil {
 15652  		return nil, err
 15653  	}
 15654  	req.Header = reqHeaders
 15655  	googleapi.Expand(req.URL, map[string]string{
 15656  		"profileId": strconv.FormatInt(c.profileId, 10),
 15657  	})
 15658  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15659  }
 15660  
 15661  // Do executes the "dfareporting.accountUserProfiles.patch" call.
 15662  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15663  // non-2xx status code is an error. Response headers are in either
 15664  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15665  // returned at all) in error.(*googleapi.Error).Header. Use
 15666  // googleapi.IsNotModified to check whether the returned error was
 15667  // because http.StatusNotModified was returned.
 15668  func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15669  	gensupport.SetOptions(c.urlParams_, opts...)
 15670  	res, err := c.doRequest("json")
 15671  	if res != nil && res.StatusCode == http.StatusNotModified {
 15672  		if res.Body != nil {
 15673  			res.Body.Close()
 15674  		}
 15675  		return nil, &googleapi.Error{
 15676  			Code:   res.StatusCode,
 15677  			Header: res.Header,
 15678  		}
 15679  	}
 15680  	if err != nil {
 15681  		return nil, err
 15682  	}
 15683  	defer googleapi.CloseBody(res)
 15684  	if err := googleapi.CheckResponse(res); err != nil {
 15685  		return nil, err
 15686  	}
 15687  	ret := &AccountUserProfile{
 15688  		ServerResponse: googleapi.ServerResponse{
 15689  			Header:         res.Header,
 15690  			HTTPStatusCode: res.StatusCode,
 15691  		},
 15692  	}
 15693  	target := &ret
 15694  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15695  		return nil, err
 15696  	}
 15697  	return ret, nil
 15698  	// {
 15699  	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
 15700  	//   "httpMethod": "PATCH",
 15701  	//   "id": "dfareporting.accountUserProfiles.patch",
 15702  	//   "parameterOrder": [
 15703  	//     "profileId",
 15704  	//     "id"
 15705  	//   ],
 15706  	//   "parameters": {
 15707  	//     "id": {
 15708  	//       "description": "User profile ID.",
 15709  	//       "format": "int64",
 15710  	//       "location": "query",
 15711  	//       "required": true,
 15712  	//       "type": "string"
 15713  	//     },
 15714  	//     "profileId": {
 15715  	//       "description": "User profile ID associated with this request.",
 15716  	//       "format": "int64",
 15717  	//       "location": "path",
 15718  	//       "required": true,
 15719  	//       "type": "string"
 15720  	//     }
 15721  	//   },
 15722  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15723  	//   "request": {
 15724  	//     "$ref": "AccountUserProfile"
 15725  	//   },
 15726  	//   "response": {
 15727  	//     "$ref": "AccountUserProfile"
 15728  	//   },
 15729  	//   "scopes": [
 15730  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15731  	//   ]
 15732  	// }
 15733  
 15734  }
 15735  
 15736  // method id "dfareporting.accountUserProfiles.update":
 15737  
 15738  type AccountUserProfilesUpdateCall struct {
 15739  	s                  *Service
 15740  	profileId          int64
 15741  	accountuserprofile *AccountUserProfile
 15742  	urlParams_         gensupport.URLParams
 15743  	ctx_               context.Context
 15744  	header_            http.Header
 15745  }
 15746  
 15747  // Update: Updates an existing account user profile.
 15748  func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
 15749  	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15750  	c.profileId = profileId
 15751  	c.accountuserprofile = accountuserprofile
 15752  	return c
 15753  }
 15754  
 15755  // Fields allows partial responses to be retrieved. See
 15756  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15757  // for more information.
 15758  func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
 15759  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15760  	return c
 15761  }
 15762  
 15763  // Context sets the context to be used in this call's Do method. Any
 15764  // pending HTTP request will be aborted if the provided context is
 15765  // canceled.
 15766  func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 15767  	c.ctx_ = ctx
 15768  	return c
 15769  }
 15770  
 15771  // Header returns an http.Header that can be modified by the caller to
 15772  // add HTTP headers to the request.
 15773  func (c *AccountUserProfilesUpdateCall) Header() http.Header {
 15774  	if c.header_ == nil {
 15775  		c.header_ = make(http.Header)
 15776  	}
 15777  	return c.header_
 15778  }
 15779  
 15780  func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 15781  	reqHeaders := make(http.Header)
 15782  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15783  	for k, v := range c.header_ {
 15784  		reqHeaders[k] = v
 15785  	}
 15786  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15787  	var body io.Reader = nil
 15788  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15789  	if err != nil {
 15790  		return nil, err
 15791  	}
 15792  	reqHeaders.Set("Content-Type", "application/json")
 15793  	c.urlParams_.Set("alt", alt)
 15794  	c.urlParams_.Set("prettyPrint", "false")
 15795  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15796  	urls += "?" + c.urlParams_.Encode()
 15797  	req, err := http.NewRequest("PUT", urls, body)
 15798  	if err != nil {
 15799  		return nil, err
 15800  	}
 15801  	req.Header = reqHeaders
 15802  	googleapi.Expand(req.URL, map[string]string{
 15803  		"profileId": strconv.FormatInt(c.profileId, 10),
 15804  	})
 15805  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15806  }
 15807  
 15808  // Do executes the "dfareporting.accountUserProfiles.update" call.
 15809  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15810  // non-2xx status code is an error. Response headers are in either
 15811  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15812  // returned at all) in error.(*googleapi.Error).Header. Use
 15813  // googleapi.IsNotModified to check whether the returned error was
 15814  // because http.StatusNotModified was returned.
 15815  func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15816  	gensupport.SetOptions(c.urlParams_, opts...)
 15817  	res, err := c.doRequest("json")
 15818  	if res != nil && res.StatusCode == http.StatusNotModified {
 15819  		if res.Body != nil {
 15820  			res.Body.Close()
 15821  		}
 15822  		return nil, &googleapi.Error{
 15823  			Code:   res.StatusCode,
 15824  			Header: res.Header,
 15825  		}
 15826  	}
 15827  	if err != nil {
 15828  		return nil, err
 15829  	}
 15830  	defer googleapi.CloseBody(res)
 15831  	if err := googleapi.CheckResponse(res); err != nil {
 15832  		return nil, err
 15833  	}
 15834  	ret := &AccountUserProfile{
 15835  		ServerResponse: googleapi.ServerResponse{
 15836  			Header:         res.Header,
 15837  			HTTPStatusCode: res.StatusCode,
 15838  		},
 15839  	}
 15840  	target := &ret
 15841  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15842  		return nil, err
 15843  	}
 15844  	return ret, nil
 15845  	// {
 15846  	//   "description": "Updates an existing account user profile.",
 15847  	//   "httpMethod": "PUT",
 15848  	//   "id": "dfareporting.accountUserProfiles.update",
 15849  	//   "parameterOrder": [
 15850  	//     "profileId"
 15851  	//   ],
 15852  	//   "parameters": {
 15853  	//     "profileId": {
 15854  	//       "description": "User profile ID associated with this request.",
 15855  	//       "format": "int64",
 15856  	//       "location": "path",
 15857  	//       "required": true,
 15858  	//       "type": "string"
 15859  	//     }
 15860  	//   },
 15861  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15862  	//   "request": {
 15863  	//     "$ref": "AccountUserProfile"
 15864  	//   },
 15865  	//   "response": {
 15866  	//     "$ref": "AccountUserProfile"
 15867  	//   },
 15868  	//   "scopes": [
 15869  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15870  	//   ]
 15871  	// }
 15872  
 15873  }
 15874  
 15875  // method id "dfareporting.accounts.get":
 15876  
 15877  type AccountsGetCall struct {
 15878  	s            *Service
 15879  	profileId    int64
 15880  	id           int64
 15881  	urlParams_   gensupport.URLParams
 15882  	ifNoneMatch_ string
 15883  	ctx_         context.Context
 15884  	header_      http.Header
 15885  }
 15886  
 15887  // Get: Gets one account by ID.
 15888  func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
 15889  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15890  	c.profileId = profileId
 15891  	c.id = id
 15892  	return c
 15893  }
 15894  
 15895  // Fields allows partial responses to be retrieved. See
 15896  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15897  // for more information.
 15898  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
 15899  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15900  	return c
 15901  }
 15902  
 15903  // IfNoneMatch sets the optional parameter which makes the operation
 15904  // fail if the object's ETag matches the given value. This is useful for
 15905  // getting updates only after the object has changed since the last
 15906  // request. Use googleapi.IsNotModified to check whether the response
 15907  // error from Do is the result of In-None-Match.
 15908  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
 15909  	c.ifNoneMatch_ = entityTag
 15910  	return c
 15911  }
 15912  
 15913  // Context sets the context to be used in this call's Do method. Any
 15914  // pending HTTP request will be aborted if the provided context is
 15915  // canceled.
 15916  func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 15917  	c.ctx_ = ctx
 15918  	return c
 15919  }
 15920  
 15921  // Header returns an http.Header that can be modified by the caller to
 15922  // add HTTP headers to the request.
 15923  func (c *AccountsGetCall) Header() http.Header {
 15924  	if c.header_ == nil {
 15925  		c.header_ = make(http.Header)
 15926  	}
 15927  	return c.header_
 15928  }
 15929  
 15930  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 15931  	reqHeaders := make(http.Header)
 15932  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 15933  	for k, v := range c.header_ {
 15934  		reqHeaders[k] = v
 15935  	}
 15936  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15937  	if c.ifNoneMatch_ != "" {
 15938  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15939  	}
 15940  	var body io.Reader = nil
 15941  	c.urlParams_.Set("alt", alt)
 15942  	c.urlParams_.Set("prettyPrint", "false")
 15943  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
 15944  	urls += "?" + c.urlParams_.Encode()
 15945  	req, err := http.NewRequest("GET", urls, body)
 15946  	if err != nil {
 15947  		return nil, err
 15948  	}
 15949  	req.Header = reqHeaders
 15950  	googleapi.Expand(req.URL, map[string]string{
 15951  		"profileId": strconv.FormatInt(c.profileId, 10),
 15952  		"id":        strconv.FormatInt(c.id, 10),
 15953  	})
 15954  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15955  }
 15956  
 15957  // Do executes the "dfareporting.accounts.get" call.
 15958  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 15959  // code is an error. Response headers are in either
 15960  // *Account.ServerResponse.Header or (if a response was returned at all)
 15961  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15962  // check whether the returned error was because http.StatusNotModified
 15963  // was returned.
 15964  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 15965  	gensupport.SetOptions(c.urlParams_, opts...)
 15966  	res, err := c.doRequest("json")
 15967  	if res != nil && res.StatusCode == http.StatusNotModified {
 15968  		if res.Body != nil {
 15969  			res.Body.Close()
 15970  		}
 15971  		return nil, &googleapi.Error{
 15972  			Code:   res.StatusCode,
 15973  			Header: res.Header,
 15974  		}
 15975  	}
 15976  	if err != nil {
 15977  		return nil, err
 15978  	}
 15979  	defer googleapi.CloseBody(res)
 15980  	if err := googleapi.CheckResponse(res); err != nil {
 15981  		return nil, err
 15982  	}
 15983  	ret := &Account{
 15984  		ServerResponse: googleapi.ServerResponse{
 15985  			Header:         res.Header,
 15986  			HTTPStatusCode: res.StatusCode,
 15987  		},
 15988  	}
 15989  	target := &ret
 15990  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15991  		return nil, err
 15992  	}
 15993  	return ret, nil
 15994  	// {
 15995  	//   "description": "Gets one account by ID.",
 15996  	//   "httpMethod": "GET",
 15997  	//   "id": "dfareporting.accounts.get",
 15998  	//   "parameterOrder": [
 15999  	//     "profileId",
 16000  	//     "id"
 16001  	//   ],
 16002  	//   "parameters": {
 16003  	//     "id": {
 16004  	//       "description": "Account ID.",
 16005  	//       "format": "int64",
 16006  	//       "location": "path",
 16007  	//       "required": true,
 16008  	//       "type": "string"
 16009  	//     },
 16010  	//     "profileId": {
 16011  	//       "description": "User profile ID associated with this request.",
 16012  	//       "format": "int64",
 16013  	//       "location": "path",
 16014  	//       "required": true,
 16015  	//       "type": "string"
 16016  	//     }
 16017  	//   },
 16018  	//   "path": "userprofiles/{profileId}/accounts/{id}",
 16019  	//   "response": {
 16020  	//     "$ref": "Account"
 16021  	//   },
 16022  	//   "scopes": [
 16023  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16024  	//   ]
 16025  	// }
 16026  
 16027  }
 16028  
 16029  // method id "dfareporting.accounts.list":
 16030  
 16031  type AccountsListCall struct {
 16032  	s            *Service
 16033  	profileId    int64
 16034  	urlParams_   gensupport.URLParams
 16035  	ifNoneMatch_ string
 16036  	ctx_         context.Context
 16037  	header_      http.Header
 16038  }
 16039  
 16040  // List: Retrieves the list of accounts, possibly filtered. This method
 16041  // supports paging.
 16042  func (r *AccountsService) List(profileId int64) *AccountsListCall {
 16043  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16044  	c.profileId = profileId
 16045  	return c
 16046  }
 16047  
 16048  // Active sets the optional parameter "active": Select only active
 16049  // accounts. Don't set this field to select both active and non-active
 16050  // accounts.
 16051  func (c *AccountsListCall) Active(active bool) *AccountsListCall {
 16052  	c.urlParams_.Set("active", fmt.Sprint(active))
 16053  	return c
 16054  }
 16055  
 16056  // Ids sets the optional parameter "ids": Select only accounts with
 16057  // these IDs.
 16058  func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
 16059  	var ids_ []string
 16060  	for _, v := range ids {
 16061  		ids_ = append(ids_, fmt.Sprint(v))
 16062  	}
 16063  	c.urlParams_.SetMulti("ids", ids_)
 16064  	return c
 16065  }
 16066  
 16067  // MaxResults sets the optional parameter "maxResults": Maximum number
 16068  // of results to return.
 16069  func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
 16070  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 16071  	return c
 16072  }
 16073  
 16074  // PageToken sets the optional parameter "pageToken": Value of the
 16075  // nextPageToken from the previous result page.
 16076  func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
 16077  	c.urlParams_.Set("pageToken", pageToken)
 16078  	return c
 16079  }
 16080  
 16081  // SearchString sets the optional parameter "searchString": Allows
 16082  // searching for objects by name or ID. Wildcards (*) are allowed. For
 16083  // example, "account*2015" will return objects with names like "account
 16084  // June 2015", "account April 2015", or simply "account 2015". Most of
 16085  // the searches also add wildcards implicitly at the start and the end
 16086  // of the search string. For example, a search string of "account" will
 16087  // match objects with name "my account", "account 2015", or simply
 16088  // "account".
 16089  func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
 16090  	c.urlParams_.Set("searchString", searchString)
 16091  	return c
 16092  }
 16093  
 16094  // SortField sets the optional parameter "sortField": Field by which to
 16095  // sort the list.
 16096  //
 16097  // Possible values:
 16098  //
 16099  //	"ID" (default)
 16100  //	"NAME"
 16101  func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
 16102  	c.urlParams_.Set("sortField", sortField)
 16103  	return c
 16104  }
 16105  
 16106  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 16107  // results.
 16108  //
 16109  // Possible values:
 16110  //
 16111  //	"ASCENDING" (default)
 16112  //	"DESCENDING"
 16113  func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
 16114  	c.urlParams_.Set("sortOrder", sortOrder)
 16115  	return c
 16116  }
 16117  
 16118  // Fields allows partial responses to be retrieved. See
 16119  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16120  // for more information.
 16121  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
 16122  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16123  	return c
 16124  }
 16125  
 16126  // IfNoneMatch sets the optional parameter which makes the operation
 16127  // fail if the object's ETag matches the given value. This is useful for
 16128  // getting updates only after the object has changed since the last
 16129  // request. Use googleapi.IsNotModified to check whether the response
 16130  // error from Do is the result of In-None-Match.
 16131  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
 16132  	c.ifNoneMatch_ = entityTag
 16133  	return c
 16134  }
 16135  
 16136  // Context sets the context to be used in this call's Do method. Any
 16137  // pending HTTP request will be aborted if the provided context is
 16138  // canceled.
 16139  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 16140  	c.ctx_ = ctx
 16141  	return c
 16142  }
 16143  
 16144  // Header returns an http.Header that can be modified by the caller to
 16145  // add HTTP headers to the request.
 16146  func (c *AccountsListCall) Header() http.Header {
 16147  	if c.header_ == nil {
 16148  		c.header_ = make(http.Header)
 16149  	}
 16150  	return c.header_
 16151  }
 16152  
 16153  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 16154  	reqHeaders := make(http.Header)
 16155  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16156  	for k, v := range c.header_ {
 16157  		reqHeaders[k] = v
 16158  	}
 16159  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16160  	if c.ifNoneMatch_ != "" {
 16161  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16162  	}
 16163  	var body io.Reader = nil
 16164  	c.urlParams_.Set("alt", alt)
 16165  	c.urlParams_.Set("prettyPrint", "false")
 16166  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16167  	urls += "?" + c.urlParams_.Encode()
 16168  	req, err := http.NewRequest("GET", urls, body)
 16169  	if err != nil {
 16170  		return nil, err
 16171  	}
 16172  	req.Header = reqHeaders
 16173  	googleapi.Expand(req.URL, map[string]string{
 16174  		"profileId": strconv.FormatInt(c.profileId, 10),
 16175  	})
 16176  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16177  }
 16178  
 16179  // Do executes the "dfareporting.accounts.list" call.
 16180  // Exactly one of *AccountsListResponse or error will be non-nil. Any
 16181  // non-2xx status code is an error. Response headers are in either
 16182  // *AccountsListResponse.ServerResponse.Header or (if a response was
 16183  // returned at all) in error.(*googleapi.Error).Header. Use
 16184  // googleapi.IsNotModified to check whether the returned error was
 16185  // because http.StatusNotModified was returned.
 16186  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
 16187  	gensupport.SetOptions(c.urlParams_, opts...)
 16188  	res, err := c.doRequest("json")
 16189  	if res != nil && res.StatusCode == http.StatusNotModified {
 16190  		if res.Body != nil {
 16191  			res.Body.Close()
 16192  		}
 16193  		return nil, &googleapi.Error{
 16194  			Code:   res.StatusCode,
 16195  			Header: res.Header,
 16196  		}
 16197  	}
 16198  	if err != nil {
 16199  		return nil, err
 16200  	}
 16201  	defer googleapi.CloseBody(res)
 16202  	if err := googleapi.CheckResponse(res); err != nil {
 16203  		return nil, err
 16204  	}
 16205  	ret := &AccountsListResponse{
 16206  		ServerResponse: googleapi.ServerResponse{
 16207  			Header:         res.Header,
 16208  			HTTPStatusCode: res.StatusCode,
 16209  		},
 16210  	}
 16211  	target := &ret
 16212  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16213  		return nil, err
 16214  	}
 16215  	return ret, nil
 16216  	// {
 16217  	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
 16218  	//   "httpMethod": "GET",
 16219  	//   "id": "dfareporting.accounts.list",
 16220  	//   "parameterOrder": [
 16221  	//     "profileId"
 16222  	//   ],
 16223  	//   "parameters": {
 16224  	//     "active": {
 16225  	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
 16226  	//       "location": "query",
 16227  	//       "type": "boolean"
 16228  	//     },
 16229  	//     "ids": {
 16230  	//       "description": "Select only accounts with these IDs.",
 16231  	//       "format": "int64",
 16232  	//       "location": "query",
 16233  	//       "repeated": true,
 16234  	//       "type": "string"
 16235  	//     },
 16236  	//     "maxResults": {
 16237  	//       "default": "1000",
 16238  	//       "description": "Maximum number of results to return.",
 16239  	//       "format": "int32",
 16240  	//       "location": "query",
 16241  	//       "maximum": "1000",
 16242  	//       "minimum": "0",
 16243  	//       "type": "integer"
 16244  	//     },
 16245  	//     "pageToken": {
 16246  	//       "description": "Value of the nextPageToken from the previous result page.",
 16247  	//       "location": "query",
 16248  	//       "type": "string"
 16249  	//     },
 16250  	//     "profileId": {
 16251  	//       "description": "User profile ID associated with this request.",
 16252  	//       "format": "int64",
 16253  	//       "location": "path",
 16254  	//       "required": true,
 16255  	//       "type": "string"
 16256  	//     },
 16257  	//     "searchString": {
 16258  	//       "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\".",
 16259  	//       "location": "query",
 16260  	//       "type": "string"
 16261  	//     },
 16262  	//     "sortField": {
 16263  	//       "default": "ID",
 16264  	//       "description": "Field by which to sort the list.",
 16265  	//       "enum": [
 16266  	//         "ID",
 16267  	//         "NAME"
 16268  	//       ],
 16269  	//       "enumDescriptions": [
 16270  	//         "",
 16271  	//         ""
 16272  	//       ],
 16273  	//       "location": "query",
 16274  	//       "type": "string"
 16275  	//     },
 16276  	//     "sortOrder": {
 16277  	//       "default": "ASCENDING",
 16278  	//       "description": "Order of sorted results.",
 16279  	//       "enum": [
 16280  	//         "ASCENDING",
 16281  	//         "DESCENDING"
 16282  	//       ],
 16283  	//       "enumDescriptions": [
 16284  	//         "",
 16285  	//         ""
 16286  	//       ],
 16287  	//       "location": "query",
 16288  	//       "type": "string"
 16289  	//     }
 16290  	//   },
 16291  	//   "path": "userprofiles/{profileId}/accounts",
 16292  	//   "response": {
 16293  	//     "$ref": "AccountsListResponse"
 16294  	//   },
 16295  	//   "scopes": [
 16296  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16297  	//   ]
 16298  	// }
 16299  
 16300  }
 16301  
 16302  // Pages invokes f for each page of results.
 16303  // A non-nil error returned from f will halt the iteration.
 16304  // The provided context supersedes any context provided to the Context method.
 16305  func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
 16306  	c.ctx_ = ctx
 16307  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 16308  	for {
 16309  		x, err := c.Do()
 16310  		if err != nil {
 16311  			return err
 16312  		}
 16313  		if err := f(x); err != nil {
 16314  			return err
 16315  		}
 16316  		if x.NextPageToken == "" {
 16317  			return nil
 16318  		}
 16319  		c.PageToken(x.NextPageToken)
 16320  	}
 16321  }
 16322  
 16323  // method id "dfareporting.accounts.patch":
 16324  
 16325  type AccountsPatchCall struct {
 16326  	s          *Service
 16327  	profileId  int64
 16328  	account    *Account
 16329  	urlParams_ gensupport.URLParams
 16330  	ctx_       context.Context
 16331  	header_    http.Header
 16332  }
 16333  
 16334  // Patch: Updates an existing account. This method supports patch
 16335  // semantics.
 16336  func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
 16337  	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16338  	c.profileId = profileId
 16339  	c.urlParams_.Set("id", fmt.Sprint(id))
 16340  	c.account = account
 16341  	return c
 16342  }
 16343  
 16344  // Fields allows partial responses to be retrieved. See
 16345  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16346  // for more information.
 16347  func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
 16348  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16349  	return c
 16350  }
 16351  
 16352  // Context sets the context to be used in this call's Do method. Any
 16353  // pending HTTP request will be aborted if the provided context is
 16354  // canceled.
 16355  func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 16356  	c.ctx_ = ctx
 16357  	return c
 16358  }
 16359  
 16360  // Header returns an http.Header that can be modified by the caller to
 16361  // add HTTP headers to the request.
 16362  func (c *AccountsPatchCall) Header() http.Header {
 16363  	if c.header_ == nil {
 16364  		c.header_ = make(http.Header)
 16365  	}
 16366  	return c.header_
 16367  }
 16368  
 16369  func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 16370  	reqHeaders := make(http.Header)
 16371  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16372  	for k, v := range c.header_ {
 16373  		reqHeaders[k] = v
 16374  	}
 16375  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16376  	var body io.Reader = nil
 16377  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16378  	if err != nil {
 16379  		return nil, err
 16380  	}
 16381  	reqHeaders.Set("Content-Type", "application/json")
 16382  	c.urlParams_.Set("alt", alt)
 16383  	c.urlParams_.Set("prettyPrint", "false")
 16384  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16385  	urls += "?" + c.urlParams_.Encode()
 16386  	req, err := http.NewRequest("PATCH", urls, body)
 16387  	if err != nil {
 16388  		return nil, err
 16389  	}
 16390  	req.Header = reqHeaders
 16391  	googleapi.Expand(req.URL, map[string]string{
 16392  		"profileId": strconv.FormatInt(c.profileId, 10),
 16393  	})
 16394  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16395  }
 16396  
 16397  // Do executes the "dfareporting.accounts.patch" call.
 16398  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16399  // code is an error. Response headers are in either
 16400  // *Account.ServerResponse.Header or (if a response was returned at all)
 16401  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16402  // check whether the returned error was because http.StatusNotModified
 16403  // was returned.
 16404  func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16405  	gensupport.SetOptions(c.urlParams_, opts...)
 16406  	res, err := c.doRequest("json")
 16407  	if res != nil && res.StatusCode == http.StatusNotModified {
 16408  		if res.Body != nil {
 16409  			res.Body.Close()
 16410  		}
 16411  		return nil, &googleapi.Error{
 16412  			Code:   res.StatusCode,
 16413  			Header: res.Header,
 16414  		}
 16415  	}
 16416  	if err != nil {
 16417  		return nil, err
 16418  	}
 16419  	defer googleapi.CloseBody(res)
 16420  	if err := googleapi.CheckResponse(res); err != nil {
 16421  		return nil, err
 16422  	}
 16423  	ret := &Account{
 16424  		ServerResponse: googleapi.ServerResponse{
 16425  			Header:         res.Header,
 16426  			HTTPStatusCode: res.StatusCode,
 16427  		},
 16428  	}
 16429  	target := &ret
 16430  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16431  		return nil, err
 16432  	}
 16433  	return ret, nil
 16434  	// {
 16435  	//   "description": "Updates an existing account. This method supports patch semantics.",
 16436  	//   "httpMethod": "PATCH",
 16437  	//   "id": "dfareporting.accounts.patch",
 16438  	//   "parameterOrder": [
 16439  	//     "profileId",
 16440  	//     "id"
 16441  	//   ],
 16442  	//   "parameters": {
 16443  	//     "id": {
 16444  	//       "description": "Account ID.",
 16445  	//       "format": "int64",
 16446  	//       "location": "query",
 16447  	//       "required": true,
 16448  	//       "type": "string"
 16449  	//     },
 16450  	//     "profileId": {
 16451  	//       "description": "User profile ID associated with this request.",
 16452  	//       "format": "int64",
 16453  	//       "location": "path",
 16454  	//       "required": true,
 16455  	//       "type": "string"
 16456  	//     }
 16457  	//   },
 16458  	//   "path": "userprofiles/{profileId}/accounts",
 16459  	//   "request": {
 16460  	//     "$ref": "Account"
 16461  	//   },
 16462  	//   "response": {
 16463  	//     "$ref": "Account"
 16464  	//   },
 16465  	//   "scopes": [
 16466  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16467  	//   ]
 16468  	// }
 16469  
 16470  }
 16471  
 16472  // method id "dfareporting.accounts.update":
 16473  
 16474  type AccountsUpdateCall struct {
 16475  	s          *Service
 16476  	profileId  int64
 16477  	account    *Account
 16478  	urlParams_ gensupport.URLParams
 16479  	ctx_       context.Context
 16480  	header_    http.Header
 16481  }
 16482  
 16483  // Update: Updates an existing account.
 16484  func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
 16485  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16486  	c.profileId = profileId
 16487  	c.account = account
 16488  	return c
 16489  }
 16490  
 16491  // Fields allows partial responses to be retrieved. See
 16492  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16493  // for more information.
 16494  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
 16495  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16496  	return c
 16497  }
 16498  
 16499  // Context sets the context to be used in this call's Do method. Any
 16500  // pending HTTP request will be aborted if the provided context is
 16501  // canceled.
 16502  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 16503  	c.ctx_ = ctx
 16504  	return c
 16505  }
 16506  
 16507  // Header returns an http.Header that can be modified by the caller to
 16508  // add HTTP headers to the request.
 16509  func (c *AccountsUpdateCall) Header() http.Header {
 16510  	if c.header_ == nil {
 16511  		c.header_ = make(http.Header)
 16512  	}
 16513  	return c.header_
 16514  }
 16515  
 16516  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 16517  	reqHeaders := make(http.Header)
 16518  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16519  	for k, v := range c.header_ {
 16520  		reqHeaders[k] = v
 16521  	}
 16522  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16523  	var body io.Reader = nil
 16524  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16525  	if err != nil {
 16526  		return nil, err
 16527  	}
 16528  	reqHeaders.Set("Content-Type", "application/json")
 16529  	c.urlParams_.Set("alt", alt)
 16530  	c.urlParams_.Set("prettyPrint", "false")
 16531  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16532  	urls += "?" + c.urlParams_.Encode()
 16533  	req, err := http.NewRequest("PUT", urls, body)
 16534  	if err != nil {
 16535  		return nil, err
 16536  	}
 16537  	req.Header = reqHeaders
 16538  	googleapi.Expand(req.URL, map[string]string{
 16539  		"profileId": strconv.FormatInt(c.profileId, 10),
 16540  	})
 16541  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16542  }
 16543  
 16544  // Do executes the "dfareporting.accounts.update" call.
 16545  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16546  // code is an error. Response headers are in either
 16547  // *Account.ServerResponse.Header or (if a response was returned at all)
 16548  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16549  // check whether the returned error was because http.StatusNotModified
 16550  // was returned.
 16551  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16552  	gensupport.SetOptions(c.urlParams_, opts...)
 16553  	res, err := c.doRequest("json")
 16554  	if res != nil && res.StatusCode == http.StatusNotModified {
 16555  		if res.Body != nil {
 16556  			res.Body.Close()
 16557  		}
 16558  		return nil, &googleapi.Error{
 16559  			Code:   res.StatusCode,
 16560  			Header: res.Header,
 16561  		}
 16562  	}
 16563  	if err != nil {
 16564  		return nil, err
 16565  	}
 16566  	defer googleapi.CloseBody(res)
 16567  	if err := googleapi.CheckResponse(res); err != nil {
 16568  		return nil, err
 16569  	}
 16570  	ret := &Account{
 16571  		ServerResponse: googleapi.ServerResponse{
 16572  			Header:         res.Header,
 16573  			HTTPStatusCode: res.StatusCode,
 16574  		},
 16575  	}
 16576  	target := &ret
 16577  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16578  		return nil, err
 16579  	}
 16580  	return ret, nil
 16581  	// {
 16582  	//   "description": "Updates an existing account.",
 16583  	//   "httpMethod": "PUT",
 16584  	//   "id": "dfareporting.accounts.update",
 16585  	//   "parameterOrder": [
 16586  	//     "profileId"
 16587  	//   ],
 16588  	//   "parameters": {
 16589  	//     "profileId": {
 16590  	//       "description": "User profile ID associated with this request.",
 16591  	//       "format": "int64",
 16592  	//       "location": "path",
 16593  	//       "required": true,
 16594  	//       "type": "string"
 16595  	//     }
 16596  	//   },
 16597  	//   "path": "userprofiles/{profileId}/accounts",
 16598  	//   "request": {
 16599  	//     "$ref": "Account"
 16600  	//   },
 16601  	//   "response": {
 16602  	//     "$ref": "Account"
 16603  	//   },
 16604  	//   "scopes": [
 16605  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16606  	//   ]
 16607  	// }
 16608  
 16609  }
 16610  
 16611  // method id "dfareporting.ads.get":
 16612  
 16613  type AdsGetCall struct {
 16614  	s            *Service
 16615  	profileId    int64
 16616  	id           int64
 16617  	urlParams_   gensupport.URLParams
 16618  	ifNoneMatch_ string
 16619  	ctx_         context.Context
 16620  	header_      http.Header
 16621  }
 16622  
 16623  // Get: Gets one ad by ID.
 16624  func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
 16625  	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16626  	c.profileId = profileId
 16627  	c.id = id
 16628  	return c
 16629  }
 16630  
 16631  // Fields allows partial responses to be retrieved. See
 16632  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16633  // for more information.
 16634  func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
 16635  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16636  	return c
 16637  }
 16638  
 16639  // IfNoneMatch sets the optional parameter which makes the operation
 16640  // fail if the object's ETag matches the given value. This is useful for
 16641  // getting updates only after the object has changed since the last
 16642  // request. Use googleapi.IsNotModified to check whether the response
 16643  // error from Do is the result of In-None-Match.
 16644  func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
 16645  	c.ifNoneMatch_ = entityTag
 16646  	return c
 16647  }
 16648  
 16649  // Context sets the context to be used in this call's Do method. Any
 16650  // pending HTTP request will be aborted if the provided context is
 16651  // canceled.
 16652  func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 16653  	c.ctx_ = ctx
 16654  	return c
 16655  }
 16656  
 16657  // Header returns an http.Header that can be modified by the caller to
 16658  // add HTTP headers to the request.
 16659  func (c *AdsGetCall) Header() http.Header {
 16660  	if c.header_ == nil {
 16661  		c.header_ = make(http.Header)
 16662  	}
 16663  	return c.header_
 16664  }
 16665  
 16666  func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 16667  	reqHeaders := make(http.Header)
 16668  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16669  	for k, v := range c.header_ {
 16670  		reqHeaders[k] = v
 16671  	}
 16672  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16673  	if c.ifNoneMatch_ != "" {
 16674  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16675  	}
 16676  	var body io.Reader = nil
 16677  	c.urlParams_.Set("alt", alt)
 16678  	c.urlParams_.Set("prettyPrint", "false")
 16679  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
 16680  	urls += "?" + c.urlParams_.Encode()
 16681  	req, err := http.NewRequest("GET", urls, body)
 16682  	if err != nil {
 16683  		return nil, err
 16684  	}
 16685  	req.Header = reqHeaders
 16686  	googleapi.Expand(req.URL, map[string]string{
 16687  		"profileId": strconv.FormatInt(c.profileId, 10),
 16688  		"id":        strconv.FormatInt(c.id, 10),
 16689  	})
 16690  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16691  }
 16692  
 16693  // Do executes the "dfareporting.ads.get" call.
 16694  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16695  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16696  // or (if a response was returned at all) in
 16697  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16698  // whether the returned error was because http.StatusNotModified was
 16699  // returned.
 16700  func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16701  	gensupport.SetOptions(c.urlParams_, opts...)
 16702  	res, err := c.doRequest("json")
 16703  	if res != nil && res.StatusCode == http.StatusNotModified {
 16704  		if res.Body != nil {
 16705  			res.Body.Close()
 16706  		}
 16707  		return nil, &googleapi.Error{
 16708  			Code:   res.StatusCode,
 16709  			Header: res.Header,
 16710  		}
 16711  	}
 16712  	if err != nil {
 16713  		return nil, err
 16714  	}
 16715  	defer googleapi.CloseBody(res)
 16716  	if err := googleapi.CheckResponse(res); err != nil {
 16717  		return nil, err
 16718  	}
 16719  	ret := &Ad{
 16720  		ServerResponse: googleapi.ServerResponse{
 16721  			Header:         res.Header,
 16722  			HTTPStatusCode: res.StatusCode,
 16723  		},
 16724  	}
 16725  	target := &ret
 16726  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16727  		return nil, err
 16728  	}
 16729  	return ret, nil
 16730  	// {
 16731  	//   "description": "Gets one ad by ID.",
 16732  	//   "httpMethod": "GET",
 16733  	//   "id": "dfareporting.ads.get",
 16734  	//   "parameterOrder": [
 16735  	//     "profileId",
 16736  	//     "id"
 16737  	//   ],
 16738  	//   "parameters": {
 16739  	//     "id": {
 16740  	//       "description": "Ad ID.",
 16741  	//       "format": "int64",
 16742  	//       "location": "path",
 16743  	//       "required": true,
 16744  	//       "type": "string"
 16745  	//     },
 16746  	//     "profileId": {
 16747  	//       "description": "User profile ID associated with this request.",
 16748  	//       "format": "int64",
 16749  	//       "location": "path",
 16750  	//       "required": true,
 16751  	//       "type": "string"
 16752  	//     }
 16753  	//   },
 16754  	//   "path": "userprofiles/{profileId}/ads/{id}",
 16755  	//   "response": {
 16756  	//     "$ref": "Ad"
 16757  	//   },
 16758  	//   "scopes": [
 16759  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16760  	//   ]
 16761  	// }
 16762  
 16763  }
 16764  
 16765  // method id "dfareporting.ads.insert":
 16766  
 16767  type AdsInsertCall struct {
 16768  	s          *Service
 16769  	profileId  int64
 16770  	ad         *Ad
 16771  	urlParams_ gensupport.URLParams
 16772  	ctx_       context.Context
 16773  	header_    http.Header
 16774  }
 16775  
 16776  // Insert: Inserts a new ad.
 16777  func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
 16778  	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16779  	c.profileId = profileId
 16780  	c.ad = ad
 16781  	return c
 16782  }
 16783  
 16784  // Fields allows partial responses to be retrieved. See
 16785  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16786  // for more information.
 16787  func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
 16788  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16789  	return c
 16790  }
 16791  
 16792  // Context sets the context to be used in this call's Do method. Any
 16793  // pending HTTP request will be aborted if the provided context is
 16794  // canceled.
 16795  func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 16796  	c.ctx_ = ctx
 16797  	return c
 16798  }
 16799  
 16800  // Header returns an http.Header that can be modified by the caller to
 16801  // add HTTP headers to the request.
 16802  func (c *AdsInsertCall) Header() http.Header {
 16803  	if c.header_ == nil {
 16804  		c.header_ = make(http.Header)
 16805  	}
 16806  	return c.header_
 16807  }
 16808  
 16809  func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
 16810  	reqHeaders := make(http.Header)
 16811  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 16812  	for k, v := range c.header_ {
 16813  		reqHeaders[k] = v
 16814  	}
 16815  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16816  	var body io.Reader = nil
 16817  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 16818  	if err != nil {
 16819  		return nil, err
 16820  	}
 16821  	reqHeaders.Set("Content-Type", "application/json")
 16822  	c.urlParams_.Set("alt", alt)
 16823  	c.urlParams_.Set("prettyPrint", "false")
 16824  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 16825  	urls += "?" + c.urlParams_.Encode()
 16826  	req, err := http.NewRequest("POST", urls, body)
 16827  	if err != nil {
 16828  		return nil, err
 16829  	}
 16830  	req.Header = reqHeaders
 16831  	googleapi.Expand(req.URL, map[string]string{
 16832  		"profileId": strconv.FormatInt(c.profileId, 10),
 16833  	})
 16834  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16835  }
 16836  
 16837  // Do executes the "dfareporting.ads.insert" call.
 16838  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16839  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16840  // or (if a response was returned at all) in
 16841  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16842  // whether the returned error was because http.StatusNotModified was
 16843  // returned.
 16844  func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16845  	gensupport.SetOptions(c.urlParams_, opts...)
 16846  	res, err := c.doRequest("json")
 16847  	if res != nil && res.StatusCode == http.StatusNotModified {
 16848  		if res.Body != nil {
 16849  			res.Body.Close()
 16850  		}
 16851  		return nil, &googleapi.Error{
 16852  			Code:   res.StatusCode,
 16853  			Header: res.Header,
 16854  		}
 16855  	}
 16856  	if err != nil {
 16857  		return nil, err
 16858  	}
 16859  	defer googleapi.CloseBody(res)
 16860  	if err := googleapi.CheckResponse(res); err != nil {
 16861  		return nil, err
 16862  	}
 16863  	ret := &Ad{
 16864  		ServerResponse: googleapi.ServerResponse{
 16865  			Header:         res.Header,
 16866  			HTTPStatusCode: res.StatusCode,
 16867  		},
 16868  	}
 16869  	target := &ret
 16870  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16871  		return nil, err
 16872  	}
 16873  	return ret, nil
 16874  	// {
 16875  	//   "description": "Inserts a new ad.",
 16876  	//   "httpMethod": "POST",
 16877  	//   "id": "dfareporting.ads.insert",
 16878  	//   "parameterOrder": [
 16879  	//     "profileId"
 16880  	//   ],
 16881  	//   "parameters": {
 16882  	//     "profileId": {
 16883  	//       "description": "User profile ID associated with this request.",
 16884  	//       "format": "int64",
 16885  	//       "location": "path",
 16886  	//       "required": true,
 16887  	//       "type": "string"
 16888  	//     }
 16889  	//   },
 16890  	//   "path": "userprofiles/{profileId}/ads",
 16891  	//   "request": {
 16892  	//     "$ref": "Ad"
 16893  	//   },
 16894  	//   "response": {
 16895  	//     "$ref": "Ad"
 16896  	//   },
 16897  	//   "scopes": [
 16898  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16899  	//   ]
 16900  	// }
 16901  
 16902  }
 16903  
 16904  // method id "dfareporting.ads.list":
 16905  
 16906  type AdsListCall struct {
 16907  	s            *Service
 16908  	profileId    int64
 16909  	urlParams_   gensupport.URLParams
 16910  	ifNoneMatch_ string
 16911  	ctx_         context.Context
 16912  	header_      http.Header
 16913  }
 16914  
 16915  // List: Retrieves a list of ads, possibly filtered. This method
 16916  // supports paging.
 16917  func (r *AdsService) List(profileId int64) *AdsListCall {
 16918  	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16919  	c.profileId = profileId
 16920  	return c
 16921  }
 16922  
 16923  // Active sets the optional parameter "active": Select only active ads.
 16924  func (c *AdsListCall) Active(active bool) *AdsListCall {
 16925  	c.urlParams_.Set("active", fmt.Sprint(active))
 16926  	return c
 16927  }
 16928  
 16929  // AdvertiserId sets the optional parameter "advertiserId": Select only
 16930  // ads with this advertiser ID.
 16931  func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
 16932  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 16933  	return c
 16934  }
 16935  
 16936  // Archived sets the optional parameter "archived": Select only archived
 16937  // ads.
 16938  func (c *AdsListCall) Archived(archived bool) *AdsListCall {
 16939  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 16940  	return c
 16941  }
 16942  
 16943  // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 16944  // Select only ads with these audience segment IDs.
 16945  func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
 16946  	var audienceSegmentIds_ []string
 16947  	for _, v := range audienceSegmentIds {
 16948  		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
 16949  	}
 16950  	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
 16951  	return c
 16952  }
 16953  
 16954  // CampaignIds sets the optional parameter "campaignIds": Select only
 16955  // ads with these campaign IDs.
 16956  func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
 16957  	var campaignIds_ []string
 16958  	for _, v := range campaignIds {
 16959  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 16960  	}
 16961  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 16962  	return c
 16963  }
 16964  
 16965  // Compatibility sets the optional parameter "compatibility": Select
 16966  // default ads with the specified compatibility. Applicable when type is
 16967  // AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
 16968  // rendering either on desktop or on mobile devices for regular or
 16969  // interstitial ads, respectively. APP and APP_INTERSTITIAL are for
 16970  // rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
 16971  // in-stream video ads developed with the VAST standard.
 16972  //
 16973  // Possible values:
 16974  //
 16975  //	"APP"
 16976  //	"APP_INTERSTITIAL"
 16977  //	"DISPLAY"
 16978  //	"DISPLAY_INTERSTITIAL"
 16979  //	"IN_STREAM_AUDIO"
 16980  //	"IN_STREAM_VIDEO"
 16981  func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
 16982  	c.urlParams_.Set("compatibility", compatibility)
 16983  	return c
 16984  }
 16985  
 16986  // CreativeIds sets the optional parameter "creativeIds": Select only
 16987  // ads with these creative IDs assigned.
 16988  func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
 16989  	var creativeIds_ []string
 16990  	for _, v := range creativeIds {
 16991  		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
 16992  	}
 16993  	c.urlParams_.SetMulti("creativeIds", creativeIds_)
 16994  	return c
 16995  }
 16996  
 16997  // CreativeOptimizationConfigurationIds sets the optional parameter
 16998  // "creativeOptimizationConfigurationIds": Select only ads with these
 16999  // creative optimization configuration IDs.
 17000  func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
 17001  	var creativeOptimizationConfigurationIds_ []string
 17002  	for _, v := range creativeOptimizationConfigurationIds {
 17003  		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
 17004  	}
 17005  	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
 17006  	return c
 17007  }
 17008  
 17009  // DynamicClickTracker sets the optional parameter
 17010  // "dynamicClickTracker": Select only dynamic click trackers. Applicable
 17011  // when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
 17012  // trackers. If false, select static click trackers. Leave unset to
 17013  // select both.
 17014  func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
 17015  	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
 17016  	return c
 17017  }
 17018  
 17019  // Ids sets the optional parameter "ids": Select only ads with these
 17020  // IDs.
 17021  func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
 17022  	var ids_ []string
 17023  	for _, v := range ids {
 17024  		ids_ = append(ids_, fmt.Sprint(v))
 17025  	}
 17026  	c.urlParams_.SetMulti("ids", ids_)
 17027  	return c
 17028  }
 17029  
 17030  // LandingPageIds sets the optional parameter "landingPageIds": Select
 17031  // only ads with these landing page IDs.
 17032  func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
 17033  	var landingPageIds_ []string
 17034  	for _, v := range landingPageIds {
 17035  		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
 17036  	}
 17037  	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
 17038  	return c
 17039  }
 17040  
 17041  // MaxResults sets the optional parameter "maxResults": Maximum number
 17042  // of results to return.
 17043  func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
 17044  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 17045  	return c
 17046  }
 17047  
 17048  // OverriddenEventTagId sets the optional parameter
 17049  // "overriddenEventTagId": Select only ads with this event tag override
 17050  // ID.
 17051  func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
 17052  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 17053  	return c
 17054  }
 17055  
 17056  // PageToken sets the optional parameter "pageToken": Value of the
 17057  // nextPageToken from the previous result page.
 17058  func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
 17059  	c.urlParams_.Set("pageToken", pageToken)
 17060  	return c
 17061  }
 17062  
 17063  // PlacementIds sets the optional parameter "placementIds": Select only
 17064  // ads with these placement IDs assigned.
 17065  func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
 17066  	var placementIds_ []string
 17067  	for _, v := range placementIds {
 17068  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 17069  	}
 17070  	c.urlParams_.SetMulti("placementIds", placementIds_)
 17071  	return c
 17072  }
 17073  
 17074  // RemarketingListIds sets the optional parameter "remarketingListIds":
 17075  // Select only ads whose list targeting expression use these remarketing
 17076  // list IDs.
 17077  func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
 17078  	var remarketingListIds_ []string
 17079  	for _, v := range remarketingListIds {
 17080  		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
 17081  	}
 17082  	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
 17083  	return c
 17084  }
 17085  
 17086  // SearchString sets the optional parameter "searchString": Allows
 17087  // searching for objects by name or ID. Wildcards (*) are allowed. For
 17088  // example, "ad*2015" will return objects with names like "ad June
 17089  // 2015", "ad April 2015", or simply "ad 2015". Most of the searches
 17090  // also add wildcards implicitly at the start and the end of the search
 17091  // string. For example, a search string of "ad" will match objects with
 17092  // name "my ad", "ad 2015", or simply "ad".
 17093  func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
 17094  	c.urlParams_.Set("searchString", searchString)
 17095  	return c
 17096  }
 17097  
 17098  // SizeIds sets the optional parameter "sizeIds": Select only ads with
 17099  // these size IDs.
 17100  func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
 17101  	var sizeIds_ []string
 17102  	for _, v := range sizeIds {
 17103  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 17104  	}
 17105  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 17106  	return c
 17107  }
 17108  
 17109  // SortField sets the optional parameter "sortField": Field by which to
 17110  // sort the list.
 17111  //
 17112  // Possible values:
 17113  //
 17114  //	"ID" (default)
 17115  //	"NAME"
 17116  func (c *AdsListCall) SortField(sortField string) *AdsListCall {
 17117  	c.urlParams_.Set("sortField", sortField)
 17118  	return c
 17119  }
 17120  
 17121  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 17122  // results.
 17123  //
 17124  // Possible values:
 17125  //
 17126  //	"ASCENDING" (default)
 17127  //	"DESCENDING"
 17128  func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
 17129  	c.urlParams_.Set("sortOrder", sortOrder)
 17130  	return c
 17131  }
 17132  
 17133  // SslCompliant sets the optional parameter "sslCompliant": Select only
 17134  // ads that are SSL-compliant.
 17135  func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
 17136  	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
 17137  	return c
 17138  }
 17139  
 17140  // SslRequired sets the optional parameter "sslRequired": Select only
 17141  // ads that require SSL.
 17142  func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
 17143  	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
 17144  	return c
 17145  }
 17146  
 17147  // Type sets the optional parameter "type": Select only ads with these
 17148  // types.
 17149  //
 17150  // Possible values:
 17151  //
 17152  //	"AD_SERVING_CLICK_TRACKER"
 17153  //	"AD_SERVING_DEFAULT_AD"
 17154  //	"AD_SERVING_STANDARD_AD"
 17155  //	"AD_SERVING_TRACKING"
 17156  func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
 17157  	c.urlParams_.SetMulti("type", append([]string{}, type_...))
 17158  	return c
 17159  }
 17160  
 17161  // Fields allows partial responses to be retrieved. See
 17162  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17163  // for more information.
 17164  func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
 17165  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17166  	return c
 17167  }
 17168  
 17169  // IfNoneMatch sets the optional parameter which makes the operation
 17170  // fail if the object's ETag matches the given value. This is useful for
 17171  // getting updates only after the object has changed since the last
 17172  // request. Use googleapi.IsNotModified to check whether the response
 17173  // error from Do is the result of In-None-Match.
 17174  func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
 17175  	c.ifNoneMatch_ = entityTag
 17176  	return c
 17177  }
 17178  
 17179  // Context sets the context to be used in this call's Do method. Any
 17180  // pending HTTP request will be aborted if the provided context is
 17181  // canceled.
 17182  func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 17183  	c.ctx_ = ctx
 17184  	return c
 17185  }
 17186  
 17187  // Header returns an http.Header that can be modified by the caller to
 17188  // add HTTP headers to the request.
 17189  func (c *AdsListCall) Header() http.Header {
 17190  	if c.header_ == nil {
 17191  		c.header_ = make(http.Header)
 17192  	}
 17193  	return c.header_
 17194  }
 17195  
 17196  func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 17197  	reqHeaders := make(http.Header)
 17198  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17199  	for k, v := range c.header_ {
 17200  		reqHeaders[k] = v
 17201  	}
 17202  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17203  	if c.ifNoneMatch_ != "" {
 17204  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17205  	}
 17206  	var body io.Reader = nil
 17207  	c.urlParams_.Set("alt", alt)
 17208  	c.urlParams_.Set("prettyPrint", "false")
 17209  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17210  	urls += "?" + c.urlParams_.Encode()
 17211  	req, err := http.NewRequest("GET", urls, body)
 17212  	if err != nil {
 17213  		return nil, err
 17214  	}
 17215  	req.Header = reqHeaders
 17216  	googleapi.Expand(req.URL, map[string]string{
 17217  		"profileId": strconv.FormatInt(c.profileId, 10),
 17218  	})
 17219  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17220  }
 17221  
 17222  // Do executes the "dfareporting.ads.list" call.
 17223  // Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
 17224  // status code is an error. Response headers are in either
 17225  // *AdsListResponse.ServerResponse.Header or (if a response was returned
 17226  // at all) in error.(*googleapi.Error).Header. Use
 17227  // googleapi.IsNotModified to check whether the returned error was
 17228  // because http.StatusNotModified was returned.
 17229  func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
 17230  	gensupport.SetOptions(c.urlParams_, opts...)
 17231  	res, err := c.doRequest("json")
 17232  	if res != nil && res.StatusCode == http.StatusNotModified {
 17233  		if res.Body != nil {
 17234  			res.Body.Close()
 17235  		}
 17236  		return nil, &googleapi.Error{
 17237  			Code:   res.StatusCode,
 17238  			Header: res.Header,
 17239  		}
 17240  	}
 17241  	if err != nil {
 17242  		return nil, err
 17243  	}
 17244  	defer googleapi.CloseBody(res)
 17245  	if err := googleapi.CheckResponse(res); err != nil {
 17246  		return nil, err
 17247  	}
 17248  	ret := &AdsListResponse{
 17249  		ServerResponse: googleapi.ServerResponse{
 17250  			Header:         res.Header,
 17251  			HTTPStatusCode: res.StatusCode,
 17252  		},
 17253  	}
 17254  	target := &ret
 17255  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17256  		return nil, err
 17257  	}
 17258  	return ret, nil
 17259  	// {
 17260  	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
 17261  	//   "httpMethod": "GET",
 17262  	//   "id": "dfareporting.ads.list",
 17263  	//   "parameterOrder": [
 17264  	//     "profileId"
 17265  	//   ],
 17266  	//   "parameters": {
 17267  	//     "active": {
 17268  	//       "description": "Select only active ads.",
 17269  	//       "location": "query",
 17270  	//       "type": "boolean"
 17271  	//     },
 17272  	//     "advertiserId": {
 17273  	//       "description": "Select only ads with this advertiser ID.",
 17274  	//       "format": "int64",
 17275  	//       "location": "query",
 17276  	//       "type": "string"
 17277  	//     },
 17278  	//     "archived": {
 17279  	//       "description": "Select only archived ads.",
 17280  	//       "location": "query",
 17281  	//       "type": "boolean"
 17282  	//     },
 17283  	//     "audienceSegmentIds": {
 17284  	//       "description": "Select only ads with these audience segment IDs.",
 17285  	//       "format": "int64",
 17286  	//       "location": "query",
 17287  	//       "repeated": true,
 17288  	//       "type": "string"
 17289  	//     },
 17290  	//     "campaignIds": {
 17291  	//       "description": "Select only ads with these campaign IDs.",
 17292  	//       "format": "int64",
 17293  	//       "location": "query",
 17294  	//       "repeated": true,
 17295  	//       "type": "string"
 17296  	//     },
 17297  	//     "compatibility": {
 17298  	//       "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.",
 17299  	//       "enum": [
 17300  	//         "APP",
 17301  	//         "APP_INTERSTITIAL",
 17302  	//         "DISPLAY",
 17303  	//         "DISPLAY_INTERSTITIAL",
 17304  	//         "IN_STREAM_AUDIO",
 17305  	//         "IN_STREAM_VIDEO"
 17306  	//       ],
 17307  	//       "enumDescriptions": [
 17308  	//         "",
 17309  	//         "",
 17310  	//         "",
 17311  	//         "",
 17312  	//         "",
 17313  	//         ""
 17314  	//       ],
 17315  	//       "location": "query",
 17316  	//       "type": "string"
 17317  	//     },
 17318  	//     "creativeIds": {
 17319  	//       "description": "Select only ads with these creative IDs assigned.",
 17320  	//       "format": "int64",
 17321  	//       "location": "query",
 17322  	//       "repeated": true,
 17323  	//       "type": "string"
 17324  	//     },
 17325  	//     "creativeOptimizationConfigurationIds": {
 17326  	//       "description": "Select only ads with these creative optimization configuration IDs.",
 17327  	//       "format": "int64",
 17328  	//       "location": "query",
 17329  	//       "repeated": true,
 17330  	//       "type": "string"
 17331  	//     },
 17332  	//     "dynamicClickTracker": {
 17333  	//       "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.",
 17334  	//       "location": "query",
 17335  	//       "type": "boolean"
 17336  	//     },
 17337  	//     "ids": {
 17338  	//       "description": "Select only ads with these IDs.",
 17339  	//       "format": "int64",
 17340  	//       "location": "query",
 17341  	//       "repeated": true,
 17342  	//       "type": "string"
 17343  	//     },
 17344  	//     "landingPageIds": {
 17345  	//       "description": "Select only ads with these landing page IDs.",
 17346  	//       "format": "int64",
 17347  	//       "location": "query",
 17348  	//       "repeated": true,
 17349  	//       "type": "string"
 17350  	//     },
 17351  	//     "maxResults": {
 17352  	//       "default": "1000",
 17353  	//       "description": "Maximum number of results to return.",
 17354  	//       "format": "int32",
 17355  	//       "location": "query",
 17356  	//       "maximum": "1000",
 17357  	//       "minimum": "0",
 17358  	//       "type": "integer"
 17359  	//     },
 17360  	//     "overriddenEventTagId": {
 17361  	//       "description": "Select only ads with this event tag override ID.",
 17362  	//       "format": "int64",
 17363  	//       "location": "query",
 17364  	//       "type": "string"
 17365  	//     },
 17366  	//     "pageToken": {
 17367  	//       "description": "Value of the nextPageToken from the previous result page.",
 17368  	//       "location": "query",
 17369  	//       "type": "string"
 17370  	//     },
 17371  	//     "placementIds": {
 17372  	//       "description": "Select only ads with these placement IDs assigned.",
 17373  	//       "format": "int64",
 17374  	//       "location": "query",
 17375  	//       "repeated": true,
 17376  	//       "type": "string"
 17377  	//     },
 17378  	//     "profileId": {
 17379  	//       "description": "User profile ID associated with this request.",
 17380  	//       "format": "int64",
 17381  	//       "location": "path",
 17382  	//       "required": true,
 17383  	//       "type": "string"
 17384  	//     },
 17385  	//     "remarketingListIds": {
 17386  	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
 17387  	//       "format": "int64",
 17388  	//       "location": "query",
 17389  	//       "repeated": true,
 17390  	//       "type": "string"
 17391  	//     },
 17392  	//     "searchString": {
 17393  	//       "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\".",
 17394  	//       "location": "query",
 17395  	//       "type": "string"
 17396  	//     },
 17397  	//     "sizeIds": {
 17398  	//       "description": "Select only ads with these size IDs.",
 17399  	//       "format": "int64",
 17400  	//       "location": "query",
 17401  	//       "repeated": true,
 17402  	//       "type": "string"
 17403  	//     },
 17404  	//     "sortField": {
 17405  	//       "default": "ID",
 17406  	//       "description": "Field by which to sort the list.",
 17407  	//       "enum": [
 17408  	//         "ID",
 17409  	//         "NAME"
 17410  	//       ],
 17411  	//       "enumDescriptions": [
 17412  	//         "",
 17413  	//         ""
 17414  	//       ],
 17415  	//       "location": "query",
 17416  	//       "type": "string"
 17417  	//     },
 17418  	//     "sortOrder": {
 17419  	//       "default": "ASCENDING",
 17420  	//       "description": "Order of sorted results.",
 17421  	//       "enum": [
 17422  	//         "ASCENDING",
 17423  	//         "DESCENDING"
 17424  	//       ],
 17425  	//       "enumDescriptions": [
 17426  	//         "",
 17427  	//         ""
 17428  	//       ],
 17429  	//       "location": "query",
 17430  	//       "type": "string"
 17431  	//     },
 17432  	//     "sslCompliant": {
 17433  	//       "description": "Select only ads that are SSL-compliant.",
 17434  	//       "location": "query",
 17435  	//       "type": "boolean"
 17436  	//     },
 17437  	//     "sslRequired": {
 17438  	//       "description": "Select only ads that require SSL.",
 17439  	//       "location": "query",
 17440  	//       "type": "boolean"
 17441  	//     },
 17442  	//     "type": {
 17443  	//       "description": "Select only ads with these types.",
 17444  	//       "enum": [
 17445  	//         "AD_SERVING_CLICK_TRACKER",
 17446  	//         "AD_SERVING_DEFAULT_AD",
 17447  	//         "AD_SERVING_STANDARD_AD",
 17448  	//         "AD_SERVING_TRACKING"
 17449  	//       ],
 17450  	//       "enumDescriptions": [
 17451  	//         "",
 17452  	//         "",
 17453  	//         "",
 17454  	//         ""
 17455  	//       ],
 17456  	//       "location": "query",
 17457  	//       "repeated": true,
 17458  	//       "type": "string"
 17459  	//     }
 17460  	//   },
 17461  	//   "path": "userprofiles/{profileId}/ads",
 17462  	//   "response": {
 17463  	//     "$ref": "AdsListResponse"
 17464  	//   },
 17465  	//   "scopes": [
 17466  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17467  	//   ]
 17468  	// }
 17469  
 17470  }
 17471  
 17472  // Pages invokes f for each page of results.
 17473  // A non-nil error returned from f will halt the iteration.
 17474  // The provided context supersedes any context provided to the Context method.
 17475  func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
 17476  	c.ctx_ = ctx
 17477  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 17478  	for {
 17479  		x, err := c.Do()
 17480  		if err != nil {
 17481  			return err
 17482  		}
 17483  		if err := f(x); err != nil {
 17484  			return err
 17485  		}
 17486  		if x.NextPageToken == "" {
 17487  			return nil
 17488  		}
 17489  		c.PageToken(x.NextPageToken)
 17490  	}
 17491  }
 17492  
 17493  // method id "dfareporting.ads.patch":
 17494  
 17495  type AdsPatchCall struct {
 17496  	s          *Service
 17497  	profileId  int64
 17498  	ad         *Ad
 17499  	urlParams_ gensupport.URLParams
 17500  	ctx_       context.Context
 17501  	header_    http.Header
 17502  }
 17503  
 17504  // Patch: Updates an existing ad. This method supports patch semantics.
 17505  func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
 17506  	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17507  	c.profileId = profileId
 17508  	c.urlParams_.Set("id", fmt.Sprint(id))
 17509  	c.ad = ad
 17510  	return c
 17511  }
 17512  
 17513  // Fields allows partial responses to be retrieved. See
 17514  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17515  // for more information.
 17516  func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
 17517  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17518  	return c
 17519  }
 17520  
 17521  // Context sets the context to be used in this call's Do method. Any
 17522  // pending HTTP request will be aborted if the provided context is
 17523  // canceled.
 17524  func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 17525  	c.ctx_ = ctx
 17526  	return c
 17527  }
 17528  
 17529  // Header returns an http.Header that can be modified by the caller to
 17530  // add HTTP headers to the request.
 17531  func (c *AdsPatchCall) Header() http.Header {
 17532  	if c.header_ == nil {
 17533  		c.header_ = make(http.Header)
 17534  	}
 17535  	return c.header_
 17536  }
 17537  
 17538  func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
 17539  	reqHeaders := make(http.Header)
 17540  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17541  	for k, v := range c.header_ {
 17542  		reqHeaders[k] = v
 17543  	}
 17544  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17545  	var body io.Reader = nil
 17546  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17547  	if err != nil {
 17548  		return nil, err
 17549  	}
 17550  	reqHeaders.Set("Content-Type", "application/json")
 17551  	c.urlParams_.Set("alt", alt)
 17552  	c.urlParams_.Set("prettyPrint", "false")
 17553  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17554  	urls += "?" + c.urlParams_.Encode()
 17555  	req, err := http.NewRequest("PATCH", urls, body)
 17556  	if err != nil {
 17557  		return nil, err
 17558  	}
 17559  	req.Header = reqHeaders
 17560  	googleapi.Expand(req.URL, map[string]string{
 17561  		"profileId": strconv.FormatInt(c.profileId, 10),
 17562  	})
 17563  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17564  }
 17565  
 17566  // Do executes the "dfareporting.ads.patch" call.
 17567  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17568  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17569  // or (if a response was returned at all) in
 17570  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17571  // whether the returned error was because http.StatusNotModified was
 17572  // returned.
 17573  func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17574  	gensupport.SetOptions(c.urlParams_, opts...)
 17575  	res, err := c.doRequest("json")
 17576  	if res != nil && res.StatusCode == http.StatusNotModified {
 17577  		if res.Body != nil {
 17578  			res.Body.Close()
 17579  		}
 17580  		return nil, &googleapi.Error{
 17581  			Code:   res.StatusCode,
 17582  			Header: res.Header,
 17583  		}
 17584  	}
 17585  	if err != nil {
 17586  		return nil, err
 17587  	}
 17588  	defer googleapi.CloseBody(res)
 17589  	if err := googleapi.CheckResponse(res); err != nil {
 17590  		return nil, err
 17591  	}
 17592  	ret := &Ad{
 17593  		ServerResponse: googleapi.ServerResponse{
 17594  			Header:         res.Header,
 17595  			HTTPStatusCode: res.StatusCode,
 17596  		},
 17597  	}
 17598  	target := &ret
 17599  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17600  		return nil, err
 17601  	}
 17602  	return ret, nil
 17603  	// {
 17604  	//   "description": "Updates an existing ad. This method supports patch semantics.",
 17605  	//   "httpMethod": "PATCH",
 17606  	//   "id": "dfareporting.ads.patch",
 17607  	//   "parameterOrder": [
 17608  	//     "profileId",
 17609  	//     "id"
 17610  	//   ],
 17611  	//   "parameters": {
 17612  	//     "id": {
 17613  	//       "description": "Ad ID.",
 17614  	//       "format": "int64",
 17615  	//       "location": "query",
 17616  	//       "required": true,
 17617  	//       "type": "string"
 17618  	//     },
 17619  	//     "profileId": {
 17620  	//       "description": "User profile ID associated with this request.",
 17621  	//       "format": "int64",
 17622  	//       "location": "path",
 17623  	//       "required": true,
 17624  	//       "type": "string"
 17625  	//     }
 17626  	//   },
 17627  	//   "path": "userprofiles/{profileId}/ads",
 17628  	//   "request": {
 17629  	//     "$ref": "Ad"
 17630  	//   },
 17631  	//   "response": {
 17632  	//     "$ref": "Ad"
 17633  	//   },
 17634  	//   "scopes": [
 17635  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17636  	//   ]
 17637  	// }
 17638  
 17639  }
 17640  
 17641  // method id "dfareporting.ads.update":
 17642  
 17643  type AdsUpdateCall struct {
 17644  	s          *Service
 17645  	profileId  int64
 17646  	ad         *Ad
 17647  	urlParams_ gensupport.URLParams
 17648  	ctx_       context.Context
 17649  	header_    http.Header
 17650  }
 17651  
 17652  // Update: Updates an existing ad.
 17653  func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
 17654  	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17655  	c.profileId = profileId
 17656  	c.ad = ad
 17657  	return c
 17658  }
 17659  
 17660  // Fields allows partial responses to be retrieved. See
 17661  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17662  // for more information.
 17663  func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
 17664  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17665  	return c
 17666  }
 17667  
 17668  // Context sets the context to be used in this call's Do method. Any
 17669  // pending HTTP request will be aborted if the provided context is
 17670  // canceled.
 17671  func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 17672  	c.ctx_ = ctx
 17673  	return c
 17674  }
 17675  
 17676  // Header returns an http.Header that can be modified by the caller to
 17677  // add HTTP headers to the request.
 17678  func (c *AdsUpdateCall) Header() http.Header {
 17679  	if c.header_ == nil {
 17680  		c.header_ = make(http.Header)
 17681  	}
 17682  	return c.header_
 17683  }
 17684  
 17685  func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
 17686  	reqHeaders := make(http.Header)
 17687  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17688  	for k, v := range c.header_ {
 17689  		reqHeaders[k] = v
 17690  	}
 17691  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17692  	var body io.Reader = nil
 17693  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17694  	if err != nil {
 17695  		return nil, err
 17696  	}
 17697  	reqHeaders.Set("Content-Type", "application/json")
 17698  	c.urlParams_.Set("alt", alt)
 17699  	c.urlParams_.Set("prettyPrint", "false")
 17700  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17701  	urls += "?" + c.urlParams_.Encode()
 17702  	req, err := http.NewRequest("PUT", urls, body)
 17703  	if err != nil {
 17704  		return nil, err
 17705  	}
 17706  	req.Header = reqHeaders
 17707  	googleapi.Expand(req.URL, map[string]string{
 17708  		"profileId": strconv.FormatInt(c.profileId, 10),
 17709  	})
 17710  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17711  }
 17712  
 17713  // Do executes the "dfareporting.ads.update" call.
 17714  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17715  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17716  // or (if a response was returned at all) in
 17717  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17718  // whether the returned error was because http.StatusNotModified was
 17719  // returned.
 17720  func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17721  	gensupport.SetOptions(c.urlParams_, opts...)
 17722  	res, err := c.doRequest("json")
 17723  	if res != nil && res.StatusCode == http.StatusNotModified {
 17724  		if res.Body != nil {
 17725  			res.Body.Close()
 17726  		}
 17727  		return nil, &googleapi.Error{
 17728  			Code:   res.StatusCode,
 17729  			Header: res.Header,
 17730  		}
 17731  	}
 17732  	if err != nil {
 17733  		return nil, err
 17734  	}
 17735  	defer googleapi.CloseBody(res)
 17736  	if err := googleapi.CheckResponse(res); err != nil {
 17737  		return nil, err
 17738  	}
 17739  	ret := &Ad{
 17740  		ServerResponse: googleapi.ServerResponse{
 17741  			Header:         res.Header,
 17742  			HTTPStatusCode: res.StatusCode,
 17743  		},
 17744  	}
 17745  	target := &ret
 17746  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17747  		return nil, err
 17748  	}
 17749  	return ret, nil
 17750  	// {
 17751  	//   "description": "Updates an existing ad.",
 17752  	//   "httpMethod": "PUT",
 17753  	//   "id": "dfareporting.ads.update",
 17754  	//   "parameterOrder": [
 17755  	//     "profileId"
 17756  	//   ],
 17757  	//   "parameters": {
 17758  	//     "profileId": {
 17759  	//       "description": "User profile ID associated with this request.",
 17760  	//       "format": "int64",
 17761  	//       "location": "path",
 17762  	//       "required": true,
 17763  	//       "type": "string"
 17764  	//     }
 17765  	//   },
 17766  	//   "path": "userprofiles/{profileId}/ads",
 17767  	//   "request": {
 17768  	//     "$ref": "Ad"
 17769  	//   },
 17770  	//   "response": {
 17771  	//     "$ref": "Ad"
 17772  	//   },
 17773  	//   "scopes": [
 17774  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17775  	//   ]
 17776  	// }
 17777  
 17778  }
 17779  
 17780  // method id "dfareporting.advertiserGroups.delete":
 17781  
 17782  type AdvertiserGroupsDeleteCall struct {
 17783  	s          *Service
 17784  	profileId  int64
 17785  	id         int64
 17786  	urlParams_ gensupport.URLParams
 17787  	ctx_       context.Context
 17788  	header_    http.Header
 17789  }
 17790  
 17791  // Delete: Deletes an existing advertiser group.
 17792  func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
 17793  	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17794  	c.profileId = profileId
 17795  	c.id = id
 17796  	return c
 17797  }
 17798  
 17799  // Fields allows partial responses to be retrieved. See
 17800  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17801  // for more information.
 17802  func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
 17803  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17804  	return c
 17805  }
 17806  
 17807  // Context sets the context to be used in this call's Do method. Any
 17808  // pending HTTP request will be aborted if the provided context is
 17809  // canceled.
 17810  func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 17811  	c.ctx_ = ctx
 17812  	return c
 17813  }
 17814  
 17815  // Header returns an http.Header that can be modified by the caller to
 17816  // add HTTP headers to the request.
 17817  func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
 17818  	if c.header_ == nil {
 17819  		c.header_ = make(http.Header)
 17820  	}
 17821  	return c.header_
 17822  }
 17823  
 17824  func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 17825  	reqHeaders := make(http.Header)
 17826  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17827  	for k, v := range c.header_ {
 17828  		reqHeaders[k] = v
 17829  	}
 17830  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17831  	var body io.Reader = nil
 17832  	c.urlParams_.Set("alt", alt)
 17833  	c.urlParams_.Set("prettyPrint", "false")
 17834  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17835  	urls += "?" + c.urlParams_.Encode()
 17836  	req, err := http.NewRequest("DELETE", urls, body)
 17837  	if err != nil {
 17838  		return nil, err
 17839  	}
 17840  	req.Header = reqHeaders
 17841  	googleapi.Expand(req.URL, map[string]string{
 17842  		"profileId": strconv.FormatInt(c.profileId, 10),
 17843  		"id":        strconv.FormatInt(c.id, 10),
 17844  	})
 17845  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17846  }
 17847  
 17848  // Do executes the "dfareporting.advertiserGroups.delete" call.
 17849  func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
 17850  	gensupport.SetOptions(c.urlParams_, opts...)
 17851  	res, err := c.doRequest("json")
 17852  	if err != nil {
 17853  		return err
 17854  	}
 17855  	defer googleapi.CloseBody(res)
 17856  	if err := googleapi.CheckResponse(res); err != nil {
 17857  		return err
 17858  	}
 17859  	return nil
 17860  	// {
 17861  	//   "description": "Deletes an existing advertiser group.",
 17862  	//   "httpMethod": "DELETE",
 17863  	//   "id": "dfareporting.advertiserGroups.delete",
 17864  	//   "parameterOrder": [
 17865  	//     "profileId",
 17866  	//     "id"
 17867  	//   ],
 17868  	//   "parameters": {
 17869  	//     "id": {
 17870  	//       "description": "Advertiser group ID.",
 17871  	//       "format": "int64",
 17872  	//       "location": "path",
 17873  	//       "required": true,
 17874  	//       "type": "string"
 17875  	//     },
 17876  	//     "profileId": {
 17877  	//       "description": "User profile ID associated with this request.",
 17878  	//       "format": "int64",
 17879  	//       "location": "path",
 17880  	//       "required": true,
 17881  	//       "type": "string"
 17882  	//     }
 17883  	//   },
 17884  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17885  	//   "scopes": [
 17886  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17887  	//   ]
 17888  	// }
 17889  
 17890  }
 17891  
 17892  // method id "dfareporting.advertiserGroups.get":
 17893  
 17894  type AdvertiserGroupsGetCall struct {
 17895  	s            *Service
 17896  	profileId    int64
 17897  	id           int64
 17898  	urlParams_   gensupport.URLParams
 17899  	ifNoneMatch_ string
 17900  	ctx_         context.Context
 17901  	header_      http.Header
 17902  }
 17903  
 17904  // Get: Gets one advertiser group by ID.
 17905  func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
 17906  	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17907  	c.profileId = profileId
 17908  	c.id = id
 17909  	return c
 17910  }
 17911  
 17912  // Fields allows partial responses to be retrieved. See
 17913  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17914  // for more information.
 17915  func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
 17916  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17917  	return c
 17918  }
 17919  
 17920  // IfNoneMatch sets the optional parameter which makes the operation
 17921  // fail if the object's ETag matches the given value. This is useful for
 17922  // getting updates only after the object has changed since the last
 17923  // request. Use googleapi.IsNotModified to check whether the response
 17924  // error from Do is the result of In-None-Match.
 17925  func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
 17926  	c.ifNoneMatch_ = entityTag
 17927  	return c
 17928  }
 17929  
 17930  // Context sets the context to be used in this call's Do method. Any
 17931  // pending HTTP request will be aborted if the provided context is
 17932  // canceled.
 17933  func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 17934  	c.ctx_ = ctx
 17935  	return c
 17936  }
 17937  
 17938  // Header returns an http.Header that can be modified by the caller to
 17939  // add HTTP headers to the request.
 17940  func (c *AdvertiserGroupsGetCall) Header() http.Header {
 17941  	if c.header_ == nil {
 17942  		c.header_ = make(http.Header)
 17943  	}
 17944  	return c.header_
 17945  }
 17946  
 17947  func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 17948  	reqHeaders := make(http.Header)
 17949  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 17950  	for k, v := range c.header_ {
 17951  		reqHeaders[k] = v
 17952  	}
 17953  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17954  	if c.ifNoneMatch_ != "" {
 17955  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17956  	}
 17957  	var body io.Reader = nil
 17958  	c.urlParams_.Set("alt", alt)
 17959  	c.urlParams_.Set("prettyPrint", "false")
 17960  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17961  	urls += "?" + c.urlParams_.Encode()
 17962  	req, err := http.NewRequest("GET", urls, body)
 17963  	if err != nil {
 17964  		return nil, err
 17965  	}
 17966  	req.Header = reqHeaders
 17967  	googleapi.Expand(req.URL, map[string]string{
 17968  		"profileId": strconv.FormatInt(c.profileId, 10),
 17969  		"id":        strconv.FormatInt(c.id, 10),
 17970  	})
 17971  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17972  }
 17973  
 17974  // Do executes the "dfareporting.advertiserGroups.get" call.
 17975  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 17976  // status code is an error. Response headers are in either
 17977  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 17978  // at all) in error.(*googleapi.Error).Header. Use
 17979  // googleapi.IsNotModified to check whether the returned error was
 17980  // because http.StatusNotModified was returned.
 17981  func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 17982  	gensupport.SetOptions(c.urlParams_, opts...)
 17983  	res, err := c.doRequest("json")
 17984  	if res != nil && res.StatusCode == http.StatusNotModified {
 17985  		if res.Body != nil {
 17986  			res.Body.Close()
 17987  		}
 17988  		return nil, &googleapi.Error{
 17989  			Code:   res.StatusCode,
 17990  			Header: res.Header,
 17991  		}
 17992  	}
 17993  	if err != nil {
 17994  		return nil, err
 17995  	}
 17996  	defer googleapi.CloseBody(res)
 17997  	if err := googleapi.CheckResponse(res); err != nil {
 17998  		return nil, err
 17999  	}
 18000  	ret := &AdvertiserGroup{
 18001  		ServerResponse: googleapi.ServerResponse{
 18002  			Header:         res.Header,
 18003  			HTTPStatusCode: res.StatusCode,
 18004  		},
 18005  	}
 18006  	target := &ret
 18007  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18008  		return nil, err
 18009  	}
 18010  	return ret, nil
 18011  	// {
 18012  	//   "description": "Gets one advertiser group by ID.",
 18013  	//   "httpMethod": "GET",
 18014  	//   "id": "dfareporting.advertiserGroups.get",
 18015  	//   "parameterOrder": [
 18016  	//     "profileId",
 18017  	//     "id"
 18018  	//   ],
 18019  	//   "parameters": {
 18020  	//     "id": {
 18021  	//       "description": "Advertiser group ID.",
 18022  	//       "format": "int64",
 18023  	//       "location": "path",
 18024  	//       "required": true,
 18025  	//       "type": "string"
 18026  	//     },
 18027  	//     "profileId": {
 18028  	//       "description": "User profile ID associated with this request.",
 18029  	//       "format": "int64",
 18030  	//       "location": "path",
 18031  	//       "required": true,
 18032  	//       "type": "string"
 18033  	//     }
 18034  	//   },
 18035  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 18036  	//   "response": {
 18037  	//     "$ref": "AdvertiserGroup"
 18038  	//   },
 18039  	//   "scopes": [
 18040  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18041  	//   ]
 18042  	// }
 18043  
 18044  }
 18045  
 18046  // method id "dfareporting.advertiserGroups.insert":
 18047  
 18048  type AdvertiserGroupsInsertCall struct {
 18049  	s               *Service
 18050  	profileId       int64
 18051  	advertisergroup *AdvertiserGroup
 18052  	urlParams_      gensupport.URLParams
 18053  	ctx_            context.Context
 18054  	header_         http.Header
 18055  }
 18056  
 18057  // Insert: Inserts a new advertiser group.
 18058  func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
 18059  	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18060  	c.profileId = profileId
 18061  	c.advertisergroup = advertisergroup
 18062  	return c
 18063  }
 18064  
 18065  // Fields allows partial responses to be retrieved. See
 18066  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18067  // for more information.
 18068  func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
 18069  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18070  	return c
 18071  }
 18072  
 18073  // Context sets the context to be used in this call's Do method. Any
 18074  // pending HTTP request will be aborted if the provided context is
 18075  // canceled.
 18076  func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 18077  	c.ctx_ = ctx
 18078  	return c
 18079  }
 18080  
 18081  // Header returns an http.Header that can be modified by the caller to
 18082  // add HTTP headers to the request.
 18083  func (c *AdvertiserGroupsInsertCall) Header() http.Header {
 18084  	if c.header_ == nil {
 18085  		c.header_ = make(http.Header)
 18086  	}
 18087  	return c.header_
 18088  }
 18089  
 18090  func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 18091  	reqHeaders := make(http.Header)
 18092  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18093  	for k, v := range c.header_ {
 18094  		reqHeaders[k] = v
 18095  	}
 18096  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18097  	var body io.Reader = nil
 18098  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18099  	if err != nil {
 18100  		return nil, err
 18101  	}
 18102  	reqHeaders.Set("Content-Type", "application/json")
 18103  	c.urlParams_.Set("alt", alt)
 18104  	c.urlParams_.Set("prettyPrint", "false")
 18105  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18106  	urls += "?" + c.urlParams_.Encode()
 18107  	req, err := http.NewRequest("POST", urls, body)
 18108  	if err != nil {
 18109  		return nil, err
 18110  	}
 18111  	req.Header = reqHeaders
 18112  	googleapi.Expand(req.URL, map[string]string{
 18113  		"profileId": strconv.FormatInt(c.profileId, 10),
 18114  	})
 18115  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18116  }
 18117  
 18118  // Do executes the "dfareporting.advertiserGroups.insert" call.
 18119  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18120  // status code is an error. Response headers are in either
 18121  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18122  // at all) in error.(*googleapi.Error).Header. Use
 18123  // googleapi.IsNotModified to check whether the returned error was
 18124  // because http.StatusNotModified was returned.
 18125  func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18126  	gensupport.SetOptions(c.urlParams_, opts...)
 18127  	res, err := c.doRequest("json")
 18128  	if res != nil && res.StatusCode == http.StatusNotModified {
 18129  		if res.Body != nil {
 18130  			res.Body.Close()
 18131  		}
 18132  		return nil, &googleapi.Error{
 18133  			Code:   res.StatusCode,
 18134  			Header: res.Header,
 18135  		}
 18136  	}
 18137  	if err != nil {
 18138  		return nil, err
 18139  	}
 18140  	defer googleapi.CloseBody(res)
 18141  	if err := googleapi.CheckResponse(res); err != nil {
 18142  		return nil, err
 18143  	}
 18144  	ret := &AdvertiserGroup{
 18145  		ServerResponse: googleapi.ServerResponse{
 18146  			Header:         res.Header,
 18147  			HTTPStatusCode: res.StatusCode,
 18148  		},
 18149  	}
 18150  	target := &ret
 18151  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18152  		return nil, err
 18153  	}
 18154  	return ret, nil
 18155  	// {
 18156  	//   "description": "Inserts a new advertiser group.",
 18157  	//   "httpMethod": "POST",
 18158  	//   "id": "dfareporting.advertiserGroups.insert",
 18159  	//   "parameterOrder": [
 18160  	//     "profileId"
 18161  	//   ],
 18162  	//   "parameters": {
 18163  	//     "profileId": {
 18164  	//       "description": "User profile ID associated with this request.",
 18165  	//       "format": "int64",
 18166  	//       "location": "path",
 18167  	//       "required": true,
 18168  	//       "type": "string"
 18169  	//     }
 18170  	//   },
 18171  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18172  	//   "request": {
 18173  	//     "$ref": "AdvertiserGroup"
 18174  	//   },
 18175  	//   "response": {
 18176  	//     "$ref": "AdvertiserGroup"
 18177  	//   },
 18178  	//   "scopes": [
 18179  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18180  	//   ]
 18181  	// }
 18182  
 18183  }
 18184  
 18185  // method id "dfareporting.advertiserGroups.list":
 18186  
 18187  type AdvertiserGroupsListCall struct {
 18188  	s            *Service
 18189  	profileId    int64
 18190  	urlParams_   gensupport.URLParams
 18191  	ifNoneMatch_ string
 18192  	ctx_         context.Context
 18193  	header_      http.Header
 18194  }
 18195  
 18196  // List: Retrieves a list of advertiser groups, possibly filtered. This
 18197  // method supports paging.
 18198  func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
 18199  	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18200  	c.profileId = profileId
 18201  	return c
 18202  }
 18203  
 18204  // Ids sets the optional parameter "ids": Select only advertiser groups
 18205  // with these IDs.
 18206  func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
 18207  	var ids_ []string
 18208  	for _, v := range ids {
 18209  		ids_ = append(ids_, fmt.Sprint(v))
 18210  	}
 18211  	c.urlParams_.SetMulti("ids", ids_)
 18212  	return c
 18213  }
 18214  
 18215  // MaxResults sets the optional parameter "maxResults": Maximum number
 18216  // of results to return.
 18217  func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
 18218  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 18219  	return c
 18220  }
 18221  
 18222  // PageToken sets the optional parameter "pageToken": Value of the
 18223  // nextPageToken from the previous result page.
 18224  func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
 18225  	c.urlParams_.Set("pageToken", pageToken)
 18226  	return c
 18227  }
 18228  
 18229  // SearchString sets the optional parameter "searchString": Allows
 18230  // searching for objects by name or ID. Wildcards (*) are allowed. For
 18231  // example, "advertiser*2015" will return objects with names like
 18232  // "advertiser group June 2015", "advertiser group April 2015", or
 18233  // simply "advertiser group 2015". Most of the searches also add
 18234  // wildcards implicitly at the start and the end of the search string.
 18235  // For example, a search string of "advertisergroup" will match objects
 18236  // with name "my advertisergroup", "advertisergroup 2015", or simply
 18237  // "advertisergroup".
 18238  func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
 18239  	c.urlParams_.Set("searchString", searchString)
 18240  	return c
 18241  }
 18242  
 18243  // SortField sets the optional parameter "sortField": Field by which to
 18244  // sort the list.
 18245  //
 18246  // Possible values:
 18247  //
 18248  //	"ID" (default)
 18249  //	"NAME"
 18250  func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
 18251  	c.urlParams_.Set("sortField", sortField)
 18252  	return c
 18253  }
 18254  
 18255  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 18256  // results.
 18257  //
 18258  // Possible values:
 18259  //
 18260  //	"ASCENDING" (default)
 18261  //	"DESCENDING"
 18262  func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
 18263  	c.urlParams_.Set("sortOrder", sortOrder)
 18264  	return c
 18265  }
 18266  
 18267  // Fields allows partial responses to be retrieved. See
 18268  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18269  // for more information.
 18270  func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
 18271  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18272  	return c
 18273  }
 18274  
 18275  // IfNoneMatch sets the optional parameter which makes the operation
 18276  // fail if the object's ETag matches the given value. This is useful for
 18277  // getting updates only after the object has changed since the last
 18278  // request. Use googleapi.IsNotModified to check whether the response
 18279  // error from Do is the result of In-None-Match.
 18280  func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
 18281  	c.ifNoneMatch_ = entityTag
 18282  	return c
 18283  }
 18284  
 18285  // Context sets the context to be used in this call's Do method. Any
 18286  // pending HTTP request will be aborted if the provided context is
 18287  // canceled.
 18288  func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 18289  	c.ctx_ = ctx
 18290  	return c
 18291  }
 18292  
 18293  // Header returns an http.Header that can be modified by the caller to
 18294  // add HTTP headers to the request.
 18295  func (c *AdvertiserGroupsListCall) Header() http.Header {
 18296  	if c.header_ == nil {
 18297  		c.header_ = make(http.Header)
 18298  	}
 18299  	return c.header_
 18300  }
 18301  
 18302  func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 18303  	reqHeaders := make(http.Header)
 18304  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18305  	for k, v := range c.header_ {
 18306  		reqHeaders[k] = v
 18307  	}
 18308  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18309  	if c.ifNoneMatch_ != "" {
 18310  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18311  	}
 18312  	var body io.Reader = nil
 18313  	c.urlParams_.Set("alt", alt)
 18314  	c.urlParams_.Set("prettyPrint", "false")
 18315  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18316  	urls += "?" + c.urlParams_.Encode()
 18317  	req, err := http.NewRequest("GET", urls, body)
 18318  	if err != nil {
 18319  		return nil, err
 18320  	}
 18321  	req.Header = reqHeaders
 18322  	googleapi.Expand(req.URL, map[string]string{
 18323  		"profileId": strconv.FormatInt(c.profileId, 10),
 18324  	})
 18325  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18326  }
 18327  
 18328  // Do executes the "dfareporting.advertiserGroups.list" call.
 18329  // Exactly one of *AdvertiserGroupsListResponse or error will be
 18330  // non-nil. Any non-2xx status code is an error. Response headers are in
 18331  // either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
 18332  // response was returned at all) in error.(*googleapi.Error).Header. Use
 18333  // googleapi.IsNotModified to check whether the returned error was
 18334  // because http.StatusNotModified was returned.
 18335  func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
 18336  	gensupport.SetOptions(c.urlParams_, opts...)
 18337  	res, err := c.doRequest("json")
 18338  	if res != nil && res.StatusCode == http.StatusNotModified {
 18339  		if res.Body != nil {
 18340  			res.Body.Close()
 18341  		}
 18342  		return nil, &googleapi.Error{
 18343  			Code:   res.StatusCode,
 18344  			Header: res.Header,
 18345  		}
 18346  	}
 18347  	if err != nil {
 18348  		return nil, err
 18349  	}
 18350  	defer googleapi.CloseBody(res)
 18351  	if err := googleapi.CheckResponse(res); err != nil {
 18352  		return nil, err
 18353  	}
 18354  	ret := &AdvertiserGroupsListResponse{
 18355  		ServerResponse: googleapi.ServerResponse{
 18356  			Header:         res.Header,
 18357  			HTTPStatusCode: res.StatusCode,
 18358  		},
 18359  	}
 18360  	target := &ret
 18361  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18362  		return nil, err
 18363  	}
 18364  	return ret, nil
 18365  	// {
 18366  	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
 18367  	//   "httpMethod": "GET",
 18368  	//   "id": "dfareporting.advertiserGroups.list",
 18369  	//   "parameterOrder": [
 18370  	//     "profileId"
 18371  	//   ],
 18372  	//   "parameters": {
 18373  	//     "ids": {
 18374  	//       "description": "Select only advertiser groups with these IDs.",
 18375  	//       "format": "int64",
 18376  	//       "location": "query",
 18377  	//       "repeated": true,
 18378  	//       "type": "string"
 18379  	//     },
 18380  	//     "maxResults": {
 18381  	//       "default": "1000",
 18382  	//       "description": "Maximum number of results to return.",
 18383  	//       "format": "int32",
 18384  	//       "location": "query",
 18385  	//       "maximum": "1000",
 18386  	//       "minimum": "0",
 18387  	//       "type": "integer"
 18388  	//     },
 18389  	//     "pageToken": {
 18390  	//       "description": "Value of the nextPageToken from the previous result page.",
 18391  	//       "location": "query",
 18392  	//       "type": "string"
 18393  	//     },
 18394  	//     "profileId": {
 18395  	//       "description": "User profile ID associated with this request.",
 18396  	//       "format": "int64",
 18397  	//       "location": "path",
 18398  	//       "required": true,
 18399  	//       "type": "string"
 18400  	//     },
 18401  	//     "searchString": {
 18402  	//       "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\".",
 18403  	//       "location": "query",
 18404  	//       "type": "string"
 18405  	//     },
 18406  	//     "sortField": {
 18407  	//       "default": "ID",
 18408  	//       "description": "Field by which to sort the list.",
 18409  	//       "enum": [
 18410  	//         "ID",
 18411  	//         "NAME"
 18412  	//       ],
 18413  	//       "enumDescriptions": [
 18414  	//         "",
 18415  	//         ""
 18416  	//       ],
 18417  	//       "location": "query",
 18418  	//       "type": "string"
 18419  	//     },
 18420  	//     "sortOrder": {
 18421  	//       "default": "ASCENDING",
 18422  	//       "description": "Order of sorted results.",
 18423  	//       "enum": [
 18424  	//         "ASCENDING",
 18425  	//         "DESCENDING"
 18426  	//       ],
 18427  	//       "enumDescriptions": [
 18428  	//         "",
 18429  	//         ""
 18430  	//       ],
 18431  	//       "location": "query",
 18432  	//       "type": "string"
 18433  	//     }
 18434  	//   },
 18435  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18436  	//   "response": {
 18437  	//     "$ref": "AdvertiserGroupsListResponse"
 18438  	//   },
 18439  	//   "scopes": [
 18440  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18441  	//   ]
 18442  	// }
 18443  
 18444  }
 18445  
 18446  // Pages invokes f for each page of results.
 18447  // A non-nil error returned from f will halt the iteration.
 18448  // The provided context supersedes any context provided to the Context method.
 18449  func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
 18450  	c.ctx_ = ctx
 18451  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 18452  	for {
 18453  		x, err := c.Do()
 18454  		if err != nil {
 18455  			return err
 18456  		}
 18457  		if err := f(x); err != nil {
 18458  			return err
 18459  		}
 18460  		if x.NextPageToken == "" {
 18461  			return nil
 18462  		}
 18463  		c.PageToken(x.NextPageToken)
 18464  	}
 18465  }
 18466  
 18467  // method id "dfareporting.advertiserGroups.patch":
 18468  
 18469  type AdvertiserGroupsPatchCall struct {
 18470  	s               *Service
 18471  	profileId       int64
 18472  	advertisergroup *AdvertiserGroup
 18473  	urlParams_      gensupport.URLParams
 18474  	ctx_            context.Context
 18475  	header_         http.Header
 18476  }
 18477  
 18478  // Patch: Updates an existing advertiser group. This method supports
 18479  // patch semantics.
 18480  func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
 18481  	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18482  	c.profileId = profileId
 18483  	c.urlParams_.Set("id", fmt.Sprint(id))
 18484  	c.advertisergroup = advertisergroup
 18485  	return c
 18486  }
 18487  
 18488  // Fields allows partial responses to be retrieved. See
 18489  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18490  // for more information.
 18491  func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
 18492  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18493  	return c
 18494  }
 18495  
 18496  // Context sets the context to be used in this call's Do method. Any
 18497  // pending HTTP request will be aborted if the provided context is
 18498  // canceled.
 18499  func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 18500  	c.ctx_ = ctx
 18501  	return c
 18502  }
 18503  
 18504  // Header returns an http.Header that can be modified by the caller to
 18505  // add HTTP headers to the request.
 18506  func (c *AdvertiserGroupsPatchCall) Header() http.Header {
 18507  	if c.header_ == nil {
 18508  		c.header_ = make(http.Header)
 18509  	}
 18510  	return c.header_
 18511  }
 18512  
 18513  func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 18514  	reqHeaders := make(http.Header)
 18515  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18516  	for k, v := range c.header_ {
 18517  		reqHeaders[k] = v
 18518  	}
 18519  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18520  	var body io.Reader = nil
 18521  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18522  	if err != nil {
 18523  		return nil, err
 18524  	}
 18525  	reqHeaders.Set("Content-Type", "application/json")
 18526  	c.urlParams_.Set("alt", alt)
 18527  	c.urlParams_.Set("prettyPrint", "false")
 18528  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18529  	urls += "?" + c.urlParams_.Encode()
 18530  	req, err := http.NewRequest("PATCH", urls, body)
 18531  	if err != nil {
 18532  		return nil, err
 18533  	}
 18534  	req.Header = reqHeaders
 18535  	googleapi.Expand(req.URL, map[string]string{
 18536  		"profileId": strconv.FormatInt(c.profileId, 10),
 18537  	})
 18538  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18539  }
 18540  
 18541  // Do executes the "dfareporting.advertiserGroups.patch" call.
 18542  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18543  // status code is an error. Response headers are in either
 18544  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18545  // at all) in error.(*googleapi.Error).Header. Use
 18546  // googleapi.IsNotModified to check whether the returned error was
 18547  // because http.StatusNotModified was returned.
 18548  func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18549  	gensupport.SetOptions(c.urlParams_, opts...)
 18550  	res, err := c.doRequest("json")
 18551  	if res != nil && res.StatusCode == http.StatusNotModified {
 18552  		if res.Body != nil {
 18553  			res.Body.Close()
 18554  		}
 18555  		return nil, &googleapi.Error{
 18556  			Code:   res.StatusCode,
 18557  			Header: res.Header,
 18558  		}
 18559  	}
 18560  	if err != nil {
 18561  		return nil, err
 18562  	}
 18563  	defer googleapi.CloseBody(res)
 18564  	if err := googleapi.CheckResponse(res); err != nil {
 18565  		return nil, err
 18566  	}
 18567  	ret := &AdvertiserGroup{
 18568  		ServerResponse: googleapi.ServerResponse{
 18569  			Header:         res.Header,
 18570  			HTTPStatusCode: res.StatusCode,
 18571  		},
 18572  	}
 18573  	target := &ret
 18574  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18575  		return nil, err
 18576  	}
 18577  	return ret, nil
 18578  	// {
 18579  	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
 18580  	//   "httpMethod": "PATCH",
 18581  	//   "id": "dfareporting.advertiserGroups.patch",
 18582  	//   "parameterOrder": [
 18583  	//     "profileId",
 18584  	//     "id"
 18585  	//   ],
 18586  	//   "parameters": {
 18587  	//     "id": {
 18588  	//       "description": "Advertiser group ID.",
 18589  	//       "format": "int64",
 18590  	//       "location": "query",
 18591  	//       "required": true,
 18592  	//       "type": "string"
 18593  	//     },
 18594  	//     "profileId": {
 18595  	//       "description": "User profile ID associated with this request.",
 18596  	//       "format": "int64",
 18597  	//       "location": "path",
 18598  	//       "required": true,
 18599  	//       "type": "string"
 18600  	//     }
 18601  	//   },
 18602  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18603  	//   "request": {
 18604  	//     "$ref": "AdvertiserGroup"
 18605  	//   },
 18606  	//   "response": {
 18607  	//     "$ref": "AdvertiserGroup"
 18608  	//   },
 18609  	//   "scopes": [
 18610  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18611  	//   ]
 18612  	// }
 18613  
 18614  }
 18615  
 18616  // method id "dfareporting.advertiserGroups.update":
 18617  
 18618  type AdvertiserGroupsUpdateCall struct {
 18619  	s               *Service
 18620  	profileId       int64
 18621  	advertisergroup *AdvertiserGroup
 18622  	urlParams_      gensupport.URLParams
 18623  	ctx_            context.Context
 18624  	header_         http.Header
 18625  }
 18626  
 18627  // Update: Updates an existing advertiser group.
 18628  func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
 18629  	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18630  	c.profileId = profileId
 18631  	c.advertisergroup = advertisergroup
 18632  	return c
 18633  }
 18634  
 18635  // Fields allows partial responses to be retrieved. See
 18636  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18637  // for more information.
 18638  func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
 18639  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18640  	return c
 18641  }
 18642  
 18643  // Context sets the context to be used in this call's Do method. Any
 18644  // pending HTTP request will be aborted if the provided context is
 18645  // canceled.
 18646  func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 18647  	c.ctx_ = ctx
 18648  	return c
 18649  }
 18650  
 18651  // Header returns an http.Header that can be modified by the caller to
 18652  // add HTTP headers to the request.
 18653  func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
 18654  	if c.header_ == nil {
 18655  		c.header_ = make(http.Header)
 18656  	}
 18657  	return c.header_
 18658  }
 18659  
 18660  func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 18661  	reqHeaders := make(http.Header)
 18662  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18663  	for k, v := range c.header_ {
 18664  		reqHeaders[k] = v
 18665  	}
 18666  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18667  	var body io.Reader = nil
 18668  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18669  	if err != nil {
 18670  		return nil, err
 18671  	}
 18672  	reqHeaders.Set("Content-Type", "application/json")
 18673  	c.urlParams_.Set("alt", alt)
 18674  	c.urlParams_.Set("prettyPrint", "false")
 18675  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18676  	urls += "?" + c.urlParams_.Encode()
 18677  	req, err := http.NewRequest("PUT", urls, body)
 18678  	if err != nil {
 18679  		return nil, err
 18680  	}
 18681  	req.Header = reqHeaders
 18682  	googleapi.Expand(req.URL, map[string]string{
 18683  		"profileId": strconv.FormatInt(c.profileId, 10),
 18684  	})
 18685  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18686  }
 18687  
 18688  // Do executes the "dfareporting.advertiserGroups.update" call.
 18689  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18690  // status code is an error. Response headers are in either
 18691  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18692  // at all) in error.(*googleapi.Error).Header. Use
 18693  // googleapi.IsNotModified to check whether the returned error was
 18694  // because http.StatusNotModified was returned.
 18695  func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18696  	gensupport.SetOptions(c.urlParams_, opts...)
 18697  	res, err := c.doRequest("json")
 18698  	if res != nil && res.StatusCode == http.StatusNotModified {
 18699  		if res.Body != nil {
 18700  			res.Body.Close()
 18701  		}
 18702  		return nil, &googleapi.Error{
 18703  			Code:   res.StatusCode,
 18704  			Header: res.Header,
 18705  		}
 18706  	}
 18707  	if err != nil {
 18708  		return nil, err
 18709  	}
 18710  	defer googleapi.CloseBody(res)
 18711  	if err := googleapi.CheckResponse(res); err != nil {
 18712  		return nil, err
 18713  	}
 18714  	ret := &AdvertiserGroup{
 18715  		ServerResponse: googleapi.ServerResponse{
 18716  			Header:         res.Header,
 18717  			HTTPStatusCode: res.StatusCode,
 18718  		},
 18719  	}
 18720  	target := &ret
 18721  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18722  		return nil, err
 18723  	}
 18724  	return ret, nil
 18725  	// {
 18726  	//   "description": "Updates an existing advertiser group.",
 18727  	//   "httpMethod": "PUT",
 18728  	//   "id": "dfareporting.advertiserGroups.update",
 18729  	//   "parameterOrder": [
 18730  	//     "profileId"
 18731  	//   ],
 18732  	//   "parameters": {
 18733  	//     "profileId": {
 18734  	//       "description": "User profile ID associated with this request.",
 18735  	//       "format": "int64",
 18736  	//       "location": "path",
 18737  	//       "required": true,
 18738  	//       "type": "string"
 18739  	//     }
 18740  	//   },
 18741  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18742  	//   "request": {
 18743  	//     "$ref": "AdvertiserGroup"
 18744  	//   },
 18745  	//   "response": {
 18746  	//     "$ref": "AdvertiserGroup"
 18747  	//   },
 18748  	//   "scopes": [
 18749  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18750  	//   ]
 18751  	// }
 18752  
 18753  }
 18754  
 18755  // method id "dfareporting.advertiserLandingPages.get":
 18756  
 18757  type AdvertiserLandingPagesGetCall struct {
 18758  	s            *Service
 18759  	profileId    int64
 18760  	id           int64
 18761  	urlParams_   gensupport.URLParams
 18762  	ifNoneMatch_ string
 18763  	ctx_         context.Context
 18764  	header_      http.Header
 18765  }
 18766  
 18767  // Get: Gets one landing page by ID.
 18768  func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
 18769  	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18770  	c.profileId = profileId
 18771  	c.id = id
 18772  	return c
 18773  }
 18774  
 18775  // Fields allows partial responses to be retrieved. See
 18776  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18777  // for more information.
 18778  func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
 18779  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18780  	return c
 18781  }
 18782  
 18783  // IfNoneMatch sets the optional parameter which makes the operation
 18784  // fail if the object's ETag matches the given value. This is useful for
 18785  // getting updates only after the object has changed since the last
 18786  // request. Use googleapi.IsNotModified to check whether the response
 18787  // error from Do is the result of In-None-Match.
 18788  func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
 18789  	c.ifNoneMatch_ = entityTag
 18790  	return c
 18791  }
 18792  
 18793  // Context sets the context to be used in this call's Do method. Any
 18794  // pending HTTP request will be aborted if the provided context is
 18795  // canceled.
 18796  func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
 18797  	c.ctx_ = ctx
 18798  	return c
 18799  }
 18800  
 18801  // Header returns an http.Header that can be modified by the caller to
 18802  // add HTTP headers to the request.
 18803  func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
 18804  	if c.header_ == nil {
 18805  		c.header_ = make(http.Header)
 18806  	}
 18807  	return c.header_
 18808  }
 18809  
 18810  func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 18811  	reqHeaders := make(http.Header)
 18812  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18813  	for k, v := range c.header_ {
 18814  		reqHeaders[k] = v
 18815  	}
 18816  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18817  	if c.ifNoneMatch_ != "" {
 18818  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18819  	}
 18820  	var body io.Reader = nil
 18821  	c.urlParams_.Set("alt", alt)
 18822  	c.urlParams_.Set("prettyPrint", "false")
 18823  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
 18824  	urls += "?" + c.urlParams_.Encode()
 18825  	req, err := http.NewRequest("GET", urls, body)
 18826  	if err != nil {
 18827  		return nil, err
 18828  	}
 18829  	req.Header = reqHeaders
 18830  	googleapi.Expand(req.URL, map[string]string{
 18831  		"profileId": strconv.FormatInt(c.profileId, 10),
 18832  		"id":        strconv.FormatInt(c.id, 10),
 18833  	})
 18834  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18835  }
 18836  
 18837  // Do executes the "dfareporting.advertiserLandingPages.get" call.
 18838  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 18839  // status code is an error. Response headers are in either
 18840  // *LandingPage.ServerResponse.Header or (if a response was returned at
 18841  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18842  // to check whether the returned error was because
 18843  // http.StatusNotModified was returned.
 18844  func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 18845  	gensupport.SetOptions(c.urlParams_, opts...)
 18846  	res, err := c.doRequest("json")
 18847  	if res != nil && res.StatusCode == http.StatusNotModified {
 18848  		if res.Body != nil {
 18849  			res.Body.Close()
 18850  		}
 18851  		return nil, &googleapi.Error{
 18852  			Code:   res.StatusCode,
 18853  			Header: res.Header,
 18854  		}
 18855  	}
 18856  	if err != nil {
 18857  		return nil, err
 18858  	}
 18859  	defer googleapi.CloseBody(res)
 18860  	if err := googleapi.CheckResponse(res); err != nil {
 18861  		return nil, err
 18862  	}
 18863  	ret := &LandingPage{
 18864  		ServerResponse: googleapi.ServerResponse{
 18865  			Header:         res.Header,
 18866  			HTTPStatusCode: res.StatusCode,
 18867  		},
 18868  	}
 18869  	target := &ret
 18870  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18871  		return nil, err
 18872  	}
 18873  	return ret, nil
 18874  	// {
 18875  	//   "description": "Gets one landing page by ID.",
 18876  	//   "httpMethod": "GET",
 18877  	//   "id": "dfareporting.advertiserLandingPages.get",
 18878  	//   "parameterOrder": [
 18879  	//     "profileId",
 18880  	//     "id"
 18881  	//   ],
 18882  	//   "parameters": {
 18883  	//     "id": {
 18884  	//       "description": "Landing page ID.",
 18885  	//       "format": "int64",
 18886  	//       "location": "path",
 18887  	//       "required": true,
 18888  	//       "type": "string"
 18889  	//     },
 18890  	//     "profileId": {
 18891  	//       "description": "User profile ID associated with this request.",
 18892  	//       "format": "int64",
 18893  	//       "location": "path",
 18894  	//       "required": true,
 18895  	//       "type": "string"
 18896  	//     }
 18897  	//   },
 18898  	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
 18899  	//   "response": {
 18900  	//     "$ref": "LandingPage"
 18901  	//   },
 18902  	//   "scopes": [
 18903  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18904  	//   ]
 18905  	// }
 18906  
 18907  }
 18908  
 18909  // method id "dfareporting.advertiserLandingPages.insert":
 18910  
 18911  type AdvertiserLandingPagesInsertCall struct {
 18912  	s           *Service
 18913  	profileId   int64
 18914  	landingpage *LandingPage
 18915  	urlParams_  gensupport.URLParams
 18916  	ctx_        context.Context
 18917  	header_     http.Header
 18918  }
 18919  
 18920  // Insert: Inserts a new landing page.
 18921  func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
 18922  	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18923  	c.profileId = profileId
 18924  	c.landingpage = landingpage
 18925  	return c
 18926  }
 18927  
 18928  // Fields allows partial responses to be retrieved. See
 18929  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18930  // for more information.
 18931  func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
 18932  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18933  	return c
 18934  }
 18935  
 18936  // Context sets the context to be used in this call's Do method. Any
 18937  // pending HTTP request will be aborted if the provided context is
 18938  // canceled.
 18939  func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
 18940  	c.ctx_ = ctx
 18941  	return c
 18942  }
 18943  
 18944  // Header returns an http.Header that can be modified by the caller to
 18945  // add HTTP headers to the request.
 18946  func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
 18947  	if c.header_ == nil {
 18948  		c.header_ = make(http.Header)
 18949  	}
 18950  	return c.header_
 18951  }
 18952  
 18953  func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
 18954  	reqHeaders := make(http.Header)
 18955  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 18956  	for k, v := range c.header_ {
 18957  		reqHeaders[k] = v
 18958  	}
 18959  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18960  	var body io.Reader = nil
 18961  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 18962  	if err != nil {
 18963  		return nil, err
 18964  	}
 18965  	reqHeaders.Set("Content-Type", "application/json")
 18966  	c.urlParams_.Set("alt", alt)
 18967  	c.urlParams_.Set("prettyPrint", "false")
 18968  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 18969  	urls += "?" + c.urlParams_.Encode()
 18970  	req, err := http.NewRequest("POST", urls, body)
 18971  	if err != nil {
 18972  		return nil, err
 18973  	}
 18974  	req.Header = reqHeaders
 18975  	googleapi.Expand(req.URL, map[string]string{
 18976  		"profileId": strconv.FormatInt(c.profileId, 10),
 18977  	})
 18978  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18979  }
 18980  
 18981  // Do executes the "dfareporting.advertiserLandingPages.insert" call.
 18982  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 18983  // status code is an error. Response headers are in either
 18984  // *LandingPage.ServerResponse.Header or (if a response was returned at
 18985  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18986  // to check whether the returned error was because
 18987  // http.StatusNotModified was returned.
 18988  func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 18989  	gensupport.SetOptions(c.urlParams_, opts...)
 18990  	res, err := c.doRequest("json")
 18991  	if res != nil && res.StatusCode == http.StatusNotModified {
 18992  		if res.Body != nil {
 18993  			res.Body.Close()
 18994  		}
 18995  		return nil, &googleapi.Error{
 18996  			Code:   res.StatusCode,
 18997  			Header: res.Header,
 18998  		}
 18999  	}
 19000  	if err != nil {
 19001  		return nil, err
 19002  	}
 19003  	defer googleapi.CloseBody(res)
 19004  	if err := googleapi.CheckResponse(res); err != nil {
 19005  		return nil, err
 19006  	}
 19007  	ret := &LandingPage{
 19008  		ServerResponse: googleapi.ServerResponse{
 19009  			Header:         res.Header,
 19010  			HTTPStatusCode: res.StatusCode,
 19011  		},
 19012  	}
 19013  	target := &ret
 19014  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19015  		return nil, err
 19016  	}
 19017  	return ret, nil
 19018  	// {
 19019  	//   "description": "Inserts a new landing page.",
 19020  	//   "httpMethod": "POST",
 19021  	//   "id": "dfareporting.advertiserLandingPages.insert",
 19022  	//   "parameterOrder": [
 19023  	//     "profileId"
 19024  	//   ],
 19025  	//   "parameters": {
 19026  	//     "profileId": {
 19027  	//       "description": "User profile ID associated with this request.",
 19028  	//       "format": "int64",
 19029  	//       "location": "path",
 19030  	//       "required": true,
 19031  	//       "type": "string"
 19032  	//     }
 19033  	//   },
 19034  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19035  	//   "request": {
 19036  	//     "$ref": "LandingPage"
 19037  	//   },
 19038  	//   "response": {
 19039  	//     "$ref": "LandingPage"
 19040  	//   },
 19041  	//   "scopes": [
 19042  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19043  	//   ]
 19044  	// }
 19045  
 19046  }
 19047  
 19048  // method id "dfareporting.advertiserLandingPages.list":
 19049  
 19050  type AdvertiserLandingPagesListCall struct {
 19051  	s            *Service
 19052  	profileId    int64
 19053  	urlParams_   gensupport.URLParams
 19054  	ifNoneMatch_ string
 19055  	ctx_         context.Context
 19056  	header_      http.Header
 19057  }
 19058  
 19059  // List: Retrieves a list of landing pages.
 19060  func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
 19061  	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19062  	c.profileId = profileId
 19063  	return c
 19064  }
 19065  
 19066  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 19067  // only landing pages that belong to these advertisers.
 19068  func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
 19069  	var advertiserIds_ []string
 19070  	for _, v := range advertiserIds {
 19071  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 19072  	}
 19073  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 19074  	return c
 19075  }
 19076  
 19077  // Archived sets the optional parameter "archived": Select only archived
 19078  // landing pages. Don't set this field to select both archived and
 19079  // non-archived landing pages.
 19080  func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
 19081  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 19082  	return c
 19083  }
 19084  
 19085  // CampaignIds sets the optional parameter "campaignIds": Select only
 19086  // landing pages that are associated with these campaigns.
 19087  func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
 19088  	var campaignIds_ []string
 19089  	for _, v := range campaignIds {
 19090  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 19091  	}
 19092  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 19093  	return c
 19094  }
 19095  
 19096  // Ids sets the optional parameter "ids": Select only landing pages with
 19097  // these IDs.
 19098  func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
 19099  	var ids_ []string
 19100  	for _, v := range ids {
 19101  		ids_ = append(ids_, fmt.Sprint(v))
 19102  	}
 19103  	c.urlParams_.SetMulti("ids", ids_)
 19104  	return c
 19105  }
 19106  
 19107  // MaxResults sets the optional parameter "maxResults": Maximum number
 19108  // of results to return.
 19109  func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
 19110  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19111  	return c
 19112  }
 19113  
 19114  // PageToken sets the optional parameter "pageToken": Value of the
 19115  // nextPageToken from the previous result page.
 19116  func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
 19117  	c.urlParams_.Set("pageToken", pageToken)
 19118  	return c
 19119  }
 19120  
 19121  // SearchString sets the optional parameter "searchString": Allows
 19122  // searching for landing pages by name or ID. Wildcards (*) are allowed.
 19123  // For example, "landingpage*2017" will return landing pages with names
 19124  // like "landingpage July 2017", "landingpage March 2017", or simply
 19125  // "landingpage 2017". Most of the searches also add wildcards
 19126  // implicitly at the start and the end of the search string. For
 19127  // example, a search string of "landingpage" will match campaigns with
 19128  // name "my landingpage", "landingpage 2015", or simply "landingpage".
 19129  func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
 19130  	c.urlParams_.Set("searchString", searchString)
 19131  	return c
 19132  }
 19133  
 19134  // SortField sets the optional parameter "sortField": Field by which to
 19135  // sort the list.
 19136  //
 19137  // Possible values:
 19138  //
 19139  //	"ID" (default)
 19140  //	"NAME"
 19141  func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
 19142  	c.urlParams_.Set("sortField", sortField)
 19143  	return c
 19144  }
 19145  
 19146  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 19147  // results.
 19148  //
 19149  // Possible values:
 19150  //
 19151  //	"ASCENDING" (default)
 19152  //	"DESCENDING"
 19153  func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
 19154  	c.urlParams_.Set("sortOrder", sortOrder)
 19155  	return c
 19156  }
 19157  
 19158  // SubaccountId sets the optional parameter "subaccountId": Select only
 19159  // landing pages that belong to this subaccount.
 19160  func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
 19161  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 19162  	return c
 19163  }
 19164  
 19165  // Fields allows partial responses to be retrieved. See
 19166  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19167  // for more information.
 19168  func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
 19169  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19170  	return c
 19171  }
 19172  
 19173  // IfNoneMatch sets the optional parameter which makes the operation
 19174  // fail if the object's ETag matches the given value. This is useful for
 19175  // getting updates only after the object has changed since the last
 19176  // request. Use googleapi.IsNotModified to check whether the response
 19177  // error from Do is the result of In-None-Match.
 19178  func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
 19179  	c.ifNoneMatch_ = entityTag
 19180  	return c
 19181  }
 19182  
 19183  // Context sets the context to be used in this call's Do method. Any
 19184  // pending HTTP request will be aborted if the provided context is
 19185  // canceled.
 19186  func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
 19187  	c.ctx_ = ctx
 19188  	return c
 19189  }
 19190  
 19191  // Header returns an http.Header that can be modified by the caller to
 19192  // add HTTP headers to the request.
 19193  func (c *AdvertiserLandingPagesListCall) Header() http.Header {
 19194  	if c.header_ == nil {
 19195  		c.header_ = make(http.Header)
 19196  	}
 19197  	return c.header_
 19198  }
 19199  
 19200  func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 19201  	reqHeaders := make(http.Header)
 19202  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19203  	for k, v := range c.header_ {
 19204  		reqHeaders[k] = v
 19205  	}
 19206  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19207  	if c.ifNoneMatch_ != "" {
 19208  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19209  	}
 19210  	var body io.Reader = nil
 19211  	c.urlParams_.Set("alt", alt)
 19212  	c.urlParams_.Set("prettyPrint", "false")
 19213  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19214  	urls += "?" + c.urlParams_.Encode()
 19215  	req, err := http.NewRequest("GET", urls, body)
 19216  	if err != nil {
 19217  		return nil, err
 19218  	}
 19219  	req.Header = reqHeaders
 19220  	googleapi.Expand(req.URL, map[string]string{
 19221  		"profileId": strconv.FormatInt(c.profileId, 10),
 19222  	})
 19223  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19224  }
 19225  
 19226  // Do executes the "dfareporting.advertiserLandingPages.list" call.
 19227  // Exactly one of *AdvertiserLandingPagesListResponse or error will be
 19228  // non-nil. Any non-2xx status code is an error. Response headers are in
 19229  // either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
 19230  // (if a response was returned at all) in
 19231  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19232  // whether the returned error was because http.StatusNotModified was
 19233  // returned.
 19234  func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
 19235  	gensupport.SetOptions(c.urlParams_, opts...)
 19236  	res, err := c.doRequest("json")
 19237  	if res != nil && res.StatusCode == http.StatusNotModified {
 19238  		if res.Body != nil {
 19239  			res.Body.Close()
 19240  		}
 19241  		return nil, &googleapi.Error{
 19242  			Code:   res.StatusCode,
 19243  			Header: res.Header,
 19244  		}
 19245  	}
 19246  	if err != nil {
 19247  		return nil, err
 19248  	}
 19249  	defer googleapi.CloseBody(res)
 19250  	if err := googleapi.CheckResponse(res); err != nil {
 19251  		return nil, err
 19252  	}
 19253  	ret := &AdvertiserLandingPagesListResponse{
 19254  		ServerResponse: googleapi.ServerResponse{
 19255  			Header:         res.Header,
 19256  			HTTPStatusCode: res.StatusCode,
 19257  		},
 19258  	}
 19259  	target := &ret
 19260  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19261  		return nil, err
 19262  	}
 19263  	return ret, nil
 19264  	// {
 19265  	//   "description": "Retrieves a list of landing pages.",
 19266  	//   "httpMethod": "GET",
 19267  	//   "id": "dfareporting.advertiserLandingPages.list",
 19268  	//   "parameterOrder": [
 19269  	//     "profileId"
 19270  	//   ],
 19271  	//   "parameters": {
 19272  	//     "advertiserIds": {
 19273  	//       "description": "Select only landing pages that belong to these advertisers.",
 19274  	//       "format": "int64",
 19275  	//       "location": "query",
 19276  	//       "repeated": true,
 19277  	//       "type": "string"
 19278  	//     },
 19279  	//     "archived": {
 19280  	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
 19281  	//       "location": "query",
 19282  	//       "type": "boolean"
 19283  	//     },
 19284  	//     "campaignIds": {
 19285  	//       "description": "Select only landing pages that are associated with these campaigns.",
 19286  	//       "format": "int64",
 19287  	//       "location": "query",
 19288  	//       "repeated": true,
 19289  	//       "type": "string"
 19290  	//     },
 19291  	//     "ids": {
 19292  	//       "description": "Select only landing pages with these IDs.",
 19293  	//       "format": "int64",
 19294  	//       "location": "query",
 19295  	//       "repeated": true,
 19296  	//       "type": "string"
 19297  	//     },
 19298  	//     "maxResults": {
 19299  	//       "default": "1000",
 19300  	//       "description": "Maximum number of results to return.",
 19301  	//       "format": "int32",
 19302  	//       "location": "query",
 19303  	//       "maximum": "1000",
 19304  	//       "minimum": "0",
 19305  	//       "type": "integer"
 19306  	//     },
 19307  	//     "pageToken": {
 19308  	//       "description": "Value of the nextPageToken from the previous result page.",
 19309  	//       "location": "query",
 19310  	//       "type": "string"
 19311  	//     },
 19312  	//     "profileId": {
 19313  	//       "description": "User profile ID associated with this request.",
 19314  	//       "format": "int64",
 19315  	//       "location": "path",
 19316  	//       "required": true,
 19317  	//       "type": "string"
 19318  	//     },
 19319  	//     "searchString": {
 19320  	//       "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\".",
 19321  	//       "location": "query",
 19322  	//       "type": "string"
 19323  	//     },
 19324  	//     "sortField": {
 19325  	//       "default": "ID",
 19326  	//       "description": "Field by which to sort the list.",
 19327  	//       "enum": [
 19328  	//         "ID",
 19329  	//         "NAME"
 19330  	//       ],
 19331  	//       "enumDescriptions": [
 19332  	//         "",
 19333  	//         ""
 19334  	//       ],
 19335  	//       "location": "query",
 19336  	//       "type": "string"
 19337  	//     },
 19338  	//     "sortOrder": {
 19339  	//       "default": "ASCENDING",
 19340  	//       "description": "Order of sorted results.",
 19341  	//       "enum": [
 19342  	//         "ASCENDING",
 19343  	//         "DESCENDING"
 19344  	//       ],
 19345  	//       "enumDescriptions": [
 19346  	//         "",
 19347  	//         ""
 19348  	//       ],
 19349  	//       "location": "query",
 19350  	//       "type": "string"
 19351  	//     },
 19352  	//     "subaccountId": {
 19353  	//       "description": "Select only landing pages that belong to this subaccount.",
 19354  	//       "format": "int64",
 19355  	//       "location": "query",
 19356  	//       "type": "string"
 19357  	//     }
 19358  	//   },
 19359  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19360  	//   "response": {
 19361  	//     "$ref": "AdvertiserLandingPagesListResponse"
 19362  	//   },
 19363  	//   "scopes": [
 19364  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19365  	//   ]
 19366  	// }
 19367  
 19368  }
 19369  
 19370  // Pages invokes f for each page of results.
 19371  // A non-nil error returned from f will halt the iteration.
 19372  // The provided context supersedes any context provided to the Context method.
 19373  func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
 19374  	c.ctx_ = ctx
 19375  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 19376  	for {
 19377  		x, err := c.Do()
 19378  		if err != nil {
 19379  			return err
 19380  		}
 19381  		if err := f(x); err != nil {
 19382  			return err
 19383  		}
 19384  		if x.NextPageToken == "" {
 19385  			return nil
 19386  		}
 19387  		c.PageToken(x.NextPageToken)
 19388  	}
 19389  }
 19390  
 19391  // method id "dfareporting.advertiserLandingPages.patch":
 19392  
 19393  type AdvertiserLandingPagesPatchCall struct {
 19394  	s           *Service
 19395  	profileId   int64
 19396  	landingpage *LandingPage
 19397  	urlParams_  gensupport.URLParams
 19398  	ctx_        context.Context
 19399  	header_     http.Header
 19400  }
 19401  
 19402  // Patch: Updates an existing landing page. This method supports patch
 19403  // semantics.
 19404  func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
 19405  	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19406  	c.profileId = profileId
 19407  	c.urlParams_.Set("id", fmt.Sprint(id))
 19408  	c.landingpage = landingpage
 19409  	return c
 19410  }
 19411  
 19412  // Fields allows partial responses to be retrieved. See
 19413  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19414  // for more information.
 19415  func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
 19416  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19417  	return c
 19418  }
 19419  
 19420  // Context sets the context to be used in this call's Do method. Any
 19421  // pending HTTP request will be aborted if the provided context is
 19422  // canceled.
 19423  func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
 19424  	c.ctx_ = ctx
 19425  	return c
 19426  }
 19427  
 19428  // Header returns an http.Header that can be modified by the caller to
 19429  // add HTTP headers to the request.
 19430  func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
 19431  	if c.header_ == nil {
 19432  		c.header_ = make(http.Header)
 19433  	}
 19434  	return c.header_
 19435  }
 19436  
 19437  func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
 19438  	reqHeaders := make(http.Header)
 19439  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19440  	for k, v := range c.header_ {
 19441  		reqHeaders[k] = v
 19442  	}
 19443  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19444  	var body io.Reader = nil
 19445  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19446  	if err != nil {
 19447  		return nil, err
 19448  	}
 19449  	reqHeaders.Set("Content-Type", "application/json")
 19450  	c.urlParams_.Set("alt", alt)
 19451  	c.urlParams_.Set("prettyPrint", "false")
 19452  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19453  	urls += "?" + c.urlParams_.Encode()
 19454  	req, err := http.NewRequest("PATCH", urls, body)
 19455  	if err != nil {
 19456  		return nil, err
 19457  	}
 19458  	req.Header = reqHeaders
 19459  	googleapi.Expand(req.URL, map[string]string{
 19460  		"profileId": strconv.FormatInt(c.profileId, 10),
 19461  	})
 19462  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19463  }
 19464  
 19465  // Do executes the "dfareporting.advertiserLandingPages.patch" call.
 19466  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19467  // status code is an error. Response headers are in either
 19468  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19469  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19470  // to check whether the returned error was because
 19471  // http.StatusNotModified was returned.
 19472  func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19473  	gensupport.SetOptions(c.urlParams_, opts...)
 19474  	res, err := c.doRequest("json")
 19475  	if res != nil && res.StatusCode == http.StatusNotModified {
 19476  		if res.Body != nil {
 19477  			res.Body.Close()
 19478  		}
 19479  		return nil, &googleapi.Error{
 19480  			Code:   res.StatusCode,
 19481  			Header: res.Header,
 19482  		}
 19483  	}
 19484  	if err != nil {
 19485  		return nil, err
 19486  	}
 19487  	defer googleapi.CloseBody(res)
 19488  	if err := googleapi.CheckResponse(res); err != nil {
 19489  		return nil, err
 19490  	}
 19491  	ret := &LandingPage{
 19492  		ServerResponse: googleapi.ServerResponse{
 19493  			Header:         res.Header,
 19494  			HTTPStatusCode: res.StatusCode,
 19495  		},
 19496  	}
 19497  	target := &ret
 19498  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19499  		return nil, err
 19500  	}
 19501  	return ret, nil
 19502  	// {
 19503  	//   "description": "Updates an existing landing page. This method supports patch semantics.",
 19504  	//   "httpMethod": "PATCH",
 19505  	//   "id": "dfareporting.advertiserLandingPages.patch",
 19506  	//   "parameterOrder": [
 19507  	//     "profileId",
 19508  	//     "id"
 19509  	//   ],
 19510  	//   "parameters": {
 19511  	//     "id": {
 19512  	//       "description": "Landing page ID.",
 19513  	//       "format": "int64",
 19514  	//       "location": "query",
 19515  	//       "required": true,
 19516  	//       "type": "string"
 19517  	//     },
 19518  	//     "profileId": {
 19519  	//       "description": "User profile ID associated with this request.",
 19520  	//       "format": "int64",
 19521  	//       "location": "path",
 19522  	//       "required": true,
 19523  	//       "type": "string"
 19524  	//     }
 19525  	//   },
 19526  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19527  	//   "request": {
 19528  	//     "$ref": "LandingPage"
 19529  	//   },
 19530  	//   "response": {
 19531  	//     "$ref": "LandingPage"
 19532  	//   },
 19533  	//   "scopes": [
 19534  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19535  	//   ]
 19536  	// }
 19537  
 19538  }
 19539  
 19540  // method id "dfareporting.advertiserLandingPages.update":
 19541  
 19542  type AdvertiserLandingPagesUpdateCall struct {
 19543  	s           *Service
 19544  	profileId   int64
 19545  	landingpage *LandingPage
 19546  	urlParams_  gensupport.URLParams
 19547  	ctx_        context.Context
 19548  	header_     http.Header
 19549  }
 19550  
 19551  // Update: Updates an existing landing page.
 19552  func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
 19553  	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19554  	c.profileId = profileId
 19555  	c.landingpage = landingpage
 19556  	return c
 19557  }
 19558  
 19559  // Fields allows partial responses to be retrieved. See
 19560  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19561  // for more information.
 19562  func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
 19563  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19564  	return c
 19565  }
 19566  
 19567  // Context sets the context to be used in this call's Do method. Any
 19568  // pending HTTP request will be aborted if the provided context is
 19569  // canceled.
 19570  func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
 19571  	c.ctx_ = ctx
 19572  	return c
 19573  }
 19574  
 19575  // Header returns an http.Header that can be modified by the caller to
 19576  // add HTTP headers to the request.
 19577  func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
 19578  	if c.header_ == nil {
 19579  		c.header_ = make(http.Header)
 19580  	}
 19581  	return c.header_
 19582  }
 19583  
 19584  func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 19585  	reqHeaders := make(http.Header)
 19586  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19587  	for k, v := range c.header_ {
 19588  		reqHeaders[k] = v
 19589  	}
 19590  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19591  	var body io.Reader = nil
 19592  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19593  	if err != nil {
 19594  		return nil, err
 19595  	}
 19596  	reqHeaders.Set("Content-Type", "application/json")
 19597  	c.urlParams_.Set("alt", alt)
 19598  	c.urlParams_.Set("prettyPrint", "false")
 19599  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19600  	urls += "?" + c.urlParams_.Encode()
 19601  	req, err := http.NewRequest("PUT", urls, body)
 19602  	if err != nil {
 19603  		return nil, err
 19604  	}
 19605  	req.Header = reqHeaders
 19606  	googleapi.Expand(req.URL, map[string]string{
 19607  		"profileId": strconv.FormatInt(c.profileId, 10),
 19608  	})
 19609  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19610  }
 19611  
 19612  // Do executes the "dfareporting.advertiserLandingPages.update" call.
 19613  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19614  // status code is an error. Response headers are in either
 19615  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19616  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19617  // to check whether the returned error was because
 19618  // http.StatusNotModified was returned.
 19619  func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19620  	gensupport.SetOptions(c.urlParams_, opts...)
 19621  	res, err := c.doRequest("json")
 19622  	if res != nil && res.StatusCode == http.StatusNotModified {
 19623  		if res.Body != nil {
 19624  			res.Body.Close()
 19625  		}
 19626  		return nil, &googleapi.Error{
 19627  			Code:   res.StatusCode,
 19628  			Header: res.Header,
 19629  		}
 19630  	}
 19631  	if err != nil {
 19632  		return nil, err
 19633  	}
 19634  	defer googleapi.CloseBody(res)
 19635  	if err := googleapi.CheckResponse(res); err != nil {
 19636  		return nil, err
 19637  	}
 19638  	ret := &LandingPage{
 19639  		ServerResponse: googleapi.ServerResponse{
 19640  			Header:         res.Header,
 19641  			HTTPStatusCode: res.StatusCode,
 19642  		},
 19643  	}
 19644  	target := &ret
 19645  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19646  		return nil, err
 19647  	}
 19648  	return ret, nil
 19649  	// {
 19650  	//   "description": "Updates an existing landing page.",
 19651  	//   "httpMethod": "PUT",
 19652  	//   "id": "dfareporting.advertiserLandingPages.update",
 19653  	//   "parameterOrder": [
 19654  	//     "profileId"
 19655  	//   ],
 19656  	//   "parameters": {
 19657  	//     "profileId": {
 19658  	//       "description": "User profile ID associated with this request.",
 19659  	//       "format": "int64",
 19660  	//       "location": "path",
 19661  	//       "required": true,
 19662  	//       "type": "string"
 19663  	//     }
 19664  	//   },
 19665  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19666  	//   "request": {
 19667  	//     "$ref": "LandingPage"
 19668  	//   },
 19669  	//   "response": {
 19670  	//     "$ref": "LandingPage"
 19671  	//   },
 19672  	//   "scopes": [
 19673  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19674  	//   ]
 19675  	// }
 19676  
 19677  }
 19678  
 19679  // method id "dfareporting.advertisers.get":
 19680  
 19681  type AdvertisersGetCall struct {
 19682  	s            *Service
 19683  	profileId    int64
 19684  	id           int64
 19685  	urlParams_   gensupport.URLParams
 19686  	ifNoneMatch_ string
 19687  	ctx_         context.Context
 19688  	header_      http.Header
 19689  }
 19690  
 19691  // Get: Gets one advertiser by ID.
 19692  func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
 19693  	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19694  	c.profileId = profileId
 19695  	c.id = id
 19696  	return c
 19697  }
 19698  
 19699  // Fields allows partial responses to be retrieved. See
 19700  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19701  // for more information.
 19702  func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
 19703  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19704  	return c
 19705  }
 19706  
 19707  // IfNoneMatch sets the optional parameter which makes the operation
 19708  // fail if the object's ETag matches the given value. This is useful for
 19709  // getting updates only after the object has changed since the last
 19710  // request. Use googleapi.IsNotModified to check whether the response
 19711  // error from Do is the result of In-None-Match.
 19712  func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
 19713  	c.ifNoneMatch_ = entityTag
 19714  	return c
 19715  }
 19716  
 19717  // Context sets the context to be used in this call's Do method. Any
 19718  // pending HTTP request will be aborted if the provided context is
 19719  // canceled.
 19720  func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 19721  	c.ctx_ = ctx
 19722  	return c
 19723  }
 19724  
 19725  // Header returns an http.Header that can be modified by the caller to
 19726  // add HTTP headers to the request.
 19727  func (c *AdvertisersGetCall) Header() http.Header {
 19728  	if c.header_ == nil {
 19729  		c.header_ = make(http.Header)
 19730  	}
 19731  	return c.header_
 19732  }
 19733  
 19734  func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 19735  	reqHeaders := make(http.Header)
 19736  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19737  	for k, v := range c.header_ {
 19738  		reqHeaders[k] = v
 19739  	}
 19740  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19741  	if c.ifNoneMatch_ != "" {
 19742  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19743  	}
 19744  	var body io.Reader = nil
 19745  	c.urlParams_.Set("alt", alt)
 19746  	c.urlParams_.Set("prettyPrint", "false")
 19747  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
 19748  	urls += "?" + c.urlParams_.Encode()
 19749  	req, err := http.NewRequest("GET", urls, body)
 19750  	if err != nil {
 19751  		return nil, err
 19752  	}
 19753  	req.Header = reqHeaders
 19754  	googleapi.Expand(req.URL, map[string]string{
 19755  		"profileId": strconv.FormatInt(c.profileId, 10),
 19756  		"id":        strconv.FormatInt(c.id, 10),
 19757  	})
 19758  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19759  }
 19760  
 19761  // Do executes the "dfareporting.advertisers.get" call.
 19762  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19763  // status code is an error. Response headers are in either
 19764  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19765  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19766  // to check whether the returned error was because
 19767  // http.StatusNotModified was returned.
 19768  func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19769  	gensupport.SetOptions(c.urlParams_, opts...)
 19770  	res, err := c.doRequest("json")
 19771  	if res != nil && res.StatusCode == http.StatusNotModified {
 19772  		if res.Body != nil {
 19773  			res.Body.Close()
 19774  		}
 19775  		return nil, &googleapi.Error{
 19776  			Code:   res.StatusCode,
 19777  			Header: res.Header,
 19778  		}
 19779  	}
 19780  	if err != nil {
 19781  		return nil, err
 19782  	}
 19783  	defer googleapi.CloseBody(res)
 19784  	if err := googleapi.CheckResponse(res); err != nil {
 19785  		return nil, err
 19786  	}
 19787  	ret := &Advertiser{
 19788  		ServerResponse: googleapi.ServerResponse{
 19789  			Header:         res.Header,
 19790  			HTTPStatusCode: res.StatusCode,
 19791  		},
 19792  	}
 19793  	target := &ret
 19794  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19795  		return nil, err
 19796  	}
 19797  	return ret, nil
 19798  	// {
 19799  	//   "description": "Gets one advertiser by ID.",
 19800  	//   "httpMethod": "GET",
 19801  	//   "id": "dfareporting.advertisers.get",
 19802  	//   "parameterOrder": [
 19803  	//     "profileId",
 19804  	//     "id"
 19805  	//   ],
 19806  	//   "parameters": {
 19807  	//     "id": {
 19808  	//       "description": "Advertiser ID.",
 19809  	//       "format": "int64",
 19810  	//       "location": "path",
 19811  	//       "required": true,
 19812  	//       "type": "string"
 19813  	//     },
 19814  	//     "profileId": {
 19815  	//       "description": "User profile ID associated with this request.",
 19816  	//       "format": "int64",
 19817  	//       "location": "path",
 19818  	//       "required": true,
 19819  	//       "type": "string"
 19820  	//     }
 19821  	//   },
 19822  	//   "path": "userprofiles/{profileId}/advertisers/{id}",
 19823  	//   "response": {
 19824  	//     "$ref": "Advertiser"
 19825  	//   },
 19826  	//   "scopes": [
 19827  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19828  	//   ]
 19829  	// }
 19830  
 19831  }
 19832  
 19833  // method id "dfareporting.advertisers.insert":
 19834  
 19835  type AdvertisersInsertCall struct {
 19836  	s          *Service
 19837  	profileId  int64
 19838  	advertiser *Advertiser
 19839  	urlParams_ gensupport.URLParams
 19840  	ctx_       context.Context
 19841  	header_    http.Header
 19842  }
 19843  
 19844  // Insert: Inserts a new advertiser.
 19845  func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
 19846  	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19847  	c.profileId = profileId
 19848  	c.advertiser = advertiser
 19849  	return c
 19850  }
 19851  
 19852  // Fields allows partial responses to be retrieved. See
 19853  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19854  // for more information.
 19855  func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
 19856  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19857  	return c
 19858  }
 19859  
 19860  // Context sets the context to be used in this call's Do method. Any
 19861  // pending HTTP request will be aborted if the provided context is
 19862  // canceled.
 19863  func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 19864  	c.ctx_ = ctx
 19865  	return c
 19866  }
 19867  
 19868  // Header returns an http.Header that can be modified by the caller to
 19869  // add HTTP headers to the request.
 19870  func (c *AdvertisersInsertCall) Header() http.Header {
 19871  	if c.header_ == nil {
 19872  		c.header_ = make(http.Header)
 19873  	}
 19874  	return c.header_
 19875  }
 19876  
 19877  func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
 19878  	reqHeaders := make(http.Header)
 19879  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 19880  	for k, v := range c.header_ {
 19881  		reqHeaders[k] = v
 19882  	}
 19883  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19884  	var body io.Reader = nil
 19885  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 19886  	if err != nil {
 19887  		return nil, err
 19888  	}
 19889  	reqHeaders.Set("Content-Type", "application/json")
 19890  	c.urlParams_.Set("alt", alt)
 19891  	c.urlParams_.Set("prettyPrint", "false")
 19892  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 19893  	urls += "?" + c.urlParams_.Encode()
 19894  	req, err := http.NewRequest("POST", urls, body)
 19895  	if err != nil {
 19896  		return nil, err
 19897  	}
 19898  	req.Header = reqHeaders
 19899  	googleapi.Expand(req.URL, map[string]string{
 19900  		"profileId": strconv.FormatInt(c.profileId, 10),
 19901  	})
 19902  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19903  }
 19904  
 19905  // Do executes the "dfareporting.advertisers.insert" call.
 19906  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19907  // status code is an error. Response headers are in either
 19908  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19909  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19910  // to check whether the returned error was because
 19911  // http.StatusNotModified was returned.
 19912  func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19913  	gensupport.SetOptions(c.urlParams_, opts...)
 19914  	res, err := c.doRequest("json")
 19915  	if res != nil && res.StatusCode == http.StatusNotModified {
 19916  		if res.Body != nil {
 19917  			res.Body.Close()
 19918  		}
 19919  		return nil, &googleapi.Error{
 19920  			Code:   res.StatusCode,
 19921  			Header: res.Header,
 19922  		}
 19923  	}
 19924  	if err != nil {
 19925  		return nil, err
 19926  	}
 19927  	defer googleapi.CloseBody(res)
 19928  	if err := googleapi.CheckResponse(res); err != nil {
 19929  		return nil, err
 19930  	}
 19931  	ret := &Advertiser{
 19932  		ServerResponse: googleapi.ServerResponse{
 19933  			Header:         res.Header,
 19934  			HTTPStatusCode: res.StatusCode,
 19935  		},
 19936  	}
 19937  	target := &ret
 19938  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19939  		return nil, err
 19940  	}
 19941  	return ret, nil
 19942  	// {
 19943  	//   "description": "Inserts a new advertiser.",
 19944  	//   "httpMethod": "POST",
 19945  	//   "id": "dfareporting.advertisers.insert",
 19946  	//   "parameterOrder": [
 19947  	//     "profileId"
 19948  	//   ],
 19949  	//   "parameters": {
 19950  	//     "profileId": {
 19951  	//       "description": "User profile ID associated with this request.",
 19952  	//       "format": "int64",
 19953  	//       "location": "path",
 19954  	//       "required": true,
 19955  	//       "type": "string"
 19956  	//     }
 19957  	//   },
 19958  	//   "path": "userprofiles/{profileId}/advertisers",
 19959  	//   "request": {
 19960  	//     "$ref": "Advertiser"
 19961  	//   },
 19962  	//   "response": {
 19963  	//     "$ref": "Advertiser"
 19964  	//   },
 19965  	//   "scopes": [
 19966  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19967  	//   ]
 19968  	// }
 19969  
 19970  }
 19971  
 19972  // method id "dfareporting.advertisers.list":
 19973  
 19974  type AdvertisersListCall struct {
 19975  	s            *Service
 19976  	profileId    int64
 19977  	urlParams_   gensupport.URLParams
 19978  	ifNoneMatch_ string
 19979  	ctx_         context.Context
 19980  	header_      http.Header
 19981  }
 19982  
 19983  // List: Retrieves a list of advertisers, possibly filtered. This method
 19984  // supports paging.
 19985  func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
 19986  	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19987  	c.profileId = profileId
 19988  	return c
 19989  }
 19990  
 19991  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 19992  // Select only advertisers with these advertiser group IDs.
 19993  func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
 19994  	var advertiserGroupIds_ []string
 19995  	for _, v := range advertiserGroupIds {
 19996  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 19997  	}
 19998  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 19999  	return c
 20000  }
 20001  
 20002  // FloodlightConfigurationIds sets the optional parameter
 20003  // "floodlightConfigurationIds": Select only advertisers with these
 20004  // floodlight configuration IDs.
 20005  func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
 20006  	var floodlightConfigurationIds_ []string
 20007  	for _, v := range floodlightConfigurationIds {
 20008  		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
 20009  	}
 20010  	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
 20011  	return c
 20012  }
 20013  
 20014  // Ids sets the optional parameter "ids": Select only advertisers with
 20015  // these IDs.
 20016  func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
 20017  	var ids_ []string
 20018  	for _, v := range ids {
 20019  		ids_ = append(ids_, fmt.Sprint(v))
 20020  	}
 20021  	c.urlParams_.SetMulti("ids", ids_)
 20022  	return c
 20023  }
 20024  
 20025  // IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
 20026  // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 20027  // do not belong to any advertiser group.
 20028  func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
 20029  	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
 20030  	return c
 20031  }
 20032  
 20033  // MaxResults sets the optional parameter "maxResults": Maximum number
 20034  // of results to return.
 20035  func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
 20036  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20037  	return c
 20038  }
 20039  
 20040  // OnlyParent sets the optional parameter "onlyParent": Select only
 20041  // advertisers which use another advertiser's floodlight configuration.
 20042  func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
 20043  	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
 20044  	return c
 20045  }
 20046  
 20047  // PageToken sets the optional parameter "pageToken": Value of the
 20048  // nextPageToken from the previous result page.
 20049  func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
 20050  	c.urlParams_.Set("pageToken", pageToken)
 20051  	return c
 20052  }
 20053  
 20054  // SearchString sets the optional parameter "searchString": Allows
 20055  // searching for objects by name or ID. Wildcards (*) are allowed. For
 20056  // example, "advertiser*2015" will return objects with names like
 20057  // "advertiser June 2015", "advertiser April 2015", or simply
 20058  // "advertiser 2015". Most of the searches also add wildcards implicitly
 20059  // at the start and the end of the search string. For example, a search
 20060  // string of "advertiser" will match objects with name "my advertiser",
 20061  // "advertiser 2015", or simply "advertiser".
 20062  func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
 20063  	c.urlParams_.Set("searchString", searchString)
 20064  	return c
 20065  }
 20066  
 20067  // SortField sets the optional parameter "sortField": Field by which to
 20068  // sort the list.
 20069  //
 20070  // Possible values:
 20071  //
 20072  //	"ID" (default)
 20073  //	"NAME"
 20074  func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
 20075  	c.urlParams_.Set("sortField", sortField)
 20076  	return c
 20077  }
 20078  
 20079  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 20080  // results.
 20081  //
 20082  // Possible values:
 20083  //
 20084  //	"ASCENDING" (default)
 20085  //	"DESCENDING"
 20086  func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
 20087  	c.urlParams_.Set("sortOrder", sortOrder)
 20088  	return c
 20089  }
 20090  
 20091  // Status sets the optional parameter "status": Select only advertisers
 20092  // with the specified status.
 20093  //
 20094  // Possible values:
 20095  //
 20096  //	"APPROVED"
 20097  //	"ON_HOLD"
 20098  func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
 20099  	c.urlParams_.Set("status", status)
 20100  	return c
 20101  }
 20102  
 20103  // SubaccountId sets the optional parameter "subaccountId": Select only
 20104  // advertisers with these subaccount IDs.
 20105  func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
 20106  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 20107  	return c
 20108  }
 20109  
 20110  // Fields allows partial responses to be retrieved. See
 20111  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20112  // for more information.
 20113  func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
 20114  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20115  	return c
 20116  }
 20117  
 20118  // IfNoneMatch sets the optional parameter which makes the operation
 20119  // fail if the object's ETag matches the given value. This is useful for
 20120  // getting updates only after the object has changed since the last
 20121  // request. Use googleapi.IsNotModified to check whether the response
 20122  // error from Do is the result of In-None-Match.
 20123  func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
 20124  	c.ifNoneMatch_ = entityTag
 20125  	return c
 20126  }
 20127  
 20128  // Context sets the context to be used in this call's Do method. Any
 20129  // pending HTTP request will be aborted if the provided context is
 20130  // canceled.
 20131  func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 20132  	c.ctx_ = ctx
 20133  	return c
 20134  }
 20135  
 20136  // Header returns an http.Header that can be modified by the caller to
 20137  // add HTTP headers to the request.
 20138  func (c *AdvertisersListCall) Header() http.Header {
 20139  	if c.header_ == nil {
 20140  		c.header_ = make(http.Header)
 20141  	}
 20142  	return c.header_
 20143  }
 20144  
 20145  func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 20146  	reqHeaders := make(http.Header)
 20147  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20148  	for k, v := range c.header_ {
 20149  		reqHeaders[k] = v
 20150  	}
 20151  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20152  	if c.ifNoneMatch_ != "" {
 20153  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20154  	}
 20155  	var body io.Reader = nil
 20156  	c.urlParams_.Set("alt", alt)
 20157  	c.urlParams_.Set("prettyPrint", "false")
 20158  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20159  	urls += "?" + c.urlParams_.Encode()
 20160  	req, err := http.NewRequest("GET", urls, body)
 20161  	if err != nil {
 20162  		return nil, err
 20163  	}
 20164  	req.Header = reqHeaders
 20165  	googleapi.Expand(req.URL, map[string]string{
 20166  		"profileId": strconv.FormatInt(c.profileId, 10),
 20167  	})
 20168  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20169  }
 20170  
 20171  // Do executes the "dfareporting.advertisers.list" call.
 20172  // Exactly one of *AdvertisersListResponse or error will be non-nil. Any
 20173  // non-2xx status code is an error. Response headers are in either
 20174  // *AdvertisersListResponse.ServerResponse.Header or (if a response was
 20175  // returned at all) in error.(*googleapi.Error).Header. Use
 20176  // googleapi.IsNotModified to check whether the returned error was
 20177  // because http.StatusNotModified was returned.
 20178  func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
 20179  	gensupport.SetOptions(c.urlParams_, opts...)
 20180  	res, err := c.doRequest("json")
 20181  	if res != nil && res.StatusCode == http.StatusNotModified {
 20182  		if res.Body != nil {
 20183  			res.Body.Close()
 20184  		}
 20185  		return nil, &googleapi.Error{
 20186  			Code:   res.StatusCode,
 20187  			Header: res.Header,
 20188  		}
 20189  	}
 20190  	if err != nil {
 20191  		return nil, err
 20192  	}
 20193  	defer googleapi.CloseBody(res)
 20194  	if err := googleapi.CheckResponse(res); err != nil {
 20195  		return nil, err
 20196  	}
 20197  	ret := &AdvertisersListResponse{
 20198  		ServerResponse: googleapi.ServerResponse{
 20199  			Header:         res.Header,
 20200  			HTTPStatusCode: res.StatusCode,
 20201  		},
 20202  	}
 20203  	target := &ret
 20204  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20205  		return nil, err
 20206  	}
 20207  	return ret, nil
 20208  	// {
 20209  	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
 20210  	//   "httpMethod": "GET",
 20211  	//   "id": "dfareporting.advertisers.list",
 20212  	//   "parameterOrder": [
 20213  	//     "profileId"
 20214  	//   ],
 20215  	//   "parameters": {
 20216  	//     "advertiserGroupIds": {
 20217  	//       "description": "Select only advertisers with these advertiser group IDs.",
 20218  	//       "format": "int64",
 20219  	//       "location": "query",
 20220  	//       "repeated": true,
 20221  	//       "type": "string"
 20222  	//     },
 20223  	//     "floodlightConfigurationIds": {
 20224  	//       "description": "Select only advertisers with these floodlight configuration IDs.",
 20225  	//       "format": "int64",
 20226  	//       "location": "query",
 20227  	//       "repeated": true,
 20228  	//       "type": "string"
 20229  	//     },
 20230  	//     "ids": {
 20231  	//       "description": "Select only advertisers with these IDs.",
 20232  	//       "format": "int64",
 20233  	//       "location": "query",
 20234  	//       "repeated": true,
 20235  	//       "type": "string"
 20236  	//     },
 20237  	//     "includeAdvertisersWithoutGroupsOnly": {
 20238  	//       "description": "Select only advertisers which do not belong to any advertiser group.",
 20239  	//       "location": "query",
 20240  	//       "type": "boolean"
 20241  	//     },
 20242  	//     "maxResults": {
 20243  	//       "default": "1000",
 20244  	//       "description": "Maximum number of results to return.",
 20245  	//       "format": "int32",
 20246  	//       "location": "query",
 20247  	//       "maximum": "1000",
 20248  	//       "minimum": "0",
 20249  	//       "type": "integer"
 20250  	//     },
 20251  	//     "onlyParent": {
 20252  	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
 20253  	//       "location": "query",
 20254  	//       "type": "boolean"
 20255  	//     },
 20256  	//     "pageToken": {
 20257  	//       "description": "Value of the nextPageToken from the previous result page.",
 20258  	//       "location": "query",
 20259  	//       "type": "string"
 20260  	//     },
 20261  	//     "profileId": {
 20262  	//       "description": "User profile ID associated with this request.",
 20263  	//       "format": "int64",
 20264  	//       "location": "path",
 20265  	//       "required": true,
 20266  	//       "type": "string"
 20267  	//     },
 20268  	//     "searchString": {
 20269  	//       "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\".",
 20270  	//       "location": "query",
 20271  	//       "type": "string"
 20272  	//     },
 20273  	//     "sortField": {
 20274  	//       "default": "ID",
 20275  	//       "description": "Field by which to sort the list.",
 20276  	//       "enum": [
 20277  	//         "ID",
 20278  	//         "NAME"
 20279  	//       ],
 20280  	//       "enumDescriptions": [
 20281  	//         "",
 20282  	//         ""
 20283  	//       ],
 20284  	//       "location": "query",
 20285  	//       "type": "string"
 20286  	//     },
 20287  	//     "sortOrder": {
 20288  	//       "default": "ASCENDING",
 20289  	//       "description": "Order of sorted results.",
 20290  	//       "enum": [
 20291  	//         "ASCENDING",
 20292  	//         "DESCENDING"
 20293  	//       ],
 20294  	//       "enumDescriptions": [
 20295  	//         "",
 20296  	//         ""
 20297  	//       ],
 20298  	//       "location": "query",
 20299  	//       "type": "string"
 20300  	//     },
 20301  	//     "status": {
 20302  	//       "description": "Select only advertisers with the specified status.",
 20303  	//       "enum": [
 20304  	//         "APPROVED",
 20305  	//         "ON_HOLD"
 20306  	//       ],
 20307  	//       "enumDescriptions": [
 20308  	//         "",
 20309  	//         ""
 20310  	//       ],
 20311  	//       "location": "query",
 20312  	//       "type": "string"
 20313  	//     },
 20314  	//     "subaccountId": {
 20315  	//       "description": "Select only advertisers with these subaccount IDs.",
 20316  	//       "format": "int64",
 20317  	//       "location": "query",
 20318  	//       "type": "string"
 20319  	//     }
 20320  	//   },
 20321  	//   "path": "userprofiles/{profileId}/advertisers",
 20322  	//   "response": {
 20323  	//     "$ref": "AdvertisersListResponse"
 20324  	//   },
 20325  	//   "scopes": [
 20326  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20327  	//   ]
 20328  	// }
 20329  
 20330  }
 20331  
 20332  // Pages invokes f for each page of results.
 20333  // A non-nil error returned from f will halt the iteration.
 20334  // The provided context supersedes any context provided to the Context method.
 20335  func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
 20336  	c.ctx_ = ctx
 20337  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 20338  	for {
 20339  		x, err := c.Do()
 20340  		if err != nil {
 20341  			return err
 20342  		}
 20343  		if err := f(x); err != nil {
 20344  			return err
 20345  		}
 20346  		if x.NextPageToken == "" {
 20347  			return nil
 20348  		}
 20349  		c.PageToken(x.NextPageToken)
 20350  	}
 20351  }
 20352  
 20353  // method id "dfareporting.advertisers.patch":
 20354  
 20355  type AdvertisersPatchCall struct {
 20356  	s          *Service
 20357  	profileId  int64
 20358  	advertiser *Advertiser
 20359  	urlParams_ gensupport.URLParams
 20360  	ctx_       context.Context
 20361  	header_    http.Header
 20362  }
 20363  
 20364  // Patch: Updates an existing advertiser. This method supports patch
 20365  // semantics.
 20366  func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
 20367  	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20368  	c.profileId = profileId
 20369  	c.urlParams_.Set("id", fmt.Sprint(id))
 20370  	c.advertiser = advertiser
 20371  	return c
 20372  }
 20373  
 20374  // Fields allows partial responses to be retrieved. See
 20375  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20376  // for more information.
 20377  func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
 20378  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20379  	return c
 20380  }
 20381  
 20382  // Context sets the context to be used in this call's Do method. Any
 20383  // pending HTTP request will be aborted if the provided context is
 20384  // canceled.
 20385  func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 20386  	c.ctx_ = ctx
 20387  	return c
 20388  }
 20389  
 20390  // Header returns an http.Header that can be modified by the caller to
 20391  // add HTTP headers to the request.
 20392  func (c *AdvertisersPatchCall) Header() http.Header {
 20393  	if c.header_ == nil {
 20394  		c.header_ = make(http.Header)
 20395  	}
 20396  	return c.header_
 20397  }
 20398  
 20399  func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 20400  	reqHeaders := make(http.Header)
 20401  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20402  	for k, v := range c.header_ {
 20403  		reqHeaders[k] = v
 20404  	}
 20405  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20406  	var body io.Reader = nil
 20407  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20408  	if err != nil {
 20409  		return nil, err
 20410  	}
 20411  	reqHeaders.Set("Content-Type", "application/json")
 20412  	c.urlParams_.Set("alt", alt)
 20413  	c.urlParams_.Set("prettyPrint", "false")
 20414  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20415  	urls += "?" + c.urlParams_.Encode()
 20416  	req, err := http.NewRequest("PATCH", urls, body)
 20417  	if err != nil {
 20418  		return nil, err
 20419  	}
 20420  	req.Header = reqHeaders
 20421  	googleapi.Expand(req.URL, map[string]string{
 20422  		"profileId": strconv.FormatInt(c.profileId, 10),
 20423  	})
 20424  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20425  }
 20426  
 20427  // Do executes the "dfareporting.advertisers.patch" call.
 20428  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20429  // status code is an error. Response headers are in either
 20430  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20431  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20432  // to check whether the returned error was because
 20433  // http.StatusNotModified was returned.
 20434  func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20435  	gensupport.SetOptions(c.urlParams_, opts...)
 20436  	res, err := c.doRequest("json")
 20437  	if res != nil && res.StatusCode == http.StatusNotModified {
 20438  		if res.Body != nil {
 20439  			res.Body.Close()
 20440  		}
 20441  		return nil, &googleapi.Error{
 20442  			Code:   res.StatusCode,
 20443  			Header: res.Header,
 20444  		}
 20445  	}
 20446  	if err != nil {
 20447  		return nil, err
 20448  	}
 20449  	defer googleapi.CloseBody(res)
 20450  	if err := googleapi.CheckResponse(res); err != nil {
 20451  		return nil, err
 20452  	}
 20453  	ret := &Advertiser{
 20454  		ServerResponse: googleapi.ServerResponse{
 20455  			Header:         res.Header,
 20456  			HTTPStatusCode: res.StatusCode,
 20457  		},
 20458  	}
 20459  	target := &ret
 20460  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20461  		return nil, err
 20462  	}
 20463  	return ret, nil
 20464  	// {
 20465  	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
 20466  	//   "httpMethod": "PATCH",
 20467  	//   "id": "dfareporting.advertisers.patch",
 20468  	//   "parameterOrder": [
 20469  	//     "profileId",
 20470  	//     "id"
 20471  	//   ],
 20472  	//   "parameters": {
 20473  	//     "id": {
 20474  	//       "description": "Advertiser ID.",
 20475  	//       "format": "int64",
 20476  	//       "location": "query",
 20477  	//       "required": true,
 20478  	//       "type": "string"
 20479  	//     },
 20480  	//     "profileId": {
 20481  	//       "description": "User profile ID associated with this request.",
 20482  	//       "format": "int64",
 20483  	//       "location": "path",
 20484  	//       "required": true,
 20485  	//       "type": "string"
 20486  	//     }
 20487  	//   },
 20488  	//   "path": "userprofiles/{profileId}/advertisers",
 20489  	//   "request": {
 20490  	//     "$ref": "Advertiser"
 20491  	//   },
 20492  	//   "response": {
 20493  	//     "$ref": "Advertiser"
 20494  	//   },
 20495  	//   "scopes": [
 20496  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20497  	//   ]
 20498  	// }
 20499  
 20500  }
 20501  
 20502  // method id "dfareporting.advertisers.update":
 20503  
 20504  type AdvertisersUpdateCall struct {
 20505  	s          *Service
 20506  	profileId  int64
 20507  	advertiser *Advertiser
 20508  	urlParams_ gensupport.URLParams
 20509  	ctx_       context.Context
 20510  	header_    http.Header
 20511  }
 20512  
 20513  // Update: Updates an existing advertiser.
 20514  func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
 20515  	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20516  	c.profileId = profileId
 20517  	c.advertiser = advertiser
 20518  	return c
 20519  }
 20520  
 20521  // Fields allows partial responses to be retrieved. See
 20522  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20523  // for more information.
 20524  func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
 20525  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20526  	return c
 20527  }
 20528  
 20529  // Context sets the context to be used in this call's Do method. Any
 20530  // pending HTTP request will be aborted if the provided context is
 20531  // canceled.
 20532  func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 20533  	c.ctx_ = ctx
 20534  	return c
 20535  }
 20536  
 20537  // Header returns an http.Header that can be modified by the caller to
 20538  // add HTTP headers to the request.
 20539  func (c *AdvertisersUpdateCall) Header() http.Header {
 20540  	if c.header_ == nil {
 20541  		c.header_ = make(http.Header)
 20542  	}
 20543  	return c.header_
 20544  }
 20545  
 20546  func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
 20547  	reqHeaders := make(http.Header)
 20548  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20549  	for k, v := range c.header_ {
 20550  		reqHeaders[k] = v
 20551  	}
 20552  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20553  	var body io.Reader = nil
 20554  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20555  	if err != nil {
 20556  		return nil, err
 20557  	}
 20558  	reqHeaders.Set("Content-Type", "application/json")
 20559  	c.urlParams_.Set("alt", alt)
 20560  	c.urlParams_.Set("prettyPrint", "false")
 20561  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20562  	urls += "?" + c.urlParams_.Encode()
 20563  	req, err := http.NewRequest("PUT", urls, body)
 20564  	if err != nil {
 20565  		return nil, err
 20566  	}
 20567  	req.Header = reqHeaders
 20568  	googleapi.Expand(req.URL, map[string]string{
 20569  		"profileId": strconv.FormatInt(c.profileId, 10),
 20570  	})
 20571  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20572  }
 20573  
 20574  // Do executes the "dfareporting.advertisers.update" call.
 20575  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20576  // status code is an error. Response headers are in either
 20577  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20578  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20579  // to check whether the returned error was because
 20580  // http.StatusNotModified was returned.
 20581  func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20582  	gensupport.SetOptions(c.urlParams_, opts...)
 20583  	res, err := c.doRequest("json")
 20584  	if res != nil && res.StatusCode == http.StatusNotModified {
 20585  		if res.Body != nil {
 20586  			res.Body.Close()
 20587  		}
 20588  		return nil, &googleapi.Error{
 20589  			Code:   res.StatusCode,
 20590  			Header: res.Header,
 20591  		}
 20592  	}
 20593  	if err != nil {
 20594  		return nil, err
 20595  	}
 20596  	defer googleapi.CloseBody(res)
 20597  	if err := googleapi.CheckResponse(res); err != nil {
 20598  		return nil, err
 20599  	}
 20600  	ret := &Advertiser{
 20601  		ServerResponse: googleapi.ServerResponse{
 20602  			Header:         res.Header,
 20603  			HTTPStatusCode: res.StatusCode,
 20604  		},
 20605  	}
 20606  	target := &ret
 20607  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20608  		return nil, err
 20609  	}
 20610  	return ret, nil
 20611  	// {
 20612  	//   "description": "Updates an existing advertiser.",
 20613  	//   "httpMethod": "PUT",
 20614  	//   "id": "dfareporting.advertisers.update",
 20615  	//   "parameterOrder": [
 20616  	//     "profileId"
 20617  	//   ],
 20618  	//   "parameters": {
 20619  	//     "profileId": {
 20620  	//       "description": "User profile ID associated with this request.",
 20621  	//       "format": "int64",
 20622  	//       "location": "path",
 20623  	//       "required": true,
 20624  	//       "type": "string"
 20625  	//     }
 20626  	//   },
 20627  	//   "path": "userprofiles/{profileId}/advertisers",
 20628  	//   "request": {
 20629  	//     "$ref": "Advertiser"
 20630  	//   },
 20631  	//   "response": {
 20632  	//     "$ref": "Advertiser"
 20633  	//   },
 20634  	//   "scopes": [
 20635  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20636  	//   ]
 20637  	// }
 20638  
 20639  }
 20640  
 20641  // method id "dfareporting.browsers.list":
 20642  
 20643  type BrowsersListCall struct {
 20644  	s            *Service
 20645  	profileId    int64
 20646  	urlParams_   gensupport.URLParams
 20647  	ifNoneMatch_ string
 20648  	ctx_         context.Context
 20649  	header_      http.Header
 20650  }
 20651  
 20652  // List: Retrieves a list of browsers.
 20653  func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
 20654  	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20655  	c.profileId = profileId
 20656  	return c
 20657  }
 20658  
 20659  // Fields allows partial responses to be retrieved. See
 20660  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20661  // for more information.
 20662  func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
 20663  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20664  	return c
 20665  }
 20666  
 20667  // IfNoneMatch sets the optional parameter which makes the operation
 20668  // fail if the object's ETag matches the given value. This is useful for
 20669  // getting updates only after the object has changed since the last
 20670  // request. Use googleapi.IsNotModified to check whether the response
 20671  // error from Do is the result of In-None-Match.
 20672  func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
 20673  	c.ifNoneMatch_ = entityTag
 20674  	return c
 20675  }
 20676  
 20677  // Context sets the context to be used in this call's Do method. Any
 20678  // pending HTTP request will be aborted if the provided context is
 20679  // canceled.
 20680  func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 20681  	c.ctx_ = ctx
 20682  	return c
 20683  }
 20684  
 20685  // Header returns an http.Header that can be modified by the caller to
 20686  // add HTTP headers to the request.
 20687  func (c *BrowsersListCall) Header() http.Header {
 20688  	if c.header_ == nil {
 20689  		c.header_ = make(http.Header)
 20690  	}
 20691  	return c.header_
 20692  }
 20693  
 20694  func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 20695  	reqHeaders := make(http.Header)
 20696  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20697  	for k, v := range c.header_ {
 20698  		reqHeaders[k] = v
 20699  	}
 20700  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20701  	if c.ifNoneMatch_ != "" {
 20702  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20703  	}
 20704  	var body io.Reader = nil
 20705  	c.urlParams_.Set("alt", alt)
 20706  	c.urlParams_.Set("prettyPrint", "false")
 20707  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
 20708  	urls += "?" + c.urlParams_.Encode()
 20709  	req, err := http.NewRequest("GET", urls, body)
 20710  	if err != nil {
 20711  		return nil, err
 20712  	}
 20713  	req.Header = reqHeaders
 20714  	googleapi.Expand(req.URL, map[string]string{
 20715  		"profileId": strconv.FormatInt(c.profileId, 10),
 20716  	})
 20717  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20718  }
 20719  
 20720  // Do executes the "dfareporting.browsers.list" call.
 20721  // Exactly one of *BrowsersListResponse or error will be non-nil. Any
 20722  // non-2xx status code is an error. Response headers are in either
 20723  // *BrowsersListResponse.ServerResponse.Header or (if a response was
 20724  // returned at all) in error.(*googleapi.Error).Header. Use
 20725  // googleapi.IsNotModified to check whether the returned error was
 20726  // because http.StatusNotModified was returned.
 20727  func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
 20728  	gensupport.SetOptions(c.urlParams_, opts...)
 20729  	res, err := c.doRequest("json")
 20730  	if res != nil && res.StatusCode == http.StatusNotModified {
 20731  		if res.Body != nil {
 20732  			res.Body.Close()
 20733  		}
 20734  		return nil, &googleapi.Error{
 20735  			Code:   res.StatusCode,
 20736  			Header: res.Header,
 20737  		}
 20738  	}
 20739  	if err != nil {
 20740  		return nil, err
 20741  	}
 20742  	defer googleapi.CloseBody(res)
 20743  	if err := googleapi.CheckResponse(res); err != nil {
 20744  		return nil, err
 20745  	}
 20746  	ret := &BrowsersListResponse{
 20747  		ServerResponse: googleapi.ServerResponse{
 20748  			Header:         res.Header,
 20749  			HTTPStatusCode: res.StatusCode,
 20750  		},
 20751  	}
 20752  	target := &ret
 20753  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20754  		return nil, err
 20755  	}
 20756  	return ret, nil
 20757  	// {
 20758  	//   "description": "Retrieves a list of browsers.",
 20759  	//   "httpMethod": "GET",
 20760  	//   "id": "dfareporting.browsers.list",
 20761  	//   "parameterOrder": [
 20762  	//     "profileId"
 20763  	//   ],
 20764  	//   "parameters": {
 20765  	//     "profileId": {
 20766  	//       "description": "User profile ID associated with this request.",
 20767  	//       "format": "int64",
 20768  	//       "location": "path",
 20769  	//       "required": true,
 20770  	//       "type": "string"
 20771  	//     }
 20772  	//   },
 20773  	//   "path": "userprofiles/{profileId}/browsers",
 20774  	//   "response": {
 20775  	//     "$ref": "BrowsersListResponse"
 20776  	//   },
 20777  	//   "scopes": [
 20778  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20779  	//   ]
 20780  	// }
 20781  
 20782  }
 20783  
 20784  // method id "dfareporting.campaignCreativeAssociations.insert":
 20785  
 20786  type CampaignCreativeAssociationsInsertCall struct {
 20787  	s                           *Service
 20788  	profileId                   int64
 20789  	campaignId                  int64
 20790  	campaigncreativeassociation *CampaignCreativeAssociation
 20791  	urlParams_                  gensupport.URLParams
 20792  	ctx_                        context.Context
 20793  	header_                     http.Header
 20794  }
 20795  
 20796  // Insert: Associates a creative with the specified campaign. This
 20797  // method creates a default ad with dimensions matching the creative in
 20798  // the campaign if such a default ad does not exist already.
 20799  func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
 20800  	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20801  	c.profileId = profileId
 20802  	c.campaignId = campaignId
 20803  	c.campaigncreativeassociation = campaigncreativeassociation
 20804  	return c
 20805  }
 20806  
 20807  // Fields allows partial responses to be retrieved. See
 20808  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20809  // for more information.
 20810  func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
 20811  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20812  	return c
 20813  }
 20814  
 20815  // Context sets the context to be used in this call's Do method. Any
 20816  // pending HTTP request will be aborted if the provided context is
 20817  // canceled.
 20818  func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 20819  	c.ctx_ = ctx
 20820  	return c
 20821  }
 20822  
 20823  // Header returns an http.Header that can be modified by the caller to
 20824  // add HTTP headers to the request.
 20825  func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
 20826  	if c.header_ == nil {
 20827  		c.header_ = make(http.Header)
 20828  	}
 20829  	return c.header_
 20830  }
 20831  
 20832  func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
 20833  	reqHeaders := make(http.Header)
 20834  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 20835  	for k, v := range c.header_ {
 20836  		reqHeaders[k] = v
 20837  	}
 20838  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20839  	var body io.Reader = nil
 20840  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
 20841  	if err != nil {
 20842  		return nil, err
 20843  	}
 20844  	reqHeaders.Set("Content-Type", "application/json")
 20845  	c.urlParams_.Set("alt", alt)
 20846  	c.urlParams_.Set("prettyPrint", "false")
 20847  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 20848  	urls += "?" + c.urlParams_.Encode()
 20849  	req, err := http.NewRequest("POST", urls, body)
 20850  	if err != nil {
 20851  		return nil, err
 20852  	}
 20853  	req.Header = reqHeaders
 20854  	googleapi.Expand(req.URL, map[string]string{
 20855  		"profileId":  strconv.FormatInt(c.profileId, 10),
 20856  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 20857  	})
 20858  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20859  }
 20860  
 20861  // Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
 20862  // Exactly one of *CampaignCreativeAssociation or error will be non-nil.
 20863  // Any non-2xx status code is an error. Response headers are in either
 20864  // *CampaignCreativeAssociation.ServerResponse.Header or (if a response
 20865  // was returned at all) in error.(*googleapi.Error).Header. Use
 20866  // googleapi.IsNotModified to check whether the returned error was
 20867  // because http.StatusNotModified was returned.
 20868  func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
 20869  	gensupport.SetOptions(c.urlParams_, opts...)
 20870  	res, err := c.doRequest("json")
 20871  	if res != nil && res.StatusCode == http.StatusNotModified {
 20872  		if res.Body != nil {
 20873  			res.Body.Close()
 20874  		}
 20875  		return nil, &googleapi.Error{
 20876  			Code:   res.StatusCode,
 20877  			Header: res.Header,
 20878  		}
 20879  	}
 20880  	if err != nil {
 20881  		return nil, err
 20882  	}
 20883  	defer googleapi.CloseBody(res)
 20884  	if err := googleapi.CheckResponse(res); err != nil {
 20885  		return nil, err
 20886  	}
 20887  	ret := &CampaignCreativeAssociation{
 20888  		ServerResponse: googleapi.ServerResponse{
 20889  			Header:         res.Header,
 20890  			HTTPStatusCode: res.StatusCode,
 20891  		},
 20892  	}
 20893  	target := &ret
 20894  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20895  		return nil, err
 20896  	}
 20897  	return ret, nil
 20898  	// {
 20899  	//   "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.",
 20900  	//   "httpMethod": "POST",
 20901  	//   "id": "dfareporting.campaignCreativeAssociations.insert",
 20902  	//   "parameterOrder": [
 20903  	//     "profileId",
 20904  	//     "campaignId"
 20905  	//   ],
 20906  	//   "parameters": {
 20907  	//     "campaignId": {
 20908  	//       "description": "Campaign ID in this association.",
 20909  	//       "format": "int64",
 20910  	//       "location": "path",
 20911  	//       "required": true,
 20912  	//       "type": "string"
 20913  	//     },
 20914  	//     "profileId": {
 20915  	//       "description": "User profile ID associated with this request.",
 20916  	//       "format": "int64",
 20917  	//       "location": "path",
 20918  	//       "required": true,
 20919  	//       "type": "string"
 20920  	//     }
 20921  	//   },
 20922  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 20923  	//   "request": {
 20924  	//     "$ref": "CampaignCreativeAssociation"
 20925  	//   },
 20926  	//   "response": {
 20927  	//     "$ref": "CampaignCreativeAssociation"
 20928  	//   },
 20929  	//   "scopes": [
 20930  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20931  	//   ]
 20932  	// }
 20933  
 20934  }
 20935  
 20936  // method id "dfareporting.campaignCreativeAssociations.list":
 20937  
 20938  type CampaignCreativeAssociationsListCall struct {
 20939  	s            *Service
 20940  	profileId    int64
 20941  	campaignId   int64
 20942  	urlParams_   gensupport.URLParams
 20943  	ifNoneMatch_ string
 20944  	ctx_         context.Context
 20945  	header_      http.Header
 20946  }
 20947  
 20948  // List: Retrieves the list of creative IDs associated with the
 20949  // specified campaign. This method supports paging.
 20950  func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
 20951  	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20952  	c.profileId = profileId
 20953  	c.campaignId = campaignId
 20954  	return c
 20955  }
 20956  
 20957  // MaxResults sets the optional parameter "maxResults": Maximum number
 20958  // of results to return.
 20959  func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
 20960  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20961  	return c
 20962  }
 20963  
 20964  // PageToken sets the optional parameter "pageToken": Value of the
 20965  // nextPageToken from the previous result page.
 20966  func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
 20967  	c.urlParams_.Set("pageToken", pageToken)
 20968  	return c
 20969  }
 20970  
 20971  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 20972  // results.
 20973  //
 20974  // Possible values:
 20975  //
 20976  //	"ASCENDING" (default)
 20977  //	"DESCENDING"
 20978  func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
 20979  	c.urlParams_.Set("sortOrder", sortOrder)
 20980  	return c
 20981  }
 20982  
 20983  // Fields allows partial responses to be retrieved. See
 20984  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20985  // for more information.
 20986  func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
 20987  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20988  	return c
 20989  }
 20990  
 20991  // IfNoneMatch sets the optional parameter which makes the operation
 20992  // fail if the object's ETag matches the given value. This is useful for
 20993  // getting updates only after the object has changed since the last
 20994  // request. Use googleapi.IsNotModified to check whether the response
 20995  // error from Do is the result of In-None-Match.
 20996  func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
 20997  	c.ifNoneMatch_ = entityTag
 20998  	return c
 20999  }
 21000  
 21001  // Context sets the context to be used in this call's Do method. Any
 21002  // pending HTTP request will be aborted if the provided context is
 21003  // canceled.
 21004  func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 21005  	c.ctx_ = ctx
 21006  	return c
 21007  }
 21008  
 21009  // Header returns an http.Header that can be modified by the caller to
 21010  // add HTTP headers to the request.
 21011  func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
 21012  	if c.header_ == nil {
 21013  		c.header_ = make(http.Header)
 21014  	}
 21015  	return c.header_
 21016  }
 21017  
 21018  func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 21019  	reqHeaders := make(http.Header)
 21020  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21021  	for k, v := range c.header_ {
 21022  		reqHeaders[k] = v
 21023  	}
 21024  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21025  	if c.ifNoneMatch_ != "" {
 21026  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21027  	}
 21028  	var body io.Reader = nil
 21029  	c.urlParams_.Set("alt", alt)
 21030  	c.urlParams_.Set("prettyPrint", "false")
 21031  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 21032  	urls += "?" + c.urlParams_.Encode()
 21033  	req, err := http.NewRequest("GET", urls, body)
 21034  	if err != nil {
 21035  		return nil, err
 21036  	}
 21037  	req.Header = reqHeaders
 21038  	googleapi.Expand(req.URL, map[string]string{
 21039  		"profileId":  strconv.FormatInt(c.profileId, 10),
 21040  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 21041  	})
 21042  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21043  }
 21044  
 21045  // Do executes the "dfareporting.campaignCreativeAssociations.list" call.
 21046  // Exactly one of *CampaignCreativeAssociationsListResponse or error
 21047  // will be non-nil. Any non-2xx status code is an error. Response
 21048  // headers are in either
 21049  // *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
 21050  // (if a response was returned at all) in
 21051  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 21052  // whether the returned error was because http.StatusNotModified was
 21053  // returned.
 21054  func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
 21055  	gensupport.SetOptions(c.urlParams_, opts...)
 21056  	res, err := c.doRequest("json")
 21057  	if res != nil && res.StatusCode == http.StatusNotModified {
 21058  		if res.Body != nil {
 21059  			res.Body.Close()
 21060  		}
 21061  		return nil, &googleapi.Error{
 21062  			Code:   res.StatusCode,
 21063  			Header: res.Header,
 21064  		}
 21065  	}
 21066  	if err != nil {
 21067  		return nil, err
 21068  	}
 21069  	defer googleapi.CloseBody(res)
 21070  	if err := googleapi.CheckResponse(res); err != nil {
 21071  		return nil, err
 21072  	}
 21073  	ret := &CampaignCreativeAssociationsListResponse{
 21074  		ServerResponse: googleapi.ServerResponse{
 21075  			Header:         res.Header,
 21076  			HTTPStatusCode: res.StatusCode,
 21077  		},
 21078  	}
 21079  	target := &ret
 21080  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21081  		return nil, err
 21082  	}
 21083  	return ret, nil
 21084  	// {
 21085  	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
 21086  	//   "httpMethod": "GET",
 21087  	//   "id": "dfareporting.campaignCreativeAssociations.list",
 21088  	//   "parameterOrder": [
 21089  	//     "profileId",
 21090  	//     "campaignId"
 21091  	//   ],
 21092  	//   "parameters": {
 21093  	//     "campaignId": {
 21094  	//       "description": "Campaign ID in this association.",
 21095  	//       "format": "int64",
 21096  	//       "location": "path",
 21097  	//       "required": true,
 21098  	//       "type": "string"
 21099  	//     },
 21100  	//     "maxResults": {
 21101  	//       "default": "1000",
 21102  	//       "description": "Maximum number of results to return.",
 21103  	//       "format": "int32",
 21104  	//       "location": "query",
 21105  	//       "maximum": "1000",
 21106  	//       "minimum": "0",
 21107  	//       "type": "integer"
 21108  	//     },
 21109  	//     "pageToken": {
 21110  	//       "description": "Value of the nextPageToken from the previous result page.",
 21111  	//       "location": "query",
 21112  	//       "type": "string"
 21113  	//     },
 21114  	//     "profileId": {
 21115  	//       "description": "User profile ID associated with this request.",
 21116  	//       "format": "int64",
 21117  	//       "location": "path",
 21118  	//       "required": true,
 21119  	//       "type": "string"
 21120  	//     },
 21121  	//     "sortOrder": {
 21122  	//       "default": "ASCENDING",
 21123  	//       "description": "Order of sorted results.",
 21124  	//       "enum": [
 21125  	//         "ASCENDING",
 21126  	//         "DESCENDING"
 21127  	//       ],
 21128  	//       "enumDescriptions": [
 21129  	//         "",
 21130  	//         ""
 21131  	//       ],
 21132  	//       "location": "query",
 21133  	//       "type": "string"
 21134  	//     }
 21135  	//   },
 21136  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 21137  	//   "response": {
 21138  	//     "$ref": "CampaignCreativeAssociationsListResponse"
 21139  	//   },
 21140  	//   "scopes": [
 21141  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21142  	//   ]
 21143  	// }
 21144  
 21145  }
 21146  
 21147  // Pages invokes f for each page of results.
 21148  // A non-nil error returned from f will halt the iteration.
 21149  // The provided context supersedes any context provided to the Context method.
 21150  func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
 21151  	c.ctx_ = ctx
 21152  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 21153  	for {
 21154  		x, err := c.Do()
 21155  		if err != nil {
 21156  			return err
 21157  		}
 21158  		if err := f(x); err != nil {
 21159  			return err
 21160  		}
 21161  		if x.NextPageToken == "" {
 21162  			return nil
 21163  		}
 21164  		c.PageToken(x.NextPageToken)
 21165  	}
 21166  }
 21167  
 21168  // method id "dfareporting.campaigns.get":
 21169  
 21170  type CampaignsGetCall struct {
 21171  	s            *Service
 21172  	profileId    int64
 21173  	id           int64
 21174  	urlParams_   gensupport.URLParams
 21175  	ifNoneMatch_ string
 21176  	ctx_         context.Context
 21177  	header_      http.Header
 21178  }
 21179  
 21180  // Get: Gets one campaign by ID.
 21181  func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
 21182  	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21183  	c.profileId = profileId
 21184  	c.id = id
 21185  	return c
 21186  }
 21187  
 21188  // Fields allows partial responses to be retrieved. See
 21189  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21190  // for more information.
 21191  func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
 21192  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21193  	return c
 21194  }
 21195  
 21196  // IfNoneMatch sets the optional parameter which makes the operation
 21197  // fail if the object's ETag matches the given value. This is useful for
 21198  // getting updates only after the object has changed since the last
 21199  // request. Use googleapi.IsNotModified to check whether the response
 21200  // error from Do is the result of In-None-Match.
 21201  func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
 21202  	c.ifNoneMatch_ = entityTag
 21203  	return c
 21204  }
 21205  
 21206  // Context sets the context to be used in this call's Do method. Any
 21207  // pending HTTP request will be aborted if the provided context is
 21208  // canceled.
 21209  func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 21210  	c.ctx_ = ctx
 21211  	return c
 21212  }
 21213  
 21214  // Header returns an http.Header that can be modified by the caller to
 21215  // add HTTP headers to the request.
 21216  func (c *CampaignsGetCall) Header() http.Header {
 21217  	if c.header_ == nil {
 21218  		c.header_ = make(http.Header)
 21219  	}
 21220  	return c.header_
 21221  }
 21222  
 21223  func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 21224  	reqHeaders := make(http.Header)
 21225  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21226  	for k, v := range c.header_ {
 21227  		reqHeaders[k] = v
 21228  	}
 21229  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21230  	if c.ifNoneMatch_ != "" {
 21231  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21232  	}
 21233  	var body io.Reader = nil
 21234  	c.urlParams_.Set("alt", alt)
 21235  	c.urlParams_.Set("prettyPrint", "false")
 21236  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
 21237  	urls += "?" + c.urlParams_.Encode()
 21238  	req, err := http.NewRequest("GET", urls, body)
 21239  	if err != nil {
 21240  		return nil, err
 21241  	}
 21242  	req.Header = reqHeaders
 21243  	googleapi.Expand(req.URL, map[string]string{
 21244  		"profileId": strconv.FormatInt(c.profileId, 10),
 21245  		"id":        strconv.FormatInt(c.id, 10),
 21246  	})
 21247  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21248  }
 21249  
 21250  // Do executes the "dfareporting.campaigns.get" call.
 21251  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21252  // code is an error. Response headers are in either
 21253  // *Campaign.ServerResponse.Header or (if a response was returned at
 21254  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21255  // to check whether the returned error was because
 21256  // http.StatusNotModified was returned.
 21257  func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21258  	gensupport.SetOptions(c.urlParams_, opts...)
 21259  	res, err := c.doRequest("json")
 21260  	if res != nil && res.StatusCode == http.StatusNotModified {
 21261  		if res.Body != nil {
 21262  			res.Body.Close()
 21263  		}
 21264  		return nil, &googleapi.Error{
 21265  			Code:   res.StatusCode,
 21266  			Header: res.Header,
 21267  		}
 21268  	}
 21269  	if err != nil {
 21270  		return nil, err
 21271  	}
 21272  	defer googleapi.CloseBody(res)
 21273  	if err := googleapi.CheckResponse(res); err != nil {
 21274  		return nil, err
 21275  	}
 21276  	ret := &Campaign{
 21277  		ServerResponse: googleapi.ServerResponse{
 21278  			Header:         res.Header,
 21279  			HTTPStatusCode: res.StatusCode,
 21280  		},
 21281  	}
 21282  	target := &ret
 21283  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21284  		return nil, err
 21285  	}
 21286  	return ret, nil
 21287  	// {
 21288  	//   "description": "Gets one campaign by ID.",
 21289  	//   "httpMethod": "GET",
 21290  	//   "id": "dfareporting.campaigns.get",
 21291  	//   "parameterOrder": [
 21292  	//     "profileId",
 21293  	//     "id"
 21294  	//   ],
 21295  	//   "parameters": {
 21296  	//     "id": {
 21297  	//       "description": "Campaign ID.",
 21298  	//       "format": "int64",
 21299  	//       "location": "path",
 21300  	//       "required": true,
 21301  	//       "type": "string"
 21302  	//     },
 21303  	//     "profileId": {
 21304  	//       "description": "User profile ID associated with this request.",
 21305  	//       "format": "int64",
 21306  	//       "location": "path",
 21307  	//       "required": true,
 21308  	//       "type": "string"
 21309  	//     }
 21310  	//   },
 21311  	//   "path": "userprofiles/{profileId}/campaigns/{id}",
 21312  	//   "response": {
 21313  	//     "$ref": "Campaign"
 21314  	//   },
 21315  	//   "scopes": [
 21316  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21317  	//   ]
 21318  	// }
 21319  
 21320  }
 21321  
 21322  // method id "dfareporting.campaigns.insert":
 21323  
 21324  type CampaignsInsertCall struct {
 21325  	s          *Service
 21326  	profileId  int64
 21327  	campaign   *Campaign
 21328  	urlParams_ gensupport.URLParams
 21329  	ctx_       context.Context
 21330  	header_    http.Header
 21331  }
 21332  
 21333  // Insert: Inserts a new campaign.
 21334  func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
 21335  	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21336  	c.profileId = profileId
 21337  	c.campaign = campaign
 21338  	return c
 21339  }
 21340  
 21341  // Fields allows partial responses to be retrieved. See
 21342  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21343  // for more information.
 21344  func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
 21345  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21346  	return c
 21347  }
 21348  
 21349  // Context sets the context to be used in this call's Do method. Any
 21350  // pending HTTP request will be aborted if the provided context is
 21351  // canceled.
 21352  func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 21353  	c.ctx_ = ctx
 21354  	return c
 21355  }
 21356  
 21357  // Header returns an http.Header that can be modified by the caller to
 21358  // add HTTP headers to the request.
 21359  func (c *CampaignsInsertCall) Header() http.Header {
 21360  	if c.header_ == nil {
 21361  		c.header_ = make(http.Header)
 21362  	}
 21363  	return c.header_
 21364  }
 21365  
 21366  func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
 21367  	reqHeaders := make(http.Header)
 21368  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21369  	for k, v := range c.header_ {
 21370  		reqHeaders[k] = v
 21371  	}
 21372  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21373  	var body io.Reader = nil
 21374  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21375  	if err != nil {
 21376  		return nil, err
 21377  	}
 21378  	reqHeaders.Set("Content-Type", "application/json")
 21379  	c.urlParams_.Set("alt", alt)
 21380  	c.urlParams_.Set("prettyPrint", "false")
 21381  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21382  	urls += "?" + c.urlParams_.Encode()
 21383  	req, err := http.NewRequest("POST", urls, body)
 21384  	if err != nil {
 21385  		return nil, err
 21386  	}
 21387  	req.Header = reqHeaders
 21388  	googleapi.Expand(req.URL, map[string]string{
 21389  		"profileId": strconv.FormatInt(c.profileId, 10),
 21390  	})
 21391  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21392  }
 21393  
 21394  // Do executes the "dfareporting.campaigns.insert" call.
 21395  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21396  // code is an error. Response headers are in either
 21397  // *Campaign.ServerResponse.Header or (if a response was returned at
 21398  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21399  // to check whether the returned error was because
 21400  // http.StatusNotModified was returned.
 21401  func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21402  	gensupport.SetOptions(c.urlParams_, opts...)
 21403  	res, err := c.doRequest("json")
 21404  	if res != nil && res.StatusCode == http.StatusNotModified {
 21405  		if res.Body != nil {
 21406  			res.Body.Close()
 21407  		}
 21408  		return nil, &googleapi.Error{
 21409  			Code:   res.StatusCode,
 21410  			Header: res.Header,
 21411  		}
 21412  	}
 21413  	if err != nil {
 21414  		return nil, err
 21415  	}
 21416  	defer googleapi.CloseBody(res)
 21417  	if err := googleapi.CheckResponse(res); err != nil {
 21418  		return nil, err
 21419  	}
 21420  	ret := &Campaign{
 21421  		ServerResponse: googleapi.ServerResponse{
 21422  			Header:         res.Header,
 21423  			HTTPStatusCode: res.StatusCode,
 21424  		},
 21425  	}
 21426  	target := &ret
 21427  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21428  		return nil, err
 21429  	}
 21430  	return ret, nil
 21431  	// {
 21432  	//   "description": "Inserts a new campaign.",
 21433  	//   "httpMethod": "POST",
 21434  	//   "id": "dfareporting.campaigns.insert",
 21435  	//   "parameterOrder": [
 21436  	//     "profileId"
 21437  	//   ],
 21438  	//   "parameters": {
 21439  	//     "profileId": {
 21440  	//       "description": "User profile ID associated with this request.",
 21441  	//       "format": "int64",
 21442  	//       "location": "path",
 21443  	//       "required": true,
 21444  	//       "type": "string"
 21445  	//     }
 21446  	//   },
 21447  	//   "path": "userprofiles/{profileId}/campaigns",
 21448  	//   "request": {
 21449  	//     "$ref": "Campaign"
 21450  	//   },
 21451  	//   "response": {
 21452  	//     "$ref": "Campaign"
 21453  	//   },
 21454  	//   "scopes": [
 21455  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21456  	//   ]
 21457  	// }
 21458  
 21459  }
 21460  
 21461  // method id "dfareporting.campaigns.list":
 21462  
 21463  type CampaignsListCall struct {
 21464  	s            *Service
 21465  	profileId    int64
 21466  	urlParams_   gensupport.URLParams
 21467  	ifNoneMatch_ string
 21468  	ctx_         context.Context
 21469  	header_      http.Header
 21470  }
 21471  
 21472  // List: Retrieves a list of campaigns, possibly filtered. This method
 21473  // supports paging.
 21474  func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
 21475  	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21476  	c.profileId = profileId
 21477  	return c
 21478  }
 21479  
 21480  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 21481  // Select only campaigns whose advertisers belong to these advertiser
 21482  // groups.
 21483  func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
 21484  	var advertiserGroupIds_ []string
 21485  	for _, v := range advertiserGroupIds {
 21486  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 21487  	}
 21488  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 21489  	return c
 21490  }
 21491  
 21492  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 21493  // only campaigns that belong to these advertisers.
 21494  func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
 21495  	var advertiserIds_ []string
 21496  	for _, v := range advertiserIds {
 21497  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 21498  	}
 21499  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 21500  	return c
 21501  }
 21502  
 21503  // Archived sets the optional parameter "archived": Select only archived
 21504  // campaigns. Don't set this field to select both archived and
 21505  // non-archived campaigns.
 21506  func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
 21507  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 21508  	return c
 21509  }
 21510  
 21511  // AtLeastOneOptimizationActivity sets the optional parameter
 21512  // "atLeastOneOptimizationActivity": Select only campaigns that have at
 21513  // least one optimization activity.
 21514  func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
 21515  	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
 21516  	return c
 21517  }
 21518  
 21519  // ExcludedIds sets the optional parameter "excludedIds": Exclude
 21520  // campaigns with these IDs.
 21521  func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
 21522  	var excludedIds_ []string
 21523  	for _, v := range excludedIds {
 21524  		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
 21525  	}
 21526  	c.urlParams_.SetMulti("excludedIds", excludedIds_)
 21527  	return c
 21528  }
 21529  
 21530  // Ids sets the optional parameter "ids": Select only campaigns with
 21531  // these IDs.
 21532  func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
 21533  	var ids_ []string
 21534  	for _, v := range ids {
 21535  		ids_ = append(ids_, fmt.Sprint(v))
 21536  	}
 21537  	c.urlParams_.SetMulti("ids", ids_)
 21538  	return c
 21539  }
 21540  
 21541  // MaxResults sets the optional parameter "maxResults": Maximum number
 21542  // of results to return.
 21543  func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
 21544  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 21545  	return c
 21546  }
 21547  
 21548  // OverriddenEventTagId sets the optional parameter
 21549  // "overriddenEventTagId": Select only campaigns that have overridden
 21550  // this event tag ID.
 21551  func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
 21552  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 21553  	return c
 21554  }
 21555  
 21556  // PageToken sets the optional parameter "pageToken": Value of the
 21557  // nextPageToken from the previous result page.
 21558  func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
 21559  	c.urlParams_.Set("pageToken", pageToken)
 21560  	return c
 21561  }
 21562  
 21563  // SearchString sets the optional parameter "searchString": Allows
 21564  // searching for campaigns by name or ID. Wildcards (*) are allowed. For
 21565  // example, "campaign*2015" will return campaigns with names like
 21566  // "campaign June 2015", "campaign April 2015", or simply "campaign
 21567  // 2015". Most of the searches also add wildcards implicitly at the
 21568  // start and the end of the search string. For example, a search string
 21569  // of "campaign" will match campaigns with name "my campaign", "campaign
 21570  // 2015", or simply "campaign".
 21571  func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
 21572  	c.urlParams_.Set("searchString", searchString)
 21573  	return c
 21574  }
 21575  
 21576  // SortField sets the optional parameter "sortField": Field by which to
 21577  // sort the list.
 21578  //
 21579  // Possible values:
 21580  //
 21581  //	"ID" (default)
 21582  //	"NAME"
 21583  func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
 21584  	c.urlParams_.Set("sortField", sortField)
 21585  	return c
 21586  }
 21587  
 21588  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 21589  // results.
 21590  //
 21591  // Possible values:
 21592  //
 21593  //	"ASCENDING" (default)
 21594  //	"DESCENDING"
 21595  func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
 21596  	c.urlParams_.Set("sortOrder", sortOrder)
 21597  	return c
 21598  }
 21599  
 21600  // SubaccountId sets the optional parameter "subaccountId": Select only
 21601  // campaigns that belong to this subaccount.
 21602  func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
 21603  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 21604  	return c
 21605  }
 21606  
 21607  // Fields allows partial responses to be retrieved. See
 21608  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21609  // for more information.
 21610  func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
 21611  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21612  	return c
 21613  }
 21614  
 21615  // IfNoneMatch sets the optional parameter which makes the operation
 21616  // fail if the object's ETag matches the given value. This is useful for
 21617  // getting updates only after the object has changed since the last
 21618  // request. Use googleapi.IsNotModified to check whether the response
 21619  // error from Do is the result of In-None-Match.
 21620  func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
 21621  	c.ifNoneMatch_ = entityTag
 21622  	return c
 21623  }
 21624  
 21625  // Context sets the context to be used in this call's Do method. Any
 21626  // pending HTTP request will be aborted if the provided context is
 21627  // canceled.
 21628  func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 21629  	c.ctx_ = ctx
 21630  	return c
 21631  }
 21632  
 21633  // Header returns an http.Header that can be modified by the caller to
 21634  // add HTTP headers to the request.
 21635  func (c *CampaignsListCall) Header() http.Header {
 21636  	if c.header_ == nil {
 21637  		c.header_ = make(http.Header)
 21638  	}
 21639  	return c.header_
 21640  }
 21641  
 21642  func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 21643  	reqHeaders := make(http.Header)
 21644  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21645  	for k, v := range c.header_ {
 21646  		reqHeaders[k] = v
 21647  	}
 21648  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21649  	if c.ifNoneMatch_ != "" {
 21650  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21651  	}
 21652  	var body io.Reader = nil
 21653  	c.urlParams_.Set("alt", alt)
 21654  	c.urlParams_.Set("prettyPrint", "false")
 21655  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21656  	urls += "?" + c.urlParams_.Encode()
 21657  	req, err := http.NewRequest("GET", urls, body)
 21658  	if err != nil {
 21659  		return nil, err
 21660  	}
 21661  	req.Header = reqHeaders
 21662  	googleapi.Expand(req.URL, map[string]string{
 21663  		"profileId": strconv.FormatInt(c.profileId, 10),
 21664  	})
 21665  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21666  }
 21667  
 21668  // Do executes the "dfareporting.campaigns.list" call.
 21669  // Exactly one of *CampaignsListResponse or error will be non-nil. Any
 21670  // non-2xx status code is an error. Response headers are in either
 21671  // *CampaignsListResponse.ServerResponse.Header or (if a response was
 21672  // returned at all) in error.(*googleapi.Error).Header. Use
 21673  // googleapi.IsNotModified to check whether the returned error was
 21674  // because http.StatusNotModified was returned.
 21675  func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
 21676  	gensupport.SetOptions(c.urlParams_, opts...)
 21677  	res, err := c.doRequest("json")
 21678  	if res != nil && res.StatusCode == http.StatusNotModified {
 21679  		if res.Body != nil {
 21680  			res.Body.Close()
 21681  		}
 21682  		return nil, &googleapi.Error{
 21683  			Code:   res.StatusCode,
 21684  			Header: res.Header,
 21685  		}
 21686  	}
 21687  	if err != nil {
 21688  		return nil, err
 21689  	}
 21690  	defer googleapi.CloseBody(res)
 21691  	if err := googleapi.CheckResponse(res); err != nil {
 21692  		return nil, err
 21693  	}
 21694  	ret := &CampaignsListResponse{
 21695  		ServerResponse: googleapi.ServerResponse{
 21696  			Header:         res.Header,
 21697  			HTTPStatusCode: res.StatusCode,
 21698  		},
 21699  	}
 21700  	target := &ret
 21701  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21702  		return nil, err
 21703  	}
 21704  	return ret, nil
 21705  	// {
 21706  	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
 21707  	//   "httpMethod": "GET",
 21708  	//   "id": "dfareporting.campaigns.list",
 21709  	//   "parameterOrder": [
 21710  	//     "profileId"
 21711  	//   ],
 21712  	//   "parameters": {
 21713  	//     "advertiserGroupIds": {
 21714  	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
 21715  	//       "format": "int64",
 21716  	//       "location": "query",
 21717  	//       "repeated": true,
 21718  	//       "type": "string"
 21719  	//     },
 21720  	//     "advertiserIds": {
 21721  	//       "description": "Select only campaigns that belong to these advertisers.",
 21722  	//       "format": "int64",
 21723  	//       "location": "query",
 21724  	//       "repeated": true,
 21725  	//       "type": "string"
 21726  	//     },
 21727  	//     "archived": {
 21728  	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
 21729  	//       "location": "query",
 21730  	//       "type": "boolean"
 21731  	//     },
 21732  	//     "atLeastOneOptimizationActivity": {
 21733  	//       "description": "Select only campaigns that have at least one optimization activity.",
 21734  	//       "location": "query",
 21735  	//       "type": "boolean"
 21736  	//     },
 21737  	//     "excludedIds": {
 21738  	//       "description": "Exclude campaigns with these IDs.",
 21739  	//       "format": "int64",
 21740  	//       "location": "query",
 21741  	//       "repeated": true,
 21742  	//       "type": "string"
 21743  	//     },
 21744  	//     "ids": {
 21745  	//       "description": "Select only campaigns with these IDs.",
 21746  	//       "format": "int64",
 21747  	//       "location": "query",
 21748  	//       "repeated": true,
 21749  	//       "type": "string"
 21750  	//     },
 21751  	//     "maxResults": {
 21752  	//       "default": "1000",
 21753  	//       "description": "Maximum number of results to return.",
 21754  	//       "format": "int32",
 21755  	//       "location": "query",
 21756  	//       "maximum": "1000",
 21757  	//       "minimum": "0",
 21758  	//       "type": "integer"
 21759  	//     },
 21760  	//     "overriddenEventTagId": {
 21761  	//       "description": "Select only campaigns that have overridden this event tag ID.",
 21762  	//       "format": "int64",
 21763  	//       "location": "query",
 21764  	//       "type": "string"
 21765  	//     },
 21766  	//     "pageToken": {
 21767  	//       "description": "Value of the nextPageToken from the previous result page.",
 21768  	//       "location": "query",
 21769  	//       "type": "string"
 21770  	//     },
 21771  	//     "profileId": {
 21772  	//       "description": "User profile ID associated with this request.",
 21773  	//       "format": "int64",
 21774  	//       "location": "path",
 21775  	//       "required": true,
 21776  	//       "type": "string"
 21777  	//     },
 21778  	//     "searchString": {
 21779  	//       "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\".",
 21780  	//       "location": "query",
 21781  	//       "type": "string"
 21782  	//     },
 21783  	//     "sortField": {
 21784  	//       "default": "ID",
 21785  	//       "description": "Field by which to sort the list.",
 21786  	//       "enum": [
 21787  	//         "ID",
 21788  	//         "NAME"
 21789  	//       ],
 21790  	//       "enumDescriptions": [
 21791  	//         "",
 21792  	//         ""
 21793  	//       ],
 21794  	//       "location": "query",
 21795  	//       "type": "string"
 21796  	//     },
 21797  	//     "sortOrder": {
 21798  	//       "default": "ASCENDING",
 21799  	//       "description": "Order of sorted results.",
 21800  	//       "enum": [
 21801  	//         "ASCENDING",
 21802  	//         "DESCENDING"
 21803  	//       ],
 21804  	//       "enumDescriptions": [
 21805  	//         "",
 21806  	//         ""
 21807  	//       ],
 21808  	//       "location": "query",
 21809  	//       "type": "string"
 21810  	//     },
 21811  	//     "subaccountId": {
 21812  	//       "description": "Select only campaigns that belong to this subaccount.",
 21813  	//       "format": "int64",
 21814  	//       "location": "query",
 21815  	//       "type": "string"
 21816  	//     }
 21817  	//   },
 21818  	//   "path": "userprofiles/{profileId}/campaigns",
 21819  	//   "response": {
 21820  	//     "$ref": "CampaignsListResponse"
 21821  	//   },
 21822  	//   "scopes": [
 21823  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21824  	//   ]
 21825  	// }
 21826  
 21827  }
 21828  
 21829  // Pages invokes f for each page of results.
 21830  // A non-nil error returned from f will halt the iteration.
 21831  // The provided context supersedes any context provided to the Context method.
 21832  func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
 21833  	c.ctx_ = ctx
 21834  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 21835  	for {
 21836  		x, err := c.Do()
 21837  		if err != nil {
 21838  			return err
 21839  		}
 21840  		if err := f(x); err != nil {
 21841  			return err
 21842  		}
 21843  		if x.NextPageToken == "" {
 21844  			return nil
 21845  		}
 21846  		c.PageToken(x.NextPageToken)
 21847  	}
 21848  }
 21849  
 21850  // method id "dfareporting.campaigns.patch":
 21851  
 21852  type CampaignsPatchCall struct {
 21853  	s          *Service
 21854  	profileId  int64
 21855  	campaign   *Campaign
 21856  	urlParams_ gensupport.URLParams
 21857  	ctx_       context.Context
 21858  	header_    http.Header
 21859  }
 21860  
 21861  // Patch: Updates an existing campaign. This method supports patch
 21862  // semantics.
 21863  func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
 21864  	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21865  	c.profileId = profileId
 21866  	c.urlParams_.Set("id", fmt.Sprint(id))
 21867  	c.campaign = campaign
 21868  	return c
 21869  }
 21870  
 21871  // Fields allows partial responses to be retrieved. See
 21872  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21873  // for more information.
 21874  func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
 21875  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21876  	return c
 21877  }
 21878  
 21879  // Context sets the context to be used in this call's Do method. Any
 21880  // pending HTTP request will be aborted if the provided context is
 21881  // canceled.
 21882  func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 21883  	c.ctx_ = ctx
 21884  	return c
 21885  }
 21886  
 21887  // Header returns an http.Header that can be modified by the caller to
 21888  // add HTTP headers to the request.
 21889  func (c *CampaignsPatchCall) Header() http.Header {
 21890  	if c.header_ == nil {
 21891  		c.header_ = make(http.Header)
 21892  	}
 21893  	return c.header_
 21894  }
 21895  
 21896  func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 21897  	reqHeaders := make(http.Header)
 21898  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 21899  	for k, v := range c.header_ {
 21900  		reqHeaders[k] = v
 21901  	}
 21902  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21903  	var body io.Reader = nil
 21904  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21905  	if err != nil {
 21906  		return nil, err
 21907  	}
 21908  	reqHeaders.Set("Content-Type", "application/json")
 21909  	c.urlParams_.Set("alt", alt)
 21910  	c.urlParams_.Set("prettyPrint", "false")
 21911  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21912  	urls += "?" + c.urlParams_.Encode()
 21913  	req, err := http.NewRequest("PATCH", urls, body)
 21914  	if err != nil {
 21915  		return nil, err
 21916  	}
 21917  	req.Header = reqHeaders
 21918  	googleapi.Expand(req.URL, map[string]string{
 21919  		"profileId": strconv.FormatInt(c.profileId, 10),
 21920  	})
 21921  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21922  }
 21923  
 21924  // Do executes the "dfareporting.campaigns.patch" call.
 21925  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21926  // code is an error. Response headers are in either
 21927  // *Campaign.ServerResponse.Header or (if a response was returned at
 21928  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21929  // to check whether the returned error was because
 21930  // http.StatusNotModified was returned.
 21931  func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21932  	gensupport.SetOptions(c.urlParams_, opts...)
 21933  	res, err := c.doRequest("json")
 21934  	if res != nil && res.StatusCode == http.StatusNotModified {
 21935  		if res.Body != nil {
 21936  			res.Body.Close()
 21937  		}
 21938  		return nil, &googleapi.Error{
 21939  			Code:   res.StatusCode,
 21940  			Header: res.Header,
 21941  		}
 21942  	}
 21943  	if err != nil {
 21944  		return nil, err
 21945  	}
 21946  	defer googleapi.CloseBody(res)
 21947  	if err := googleapi.CheckResponse(res); err != nil {
 21948  		return nil, err
 21949  	}
 21950  	ret := &Campaign{
 21951  		ServerResponse: googleapi.ServerResponse{
 21952  			Header:         res.Header,
 21953  			HTTPStatusCode: res.StatusCode,
 21954  		},
 21955  	}
 21956  	target := &ret
 21957  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21958  		return nil, err
 21959  	}
 21960  	return ret, nil
 21961  	// {
 21962  	//   "description": "Updates an existing campaign. This method supports patch semantics.",
 21963  	//   "httpMethod": "PATCH",
 21964  	//   "id": "dfareporting.campaigns.patch",
 21965  	//   "parameterOrder": [
 21966  	//     "profileId",
 21967  	//     "id"
 21968  	//   ],
 21969  	//   "parameters": {
 21970  	//     "id": {
 21971  	//       "description": "Campaign ID.",
 21972  	//       "format": "int64",
 21973  	//       "location": "query",
 21974  	//       "required": true,
 21975  	//       "type": "string"
 21976  	//     },
 21977  	//     "profileId": {
 21978  	//       "description": "User profile ID associated with this request.",
 21979  	//       "format": "int64",
 21980  	//       "location": "path",
 21981  	//       "required": true,
 21982  	//       "type": "string"
 21983  	//     }
 21984  	//   },
 21985  	//   "path": "userprofiles/{profileId}/campaigns",
 21986  	//   "request": {
 21987  	//     "$ref": "Campaign"
 21988  	//   },
 21989  	//   "response": {
 21990  	//     "$ref": "Campaign"
 21991  	//   },
 21992  	//   "scopes": [
 21993  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21994  	//   ]
 21995  	// }
 21996  
 21997  }
 21998  
 21999  // method id "dfareporting.campaigns.update":
 22000  
 22001  type CampaignsUpdateCall struct {
 22002  	s          *Service
 22003  	profileId  int64
 22004  	campaign   *Campaign
 22005  	urlParams_ gensupport.URLParams
 22006  	ctx_       context.Context
 22007  	header_    http.Header
 22008  }
 22009  
 22010  // Update: Updates an existing campaign.
 22011  func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
 22012  	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22013  	c.profileId = profileId
 22014  	c.campaign = campaign
 22015  	return c
 22016  }
 22017  
 22018  // Fields allows partial responses to be retrieved. See
 22019  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22020  // for more information.
 22021  func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
 22022  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22023  	return c
 22024  }
 22025  
 22026  // Context sets the context to be used in this call's Do method. Any
 22027  // pending HTTP request will be aborted if the provided context is
 22028  // canceled.
 22029  func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 22030  	c.ctx_ = ctx
 22031  	return c
 22032  }
 22033  
 22034  // Header returns an http.Header that can be modified by the caller to
 22035  // add HTTP headers to the request.
 22036  func (c *CampaignsUpdateCall) Header() http.Header {
 22037  	if c.header_ == nil {
 22038  		c.header_ = make(http.Header)
 22039  	}
 22040  	return c.header_
 22041  }
 22042  
 22043  func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
 22044  	reqHeaders := make(http.Header)
 22045  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22046  	for k, v := range c.header_ {
 22047  		reqHeaders[k] = v
 22048  	}
 22049  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22050  	var body io.Reader = nil
 22051  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 22052  	if err != nil {
 22053  		return nil, err
 22054  	}
 22055  	reqHeaders.Set("Content-Type", "application/json")
 22056  	c.urlParams_.Set("alt", alt)
 22057  	c.urlParams_.Set("prettyPrint", "false")
 22058  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 22059  	urls += "?" + c.urlParams_.Encode()
 22060  	req, err := http.NewRequest("PUT", urls, body)
 22061  	if err != nil {
 22062  		return nil, err
 22063  	}
 22064  	req.Header = reqHeaders
 22065  	googleapi.Expand(req.URL, map[string]string{
 22066  		"profileId": strconv.FormatInt(c.profileId, 10),
 22067  	})
 22068  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22069  }
 22070  
 22071  // Do executes the "dfareporting.campaigns.update" call.
 22072  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 22073  // code is an error. Response headers are in either
 22074  // *Campaign.ServerResponse.Header or (if a response was returned at
 22075  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 22076  // to check whether the returned error was because
 22077  // http.StatusNotModified was returned.
 22078  func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 22079  	gensupport.SetOptions(c.urlParams_, opts...)
 22080  	res, err := c.doRequest("json")
 22081  	if res != nil && res.StatusCode == http.StatusNotModified {
 22082  		if res.Body != nil {
 22083  			res.Body.Close()
 22084  		}
 22085  		return nil, &googleapi.Error{
 22086  			Code:   res.StatusCode,
 22087  			Header: res.Header,
 22088  		}
 22089  	}
 22090  	if err != nil {
 22091  		return nil, err
 22092  	}
 22093  	defer googleapi.CloseBody(res)
 22094  	if err := googleapi.CheckResponse(res); err != nil {
 22095  		return nil, err
 22096  	}
 22097  	ret := &Campaign{
 22098  		ServerResponse: googleapi.ServerResponse{
 22099  			Header:         res.Header,
 22100  			HTTPStatusCode: res.StatusCode,
 22101  		},
 22102  	}
 22103  	target := &ret
 22104  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22105  		return nil, err
 22106  	}
 22107  	return ret, nil
 22108  	// {
 22109  	//   "description": "Updates an existing campaign.",
 22110  	//   "httpMethod": "PUT",
 22111  	//   "id": "dfareporting.campaigns.update",
 22112  	//   "parameterOrder": [
 22113  	//     "profileId"
 22114  	//   ],
 22115  	//   "parameters": {
 22116  	//     "profileId": {
 22117  	//       "description": "User profile ID associated with this request.",
 22118  	//       "format": "int64",
 22119  	//       "location": "path",
 22120  	//       "required": true,
 22121  	//       "type": "string"
 22122  	//     }
 22123  	//   },
 22124  	//   "path": "userprofiles/{profileId}/campaigns",
 22125  	//   "request": {
 22126  	//     "$ref": "Campaign"
 22127  	//   },
 22128  	//   "response": {
 22129  	//     "$ref": "Campaign"
 22130  	//   },
 22131  	//   "scopes": [
 22132  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22133  	//   ]
 22134  	// }
 22135  
 22136  }
 22137  
 22138  // method id "dfareporting.changeLogs.get":
 22139  
 22140  type ChangeLogsGetCall struct {
 22141  	s            *Service
 22142  	profileId    int64
 22143  	id           int64
 22144  	urlParams_   gensupport.URLParams
 22145  	ifNoneMatch_ string
 22146  	ctx_         context.Context
 22147  	header_      http.Header
 22148  }
 22149  
 22150  // Get: Gets one change log by ID.
 22151  func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
 22152  	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22153  	c.profileId = profileId
 22154  	c.id = id
 22155  	return c
 22156  }
 22157  
 22158  // Fields allows partial responses to be retrieved. See
 22159  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22160  // for more information.
 22161  func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
 22162  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22163  	return c
 22164  }
 22165  
 22166  // IfNoneMatch sets the optional parameter which makes the operation
 22167  // fail if the object's ETag matches the given value. This is useful for
 22168  // getting updates only after the object has changed since the last
 22169  // request. Use googleapi.IsNotModified to check whether the response
 22170  // error from Do is the result of In-None-Match.
 22171  func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
 22172  	c.ifNoneMatch_ = entityTag
 22173  	return c
 22174  }
 22175  
 22176  // Context sets the context to be used in this call's Do method. Any
 22177  // pending HTTP request will be aborted if the provided context is
 22178  // canceled.
 22179  func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 22180  	c.ctx_ = ctx
 22181  	return c
 22182  }
 22183  
 22184  // Header returns an http.Header that can be modified by the caller to
 22185  // add HTTP headers to the request.
 22186  func (c *ChangeLogsGetCall) Header() http.Header {
 22187  	if c.header_ == nil {
 22188  		c.header_ = make(http.Header)
 22189  	}
 22190  	return c.header_
 22191  }
 22192  
 22193  func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 22194  	reqHeaders := make(http.Header)
 22195  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22196  	for k, v := range c.header_ {
 22197  		reqHeaders[k] = v
 22198  	}
 22199  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22200  	if c.ifNoneMatch_ != "" {
 22201  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22202  	}
 22203  	var body io.Reader = nil
 22204  	c.urlParams_.Set("alt", alt)
 22205  	c.urlParams_.Set("prettyPrint", "false")
 22206  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
 22207  	urls += "?" + c.urlParams_.Encode()
 22208  	req, err := http.NewRequest("GET", urls, body)
 22209  	if err != nil {
 22210  		return nil, err
 22211  	}
 22212  	req.Header = reqHeaders
 22213  	googleapi.Expand(req.URL, map[string]string{
 22214  		"profileId": strconv.FormatInt(c.profileId, 10),
 22215  		"id":        strconv.FormatInt(c.id, 10),
 22216  	})
 22217  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22218  }
 22219  
 22220  // Do executes the "dfareporting.changeLogs.get" call.
 22221  // Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
 22222  // status code is an error. Response headers are in either
 22223  // *ChangeLog.ServerResponse.Header or (if a response was returned at
 22224  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 22225  // to check whether the returned error was because
 22226  // http.StatusNotModified was returned.
 22227  func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
 22228  	gensupport.SetOptions(c.urlParams_, opts...)
 22229  	res, err := c.doRequest("json")
 22230  	if res != nil && res.StatusCode == http.StatusNotModified {
 22231  		if res.Body != nil {
 22232  			res.Body.Close()
 22233  		}
 22234  		return nil, &googleapi.Error{
 22235  			Code:   res.StatusCode,
 22236  			Header: res.Header,
 22237  		}
 22238  	}
 22239  	if err != nil {
 22240  		return nil, err
 22241  	}
 22242  	defer googleapi.CloseBody(res)
 22243  	if err := googleapi.CheckResponse(res); err != nil {
 22244  		return nil, err
 22245  	}
 22246  	ret := &ChangeLog{
 22247  		ServerResponse: googleapi.ServerResponse{
 22248  			Header:         res.Header,
 22249  			HTTPStatusCode: res.StatusCode,
 22250  		},
 22251  	}
 22252  	target := &ret
 22253  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22254  		return nil, err
 22255  	}
 22256  	return ret, nil
 22257  	// {
 22258  	//   "description": "Gets one change log by ID.",
 22259  	//   "httpMethod": "GET",
 22260  	//   "id": "dfareporting.changeLogs.get",
 22261  	//   "parameterOrder": [
 22262  	//     "profileId",
 22263  	//     "id"
 22264  	//   ],
 22265  	//   "parameters": {
 22266  	//     "id": {
 22267  	//       "description": "Change log ID.",
 22268  	//       "format": "int64",
 22269  	//       "location": "path",
 22270  	//       "required": true,
 22271  	//       "type": "string"
 22272  	//     },
 22273  	//     "profileId": {
 22274  	//       "description": "User profile ID associated with this request.",
 22275  	//       "format": "int64",
 22276  	//       "location": "path",
 22277  	//       "required": true,
 22278  	//       "type": "string"
 22279  	//     }
 22280  	//   },
 22281  	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
 22282  	//   "response": {
 22283  	//     "$ref": "ChangeLog"
 22284  	//   },
 22285  	//   "scopes": [
 22286  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22287  	//   ]
 22288  	// }
 22289  
 22290  }
 22291  
 22292  // method id "dfareporting.changeLogs.list":
 22293  
 22294  type ChangeLogsListCall struct {
 22295  	s            *Service
 22296  	profileId    int64
 22297  	urlParams_   gensupport.URLParams
 22298  	ifNoneMatch_ string
 22299  	ctx_         context.Context
 22300  	header_      http.Header
 22301  }
 22302  
 22303  // List: Retrieves a list of change logs. This method supports paging.
 22304  func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
 22305  	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22306  	c.profileId = profileId
 22307  	return c
 22308  }
 22309  
 22310  // Action sets the optional parameter "action": Select only change logs
 22311  // with the specified action.
 22312  //
 22313  // Possible values:
 22314  //
 22315  //	"ACTION_ADD"
 22316  //	"ACTION_ASSIGN"
 22317  //	"ACTION_ASSOCIATE"
 22318  //	"ACTION_CREATE"
 22319  //	"ACTION_DELETE"
 22320  //	"ACTION_DISABLE"
 22321  //	"ACTION_EMAIL_TAGS"
 22322  //	"ACTION_ENABLE"
 22323  //	"ACTION_LINK"
 22324  //	"ACTION_MARK_AS_DEFAULT"
 22325  //	"ACTION_PUSH"
 22326  //	"ACTION_REMOVE"
 22327  //	"ACTION_SEND"
 22328  //	"ACTION_SHARE"
 22329  //	"ACTION_UNASSIGN"
 22330  //	"ACTION_UNLINK"
 22331  //	"ACTION_UPDATE"
 22332  func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
 22333  	c.urlParams_.Set("action", action)
 22334  	return c
 22335  }
 22336  
 22337  // Ids sets the optional parameter "ids": Select only change logs with
 22338  // these IDs.
 22339  func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
 22340  	var ids_ []string
 22341  	for _, v := range ids {
 22342  		ids_ = append(ids_, fmt.Sprint(v))
 22343  	}
 22344  	c.urlParams_.SetMulti("ids", ids_)
 22345  	return c
 22346  }
 22347  
 22348  // MaxChangeTime sets the optional parameter "maxChangeTime": Select
 22349  // only change logs whose change time is before the specified
 22350  // maxChangeTime.The time should be formatted as an RFC3339 date/time
 22351  // string. For example, for 10:54 PM on July 18th, 2015, in the
 22352  // America/New York time zone, the format is
 22353  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 22354  // the letter T, the hour (24-hour clock system), minute, second, and
 22355  // then the time zone offset.
 22356  func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
 22357  	c.urlParams_.Set("maxChangeTime", maxChangeTime)
 22358  	return c
 22359  }
 22360  
 22361  // MaxResults sets the optional parameter "maxResults": Maximum number
 22362  // of results to return.
 22363  func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
 22364  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 22365  	return c
 22366  }
 22367  
 22368  // MinChangeTime sets the optional parameter "minChangeTime": Select
 22369  // only change logs whose change time is before the specified
 22370  // minChangeTime.The time should be formatted as an RFC3339 date/time
 22371  // string. For example, for 10:54 PM on July 18th, 2015, in the
 22372  // America/New York time zone, the format is
 22373  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 22374  // the letter T, the hour (24-hour clock system), minute, second, and
 22375  // then the time zone offset.
 22376  func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
 22377  	c.urlParams_.Set("minChangeTime", minChangeTime)
 22378  	return c
 22379  }
 22380  
 22381  // ObjectIds sets the optional parameter "objectIds": Select only change
 22382  // logs with these object IDs.
 22383  func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
 22384  	var objectIds_ []string
 22385  	for _, v := range objectIds {
 22386  		objectIds_ = append(objectIds_, fmt.Sprint(v))
 22387  	}
 22388  	c.urlParams_.SetMulti("objectIds", objectIds_)
 22389  	return c
 22390  }
 22391  
 22392  // ObjectType sets the optional parameter "objectType": Select only
 22393  // change logs with the specified object type.
 22394  //
 22395  // Possible values:
 22396  //
 22397  //	"OBJECT_ACCOUNT"
 22398  //	"OBJECT_ACCOUNT_BILLING_FEATURE"
 22399  //	"OBJECT_AD"
 22400  //	"OBJECT_ADVERTISER"
 22401  //	"OBJECT_ADVERTISER_GROUP"
 22402  //	"OBJECT_BILLING_ACCOUNT_GROUP"
 22403  //	"OBJECT_BILLING_FEATURE"
 22404  //	"OBJECT_BILLING_MINIMUM_FEE"
 22405  //	"OBJECT_BILLING_PROFILE"
 22406  //	"OBJECT_CAMPAIGN"
 22407  //	"OBJECT_CONTENT_CATEGORY"
 22408  //	"OBJECT_CREATIVE"
 22409  //	"OBJECT_CREATIVE_ASSET"
 22410  //	"OBJECT_CREATIVE_BUNDLE"
 22411  //	"OBJECT_CREATIVE_FIELD"
 22412  //	"OBJECT_CREATIVE_GROUP"
 22413  //	"OBJECT_DFA_SITE"
 22414  //	"OBJECT_EVENT_TAG"
 22415  //	"OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
 22416  //	"OBJECT_FLOODLIGHT_ACTVITY"
 22417  //	"OBJECT_FLOODLIGHT_CONFIGURATION"
 22418  //	"OBJECT_FLOODLIGHT_DV360_LINK"
 22419  //	"OBJECT_INSTREAM_CREATIVE"
 22420  //	"OBJECT_LANDING_PAGE"
 22421  //	"OBJECT_MEDIA_ORDER"
 22422  //	"OBJECT_PLACEMENT"
 22423  //	"OBJECT_PLACEMENT_STRATEGY"
 22424  //	"OBJECT_PLAYSTORE_LINK"
 22425  //	"OBJECT_PROVIDED_LIST_CLIENT"
 22426  //	"OBJECT_RATE_CARD"
 22427  //	"OBJECT_REMARKETING_LIST"
 22428  //	"OBJECT_RICHMEDIA_CREATIVE"
 22429  //	"OBJECT_SD_SITE"
 22430  //	"OBJECT_SEARCH_LIFT_STUDY"
 22431  //	"OBJECT_SIZE"
 22432  //	"OBJECT_SUBACCOUNT"
 22433  //	"OBJECT_TARGETING_TEMPLATE"
 22434  //	"OBJECT_USER_PROFILE"
 22435  //	"OBJECT_USER_PROFILE_FILTER"
 22436  //	"OBJECT_USER_ROLE"
 22437  func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
 22438  	c.urlParams_.Set("objectType", objectType)
 22439  	return c
 22440  }
 22441  
 22442  // PageToken sets the optional parameter "pageToken": Value of the
 22443  // nextPageToken from the previous result page.
 22444  func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
 22445  	c.urlParams_.Set("pageToken", pageToken)
 22446  	return c
 22447  }
 22448  
 22449  // SearchString sets the optional parameter "searchString": Select only
 22450  // change logs whose object ID, user name, old or new values match the
 22451  // search string.
 22452  func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
 22453  	c.urlParams_.Set("searchString", searchString)
 22454  	return c
 22455  }
 22456  
 22457  // UserProfileIds sets the optional parameter "userProfileIds": Select
 22458  // only change logs with these user profile IDs.
 22459  func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
 22460  	var userProfileIds_ []string
 22461  	for _, v := range userProfileIds {
 22462  		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
 22463  	}
 22464  	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
 22465  	return c
 22466  }
 22467  
 22468  // Fields allows partial responses to be retrieved. See
 22469  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22470  // for more information.
 22471  func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
 22472  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22473  	return c
 22474  }
 22475  
 22476  // IfNoneMatch sets the optional parameter which makes the operation
 22477  // fail if the object's ETag matches the given value. This is useful for
 22478  // getting updates only after the object has changed since the last
 22479  // request. Use googleapi.IsNotModified to check whether the response
 22480  // error from Do is the result of In-None-Match.
 22481  func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
 22482  	c.ifNoneMatch_ = entityTag
 22483  	return c
 22484  }
 22485  
 22486  // Context sets the context to be used in this call's Do method. Any
 22487  // pending HTTP request will be aborted if the provided context is
 22488  // canceled.
 22489  func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 22490  	c.ctx_ = ctx
 22491  	return c
 22492  }
 22493  
 22494  // Header returns an http.Header that can be modified by the caller to
 22495  // add HTTP headers to the request.
 22496  func (c *ChangeLogsListCall) Header() http.Header {
 22497  	if c.header_ == nil {
 22498  		c.header_ = make(http.Header)
 22499  	}
 22500  	return c.header_
 22501  }
 22502  
 22503  func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 22504  	reqHeaders := make(http.Header)
 22505  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22506  	for k, v := range c.header_ {
 22507  		reqHeaders[k] = v
 22508  	}
 22509  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22510  	if c.ifNoneMatch_ != "" {
 22511  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22512  	}
 22513  	var body io.Reader = nil
 22514  	c.urlParams_.Set("alt", alt)
 22515  	c.urlParams_.Set("prettyPrint", "false")
 22516  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
 22517  	urls += "?" + c.urlParams_.Encode()
 22518  	req, err := http.NewRequest("GET", urls, body)
 22519  	if err != nil {
 22520  		return nil, err
 22521  	}
 22522  	req.Header = reqHeaders
 22523  	googleapi.Expand(req.URL, map[string]string{
 22524  		"profileId": strconv.FormatInt(c.profileId, 10),
 22525  	})
 22526  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22527  }
 22528  
 22529  // Do executes the "dfareporting.changeLogs.list" call.
 22530  // Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
 22531  // non-2xx status code is an error. Response headers are in either
 22532  // *ChangeLogsListResponse.ServerResponse.Header or (if a response was
 22533  // returned at all) in error.(*googleapi.Error).Header. Use
 22534  // googleapi.IsNotModified to check whether the returned error was
 22535  // because http.StatusNotModified was returned.
 22536  func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
 22537  	gensupport.SetOptions(c.urlParams_, opts...)
 22538  	res, err := c.doRequest("json")
 22539  	if res != nil && res.StatusCode == http.StatusNotModified {
 22540  		if res.Body != nil {
 22541  			res.Body.Close()
 22542  		}
 22543  		return nil, &googleapi.Error{
 22544  			Code:   res.StatusCode,
 22545  			Header: res.Header,
 22546  		}
 22547  	}
 22548  	if err != nil {
 22549  		return nil, err
 22550  	}
 22551  	defer googleapi.CloseBody(res)
 22552  	if err := googleapi.CheckResponse(res); err != nil {
 22553  		return nil, err
 22554  	}
 22555  	ret := &ChangeLogsListResponse{
 22556  		ServerResponse: googleapi.ServerResponse{
 22557  			Header:         res.Header,
 22558  			HTTPStatusCode: res.StatusCode,
 22559  		},
 22560  	}
 22561  	target := &ret
 22562  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22563  		return nil, err
 22564  	}
 22565  	return ret, nil
 22566  	// {
 22567  	//   "description": "Retrieves a list of change logs. This method supports paging.",
 22568  	//   "httpMethod": "GET",
 22569  	//   "id": "dfareporting.changeLogs.list",
 22570  	//   "parameterOrder": [
 22571  	//     "profileId"
 22572  	//   ],
 22573  	//   "parameters": {
 22574  	//     "action": {
 22575  	//       "description": "Select only change logs with the specified action.",
 22576  	//       "enum": [
 22577  	//         "ACTION_ADD",
 22578  	//         "ACTION_ASSIGN",
 22579  	//         "ACTION_ASSOCIATE",
 22580  	//         "ACTION_CREATE",
 22581  	//         "ACTION_DELETE",
 22582  	//         "ACTION_DISABLE",
 22583  	//         "ACTION_EMAIL_TAGS",
 22584  	//         "ACTION_ENABLE",
 22585  	//         "ACTION_LINK",
 22586  	//         "ACTION_MARK_AS_DEFAULT",
 22587  	//         "ACTION_PUSH",
 22588  	//         "ACTION_REMOVE",
 22589  	//         "ACTION_SEND",
 22590  	//         "ACTION_SHARE",
 22591  	//         "ACTION_UNASSIGN",
 22592  	//         "ACTION_UNLINK",
 22593  	//         "ACTION_UPDATE"
 22594  	//       ],
 22595  	//       "enumDescriptions": [
 22596  	//         "",
 22597  	//         "",
 22598  	//         "",
 22599  	//         "",
 22600  	//         "",
 22601  	//         "",
 22602  	//         "",
 22603  	//         "",
 22604  	//         "",
 22605  	//         "",
 22606  	//         "",
 22607  	//         "",
 22608  	//         "",
 22609  	//         "",
 22610  	//         "",
 22611  	//         "",
 22612  	//         ""
 22613  	//       ],
 22614  	//       "location": "query",
 22615  	//       "type": "string"
 22616  	//     },
 22617  	//     "ids": {
 22618  	//       "description": "Select only change logs with these IDs.",
 22619  	//       "format": "int64",
 22620  	//       "location": "query",
 22621  	//       "repeated": true,
 22622  	//       "type": "string"
 22623  	//     },
 22624  	//     "maxChangeTime": {
 22625  	//       "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.",
 22626  	//       "location": "query",
 22627  	//       "type": "string"
 22628  	//     },
 22629  	//     "maxResults": {
 22630  	//       "default": "1000",
 22631  	//       "description": "Maximum number of results to return.",
 22632  	//       "format": "int32",
 22633  	//       "location": "query",
 22634  	//       "maximum": "1000",
 22635  	//       "minimum": "0",
 22636  	//       "type": "integer"
 22637  	//     },
 22638  	//     "minChangeTime": {
 22639  	//       "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.",
 22640  	//       "location": "query",
 22641  	//       "type": "string"
 22642  	//     },
 22643  	//     "objectIds": {
 22644  	//       "description": "Select only change logs with these object IDs.",
 22645  	//       "format": "int64",
 22646  	//       "location": "query",
 22647  	//       "repeated": true,
 22648  	//       "type": "string"
 22649  	//     },
 22650  	//     "objectType": {
 22651  	//       "description": "Select only change logs with the specified object type.",
 22652  	//       "enum": [
 22653  	//         "OBJECT_ACCOUNT",
 22654  	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
 22655  	//         "OBJECT_AD",
 22656  	//         "OBJECT_ADVERTISER",
 22657  	//         "OBJECT_ADVERTISER_GROUP",
 22658  	//         "OBJECT_BILLING_ACCOUNT_GROUP",
 22659  	//         "OBJECT_BILLING_FEATURE",
 22660  	//         "OBJECT_BILLING_MINIMUM_FEE",
 22661  	//         "OBJECT_BILLING_PROFILE",
 22662  	//         "OBJECT_CAMPAIGN",
 22663  	//         "OBJECT_CONTENT_CATEGORY",
 22664  	//         "OBJECT_CREATIVE",
 22665  	//         "OBJECT_CREATIVE_ASSET",
 22666  	//         "OBJECT_CREATIVE_BUNDLE",
 22667  	//         "OBJECT_CREATIVE_FIELD",
 22668  	//         "OBJECT_CREATIVE_GROUP",
 22669  	//         "OBJECT_DFA_SITE",
 22670  	//         "OBJECT_EVENT_TAG",
 22671  	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
 22672  	//         "OBJECT_FLOODLIGHT_ACTVITY",
 22673  	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
 22674  	//         "OBJECT_FLOODLIGHT_DV360_LINK",
 22675  	//         "OBJECT_INSTREAM_CREATIVE",
 22676  	//         "OBJECT_LANDING_PAGE",
 22677  	//         "OBJECT_MEDIA_ORDER",
 22678  	//         "OBJECT_PLACEMENT",
 22679  	//         "OBJECT_PLACEMENT_STRATEGY",
 22680  	//         "OBJECT_PLAYSTORE_LINK",
 22681  	//         "OBJECT_PROVIDED_LIST_CLIENT",
 22682  	//         "OBJECT_RATE_CARD",
 22683  	//         "OBJECT_REMARKETING_LIST",
 22684  	//         "OBJECT_RICHMEDIA_CREATIVE",
 22685  	//         "OBJECT_SD_SITE",
 22686  	//         "OBJECT_SEARCH_LIFT_STUDY",
 22687  	//         "OBJECT_SIZE",
 22688  	//         "OBJECT_SUBACCOUNT",
 22689  	//         "OBJECT_TARGETING_TEMPLATE",
 22690  	//         "OBJECT_USER_PROFILE",
 22691  	//         "OBJECT_USER_PROFILE_FILTER",
 22692  	//         "OBJECT_USER_ROLE"
 22693  	//       ],
 22694  	//       "enumDescriptions": [
 22695  	//         "",
 22696  	//         "",
 22697  	//         "",
 22698  	//         "",
 22699  	//         "",
 22700  	//         "",
 22701  	//         "",
 22702  	//         "",
 22703  	//         "",
 22704  	//         "",
 22705  	//         "",
 22706  	//         "",
 22707  	//         "",
 22708  	//         "",
 22709  	//         "",
 22710  	//         "",
 22711  	//         "",
 22712  	//         "",
 22713  	//         "",
 22714  	//         "",
 22715  	//         "",
 22716  	//         "",
 22717  	//         "",
 22718  	//         "",
 22719  	//         "",
 22720  	//         "",
 22721  	//         "",
 22722  	//         "",
 22723  	//         "",
 22724  	//         "",
 22725  	//         "",
 22726  	//         "",
 22727  	//         "",
 22728  	//         "",
 22729  	//         "",
 22730  	//         "",
 22731  	//         "",
 22732  	//         "",
 22733  	//         "",
 22734  	//         ""
 22735  	//       ],
 22736  	//       "location": "query",
 22737  	//       "type": "string"
 22738  	//     },
 22739  	//     "pageToken": {
 22740  	//       "description": "Value of the nextPageToken from the previous result page.",
 22741  	//       "location": "query",
 22742  	//       "type": "string"
 22743  	//     },
 22744  	//     "profileId": {
 22745  	//       "description": "User profile ID associated with this request.",
 22746  	//       "format": "int64",
 22747  	//       "location": "path",
 22748  	//       "required": true,
 22749  	//       "type": "string"
 22750  	//     },
 22751  	//     "searchString": {
 22752  	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
 22753  	//       "location": "query",
 22754  	//       "type": "string"
 22755  	//     },
 22756  	//     "userProfileIds": {
 22757  	//       "description": "Select only change logs with these user profile IDs.",
 22758  	//       "format": "int64",
 22759  	//       "location": "query",
 22760  	//       "repeated": true,
 22761  	//       "type": "string"
 22762  	//     }
 22763  	//   },
 22764  	//   "path": "userprofiles/{profileId}/changeLogs",
 22765  	//   "response": {
 22766  	//     "$ref": "ChangeLogsListResponse"
 22767  	//   },
 22768  	//   "scopes": [
 22769  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22770  	//   ]
 22771  	// }
 22772  
 22773  }
 22774  
 22775  // Pages invokes f for each page of results.
 22776  // A non-nil error returned from f will halt the iteration.
 22777  // The provided context supersedes any context provided to the Context method.
 22778  func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
 22779  	c.ctx_ = ctx
 22780  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 22781  	for {
 22782  		x, err := c.Do()
 22783  		if err != nil {
 22784  			return err
 22785  		}
 22786  		if err := f(x); err != nil {
 22787  			return err
 22788  		}
 22789  		if x.NextPageToken == "" {
 22790  			return nil
 22791  		}
 22792  		c.PageToken(x.NextPageToken)
 22793  	}
 22794  }
 22795  
 22796  // method id "dfareporting.cities.list":
 22797  
 22798  type CitiesListCall struct {
 22799  	s            *Service
 22800  	profileId    int64
 22801  	urlParams_   gensupport.URLParams
 22802  	ifNoneMatch_ string
 22803  	ctx_         context.Context
 22804  	header_      http.Header
 22805  }
 22806  
 22807  // List: Retrieves a list of cities, possibly filtered.
 22808  func (r *CitiesService) List(profileId int64) *CitiesListCall {
 22809  	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22810  	c.profileId = profileId
 22811  	return c
 22812  }
 22813  
 22814  // CountryDartIds sets the optional parameter "countryDartIds": Select
 22815  // only cities from these countries.
 22816  func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
 22817  	var countryDartIds_ []string
 22818  	for _, v := range countryDartIds {
 22819  		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
 22820  	}
 22821  	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
 22822  	return c
 22823  }
 22824  
 22825  // DartIds sets the optional parameter "dartIds": Select only cities
 22826  // with these DART IDs.
 22827  func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
 22828  	var dartIds_ []string
 22829  	for _, v := range dartIds {
 22830  		dartIds_ = append(dartIds_, fmt.Sprint(v))
 22831  	}
 22832  	c.urlParams_.SetMulti("dartIds", dartIds_)
 22833  	return c
 22834  }
 22835  
 22836  // NamePrefix sets the optional parameter "namePrefix": Select only
 22837  // cities with names starting with this prefix.
 22838  func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
 22839  	c.urlParams_.Set("namePrefix", namePrefix)
 22840  	return c
 22841  }
 22842  
 22843  // RegionDartIds sets the optional parameter "regionDartIds": Select
 22844  // only cities from these regions.
 22845  func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
 22846  	var regionDartIds_ []string
 22847  	for _, v := range regionDartIds {
 22848  		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
 22849  	}
 22850  	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
 22851  	return c
 22852  }
 22853  
 22854  // Fields allows partial responses to be retrieved. See
 22855  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22856  // for more information.
 22857  func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
 22858  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22859  	return c
 22860  }
 22861  
 22862  // IfNoneMatch sets the optional parameter which makes the operation
 22863  // fail if the object's ETag matches the given value. This is useful for
 22864  // getting updates only after the object has changed since the last
 22865  // request. Use googleapi.IsNotModified to check whether the response
 22866  // error from Do is the result of In-None-Match.
 22867  func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
 22868  	c.ifNoneMatch_ = entityTag
 22869  	return c
 22870  }
 22871  
 22872  // Context sets the context to be used in this call's Do method. Any
 22873  // pending HTTP request will be aborted if the provided context is
 22874  // canceled.
 22875  func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 22876  	c.ctx_ = ctx
 22877  	return c
 22878  }
 22879  
 22880  // Header returns an http.Header that can be modified by the caller to
 22881  // add HTTP headers to the request.
 22882  func (c *CitiesListCall) Header() http.Header {
 22883  	if c.header_ == nil {
 22884  		c.header_ = make(http.Header)
 22885  	}
 22886  	return c.header_
 22887  }
 22888  
 22889  func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 22890  	reqHeaders := make(http.Header)
 22891  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 22892  	for k, v := range c.header_ {
 22893  		reqHeaders[k] = v
 22894  	}
 22895  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22896  	if c.ifNoneMatch_ != "" {
 22897  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22898  	}
 22899  	var body io.Reader = nil
 22900  	c.urlParams_.Set("alt", alt)
 22901  	c.urlParams_.Set("prettyPrint", "false")
 22902  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
 22903  	urls += "?" + c.urlParams_.Encode()
 22904  	req, err := http.NewRequest("GET", urls, body)
 22905  	if err != nil {
 22906  		return nil, err
 22907  	}
 22908  	req.Header = reqHeaders
 22909  	googleapi.Expand(req.URL, map[string]string{
 22910  		"profileId": strconv.FormatInt(c.profileId, 10),
 22911  	})
 22912  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22913  }
 22914  
 22915  // Do executes the "dfareporting.cities.list" call.
 22916  // Exactly one of *CitiesListResponse or error will be non-nil. Any
 22917  // non-2xx status code is an error. Response headers are in either
 22918  // *CitiesListResponse.ServerResponse.Header or (if a response was
 22919  // returned at all) in error.(*googleapi.Error).Header. Use
 22920  // googleapi.IsNotModified to check whether the returned error was
 22921  // because http.StatusNotModified was returned.
 22922  func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
 22923  	gensupport.SetOptions(c.urlParams_, opts...)
 22924  	res, err := c.doRequest("json")
 22925  	if res != nil && res.StatusCode == http.StatusNotModified {
 22926  		if res.Body != nil {
 22927  			res.Body.Close()
 22928  		}
 22929  		return nil, &googleapi.Error{
 22930  			Code:   res.StatusCode,
 22931  			Header: res.Header,
 22932  		}
 22933  	}
 22934  	if err != nil {
 22935  		return nil, err
 22936  	}
 22937  	defer googleapi.CloseBody(res)
 22938  	if err := googleapi.CheckResponse(res); err != nil {
 22939  		return nil, err
 22940  	}
 22941  	ret := &CitiesListResponse{
 22942  		ServerResponse: googleapi.ServerResponse{
 22943  			Header:         res.Header,
 22944  			HTTPStatusCode: res.StatusCode,
 22945  		},
 22946  	}
 22947  	target := &ret
 22948  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22949  		return nil, err
 22950  	}
 22951  	return ret, nil
 22952  	// {
 22953  	//   "description": "Retrieves a list of cities, possibly filtered.",
 22954  	//   "httpMethod": "GET",
 22955  	//   "id": "dfareporting.cities.list",
 22956  	//   "parameterOrder": [
 22957  	//     "profileId"
 22958  	//   ],
 22959  	//   "parameters": {
 22960  	//     "countryDartIds": {
 22961  	//       "description": "Select only cities from these countries.",
 22962  	//       "format": "int64",
 22963  	//       "location": "query",
 22964  	//       "repeated": true,
 22965  	//       "type": "string"
 22966  	//     },
 22967  	//     "dartIds": {
 22968  	//       "description": "Select only cities with these DART IDs.",
 22969  	//       "format": "int64",
 22970  	//       "location": "query",
 22971  	//       "repeated": true,
 22972  	//       "type": "string"
 22973  	//     },
 22974  	//     "namePrefix": {
 22975  	//       "description": "Select only cities with names starting with this prefix.",
 22976  	//       "location": "query",
 22977  	//       "type": "string"
 22978  	//     },
 22979  	//     "profileId": {
 22980  	//       "description": "User profile ID associated with this request.",
 22981  	//       "format": "int64",
 22982  	//       "location": "path",
 22983  	//       "required": true,
 22984  	//       "type": "string"
 22985  	//     },
 22986  	//     "regionDartIds": {
 22987  	//       "description": "Select only cities from these regions.",
 22988  	//       "format": "int64",
 22989  	//       "location": "query",
 22990  	//       "repeated": true,
 22991  	//       "type": "string"
 22992  	//     }
 22993  	//   },
 22994  	//   "path": "userprofiles/{profileId}/cities",
 22995  	//   "response": {
 22996  	//     "$ref": "CitiesListResponse"
 22997  	//   },
 22998  	//   "scopes": [
 22999  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23000  	//   ]
 23001  	// }
 23002  
 23003  }
 23004  
 23005  // method id "dfareporting.connectionTypes.get":
 23006  
 23007  type ConnectionTypesGetCall struct {
 23008  	s            *Service
 23009  	profileId    int64
 23010  	id           int64
 23011  	urlParams_   gensupport.URLParams
 23012  	ifNoneMatch_ string
 23013  	ctx_         context.Context
 23014  	header_      http.Header
 23015  }
 23016  
 23017  // Get: Gets one connection type by ID.
 23018  func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
 23019  	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23020  	c.profileId = profileId
 23021  	c.id = id
 23022  	return c
 23023  }
 23024  
 23025  // Fields allows partial responses to be retrieved. See
 23026  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23027  // for more information.
 23028  func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
 23029  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23030  	return c
 23031  }
 23032  
 23033  // IfNoneMatch sets the optional parameter which makes the operation
 23034  // fail if the object's ETag matches the given value. This is useful for
 23035  // getting updates only after the object has changed since the last
 23036  // request. Use googleapi.IsNotModified to check whether the response
 23037  // error from Do is the result of In-None-Match.
 23038  func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
 23039  	c.ifNoneMatch_ = entityTag
 23040  	return c
 23041  }
 23042  
 23043  // Context sets the context to be used in this call's Do method. Any
 23044  // pending HTTP request will be aborted if the provided context is
 23045  // canceled.
 23046  func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
 23047  	c.ctx_ = ctx
 23048  	return c
 23049  }
 23050  
 23051  // Header returns an http.Header that can be modified by the caller to
 23052  // add HTTP headers to the request.
 23053  func (c *ConnectionTypesGetCall) Header() http.Header {
 23054  	if c.header_ == nil {
 23055  		c.header_ = make(http.Header)
 23056  	}
 23057  	return c.header_
 23058  }
 23059  
 23060  func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 23061  	reqHeaders := make(http.Header)
 23062  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23063  	for k, v := range c.header_ {
 23064  		reqHeaders[k] = v
 23065  	}
 23066  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23067  	if c.ifNoneMatch_ != "" {
 23068  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23069  	}
 23070  	var body io.Reader = nil
 23071  	c.urlParams_.Set("alt", alt)
 23072  	c.urlParams_.Set("prettyPrint", "false")
 23073  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
 23074  	urls += "?" + c.urlParams_.Encode()
 23075  	req, err := http.NewRequest("GET", urls, body)
 23076  	if err != nil {
 23077  		return nil, err
 23078  	}
 23079  	req.Header = reqHeaders
 23080  	googleapi.Expand(req.URL, map[string]string{
 23081  		"profileId": strconv.FormatInt(c.profileId, 10),
 23082  		"id":        strconv.FormatInt(c.id, 10),
 23083  	})
 23084  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23085  }
 23086  
 23087  // Do executes the "dfareporting.connectionTypes.get" call.
 23088  // Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
 23089  // status code is an error. Response headers are in either
 23090  // *ConnectionType.ServerResponse.Header or (if a response was returned
 23091  // at all) in error.(*googleapi.Error).Header. Use
 23092  // googleapi.IsNotModified to check whether the returned error was
 23093  // because http.StatusNotModified was returned.
 23094  func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
 23095  	gensupport.SetOptions(c.urlParams_, opts...)
 23096  	res, err := c.doRequest("json")
 23097  	if res != nil && res.StatusCode == http.StatusNotModified {
 23098  		if res.Body != nil {
 23099  			res.Body.Close()
 23100  		}
 23101  		return nil, &googleapi.Error{
 23102  			Code:   res.StatusCode,
 23103  			Header: res.Header,
 23104  		}
 23105  	}
 23106  	if err != nil {
 23107  		return nil, err
 23108  	}
 23109  	defer googleapi.CloseBody(res)
 23110  	if err := googleapi.CheckResponse(res); err != nil {
 23111  		return nil, err
 23112  	}
 23113  	ret := &ConnectionType{
 23114  		ServerResponse: googleapi.ServerResponse{
 23115  			Header:         res.Header,
 23116  			HTTPStatusCode: res.StatusCode,
 23117  		},
 23118  	}
 23119  	target := &ret
 23120  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23121  		return nil, err
 23122  	}
 23123  	return ret, nil
 23124  	// {
 23125  	//   "description": "Gets one connection type by ID.",
 23126  	//   "httpMethod": "GET",
 23127  	//   "id": "dfareporting.connectionTypes.get",
 23128  	//   "parameterOrder": [
 23129  	//     "profileId",
 23130  	//     "id"
 23131  	//   ],
 23132  	//   "parameters": {
 23133  	//     "id": {
 23134  	//       "description": "Connection type ID.",
 23135  	//       "format": "int64",
 23136  	//       "location": "path",
 23137  	//       "required": true,
 23138  	//       "type": "string"
 23139  	//     },
 23140  	//     "profileId": {
 23141  	//       "description": "User profile ID associated with this request.",
 23142  	//       "format": "int64",
 23143  	//       "location": "path",
 23144  	//       "required": true,
 23145  	//       "type": "string"
 23146  	//     }
 23147  	//   },
 23148  	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
 23149  	//   "response": {
 23150  	//     "$ref": "ConnectionType"
 23151  	//   },
 23152  	//   "scopes": [
 23153  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23154  	//   ]
 23155  	// }
 23156  
 23157  }
 23158  
 23159  // method id "dfareporting.connectionTypes.list":
 23160  
 23161  type ConnectionTypesListCall struct {
 23162  	s            *Service
 23163  	profileId    int64
 23164  	urlParams_   gensupport.URLParams
 23165  	ifNoneMatch_ string
 23166  	ctx_         context.Context
 23167  	header_      http.Header
 23168  }
 23169  
 23170  // List: Retrieves a list of connection types.
 23171  func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
 23172  	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23173  	c.profileId = profileId
 23174  	return c
 23175  }
 23176  
 23177  // Fields allows partial responses to be retrieved. See
 23178  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23179  // for more information.
 23180  func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
 23181  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23182  	return c
 23183  }
 23184  
 23185  // IfNoneMatch sets the optional parameter which makes the operation
 23186  // fail if the object's ETag matches the given value. This is useful for
 23187  // getting updates only after the object has changed since the last
 23188  // request. Use googleapi.IsNotModified to check whether the response
 23189  // error from Do is the result of In-None-Match.
 23190  func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
 23191  	c.ifNoneMatch_ = entityTag
 23192  	return c
 23193  }
 23194  
 23195  // Context sets the context to be used in this call's Do method. Any
 23196  // pending HTTP request will be aborted if the provided context is
 23197  // canceled.
 23198  func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 23199  	c.ctx_ = ctx
 23200  	return c
 23201  }
 23202  
 23203  // Header returns an http.Header that can be modified by the caller to
 23204  // add HTTP headers to the request.
 23205  func (c *ConnectionTypesListCall) Header() http.Header {
 23206  	if c.header_ == nil {
 23207  		c.header_ = make(http.Header)
 23208  	}
 23209  	return c.header_
 23210  }
 23211  
 23212  func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 23213  	reqHeaders := make(http.Header)
 23214  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23215  	for k, v := range c.header_ {
 23216  		reqHeaders[k] = v
 23217  	}
 23218  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23219  	if c.ifNoneMatch_ != "" {
 23220  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23221  	}
 23222  	var body io.Reader = nil
 23223  	c.urlParams_.Set("alt", alt)
 23224  	c.urlParams_.Set("prettyPrint", "false")
 23225  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
 23226  	urls += "?" + c.urlParams_.Encode()
 23227  	req, err := http.NewRequest("GET", urls, body)
 23228  	if err != nil {
 23229  		return nil, err
 23230  	}
 23231  	req.Header = reqHeaders
 23232  	googleapi.Expand(req.URL, map[string]string{
 23233  		"profileId": strconv.FormatInt(c.profileId, 10),
 23234  	})
 23235  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23236  }
 23237  
 23238  // Do executes the "dfareporting.connectionTypes.list" call.
 23239  // Exactly one of *ConnectionTypesListResponse or error will be non-nil.
 23240  // Any non-2xx status code is an error. Response headers are in either
 23241  // *ConnectionTypesListResponse.ServerResponse.Header or (if a response
 23242  // was returned at all) in error.(*googleapi.Error).Header. Use
 23243  // googleapi.IsNotModified to check whether the returned error was
 23244  // because http.StatusNotModified was returned.
 23245  func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
 23246  	gensupport.SetOptions(c.urlParams_, opts...)
 23247  	res, err := c.doRequest("json")
 23248  	if res != nil && res.StatusCode == http.StatusNotModified {
 23249  		if res.Body != nil {
 23250  			res.Body.Close()
 23251  		}
 23252  		return nil, &googleapi.Error{
 23253  			Code:   res.StatusCode,
 23254  			Header: res.Header,
 23255  		}
 23256  	}
 23257  	if err != nil {
 23258  		return nil, err
 23259  	}
 23260  	defer googleapi.CloseBody(res)
 23261  	if err := googleapi.CheckResponse(res); err != nil {
 23262  		return nil, err
 23263  	}
 23264  	ret := &ConnectionTypesListResponse{
 23265  		ServerResponse: googleapi.ServerResponse{
 23266  			Header:         res.Header,
 23267  			HTTPStatusCode: res.StatusCode,
 23268  		},
 23269  	}
 23270  	target := &ret
 23271  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23272  		return nil, err
 23273  	}
 23274  	return ret, nil
 23275  	// {
 23276  	//   "description": "Retrieves a list of connection types.",
 23277  	//   "httpMethod": "GET",
 23278  	//   "id": "dfareporting.connectionTypes.list",
 23279  	//   "parameterOrder": [
 23280  	//     "profileId"
 23281  	//   ],
 23282  	//   "parameters": {
 23283  	//     "profileId": {
 23284  	//       "description": "User profile ID associated with this request.",
 23285  	//       "format": "int64",
 23286  	//       "location": "path",
 23287  	//       "required": true,
 23288  	//       "type": "string"
 23289  	//     }
 23290  	//   },
 23291  	//   "path": "userprofiles/{profileId}/connectionTypes",
 23292  	//   "response": {
 23293  	//     "$ref": "ConnectionTypesListResponse"
 23294  	//   },
 23295  	//   "scopes": [
 23296  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23297  	//   ]
 23298  	// }
 23299  
 23300  }
 23301  
 23302  // method id "dfareporting.contentCategories.delete":
 23303  
 23304  type ContentCategoriesDeleteCall struct {
 23305  	s          *Service
 23306  	profileId  int64
 23307  	id         int64
 23308  	urlParams_ gensupport.URLParams
 23309  	ctx_       context.Context
 23310  	header_    http.Header
 23311  }
 23312  
 23313  // Delete: Deletes an existing content category.
 23314  func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
 23315  	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23316  	c.profileId = profileId
 23317  	c.id = id
 23318  	return c
 23319  }
 23320  
 23321  // Fields allows partial responses to be retrieved. See
 23322  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23323  // for more information.
 23324  func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
 23325  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23326  	return c
 23327  }
 23328  
 23329  // Context sets the context to be used in this call's Do method. Any
 23330  // pending HTTP request will be aborted if the provided context is
 23331  // canceled.
 23332  func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 23333  	c.ctx_ = ctx
 23334  	return c
 23335  }
 23336  
 23337  // Header returns an http.Header that can be modified by the caller to
 23338  // add HTTP headers to the request.
 23339  func (c *ContentCategoriesDeleteCall) Header() http.Header {
 23340  	if c.header_ == nil {
 23341  		c.header_ = make(http.Header)
 23342  	}
 23343  	return c.header_
 23344  }
 23345  
 23346  func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 23347  	reqHeaders := make(http.Header)
 23348  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23349  	for k, v := range c.header_ {
 23350  		reqHeaders[k] = v
 23351  	}
 23352  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23353  	var body io.Reader = nil
 23354  	c.urlParams_.Set("alt", alt)
 23355  	c.urlParams_.Set("prettyPrint", "false")
 23356  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 23357  	urls += "?" + c.urlParams_.Encode()
 23358  	req, err := http.NewRequest("DELETE", urls, body)
 23359  	if err != nil {
 23360  		return nil, err
 23361  	}
 23362  	req.Header = reqHeaders
 23363  	googleapi.Expand(req.URL, map[string]string{
 23364  		"profileId": strconv.FormatInt(c.profileId, 10),
 23365  		"id":        strconv.FormatInt(c.id, 10),
 23366  	})
 23367  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23368  }
 23369  
 23370  // Do executes the "dfareporting.contentCategories.delete" call.
 23371  func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
 23372  	gensupport.SetOptions(c.urlParams_, opts...)
 23373  	res, err := c.doRequest("json")
 23374  	if err != nil {
 23375  		return err
 23376  	}
 23377  	defer googleapi.CloseBody(res)
 23378  	if err := googleapi.CheckResponse(res); err != nil {
 23379  		return err
 23380  	}
 23381  	return nil
 23382  	// {
 23383  	//   "description": "Deletes an existing content category.",
 23384  	//   "httpMethod": "DELETE",
 23385  	//   "id": "dfareporting.contentCategories.delete",
 23386  	//   "parameterOrder": [
 23387  	//     "profileId",
 23388  	//     "id"
 23389  	//   ],
 23390  	//   "parameters": {
 23391  	//     "id": {
 23392  	//       "description": "Content category ID.",
 23393  	//       "format": "int64",
 23394  	//       "location": "path",
 23395  	//       "required": true,
 23396  	//       "type": "string"
 23397  	//     },
 23398  	//     "profileId": {
 23399  	//       "description": "User profile ID associated with this request.",
 23400  	//       "format": "int64",
 23401  	//       "location": "path",
 23402  	//       "required": true,
 23403  	//       "type": "string"
 23404  	//     }
 23405  	//   },
 23406  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 23407  	//   "scopes": [
 23408  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23409  	//   ]
 23410  	// }
 23411  
 23412  }
 23413  
 23414  // method id "dfareporting.contentCategories.get":
 23415  
 23416  type ContentCategoriesGetCall struct {
 23417  	s            *Service
 23418  	profileId    int64
 23419  	id           int64
 23420  	urlParams_   gensupport.URLParams
 23421  	ifNoneMatch_ string
 23422  	ctx_         context.Context
 23423  	header_      http.Header
 23424  }
 23425  
 23426  // Get: Gets one content category by ID.
 23427  func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
 23428  	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23429  	c.profileId = profileId
 23430  	c.id = id
 23431  	return c
 23432  }
 23433  
 23434  // Fields allows partial responses to be retrieved. See
 23435  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23436  // for more information.
 23437  func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
 23438  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23439  	return c
 23440  }
 23441  
 23442  // IfNoneMatch sets the optional parameter which makes the operation
 23443  // fail if the object's ETag matches the given value. This is useful for
 23444  // getting updates only after the object has changed since the last
 23445  // request. Use googleapi.IsNotModified to check whether the response
 23446  // error from Do is the result of In-None-Match.
 23447  func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
 23448  	c.ifNoneMatch_ = entityTag
 23449  	return c
 23450  }
 23451  
 23452  // Context sets the context to be used in this call's Do method. Any
 23453  // pending HTTP request will be aborted if the provided context is
 23454  // canceled.
 23455  func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 23456  	c.ctx_ = ctx
 23457  	return c
 23458  }
 23459  
 23460  // Header returns an http.Header that can be modified by the caller to
 23461  // add HTTP headers to the request.
 23462  func (c *ContentCategoriesGetCall) Header() http.Header {
 23463  	if c.header_ == nil {
 23464  		c.header_ = make(http.Header)
 23465  	}
 23466  	return c.header_
 23467  }
 23468  
 23469  func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 23470  	reqHeaders := make(http.Header)
 23471  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23472  	for k, v := range c.header_ {
 23473  		reqHeaders[k] = v
 23474  	}
 23475  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23476  	if c.ifNoneMatch_ != "" {
 23477  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23478  	}
 23479  	var body io.Reader = nil
 23480  	c.urlParams_.Set("alt", alt)
 23481  	c.urlParams_.Set("prettyPrint", "false")
 23482  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 23483  	urls += "?" + c.urlParams_.Encode()
 23484  	req, err := http.NewRequest("GET", urls, body)
 23485  	if err != nil {
 23486  		return nil, err
 23487  	}
 23488  	req.Header = reqHeaders
 23489  	googleapi.Expand(req.URL, map[string]string{
 23490  		"profileId": strconv.FormatInt(c.profileId, 10),
 23491  		"id":        strconv.FormatInt(c.id, 10),
 23492  	})
 23493  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23494  }
 23495  
 23496  // Do executes the "dfareporting.contentCategories.get" call.
 23497  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23498  // status code is an error. Response headers are in either
 23499  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23500  // at all) in error.(*googleapi.Error).Header. Use
 23501  // googleapi.IsNotModified to check whether the returned error was
 23502  // because http.StatusNotModified was returned.
 23503  func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23504  	gensupport.SetOptions(c.urlParams_, opts...)
 23505  	res, err := c.doRequest("json")
 23506  	if res != nil && res.StatusCode == http.StatusNotModified {
 23507  		if res.Body != nil {
 23508  			res.Body.Close()
 23509  		}
 23510  		return nil, &googleapi.Error{
 23511  			Code:   res.StatusCode,
 23512  			Header: res.Header,
 23513  		}
 23514  	}
 23515  	if err != nil {
 23516  		return nil, err
 23517  	}
 23518  	defer googleapi.CloseBody(res)
 23519  	if err := googleapi.CheckResponse(res); err != nil {
 23520  		return nil, err
 23521  	}
 23522  	ret := &ContentCategory{
 23523  		ServerResponse: googleapi.ServerResponse{
 23524  			Header:         res.Header,
 23525  			HTTPStatusCode: res.StatusCode,
 23526  		},
 23527  	}
 23528  	target := &ret
 23529  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23530  		return nil, err
 23531  	}
 23532  	return ret, nil
 23533  	// {
 23534  	//   "description": "Gets one content category by ID.",
 23535  	//   "httpMethod": "GET",
 23536  	//   "id": "dfareporting.contentCategories.get",
 23537  	//   "parameterOrder": [
 23538  	//     "profileId",
 23539  	//     "id"
 23540  	//   ],
 23541  	//   "parameters": {
 23542  	//     "id": {
 23543  	//       "description": "Content category ID.",
 23544  	//       "format": "int64",
 23545  	//       "location": "path",
 23546  	//       "required": true,
 23547  	//       "type": "string"
 23548  	//     },
 23549  	//     "profileId": {
 23550  	//       "description": "User profile ID associated with this request.",
 23551  	//       "format": "int64",
 23552  	//       "location": "path",
 23553  	//       "required": true,
 23554  	//       "type": "string"
 23555  	//     }
 23556  	//   },
 23557  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 23558  	//   "response": {
 23559  	//     "$ref": "ContentCategory"
 23560  	//   },
 23561  	//   "scopes": [
 23562  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23563  	//   ]
 23564  	// }
 23565  
 23566  }
 23567  
 23568  // method id "dfareporting.contentCategories.insert":
 23569  
 23570  type ContentCategoriesInsertCall struct {
 23571  	s               *Service
 23572  	profileId       int64
 23573  	contentcategory *ContentCategory
 23574  	urlParams_      gensupport.URLParams
 23575  	ctx_            context.Context
 23576  	header_         http.Header
 23577  }
 23578  
 23579  // Insert: Inserts a new content category.
 23580  func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
 23581  	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23582  	c.profileId = profileId
 23583  	c.contentcategory = contentcategory
 23584  	return c
 23585  }
 23586  
 23587  // Fields allows partial responses to be retrieved. See
 23588  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23589  // for more information.
 23590  func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
 23591  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23592  	return c
 23593  }
 23594  
 23595  // Context sets the context to be used in this call's Do method. Any
 23596  // pending HTTP request will be aborted if the provided context is
 23597  // canceled.
 23598  func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 23599  	c.ctx_ = ctx
 23600  	return c
 23601  }
 23602  
 23603  // Header returns an http.Header that can be modified by the caller to
 23604  // add HTTP headers to the request.
 23605  func (c *ContentCategoriesInsertCall) Header() http.Header {
 23606  	if c.header_ == nil {
 23607  		c.header_ = make(http.Header)
 23608  	}
 23609  	return c.header_
 23610  }
 23611  
 23612  func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
 23613  	reqHeaders := make(http.Header)
 23614  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23615  	for k, v := range c.header_ {
 23616  		reqHeaders[k] = v
 23617  	}
 23618  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23619  	var body io.Reader = nil
 23620  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 23621  	if err != nil {
 23622  		return nil, err
 23623  	}
 23624  	reqHeaders.Set("Content-Type", "application/json")
 23625  	c.urlParams_.Set("alt", alt)
 23626  	c.urlParams_.Set("prettyPrint", "false")
 23627  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23628  	urls += "?" + c.urlParams_.Encode()
 23629  	req, err := http.NewRequest("POST", urls, body)
 23630  	if err != nil {
 23631  		return nil, err
 23632  	}
 23633  	req.Header = reqHeaders
 23634  	googleapi.Expand(req.URL, map[string]string{
 23635  		"profileId": strconv.FormatInt(c.profileId, 10),
 23636  	})
 23637  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23638  }
 23639  
 23640  // Do executes the "dfareporting.contentCategories.insert" call.
 23641  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23642  // status code is an error. Response headers are in either
 23643  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23644  // at all) in error.(*googleapi.Error).Header. Use
 23645  // googleapi.IsNotModified to check whether the returned error was
 23646  // because http.StatusNotModified was returned.
 23647  func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23648  	gensupport.SetOptions(c.urlParams_, opts...)
 23649  	res, err := c.doRequest("json")
 23650  	if res != nil && res.StatusCode == http.StatusNotModified {
 23651  		if res.Body != nil {
 23652  			res.Body.Close()
 23653  		}
 23654  		return nil, &googleapi.Error{
 23655  			Code:   res.StatusCode,
 23656  			Header: res.Header,
 23657  		}
 23658  	}
 23659  	if err != nil {
 23660  		return nil, err
 23661  	}
 23662  	defer googleapi.CloseBody(res)
 23663  	if err := googleapi.CheckResponse(res); err != nil {
 23664  		return nil, err
 23665  	}
 23666  	ret := &ContentCategory{
 23667  		ServerResponse: googleapi.ServerResponse{
 23668  			Header:         res.Header,
 23669  			HTTPStatusCode: res.StatusCode,
 23670  		},
 23671  	}
 23672  	target := &ret
 23673  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23674  		return nil, err
 23675  	}
 23676  	return ret, nil
 23677  	// {
 23678  	//   "description": "Inserts a new content category.",
 23679  	//   "httpMethod": "POST",
 23680  	//   "id": "dfareporting.contentCategories.insert",
 23681  	//   "parameterOrder": [
 23682  	//     "profileId"
 23683  	//   ],
 23684  	//   "parameters": {
 23685  	//     "profileId": {
 23686  	//       "description": "User profile ID associated with this request.",
 23687  	//       "format": "int64",
 23688  	//       "location": "path",
 23689  	//       "required": true,
 23690  	//       "type": "string"
 23691  	//     }
 23692  	//   },
 23693  	//   "path": "userprofiles/{profileId}/contentCategories",
 23694  	//   "request": {
 23695  	//     "$ref": "ContentCategory"
 23696  	//   },
 23697  	//   "response": {
 23698  	//     "$ref": "ContentCategory"
 23699  	//   },
 23700  	//   "scopes": [
 23701  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23702  	//   ]
 23703  	// }
 23704  
 23705  }
 23706  
 23707  // method id "dfareporting.contentCategories.list":
 23708  
 23709  type ContentCategoriesListCall struct {
 23710  	s            *Service
 23711  	profileId    int64
 23712  	urlParams_   gensupport.URLParams
 23713  	ifNoneMatch_ string
 23714  	ctx_         context.Context
 23715  	header_      http.Header
 23716  }
 23717  
 23718  // List: Retrieves a list of content categories, possibly filtered. This
 23719  // method supports paging.
 23720  func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
 23721  	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23722  	c.profileId = profileId
 23723  	return c
 23724  }
 23725  
 23726  // Ids sets the optional parameter "ids": Select only content categories
 23727  // with these IDs.
 23728  func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
 23729  	var ids_ []string
 23730  	for _, v := range ids {
 23731  		ids_ = append(ids_, fmt.Sprint(v))
 23732  	}
 23733  	c.urlParams_.SetMulti("ids", ids_)
 23734  	return c
 23735  }
 23736  
 23737  // MaxResults sets the optional parameter "maxResults": Maximum number
 23738  // of results to return.
 23739  func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
 23740  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 23741  	return c
 23742  }
 23743  
 23744  // PageToken sets the optional parameter "pageToken": Value of the
 23745  // nextPageToken from the previous result page.
 23746  func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
 23747  	c.urlParams_.Set("pageToken", pageToken)
 23748  	return c
 23749  }
 23750  
 23751  // SearchString sets the optional parameter "searchString": Allows
 23752  // searching for objects by name or ID. Wildcards (*) are allowed. For
 23753  // example, "contentcategory*2015" will return objects with names like
 23754  // "contentcategory June 2015", "contentcategory April 2015", or simply
 23755  // "contentcategory 2015". Most of the searches also add wildcards
 23756  // implicitly at the start and the end of the search string. For
 23757  // example, a search string of "contentcategory" will match objects with
 23758  // name "my contentcategory", "contentcategory 2015", or simply
 23759  // "contentcategory".
 23760  func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
 23761  	c.urlParams_.Set("searchString", searchString)
 23762  	return c
 23763  }
 23764  
 23765  // SortField sets the optional parameter "sortField": Field by which to
 23766  // sort the list.
 23767  //
 23768  // Possible values:
 23769  //
 23770  //	"ID" (default)
 23771  //	"NAME"
 23772  func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
 23773  	c.urlParams_.Set("sortField", sortField)
 23774  	return c
 23775  }
 23776  
 23777  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 23778  // results.
 23779  //
 23780  // Possible values:
 23781  //
 23782  //	"ASCENDING" (default)
 23783  //	"DESCENDING"
 23784  func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
 23785  	c.urlParams_.Set("sortOrder", sortOrder)
 23786  	return c
 23787  }
 23788  
 23789  // Fields allows partial responses to be retrieved. See
 23790  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23791  // for more information.
 23792  func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
 23793  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23794  	return c
 23795  }
 23796  
 23797  // IfNoneMatch sets the optional parameter which makes the operation
 23798  // fail if the object's ETag matches the given value. This is useful for
 23799  // getting updates only after the object has changed since the last
 23800  // request. Use googleapi.IsNotModified to check whether the response
 23801  // error from Do is the result of In-None-Match.
 23802  func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
 23803  	c.ifNoneMatch_ = entityTag
 23804  	return c
 23805  }
 23806  
 23807  // Context sets the context to be used in this call's Do method. Any
 23808  // pending HTTP request will be aborted if the provided context is
 23809  // canceled.
 23810  func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 23811  	c.ctx_ = ctx
 23812  	return c
 23813  }
 23814  
 23815  // Header returns an http.Header that can be modified by the caller to
 23816  // add HTTP headers to the request.
 23817  func (c *ContentCategoriesListCall) Header() http.Header {
 23818  	if c.header_ == nil {
 23819  		c.header_ = make(http.Header)
 23820  	}
 23821  	return c.header_
 23822  }
 23823  
 23824  func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 23825  	reqHeaders := make(http.Header)
 23826  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 23827  	for k, v := range c.header_ {
 23828  		reqHeaders[k] = v
 23829  	}
 23830  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23831  	if c.ifNoneMatch_ != "" {
 23832  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23833  	}
 23834  	var body io.Reader = nil
 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("GET", 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.list" call.
 23851  // Exactly one of *ContentCategoriesListResponse or error will be
 23852  // non-nil. Any non-2xx status code is an error. Response headers are in
 23853  // either *ContentCategoriesListResponse.ServerResponse.Header or (if a
 23854  // response was returned 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 *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, 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 := &ContentCategoriesListResponse{
 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": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
 23889  	//   "httpMethod": "GET",
 23890  	//   "id": "dfareporting.contentCategories.list",
 23891  	//   "parameterOrder": [
 23892  	//     "profileId"
 23893  	//   ],
 23894  	//   "parameters": {
 23895  	//     "ids": {
 23896  	//       "description": "Select only content categories with these IDs.",
 23897  	//       "format": "int64",
 23898  	//       "location": "query",
 23899  	//       "repeated": true,
 23900  	//       "type": "string"
 23901  	//     },
 23902  	//     "maxResults": {
 23903  	//       "default": "1000",
 23904  	//       "description": "Maximum number of results to return.",
 23905  	//       "format": "int32",
 23906  	//       "location": "query",
 23907  	//       "maximum": "1000",
 23908  	//       "minimum": "0",
 23909  	//       "type": "integer"
 23910  	//     },
 23911  	//     "pageToken": {
 23912  	//       "description": "Value of the nextPageToken from the previous result page.",
 23913  	//       "location": "query",
 23914  	//       "type": "string"
 23915  	//     },
 23916  	//     "profileId": {
 23917  	//       "description": "User profile ID associated with this request.",
 23918  	//       "format": "int64",
 23919  	//       "location": "path",
 23920  	//       "required": true,
 23921  	//       "type": "string"
 23922  	//     },
 23923  	//     "searchString": {
 23924  	//       "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\".",
 23925  	//       "location": "query",
 23926  	//       "type": "string"
 23927  	//     },
 23928  	//     "sortField": {
 23929  	//       "default": "ID",
 23930  	//       "description": "Field by which to sort the list.",
 23931  	//       "enum": [
 23932  	//         "ID",
 23933  	//         "NAME"
 23934  	//       ],
 23935  	//       "enumDescriptions": [
 23936  	//         "",
 23937  	//         ""
 23938  	//       ],
 23939  	//       "location": "query",
 23940  	//       "type": "string"
 23941  	//     },
 23942  	//     "sortOrder": {
 23943  	//       "default": "ASCENDING",
 23944  	//       "description": "Order of sorted results.",
 23945  	//       "enum": [
 23946  	//         "ASCENDING",
 23947  	//         "DESCENDING"
 23948  	//       ],
 23949  	//       "enumDescriptions": [
 23950  	//         "",
 23951  	//         ""
 23952  	//       ],
 23953  	//       "location": "query",
 23954  	//       "type": "string"
 23955  	//     }
 23956  	//   },
 23957  	//   "path": "userprofiles/{profileId}/contentCategories",
 23958  	//   "response": {
 23959  	//     "$ref": "ContentCategoriesListResponse"
 23960  	//   },
 23961  	//   "scopes": [
 23962  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23963  	//   ]
 23964  	// }
 23965  
 23966  }
 23967  
 23968  // Pages invokes f for each page of results.
 23969  // A non-nil error returned from f will halt the iteration.
 23970  // The provided context supersedes any context provided to the Context method.
 23971  func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
 23972  	c.ctx_ = ctx
 23973  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 23974  	for {
 23975  		x, err := c.Do()
 23976  		if err != nil {
 23977  			return err
 23978  		}
 23979  		if err := f(x); err != nil {
 23980  			return err
 23981  		}
 23982  		if x.NextPageToken == "" {
 23983  			return nil
 23984  		}
 23985  		c.PageToken(x.NextPageToken)
 23986  	}
 23987  }
 23988  
 23989  // method id "dfareporting.contentCategories.patch":
 23990  
 23991  type ContentCategoriesPatchCall struct {
 23992  	s               *Service
 23993  	profileId       int64
 23994  	contentcategory *ContentCategory
 23995  	urlParams_      gensupport.URLParams
 23996  	ctx_            context.Context
 23997  	header_         http.Header
 23998  }
 23999  
 24000  // Patch: Updates an existing content category. This method supports
 24001  // patch semantics.
 24002  func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
 24003  	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24004  	c.profileId = profileId
 24005  	c.urlParams_.Set("id", fmt.Sprint(id))
 24006  	c.contentcategory = contentcategory
 24007  	return c
 24008  }
 24009  
 24010  // Fields allows partial responses to be retrieved. See
 24011  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24012  // for more information.
 24013  func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
 24014  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24015  	return c
 24016  }
 24017  
 24018  // Context sets the context to be used in this call's Do method. Any
 24019  // pending HTTP request will be aborted if the provided context is
 24020  // canceled.
 24021  func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 24022  	c.ctx_ = ctx
 24023  	return c
 24024  }
 24025  
 24026  // Header returns an http.Header that can be modified by the caller to
 24027  // add HTTP headers to the request.
 24028  func (c *ContentCategoriesPatchCall) Header() http.Header {
 24029  	if c.header_ == nil {
 24030  		c.header_ = make(http.Header)
 24031  	}
 24032  	return c.header_
 24033  }
 24034  
 24035  func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 24036  	reqHeaders := make(http.Header)
 24037  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24038  	for k, v := range c.header_ {
 24039  		reqHeaders[k] = v
 24040  	}
 24041  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24042  	var body io.Reader = nil
 24043  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 24044  	if err != nil {
 24045  		return nil, err
 24046  	}
 24047  	reqHeaders.Set("Content-Type", "application/json")
 24048  	c.urlParams_.Set("alt", alt)
 24049  	c.urlParams_.Set("prettyPrint", "false")
 24050  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 24051  	urls += "?" + c.urlParams_.Encode()
 24052  	req, err := http.NewRequest("PATCH", urls, body)
 24053  	if err != nil {
 24054  		return nil, err
 24055  	}
 24056  	req.Header = reqHeaders
 24057  	googleapi.Expand(req.URL, map[string]string{
 24058  		"profileId": strconv.FormatInt(c.profileId, 10),
 24059  	})
 24060  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24061  }
 24062  
 24063  // Do executes the "dfareporting.contentCategories.patch" call.
 24064  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 24065  // status code is an error. Response headers are in either
 24066  // *ContentCategory.ServerResponse.Header or (if a response was returned
 24067  // at all) in error.(*googleapi.Error).Header. Use
 24068  // googleapi.IsNotModified to check whether the returned error was
 24069  // because http.StatusNotModified was returned.
 24070  func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 24071  	gensupport.SetOptions(c.urlParams_, opts...)
 24072  	res, err := c.doRequest("json")
 24073  	if res != nil && res.StatusCode == http.StatusNotModified {
 24074  		if res.Body != nil {
 24075  			res.Body.Close()
 24076  		}
 24077  		return nil, &googleapi.Error{
 24078  			Code:   res.StatusCode,
 24079  			Header: res.Header,
 24080  		}
 24081  	}
 24082  	if err != nil {
 24083  		return nil, err
 24084  	}
 24085  	defer googleapi.CloseBody(res)
 24086  	if err := googleapi.CheckResponse(res); err != nil {
 24087  		return nil, err
 24088  	}
 24089  	ret := &ContentCategory{
 24090  		ServerResponse: googleapi.ServerResponse{
 24091  			Header:         res.Header,
 24092  			HTTPStatusCode: res.StatusCode,
 24093  		},
 24094  	}
 24095  	target := &ret
 24096  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24097  		return nil, err
 24098  	}
 24099  	return ret, nil
 24100  	// {
 24101  	//   "description": "Updates an existing content category. This method supports patch semantics.",
 24102  	//   "httpMethod": "PATCH",
 24103  	//   "id": "dfareporting.contentCategories.patch",
 24104  	//   "parameterOrder": [
 24105  	//     "profileId",
 24106  	//     "id"
 24107  	//   ],
 24108  	//   "parameters": {
 24109  	//     "id": {
 24110  	//       "description": "Content category ID.",
 24111  	//       "format": "int64",
 24112  	//       "location": "query",
 24113  	//       "required": true,
 24114  	//       "type": "string"
 24115  	//     },
 24116  	//     "profileId": {
 24117  	//       "description": "User profile ID associated with this request.",
 24118  	//       "format": "int64",
 24119  	//       "location": "path",
 24120  	//       "required": true,
 24121  	//       "type": "string"
 24122  	//     }
 24123  	//   },
 24124  	//   "path": "userprofiles/{profileId}/contentCategories",
 24125  	//   "request": {
 24126  	//     "$ref": "ContentCategory"
 24127  	//   },
 24128  	//   "response": {
 24129  	//     "$ref": "ContentCategory"
 24130  	//   },
 24131  	//   "scopes": [
 24132  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24133  	//   ]
 24134  	// }
 24135  
 24136  }
 24137  
 24138  // method id "dfareporting.contentCategories.update":
 24139  
 24140  type ContentCategoriesUpdateCall struct {
 24141  	s               *Service
 24142  	profileId       int64
 24143  	contentcategory *ContentCategory
 24144  	urlParams_      gensupport.URLParams
 24145  	ctx_            context.Context
 24146  	header_         http.Header
 24147  }
 24148  
 24149  // Update: Updates an existing content category.
 24150  func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
 24151  	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24152  	c.profileId = profileId
 24153  	c.contentcategory = contentcategory
 24154  	return c
 24155  }
 24156  
 24157  // Fields allows partial responses to be retrieved. See
 24158  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24159  // for more information.
 24160  func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
 24161  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24162  	return c
 24163  }
 24164  
 24165  // Context sets the context to be used in this call's Do method. Any
 24166  // pending HTTP request will be aborted if the provided context is
 24167  // canceled.
 24168  func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 24169  	c.ctx_ = ctx
 24170  	return c
 24171  }
 24172  
 24173  // Header returns an http.Header that can be modified by the caller to
 24174  // add HTTP headers to the request.
 24175  func (c *ContentCategoriesUpdateCall) Header() http.Header {
 24176  	if c.header_ == nil {
 24177  		c.header_ = make(http.Header)
 24178  	}
 24179  	return c.header_
 24180  }
 24181  
 24182  func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
 24183  	reqHeaders := make(http.Header)
 24184  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24185  	for k, v := range c.header_ {
 24186  		reqHeaders[k] = v
 24187  	}
 24188  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24189  	var body io.Reader = nil
 24190  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 24191  	if err != nil {
 24192  		return nil, err
 24193  	}
 24194  	reqHeaders.Set("Content-Type", "application/json")
 24195  	c.urlParams_.Set("alt", alt)
 24196  	c.urlParams_.Set("prettyPrint", "false")
 24197  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 24198  	urls += "?" + c.urlParams_.Encode()
 24199  	req, err := http.NewRequest("PUT", urls, body)
 24200  	if err != nil {
 24201  		return nil, err
 24202  	}
 24203  	req.Header = reqHeaders
 24204  	googleapi.Expand(req.URL, map[string]string{
 24205  		"profileId": strconv.FormatInt(c.profileId, 10),
 24206  	})
 24207  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24208  }
 24209  
 24210  // Do executes the "dfareporting.contentCategories.update" call.
 24211  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 24212  // status code is an error. Response headers are in either
 24213  // *ContentCategory.ServerResponse.Header or (if a response was returned
 24214  // at all) in error.(*googleapi.Error).Header. Use
 24215  // googleapi.IsNotModified to check whether the returned error was
 24216  // because http.StatusNotModified was returned.
 24217  func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 24218  	gensupport.SetOptions(c.urlParams_, opts...)
 24219  	res, err := c.doRequest("json")
 24220  	if res != nil && res.StatusCode == http.StatusNotModified {
 24221  		if res.Body != nil {
 24222  			res.Body.Close()
 24223  		}
 24224  		return nil, &googleapi.Error{
 24225  			Code:   res.StatusCode,
 24226  			Header: res.Header,
 24227  		}
 24228  	}
 24229  	if err != nil {
 24230  		return nil, err
 24231  	}
 24232  	defer googleapi.CloseBody(res)
 24233  	if err := googleapi.CheckResponse(res); err != nil {
 24234  		return nil, err
 24235  	}
 24236  	ret := &ContentCategory{
 24237  		ServerResponse: googleapi.ServerResponse{
 24238  			Header:         res.Header,
 24239  			HTTPStatusCode: res.StatusCode,
 24240  		},
 24241  	}
 24242  	target := &ret
 24243  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24244  		return nil, err
 24245  	}
 24246  	return ret, nil
 24247  	// {
 24248  	//   "description": "Updates an existing content category.",
 24249  	//   "httpMethod": "PUT",
 24250  	//   "id": "dfareporting.contentCategories.update",
 24251  	//   "parameterOrder": [
 24252  	//     "profileId"
 24253  	//   ],
 24254  	//   "parameters": {
 24255  	//     "profileId": {
 24256  	//       "description": "User profile ID associated with this request.",
 24257  	//       "format": "int64",
 24258  	//       "location": "path",
 24259  	//       "required": true,
 24260  	//       "type": "string"
 24261  	//     }
 24262  	//   },
 24263  	//   "path": "userprofiles/{profileId}/contentCategories",
 24264  	//   "request": {
 24265  	//     "$ref": "ContentCategory"
 24266  	//   },
 24267  	//   "response": {
 24268  	//     "$ref": "ContentCategory"
 24269  	//   },
 24270  	//   "scopes": [
 24271  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24272  	//   ]
 24273  	// }
 24274  
 24275  }
 24276  
 24277  // method id "dfareporting.conversions.batchinsert":
 24278  
 24279  type ConversionsBatchinsertCall struct {
 24280  	s                             *Service
 24281  	profileId                     int64
 24282  	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
 24283  	urlParams_                    gensupport.URLParams
 24284  	ctx_                          context.Context
 24285  	header_                       http.Header
 24286  }
 24287  
 24288  // Batchinsert: Inserts conversions.
 24289  func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
 24290  	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24291  	c.profileId = profileId
 24292  	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
 24293  	return c
 24294  }
 24295  
 24296  // Fields allows partial responses to be retrieved. See
 24297  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24298  // for more information.
 24299  func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
 24300  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24301  	return c
 24302  }
 24303  
 24304  // Context sets the context to be used in this call's Do method. Any
 24305  // pending HTTP request will be aborted if the provided context is
 24306  // canceled.
 24307  func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
 24308  	c.ctx_ = ctx
 24309  	return c
 24310  }
 24311  
 24312  // Header returns an http.Header that can be modified by the caller to
 24313  // add HTTP headers to the request.
 24314  func (c *ConversionsBatchinsertCall) Header() http.Header {
 24315  	if c.header_ == nil {
 24316  		c.header_ = make(http.Header)
 24317  	}
 24318  	return c.header_
 24319  }
 24320  
 24321  func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 24322  	reqHeaders := make(http.Header)
 24323  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24324  	for k, v := range c.header_ {
 24325  		reqHeaders[k] = v
 24326  	}
 24327  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24328  	var body io.Reader = nil
 24329  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
 24330  	if err != nil {
 24331  		return nil, err
 24332  	}
 24333  	reqHeaders.Set("Content-Type", "application/json")
 24334  	c.urlParams_.Set("alt", alt)
 24335  	c.urlParams_.Set("prettyPrint", "false")
 24336  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
 24337  	urls += "?" + c.urlParams_.Encode()
 24338  	req, err := http.NewRequest("POST", urls, body)
 24339  	if err != nil {
 24340  		return nil, err
 24341  	}
 24342  	req.Header = reqHeaders
 24343  	googleapi.Expand(req.URL, map[string]string{
 24344  		"profileId": strconv.FormatInt(c.profileId, 10),
 24345  	})
 24346  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24347  }
 24348  
 24349  // Do executes the "dfareporting.conversions.batchinsert" call.
 24350  // Exactly one of *ConversionsBatchInsertResponse or error will be
 24351  // non-nil. Any non-2xx status code is an error. Response headers are in
 24352  // either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
 24353  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24354  // googleapi.IsNotModified to check whether the returned error was
 24355  // because http.StatusNotModified was returned.
 24356  func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
 24357  	gensupport.SetOptions(c.urlParams_, opts...)
 24358  	res, err := c.doRequest("json")
 24359  	if res != nil && res.StatusCode == http.StatusNotModified {
 24360  		if res.Body != nil {
 24361  			res.Body.Close()
 24362  		}
 24363  		return nil, &googleapi.Error{
 24364  			Code:   res.StatusCode,
 24365  			Header: res.Header,
 24366  		}
 24367  	}
 24368  	if err != nil {
 24369  		return nil, err
 24370  	}
 24371  	defer googleapi.CloseBody(res)
 24372  	if err := googleapi.CheckResponse(res); err != nil {
 24373  		return nil, err
 24374  	}
 24375  	ret := &ConversionsBatchInsertResponse{
 24376  		ServerResponse: googleapi.ServerResponse{
 24377  			Header:         res.Header,
 24378  			HTTPStatusCode: res.StatusCode,
 24379  		},
 24380  	}
 24381  	target := &ret
 24382  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24383  		return nil, err
 24384  	}
 24385  	return ret, nil
 24386  	// {
 24387  	//   "description": "Inserts conversions.",
 24388  	//   "httpMethod": "POST",
 24389  	//   "id": "dfareporting.conversions.batchinsert",
 24390  	//   "parameterOrder": [
 24391  	//     "profileId"
 24392  	//   ],
 24393  	//   "parameters": {
 24394  	//     "profileId": {
 24395  	//       "description": "User profile ID associated with this request.",
 24396  	//       "format": "int64",
 24397  	//       "location": "path",
 24398  	//       "required": true,
 24399  	//       "type": "string"
 24400  	//     }
 24401  	//   },
 24402  	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
 24403  	//   "request": {
 24404  	//     "$ref": "ConversionsBatchInsertRequest"
 24405  	//   },
 24406  	//   "response": {
 24407  	//     "$ref": "ConversionsBatchInsertResponse"
 24408  	//   },
 24409  	//   "scopes": [
 24410  	//     "https://www.googleapis.com/auth/ddmconversions"
 24411  	//   ]
 24412  	// }
 24413  
 24414  }
 24415  
 24416  // method id "dfareporting.conversions.batchupdate":
 24417  
 24418  type ConversionsBatchupdateCall struct {
 24419  	s                             *Service
 24420  	profileId                     int64
 24421  	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
 24422  	urlParams_                    gensupport.URLParams
 24423  	ctx_                          context.Context
 24424  	header_                       http.Header
 24425  }
 24426  
 24427  // Batchupdate: Updates existing conversions.
 24428  func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
 24429  	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24430  	c.profileId = profileId
 24431  	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
 24432  	return c
 24433  }
 24434  
 24435  // Fields allows partial responses to be retrieved. See
 24436  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24437  // for more information.
 24438  func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
 24439  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24440  	return c
 24441  }
 24442  
 24443  // Context sets the context to be used in this call's Do method. Any
 24444  // pending HTTP request will be aborted if the provided context is
 24445  // canceled.
 24446  func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
 24447  	c.ctx_ = ctx
 24448  	return c
 24449  }
 24450  
 24451  // Header returns an http.Header that can be modified by the caller to
 24452  // add HTTP headers to the request.
 24453  func (c *ConversionsBatchupdateCall) Header() http.Header {
 24454  	if c.header_ == nil {
 24455  		c.header_ = make(http.Header)
 24456  	}
 24457  	return c.header_
 24458  }
 24459  
 24460  func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
 24461  	reqHeaders := make(http.Header)
 24462  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24463  	for k, v := range c.header_ {
 24464  		reqHeaders[k] = v
 24465  	}
 24466  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24467  	var body io.Reader = nil
 24468  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
 24469  	if err != nil {
 24470  		return nil, err
 24471  	}
 24472  	reqHeaders.Set("Content-Type", "application/json")
 24473  	c.urlParams_.Set("alt", alt)
 24474  	c.urlParams_.Set("prettyPrint", "false")
 24475  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
 24476  	urls += "?" + c.urlParams_.Encode()
 24477  	req, err := http.NewRequest("POST", urls, body)
 24478  	if err != nil {
 24479  		return nil, err
 24480  	}
 24481  	req.Header = reqHeaders
 24482  	googleapi.Expand(req.URL, map[string]string{
 24483  		"profileId": strconv.FormatInt(c.profileId, 10),
 24484  	})
 24485  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24486  }
 24487  
 24488  // Do executes the "dfareporting.conversions.batchupdate" call.
 24489  // Exactly one of *ConversionsBatchUpdateResponse or error will be
 24490  // non-nil. Any non-2xx status code is an error. Response headers are in
 24491  // either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
 24492  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24493  // googleapi.IsNotModified to check whether the returned error was
 24494  // because http.StatusNotModified was returned.
 24495  func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
 24496  	gensupport.SetOptions(c.urlParams_, opts...)
 24497  	res, err := c.doRequest("json")
 24498  	if res != nil && res.StatusCode == http.StatusNotModified {
 24499  		if res.Body != nil {
 24500  			res.Body.Close()
 24501  		}
 24502  		return nil, &googleapi.Error{
 24503  			Code:   res.StatusCode,
 24504  			Header: res.Header,
 24505  		}
 24506  	}
 24507  	if err != nil {
 24508  		return nil, err
 24509  	}
 24510  	defer googleapi.CloseBody(res)
 24511  	if err := googleapi.CheckResponse(res); err != nil {
 24512  		return nil, err
 24513  	}
 24514  	ret := &ConversionsBatchUpdateResponse{
 24515  		ServerResponse: googleapi.ServerResponse{
 24516  			Header:         res.Header,
 24517  			HTTPStatusCode: res.StatusCode,
 24518  		},
 24519  	}
 24520  	target := &ret
 24521  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24522  		return nil, err
 24523  	}
 24524  	return ret, nil
 24525  	// {
 24526  	//   "description": "Updates existing conversions.",
 24527  	//   "httpMethod": "POST",
 24528  	//   "id": "dfareporting.conversions.batchupdate",
 24529  	//   "parameterOrder": [
 24530  	//     "profileId"
 24531  	//   ],
 24532  	//   "parameters": {
 24533  	//     "profileId": {
 24534  	//       "description": "User profile ID associated with this request.",
 24535  	//       "format": "int64",
 24536  	//       "location": "path",
 24537  	//       "required": true,
 24538  	//       "type": "string"
 24539  	//     }
 24540  	//   },
 24541  	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
 24542  	//   "request": {
 24543  	//     "$ref": "ConversionsBatchUpdateRequest"
 24544  	//   },
 24545  	//   "response": {
 24546  	//     "$ref": "ConversionsBatchUpdateResponse"
 24547  	//   },
 24548  	//   "scopes": [
 24549  	//     "https://www.googleapis.com/auth/ddmconversions"
 24550  	//   ]
 24551  	// }
 24552  
 24553  }
 24554  
 24555  // method id "dfareporting.countries.get":
 24556  
 24557  type CountriesGetCall struct {
 24558  	s            *Service
 24559  	profileId    int64
 24560  	dartId       int64
 24561  	urlParams_   gensupport.URLParams
 24562  	ifNoneMatch_ string
 24563  	ctx_         context.Context
 24564  	header_      http.Header
 24565  }
 24566  
 24567  // Get: Gets one country by ID.
 24568  func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
 24569  	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24570  	c.profileId = profileId
 24571  	c.dartId = dartId
 24572  	return c
 24573  }
 24574  
 24575  // Fields allows partial responses to be retrieved. See
 24576  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24577  // for more information.
 24578  func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
 24579  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24580  	return c
 24581  }
 24582  
 24583  // IfNoneMatch sets the optional parameter which makes the operation
 24584  // fail if the object's ETag matches the given value. This is useful for
 24585  // getting updates only after the object has changed since the last
 24586  // request. Use googleapi.IsNotModified to check whether the response
 24587  // error from Do is the result of In-None-Match.
 24588  func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
 24589  	c.ifNoneMatch_ = entityTag
 24590  	return c
 24591  }
 24592  
 24593  // Context sets the context to be used in this call's Do method. Any
 24594  // pending HTTP request will be aborted if the provided context is
 24595  // canceled.
 24596  func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 24597  	c.ctx_ = ctx
 24598  	return c
 24599  }
 24600  
 24601  // Header returns an http.Header that can be modified by the caller to
 24602  // add HTTP headers to the request.
 24603  func (c *CountriesGetCall) Header() http.Header {
 24604  	if c.header_ == nil {
 24605  		c.header_ = make(http.Header)
 24606  	}
 24607  	return c.header_
 24608  }
 24609  
 24610  func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 24611  	reqHeaders := make(http.Header)
 24612  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24613  	for k, v := range c.header_ {
 24614  		reqHeaders[k] = v
 24615  	}
 24616  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24617  	if c.ifNoneMatch_ != "" {
 24618  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24619  	}
 24620  	var body io.Reader = nil
 24621  	c.urlParams_.Set("alt", alt)
 24622  	c.urlParams_.Set("prettyPrint", "false")
 24623  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
 24624  	urls += "?" + c.urlParams_.Encode()
 24625  	req, err := http.NewRequest("GET", urls, body)
 24626  	if err != nil {
 24627  		return nil, err
 24628  	}
 24629  	req.Header = reqHeaders
 24630  	googleapi.Expand(req.URL, map[string]string{
 24631  		"profileId": strconv.FormatInt(c.profileId, 10),
 24632  		"dartId":    strconv.FormatInt(c.dartId, 10),
 24633  	})
 24634  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24635  }
 24636  
 24637  // Do executes the "dfareporting.countries.get" call.
 24638  // Exactly one of *Country or error will be non-nil. Any non-2xx status
 24639  // code is an error. Response headers are in either
 24640  // *Country.ServerResponse.Header or (if a response was returned at all)
 24641  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 24642  // check whether the returned error was because http.StatusNotModified
 24643  // was returned.
 24644  func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
 24645  	gensupport.SetOptions(c.urlParams_, opts...)
 24646  	res, err := c.doRequest("json")
 24647  	if res != nil && res.StatusCode == http.StatusNotModified {
 24648  		if res.Body != nil {
 24649  			res.Body.Close()
 24650  		}
 24651  		return nil, &googleapi.Error{
 24652  			Code:   res.StatusCode,
 24653  			Header: res.Header,
 24654  		}
 24655  	}
 24656  	if err != nil {
 24657  		return nil, err
 24658  	}
 24659  	defer googleapi.CloseBody(res)
 24660  	if err := googleapi.CheckResponse(res); err != nil {
 24661  		return nil, err
 24662  	}
 24663  	ret := &Country{
 24664  		ServerResponse: googleapi.ServerResponse{
 24665  			Header:         res.Header,
 24666  			HTTPStatusCode: res.StatusCode,
 24667  		},
 24668  	}
 24669  	target := &ret
 24670  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24671  		return nil, err
 24672  	}
 24673  	return ret, nil
 24674  	// {
 24675  	//   "description": "Gets one country by ID.",
 24676  	//   "httpMethod": "GET",
 24677  	//   "id": "dfareporting.countries.get",
 24678  	//   "parameterOrder": [
 24679  	//     "profileId",
 24680  	//     "dartId"
 24681  	//   ],
 24682  	//   "parameters": {
 24683  	//     "dartId": {
 24684  	//       "description": "Country DART ID.",
 24685  	//       "format": "int64",
 24686  	//       "location": "path",
 24687  	//       "required": true,
 24688  	//       "type": "string"
 24689  	//     },
 24690  	//     "profileId": {
 24691  	//       "description": "User profile ID associated with this request.",
 24692  	//       "format": "int64",
 24693  	//       "location": "path",
 24694  	//       "required": true,
 24695  	//       "type": "string"
 24696  	//     }
 24697  	//   },
 24698  	//   "path": "userprofiles/{profileId}/countries/{dartId}",
 24699  	//   "response": {
 24700  	//     "$ref": "Country"
 24701  	//   },
 24702  	//   "scopes": [
 24703  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24704  	//   ]
 24705  	// }
 24706  
 24707  }
 24708  
 24709  // method id "dfareporting.countries.list":
 24710  
 24711  type CountriesListCall struct {
 24712  	s            *Service
 24713  	profileId    int64
 24714  	urlParams_   gensupport.URLParams
 24715  	ifNoneMatch_ string
 24716  	ctx_         context.Context
 24717  	header_      http.Header
 24718  }
 24719  
 24720  // List: Retrieves a list of countries.
 24721  func (r *CountriesService) List(profileId int64) *CountriesListCall {
 24722  	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24723  	c.profileId = profileId
 24724  	return c
 24725  }
 24726  
 24727  // Fields allows partial responses to be retrieved. See
 24728  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24729  // for more information.
 24730  func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
 24731  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24732  	return c
 24733  }
 24734  
 24735  // IfNoneMatch sets the optional parameter which makes the operation
 24736  // fail if the object's ETag matches the given value. This is useful for
 24737  // getting updates only after the object has changed since the last
 24738  // request. Use googleapi.IsNotModified to check whether the response
 24739  // error from Do is the result of In-None-Match.
 24740  func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
 24741  	c.ifNoneMatch_ = entityTag
 24742  	return c
 24743  }
 24744  
 24745  // Context sets the context to be used in this call's Do method. Any
 24746  // pending HTTP request will be aborted if the provided context is
 24747  // canceled.
 24748  func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 24749  	c.ctx_ = ctx
 24750  	return c
 24751  }
 24752  
 24753  // Header returns an http.Header that can be modified by the caller to
 24754  // add HTTP headers to the request.
 24755  func (c *CountriesListCall) Header() http.Header {
 24756  	if c.header_ == nil {
 24757  		c.header_ = make(http.Header)
 24758  	}
 24759  	return c.header_
 24760  }
 24761  
 24762  func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 24763  	reqHeaders := make(http.Header)
 24764  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24765  	for k, v := range c.header_ {
 24766  		reqHeaders[k] = v
 24767  	}
 24768  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24769  	if c.ifNoneMatch_ != "" {
 24770  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24771  	}
 24772  	var body io.Reader = nil
 24773  	c.urlParams_.Set("alt", alt)
 24774  	c.urlParams_.Set("prettyPrint", "false")
 24775  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
 24776  	urls += "?" + c.urlParams_.Encode()
 24777  	req, err := http.NewRequest("GET", urls, body)
 24778  	if err != nil {
 24779  		return nil, err
 24780  	}
 24781  	req.Header = reqHeaders
 24782  	googleapi.Expand(req.URL, map[string]string{
 24783  		"profileId": strconv.FormatInt(c.profileId, 10),
 24784  	})
 24785  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24786  }
 24787  
 24788  // Do executes the "dfareporting.countries.list" call.
 24789  // Exactly one of *CountriesListResponse or error will be non-nil. Any
 24790  // non-2xx status code is an error. Response headers are in either
 24791  // *CountriesListResponse.ServerResponse.Header or (if a response was
 24792  // returned at all) in error.(*googleapi.Error).Header. Use
 24793  // googleapi.IsNotModified to check whether the returned error was
 24794  // because http.StatusNotModified was returned.
 24795  func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
 24796  	gensupport.SetOptions(c.urlParams_, opts...)
 24797  	res, err := c.doRequest("json")
 24798  	if res != nil && res.StatusCode == http.StatusNotModified {
 24799  		if res.Body != nil {
 24800  			res.Body.Close()
 24801  		}
 24802  		return nil, &googleapi.Error{
 24803  			Code:   res.StatusCode,
 24804  			Header: res.Header,
 24805  		}
 24806  	}
 24807  	if err != nil {
 24808  		return nil, err
 24809  	}
 24810  	defer googleapi.CloseBody(res)
 24811  	if err := googleapi.CheckResponse(res); err != nil {
 24812  		return nil, err
 24813  	}
 24814  	ret := &CountriesListResponse{
 24815  		ServerResponse: googleapi.ServerResponse{
 24816  			Header:         res.Header,
 24817  			HTTPStatusCode: res.StatusCode,
 24818  		},
 24819  	}
 24820  	target := &ret
 24821  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24822  		return nil, err
 24823  	}
 24824  	return ret, nil
 24825  	// {
 24826  	//   "description": "Retrieves a list of countries.",
 24827  	//   "httpMethod": "GET",
 24828  	//   "id": "dfareporting.countries.list",
 24829  	//   "parameterOrder": [
 24830  	//     "profileId"
 24831  	//   ],
 24832  	//   "parameters": {
 24833  	//     "profileId": {
 24834  	//       "description": "User profile ID associated with this request.",
 24835  	//       "format": "int64",
 24836  	//       "location": "path",
 24837  	//       "required": true,
 24838  	//       "type": "string"
 24839  	//     }
 24840  	//   },
 24841  	//   "path": "userprofiles/{profileId}/countries",
 24842  	//   "response": {
 24843  	//     "$ref": "CountriesListResponse"
 24844  	//   },
 24845  	//   "scopes": [
 24846  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24847  	//   ]
 24848  	// }
 24849  
 24850  }
 24851  
 24852  // method id "dfareporting.creativeAssets.insert":
 24853  
 24854  type CreativeAssetsInsertCall struct {
 24855  	s                     *Service
 24856  	profileId             int64
 24857  	advertiserId          int64
 24858  	creativeassetmetadata *CreativeAssetMetadata
 24859  	urlParams_            gensupport.URLParams
 24860  	mediaInfo_            *gensupport.MediaInfo
 24861  	ctx_                  context.Context
 24862  	header_               http.Header
 24863  }
 24864  
 24865  // Insert: Inserts a new creative asset.
 24866  func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
 24867  	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24868  	c.profileId = profileId
 24869  	c.advertiserId = advertiserId
 24870  	c.creativeassetmetadata = creativeassetmetadata
 24871  	return c
 24872  }
 24873  
 24874  // Media specifies the media to upload in one or more chunks. The chunk
 24875  // size may be controlled by supplying a MediaOption generated by
 24876  // googleapi.ChunkSize. The chunk size defaults to
 24877  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the
 24878  // upload request will be determined by sniffing the contents of r,
 24879  // unless a MediaOption generated by googleapi.ContentType is
 24880  // supplied.
 24881  // At most one of Media and ResumableMedia may be set.
 24882  func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
 24883  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 24884  	return c
 24885  }
 24886  
 24887  // ResumableMedia specifies the media to upload in chunks and can be
 24888  // canceled with ctx.
 24889  //
 24890  // Deprecated: use Media instead.
 24891  //
 24892  // At most one of Media and ResumableMedia may be set. mediaType
 24893  // identifies the MIME media type of the upload, such as "image/png". If
 24894  // mediaType is "", it will be auto-detected. The provided ctx will
 24895  // supersede any context previously provided to the Context method.
 24896  func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 24897  	c.ctx_ = ctx
 24898  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 24899  	return c
 24900  }
 24901  
 24902  // ProgressUpdater provides a callback function that will be called
 24903  // after every chunk. It should be a low-latency function in order to
 24904  // not slow down the upload operation. This should only be called when
 24905  // using ResumableMedia (as opposed to Media).
 24906  func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
 24907  	c.mediaInfo_.SetProgressUpdater(pu)
 24908  	return c
 24909  }
 24910  
 24911  // Fields allows partial responses to be retrieved. See
 24912  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24913  // for more information.
 24914  func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
 24915  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24916  	return c
 24917  }
 24918  
 24919  // Context sets the context to be used in this call's Do method. Any
 24920  // pending HTTP request will be aborted if the provided context is
 24921  // canceled.
 24922  // This context will supersede any context previously provided to the
 24923  // ResumableMedia method.
 24924  func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 24925  	c.ctx_ = ctx
 24926  	return c
 24927  }
 24928  
 24929  // Header returns an http.Header that can be modified by the caller to
 24930  // add HTTP headers to the request.
 24931  func (c *CreativeAssetsInsertCall) Header() http.Header {
 24932  	if c.header_ == nil {
 24933  		c.header_ = make(http.Header)
 24934  	}
 24935  	return c.header_
 24936  }
 24937  
 24938  func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
 24939  	reqHeaders := make(http.Header)
 24940  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 24941  	for k, v := range c.header_ {
 24942  		reqHeaders[k] = v
 24943  	}
 24944  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24945  	var body io.Reader = nil
 24946  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
 24947  	if err != nil {
 24948  		return nil, err
 24949  	}
 24950  	reqHeaders.Set("Content-Type", "application/json")
 24951  	c.urlParams_.Set("alt", alt)
 24952  	c.urlParams_.Set("prettyPrint", "false")
 24953  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 24954  	if c.mediaInfo_ != nil {
 24955  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 24956  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 24957  	}
 24958  	if body == nil {
 24959  		body = new(bytes.Buffer)
 24960  		reqHeaders.Set("Content-Type", "application/json")
 24961  	}
 24962  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 24963  	defer cleanup()
 24964  	urls += "?" + c.urlParams_.Encode()
 24965  	req, err := http.NewRequest("POST", urls, body)
 24966  	if err != nil {
 24967  		return nil, err
 24968  	}
 24969  	req.Header = reqHeaders
 24970  	req.GetBody = getBody
 24971  	googleapi.Expand(req.URL, map[string]string{
 24972  		"profileId":    strconv.FormatInt(c.profileId, 10),
 24973  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24974  	})
 24975  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24976  }
 24977  
 24978  // Do executes the "dfareporting.creativeAssets.insert" call.
 24979  // Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
 24980  // non-2xx status code is an error. Response headers are in either
 24981  // *CreativeAssetMetadata.ServerResponse.Header or (if a response was
 24982  // returned at all) in error.(*googleapi.Error).Header. Use
 24983  // googleapi.IsNotModified to check whether the returned error was
 24984  // because http.StatusNotModified was returned.
 24985  func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
 24986  	gensupport.SetOptions(c.urlParams_, opts...)
 24987  	res, err := c.doRequest("json")
 24988  	if res != nil && res.StatusCode == http.StatusNotModified {
 24989  		if res.Body != nil {
 24990  			res.Body.Close()
 24991  		}
 24992  		return nil, &googleapi.Error{
 24993  			Code:   res.StatusCode,
 24994  			Header: res.Header,
 24995  		}
 24996  	}
 24997  	if err != nil {
 24998  		return nil, err
 24999  	}
 25000  	defer googleapi.CloseBody(res)
 25001  	if err := googleapi.CheckResponse(res); err != nil {
 25002  		return nil, err
 25003  	}
 25004  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 25005  	if rx != nil {
 25006  		rx.Client = c.s.client
 25007  		rx.UserAgent = c.s.userAgent()
 25008  		ctx := c.ctx_
 25009  		if ctx == nil {
 25010  			ctx = context.TODO()
 25011  		}
 25012  		res, err = rx.Upload(ctx)
 25013  		if err != nil {
 25014  			return nil, err
 25015  		}
 25016  		defer res.Body.Close()
 25017  		if err := googleapi.CheckResponse(res); err != nil {
 25018  			return nil, err
 25019  		}
 25020  	}
 25021  	ret := &CreativeAssetMetadata{
 25022  		ServerResponse: googleapi.ServerResponse{
 25023  			Header:         res.Header,
 25024  			HTTPStatusCode: res.StatusCode,
 25025  		},
 25026  	}
 25027  	target := &ret
 25028  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25029  		return nil, err
 25030  	}
 25031  	return ret, nil
 25032  	// {
 25033  	//   "description": "Inserts a new creative asset.",
 25034  	//   "httpMethod": "POST",
 25035  	//   "id": "dfareporting.creativeAssets.insert",
 25036  	//   "mediaUpload": {
 25037  	//     "accept": [
 25038  	//       "*/*"
 25039  	//     ],
 25040  	//     "maxSize": "1024MB",
 25041  	//     "protocols": {
 25042  	//       "resumable": {
 25043  	//         "multipart": true,
 25044  	//         "path": "/resumable/upload/dfareporting/v3.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 25045  	//       },
 25046  	//       "simple": {
 25047  	//         "multipart": true,
 25048  	//         "path": "/upload/dfareporting/v3.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 25049  	//       }
 25050  	//     }
 25051  	//   },
 25052  	//   "parameterOrder": [
 25053  	//     "profileId",
 25054  	//     "advertiserId"
 25055  	//   ],
 25056  	//   "parameters": {
 25057  	//     "advertiserId": {
 25058  	//       "description": "Advertiser ID of this creative. This is a required field.",
 25059  	//       "format": "int64",
 25060  	//       "location": "path",
 25061  	//       "required": true,
 25062  	//       "type": "string"
 25063  	//     },
 25064  	//     "profileId": {
 25065  	//       "description": "User profile ID associated with this request.",
 25066  	//       "format": "int64",
 25067  	//       "location": "path",
 25068  	//       "required": true,
 25069  	//       "type": "string"
 25070  	//     }
 25071  	//   },
 25072  	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 25073  	//   "request": {
 25074  	//     "$ref": "CreativeAssetMetadata"
 25075  	//   },
 25076  	//   "response": {
 25077  	//     "$ref": "CreativeAssetMetadata"
 25078  	//   },
 25079  	//   "scopes": [
 25080  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25081  	//   ],
 25082  	//   "supportsMediaUpload": true
 25083  	// }
 25084  
 25085  }
 25086  
 25087  // method id "dfareporting.creativeFieldValues.delete":
 25088  
 25089  type CreativeFieldValuesDeleteCall struct {
 25090  	s               *Service
 25091  	profileId       int64
 25092  	creativeFieldId int64
 25093  	id              int64
 25094  	urlParams_      gensupport.URLParams
 25095  	ctx_            context.Context
 25096  	header_         http.Header
 25097  }
 25098  
 25099  // Delete: Deletes an existing creative field value.
 25100  func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
 25101  	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25102  	c.profileId = profileId
 25103  	c.creativeFieldId = creativeFieldId
 25104  	c.id = id
 25105  	return c
 25106  }
 25107  
 25108  // Fields allows partial responses to be retrieved. See
 25109  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25110  // for more information.
 25111  func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
 25112  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25113  	return c
 25114  }
 25115  
 25116  // Context sets the context to be used in this call's Do method. Any
 25117  // pending HTTP request will be aborted if the provided context is
 25118  // canceled.
 25119  func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 25120  	c.ctx_ = ctx
 25121  	return c
 25122  }
 25123  
 25124  // Header returns an http.Header that can be modified by the caller to
 25125  // add HTTP headers to the request.
 25126  func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
 25127  	if c.header_ == nil {
 25128  		c.header_ = make(http.Header)
 25129  	}
 25130  	return c.header_
 25131  }
 25132  
 25133  func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 25134  	reqHeaders := make(http.Header)
 25135  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25136  	for k, v := range c.header_ {
 25137  		reqHeaders[k] = v
 25138  	}
 25139  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25140  	var body io.Reader = nil
 25141  	c.urlParams_.Set("alt", alt)
 25142  	c.urlParams_.Set("prettyPrint", "false")
 25143  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 25144  	urls += "?" + c.urlParams_.Encode()
 25145  	req, err := http.NewRequest("DELETE", urls, body)
 25146  	if err != nil {
 25147  		return nil, err
 25148  	}
 25149  	req.Header = reqHeaders
 25150  	googleapi.Expand(req.URL, map[string]string{
 25151  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25152  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25153  		"id":              strconv.FormatInt(c.id, 10),
 25154  	})
 25155  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25156  }
 25157  
 25158  // Do executes the "dfareporting.creativeFieldValues.delete" call.
 25159  func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
 25160  	gensupport.SetOptions(c.urlParams_, opts...)
 25161  	res, err := c.doRequest("json")
 25162  	if err != nil {
 25163  		return err
 25164  	}
 25165  	defer googleapi.CloseBody(res)
 25166  	if err := googleapi.CheckResponse(res); err != nil {
 25167  		return err
 25168  	}
 25169  	return nil
 25170  	// {
 25171  	//   "description": "Deletes an existing creative field value.",
 25172  	//   "httpMethod": "DELETE",
 25173  	//   "id": "dfareporting.creativeFieldValues.delete",
 25174  	//   "parameterOrder": [
 25175  	//     "profileId",
 25176  	//     "creativeFieldId",
 25177  	//     "id"
 25178  	//   ],
 25179  	//   "parameters": {
 25180  	//     "creativeFieldId": {
 25181  	//       "description": "Creative field ID for this creative field value.",
 25182  	//       "format": "int64",
 25183  	//       "location": "path",
 25184  	//       "required": true,
 25185  	//       "type": "string"
 25186  	//     },
 25187  	//     "id": {
 25188  	//       "description": "Creative Field Value ID",
 25189  	//       "format": "int64",
 25190  	//       "location": "path",
 25191  	//       "required": true,
 25192  	//       "type": "string"
 25193  	//     },
 25194  	//     "profileId": {
 25195  	//       "description": "User profile ID associated with this request.",
 25196  	//       "format": "int64",
 25197  	//       "location": "path",
 25198  	//       "required": true,
 25199  	//       "type": "string"
 25200  	//     }
 25201  	//   },
 25202  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 25203  	//   "scopes": [
 25204  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25205  	//   ]
 25206  	// }
 25207  
 25208  }
 25209  
 25210  // method id "dfareporting.creativeFieldValues.get":
 25211  
 25212  type CreativeFieldValuesGetCall struct {
 25213  	s               *Service
 25214  	profileId       int64
 25215  	creativeFieldId int64
 25216  	id              int64
 25217  	urlParams_      gensupport.URLParams
 25218  	ifNoneMatch_    string
 25219  	ctx_            context.Context
 25220  	header_         http.Header
 25221  }
 25222  
 25223  // Get: Gets one creative field value by ID.
 25224  func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
 25225  	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25226  	c.profileId = profileId
 25227  	c.creativeFieldId = creativeFieldId
 25228  	c.id = id
 25229  	return c
 25230  }
 25231  
 25232  // Fields allows partial responses to be retrieved. See
 25233  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25234  // for more information.
 25235  func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
 25236  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25237  	return c
 25238  }
 25239  
 25240  // IfNoneMatch sets the optional parameter which makes the operation
 25241  // fail if the object's ETag matches the given value. This is useful for
 25242  // getting updates only after the object has changed since the last
 25243  // request. Use googleapi.IsNotModified to check whether the response
 25244  // error from Do is the result of In-None-Match.
 25245  func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
 25246  	c.ifNoneMatch_ = entityTag
 25247  	return c
 25248  }
 25249  
 25250  // Context sets the context to be used in this call's Do method. Any
 25251  // pending HTTP request will be aborted if the provided context is
 25252  // canceled.
 25253  func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 25254  	c.ctx_ = ctx
 25255  	return c
 25256  }
 25257  
 25258  // Header returns an http.Header that can be modified by the caller to
 25259  // add HTTP headers to the request.
 25260  func (c *CreativeFieldValuesGetCall) Header() http.Header {
 25261  	if c.header_ == nil {
 25262  		c.header_ = make(http.Header)
 25263  	}
 25264  	return c.header_
 25265  }
 25266  
 25267  func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 25268  	reqHeaders := make(http.Header)
 25269  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25270  	for k, v := range c.header_ {
 25271  		reqHeaders[k] = v
 25272  	}
 25273  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25274  	if c.ifNoneMatch_ != "" {
 25275  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25276  	}
 25277  	var body io.Reader = nil
 25278  	c.urlParams_.Set("alt", alt)
 25279  	c.urlParams_.Set("prettyPrint", "false")
 25280  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 25281  	urls += "?" + c.urlParams_.Encode()
 25282  	req, err := http.NewRequest("GET", urls, body)
 25283  	if err != nil {
 25284  		return nil, err
 25285  	}
 25286  	req.Header = reqHeaders
 25287  	googleapi.Expand(req.URL, map[string]string{
 25288  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25289  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25290  		"id":              strconv.FormatInt(c.id, 10),
 25291  	})
 25292  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25293  }
 25294  
 25295  // Do executes the "dfareporting.creativeFieldValues.get" call.
 25296  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25297  // non-2xx status code is an error. Response headers are in either
 25298  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25299  // returned at all) in error.(*googleapi.Error).Header. Use
 25300  // googleapi.IsNotModified to check whether the returned error was
 25301  // because http.StatusNotModified was returned.
 25302  func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25303  	gensupport.SetOptions(c.urlParams_, opts...)
 25304  	res, err := c.doRequest("json")
 25305  	if res != nil && res.StatusCode == http.StatusNotModified {
 25306  		if res.Body != nil {
 25307  			res.Body.Close()
 25308  		}
 25309  		return nil, &googleapi.Error{
 25310  			Code:   res.StatusCode,
 25311  			Header: res.Header,
 25312  		}
 25313  	}
 25314  	if err != nil {
 25315  		return nil, err
 25316  	}
 25317  	defer googleapi.CloseBody(res)
 25318  	if err := googleapi.CheckResponse(res); err != nil {
 25319  		return nil, err
 25320  	}
 25321  	ret := &CreativeFieldValue{
 25322  		ServerResponse: googleapi.ServerResponse{
 25323  			Header:         res.Header,
 25324  			HTTPStatusCode: res.StatusCode,
 25325  		},
 25326  	}
 25327  	target := &ret
 25328  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25329  		return nil, err
 25330  	}
 25331  	return ret, nil
 25332  	// {
 25333  	//   "description": "Gets one creative field value by ID.",
 25334  	//   "httpMethod": "GET",
 25335  	//   "id": "dfareporting.creativeFieldValues.get",
 25336  	//   "parameterOrder": [
 25337  	//     "profileId",
 25338  	//     "creativeFieldId",
 25339  	//     "id"
 25340  	//   ],
 25341  	//   "parameters": {
 25342  	//     "creativeFieldId": {
 25343  	//       "description": "Creative field ID for this creative field value.",
 25344  	//       "format": "int64",
 25345  	//       "location": "path",
 25346  	//       "required": true,
 25347  	//       "type": "string"
 25348  	//     },
 25349  	//     "id": {
 25350  	//       "description": "Creative Field Value ID",
 25351  	//       "format": "int64",
 25352  	//       "location": "path",
 25353  	//       "required": true,
 25354  	//       "type": "string"
 25355  	//     },
 25356  	//     "profileId": {
 25357  	//       "description": "User profile ID associated with this request.",
 25358  	//       "format": "int64",
 25359  	//       "location": "path",
 25360  	//       "required": true,
 25361  	//       "type": "string"
 25362  	//     }
 25363  	//   },
 25364  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 25365  	//   "response": {
 25366  	//     "$ref": "CreativeFieldValue"
 25367  	//   },
 25368  	//   "scopes": [
 25369  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25370  	//   ]
 25371  	// }
 25372  
 25373  }
 25374  
 25375  // method id "dfareporting.creativeFieldValues.insert":
 25376  
 25377  type CreativeFieldValuesInsertCall struct {
 25378  	s                  *Service
 25379  	profileId          int64
 25380  	creativeFieldId    int64
 25381  	creativefieldvalue *CreativeFieldValue
 25382  	urlParams_         gensupport.URLParams
 25383  	ctx_               context.Context
 25384  	header_            http.Header
 25385  }
 25386  
 25387  // Insert: Inserts a new creative field value.
 25388  func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
 25389  	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25390  	c.profileId = profileId
 25391  	c.creativeFieldId = creativeFieldId
 25392  	c.creativefieldvalue = creativefieldvalue
 25393  	return c
 25394  }
 25395  
 25396  // Fields allows partial responses to be retrieved. See
 25397  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25398  // for more information.
 25399  func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
 25400  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25401  	return c
 25402  }
 25403  
 25404  // Context sets the context to be used in this call's Do method. Any
 25405  // pending HTTP request will be aborted if the provided context is
 25406  // canceled.
 25407  func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 25408  	c.ctx_ = ctx
 25409  	return c
 25410  }
 25411  
 25412  // Header returns an http.Header that can be modified by the caller to
 25413  // add HTTP headers to the request.
 25414  func (c *CreativeFieldValuesInsertCall) Header() http.Header {
 25415  	if c.header_ == nil {
 25416  		c.header_ = make(http.Header)
 25417  	}
 25418  	return c.header_
 25419  }
 25420  
 25421  func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
 25422  	reqHeaders := make(http.Header)
 25423  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25424  	for k, v := range c.header_ {
 25425  		reqHeaders[k] = v
 25426  	}
 25427  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25428  	var body io.Reader = nil
 25429  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25430  	if err != nil {
 25431  		return nil, err
 25432  	}
 25433  	reqHeaders.Set("Content-Type", "application/json")
 25434  	c.urlParams_.Set("alt", alt)
 25435  	c.urlParams_.Set("prettyPrint", "false")
 25436  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25437  	urls += "?" + c.urlParams_.Encode()
 25438  	req, err := http.NewRequest("POST", urls, body)
 25439  	if err != nil {
 25440  		return nil, err
 25441  	}
 25442  	req.Header = reqHeaders
 25443  	googleapi.Expand(req.URL, map[string]string{
 25444  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25445  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25446  	})
 25447  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25448  }
 25449  
 25450  // Do executes the "dfareporting.creativeFieldValues.insert" call.
 25451  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25452  // non-2xx status code is an error. Response headers are in either
 25453  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25454  // returned at all) in error.(*googleapi.Error).Header. Use
 25455  // googleapi.IsNotModified to check whether the returned error was
 25456  // because http.StatusNotModified was returned.
 25457  func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25458  	gensupport.SetOptions(c.urlParams_, opts...)
 25459  	res, err := c.doRequest("json")
 25460  	if res != nil && res.StatusCode == http.StatusNotModified {
 25461  		if res.Body != nil {
 25462  			res.Body.Close()
 25463  		}
 25464  		return nil, &googleapi.Error{
 25465  			Code:   res.StatusCode,
 25466  			Header: res.Header,
 25467  		}
 25468  	}
 25469  	if err != nil {
 25470  		return nil, err
 25471  	}
 25472  	defer googleapi.CloseBody(res)
 25473  	if err := googleapi.CheckResponse(res); err != nil {
 25474  		return nil, err
 25475  	}
 25476  	ret := &CreativeFieldValue{
 25477  		ServerResponse: googleapi.ServerResponse{
 25478  			Header:         res.Header,
 25479  			HTTPStatusCode: res.StatusCode,
 25480  		},
 25481  	}
 25482  	target := &ret
 25483  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25484  		return nil, err
 25485  	}
 25486  	return ret, nil
 25487  	// {
 25488  	//   "description": "Inserts a new creative field value.",
 25489  	//   "httpMethod": "POST",
 25490  	//   "id": "dfareporting.creativeFieldValues.insert",
 25491  	//   "parameterOrder": [
 25492  	//     "profileId",
 25493  	//     "creativeFieldId"
 25494  	//   ],
 25495  	//   "parameters": {
 25496  	//     "creativeFieldId": {
 25497  	//       "description": "Creative field ID for this creative field value.",
 25498  	//       "format": "int64",
 25499  	//       "location": "path",
 25500  	//       "required": true,
 25501  	//       "type": "string"
 25502  	//     },
 25503  	//     "profileId": {
 25504  	//       "description": "User profile ID associated with this request.",
 25505  	//       "format": "int64",
 25506  	//       "location": "path",
 25507  	//       "required": true,
 25508  	//       "type": "string"
 25509  	//     }
 25510  	//   },
 25511  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25512  	//   "request": {
 25513  	//     "$ref": "CreativeFieldValue"
 25514  	//   },
 25515  	//   "response": {
 25516  	//     "$ref": "CreativeFieldValue"
 25517  	//   },
 25518  	//   "scopes": [
 25519  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25520  	//   ]
 25521  	// }
 25522  
 25523  }
 25524  
 25525  // method id "dfareporting.creativeFieldValues.list":
 25526  
 25527  type CreativeFieldValuesListCall struct {
 25528  	s               *Service
 25529  	profileId       int64
 25530  	creativeFieldId int64
 25531  	urlParams_      gensupport.URLParams
 25532  	ifNoneMatch_    string
 25533  	ctx_            context.Context
 25534  	header_         http.Header
 25535  }
 25536  
 25537  // List: Retrieves a list of creative field values, possibly filtered.
 25538  // This method supports paging.
 25539  func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
 25540  	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25541  	c.profileId = profileId
 25542  	c.creativeFieldId = creativeFieldId
 25543  	return c
 25544  }
 25545  
 25546  // Ids sets the optional parameter "ids": Select only creative field
 25547  // values with these IDs.
 25548  func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
 25549  	var ids_ []string
 25550  	for _, v := range ids {
 25551  		ids_ = append(ids_, fmt.Sprint(v))
 25552  	}
 25553  	c.urlParams_.SetMulti("ids", ids_)
 25554  	return c
 25555  }
 25556  
 25557  // MaxResults sets the optional parameter "maxResults": Maximum number
 25558  // of results to return.
 25559  func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
 25560  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 25561  	return c
 25562  }
 25563  
 25564  // PageToken sets the optional parameter "pageToken": Value of the
 25565  // nextPageToken from the previous result page.
 25566  func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
 25567  	c.urlParams_.Set("pageToken", pageToken)
 25568  	return c
 25569  }
 25570  
 25571  // SearchString sets the optional parameter "searchString": Allows
 25572  // searching for creative field values by their values. Wildcards (e.g.
 25573  // *) are not allowed.
 25574  func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
 25575  	c.urlParams_.Set("searchString", searchString)
 25576  	return c
 25577  }
 25578  
 25579  // SortField sets the optional parameter "sortField": Field by which to
 25580  // sort the list.
 25581  //
 25582  // Possible values:
 25583  //
 25584  //	"ID" (default)
 25585  //	"VALUE"
 25586  func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
 25587  	c.urlParams_.Set("sortField", sortField)
 25588  	return c
 25589  }
 25590  
 25591  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 25592  // results.
 25593  //
 25594  // Possible values:
 25595  //
 25596  //	"ASCENDING" (default)
 25597  //	"DESCENDING"
 25598  func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
 25599  	c.urlParams_.Set("sortOrder", sortOrder)
 25600  	return c
 25601  }
 25602  
 25603  // Fields allows partial responses to be retrieved. See
 25604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25605  // for more information.
 25606  func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
 25607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25608  	return c
 25609  }
 25610  
 25611  // IfNoneMatch sets the optional parameter which makes the operation
 25612  // fail if the object's ETag matches the given value. This is useful for
 25613  // getting updates only after the object has changed since the last
 25614  // request. Use googleapi.IsNotModified to check whether the response
 25615  // error from Do is the result of In-None-Match.
 25616  func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
 25617  	c.ifNoneMatch_ = entityTag
 25618  	return c
 25619  }
 25620  
 25621  // Context sets the context to be used in this call's Do method. Any
 25622  // pending HTTP request will be aborted if the provided context is
 25623  // canceled.
 25624  func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 25625  	c.ctx_ = ctx
 25626  	return c
 25627  }
 25628  
 25629  // Header returns an http.Header that can be modified by the caller to
 25630  // add HTTP headers to the request.
 25631  func (c *CreativeFieldValuesListCall) Header() http.Header {
 25632  	if c.header_ == nil {
 25633  		c.header_ = make(http.Header)
 25634  	}
 25635  	return c.header_
 25636  }
 25637  
 25638  func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 25639  	reqHeaders := make(http.Header)
 25640  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25641  	for k, v := range c.header_ {
 25642  		reqHeaders[k] = v
 25643  	}
 25644  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25645  	if c.ifNoneMatch_ != "" {
 25646  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25647  	}
 25648  	var body io.Reader = nil
 25649  	c.urlParams_.Set("alt", alt)
 25650  	c.urlParams_.Set("prettyPrint", "false")
 25651  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25652  	urls += "?" + c.urlParams_.Encode()
 25653  	req, err := http.NewRequest("GET", urls, body)
 25654  	if err != nil {
 25655  		return nil, err
 25656  	}
 25657  	req.Header = reqHeaders
 25658  	googleapi.Expand(req.URL, map[string]string{
 25659  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25660  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25661  	})
 25662  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25663  }
 25664  
 25665  // Do executes the "dfareporting.creativeFieldValues.list" call.
 25666  // Exactly one of *CreativeFieldValuesListResponse or error will be
 25667  // non-nil. Any non-2xx status code is an error. Response headers are in
 25668  // either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
 25669  // a response was returned at all) in error.(*googleapi.Error).Header.
 25670  // Use googleapi.IsNotModified to check whether the returned error was
 25671  // because http.StatusNotModified was returned.
 25672  func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
 25673  	gensupport.SetOptions(c.urlParams_, opts...)
 25674  	res, err := c.doRequest("json")
 25675  	if res != nil && res.StatusCode == http.StatusNotModified {
 25676  		if res.Body != nil {
 25677  			res.Body.Close()
 25678  		}
 25679  		return nil, &googleapi.Error{
 25680  			Code:   res.StatusCode,
 25681  			Header: res.Header,
 25682  		}
 25683  	}
 25684  	if err != nil {
 25685  		return nil, err
 25686  	}
 25687  	defer googleapi.CloseBody(res)
 25688  	if err := googleapi.CheckResponse(res); err != nil {
 25689  		return nil, err
 25690  	}
 25691  	ret := &CreativeFieldValuesListResponse{
 25692  		ServerResponse: googleapi.ServerResponse{
 25693  			Header:         res.Header,
 25694  			HTTPStatusCode: res.StatusCode,
 25695  		},
 25696  	}
 25697  	target := &ret
 25698  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25699  		return nil, err
 25700  	}
 25701  	return ret, nil
 25702  	// {
 25703  	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
 25704  	//   "httpMethod": "GET",
 25705  	//   "id": "dfareporting.creativeFieldValues.list",
 25706  	//   "parameterOrder": [
 25707  	//     "profileId",
 25708  	//     "creativeFieldId"
 25709  	//   ],
 25710  	//   "parameters": {
 25711  	//     "creativeFieldId": {
 25712  	//       "description": "Creative field ID for this creative field value.",
 25713  	//       "format": "int64",
 25714  	//       "location": "path",
 25715  	//       "required": true,
 25716  	//       "type": "string"
 25717  	//     },
 25718  	//     "ids": {
 25719  	//       "description": "Select only creative field values with these IDs.",
 25720  	//       "format": "int64",
 25721  	//       "location": "query",
 25722  	//       "repeated": true,
 25723  	//       "type": "string"
 25724  	//     },
 25725  	//     "maxResults": {
 25726  	//       "default": "1000",
 25727  	//       "description": "Maximum number of results to return.",
 25728  	//       "format": "int32",
 25729  	//       "location": "query",
 25730  	//       "maximum": "1000",
 25731  	//       "minimum": "0",
 25732  	//       "type": "integer"
 25733  	//     },
 25734  	//     "pageToken": {
 25735  	//       "description": "Value of the nextPageToken from the previous result page.",
 25736  	//       "location": "query",
 25737  	//       "type": "string"
 25738  	//     },
 25739  	//     "profileId": {
 25740  	//       "description": "User profile ID associated with this request.",
 25741  	//       "format": "int64",
 25742  	//       "location": "path",
 25743  	//       "required": true,
 25744  	//       "type": "string"
 25745  	//     },
 25746  	//     "searchString": {
 25747  	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
 25748  	//       "location": "query",
 25749  	//       "type": "string"
 25750  	//     },
 25751  	//     "sortField": {
 25752  	//       "default": "ID",
 25753  	//       "description": "Field by which to sort the list.",
 25754  	//       "enum": [
 25755  	//         "ID",
 25756  	//         "VALUE"
 25757  	//       ],
 25758  	//       "enumDescriptions": [
 25759  	//         "",
 25760  	//         ""
 25761  	//       ],
 25762  	//       "location": "query",
 25763  	//       "type": "string"
 25764  	//     },
 25765  	//     "sortOrder": {
 25766  	//       "default": "ASCENDING",
 25767  	//       "description": "Order of sorted results.",
 25768  	//       "enum": [
 25769  	//         "ASCENDING",
 25770  	//         "DESCENDING"
 25771  	//       ],
 25772  	//       "enumDescriptions": [
 25773  	//         "",
 25774  	//         ""
 25775  	//       ],
 25776  	//       "location": "query",
 25777  	//       "type": "string"
 25778  	//     }
 25779  	//   },
 25780  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25781  	//   "response": {
 25782  	//     "$ref": "CreativeFieldValuesListResponse"
 25783  	//   },
 25784  	//   "scopes": [
 25785  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25786  	//   ]
 25787  	// }
 25788  
 25789  }
 25790  
 25791  // Pages invokes f for each page of results.
 25792  // A non-nil error returned from f will halt the iteration.
 25793  // The provided context supersedes any context provided to the Context method.
 25794  func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
 25795  	c.ctx_ = ctx
 25796  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 25797  	for {
 25798  		x, err := c.Do()
 25799  		if err != nil {
 25800  			return err
 25801  		}
 25802  		if err := f(x); err != nil {
 25803  			return err
 25804  		}
 25805  		if x.NextPageToken == "" {
 25806  			return nil
 25807  		}
 25808  		c.PageToken(x.NextPageToken)
 25809  	}
 25810  }
 25811  
 25812  // method id "dfareporting.creativeFieldValues.patch":
 25813  
 25814  type CreativeFieldValuesPatchCall struct {
 25815  	s                  *Service
 25816  	profileId          int64
 25817  	creativeFieldId    int64
 25818  	creativefieldvalue *CreativeFieldValue
 25819  	urlParams_         gensupport.URLParams
 25820  	ctx_               context.Context
 25821  	header_            http.Header
 25822  }
 25823  
 25824  // Patch: Updates an existing creative field value. This method supports
 25825  // patch semantics.
 25826  func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
 25827  	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25828  	c.profileId = profileId
 25829  	c.creativeFieldId = creativeFieldId
 25830  	c.urlParams_.Set("id", fmt.Sprint(id))
 25831  	c.creativefieldvalue = creativefieldvalue
 25832  	return c
 25833  }
 25834  
 25835  // Fields allows partial responses to be retrieved. See
 25836  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25837  // for more information.
 25838  func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
 25839  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25840  	return c
 25841  }
 25842  
 25843  // Context sets the context to be used in this call's Do method. Any
 25844  // pending HTTP request will be aborted if the provided context is
 25845  // canceled.
 25846  func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 25847  	c.ctx_ = ctx
 25848  	return c
 25849  }
 25850  
 25851  // Header returns an http.Header that can be modified by the caller to
 25852  // add HTTP headers to the request.
 25853  func (c *CreativeFieldValuesPatchCall) Header() http.Header {
 25854  	if c.header_ == nil {
 25855  		c.header_ = make(http.Header)
 25856  	}
 25857  	return c.header_
 25858  }
 25859  
 25860  func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
 25861  	reqHeaders := make(http.Header)
 25862  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 25863  	for k, v := range c.header_ {
 25864  		reqHeaders[k] = v
 25865  	}
 25866  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25867  	var body io.Reader = nil
 25868  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25869  	if err != nil {
 25870  		return nil, err
 25871  	}
 25872  	reqHeaders.Set("Content-Type", "application/json")
 25873  	c.urlParams_.Set("alt", alt)
 25874  	c.urlParams_.Set("prettyPrint", "false")
 25875  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25876  	urls += "?" + c.urlParams_.Encode()
 25877  	req, err := http.NewRequest("PATCH", urls, body)
 25878  	if err != nil {
 25879  		return nil, err
 25880  	}
 25881  	req.Header = reqHeaders
 25882  	googleapi.Expand(req.URL, map[string]string{
 25883  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25884  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25885  	})
 25886  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25887  }
 25888  
 25889  // Do executes the "dfareporting.creativeFieldValues.patch" call.
 25890  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25891  // non-2xx status code is an error. Response headers are in either
 25892  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25893  // returned at all) in error.(*googleapi.Error).Header. Use
 25894  // googleapi.IsNotModified to check whether the returned error was
 25895  // because http.StatusNotModified was returned.
 25896  func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25897  	gensupport.SetOptions(c.urlParams_, opts...)
 25898  	res, err := c.doRequest("json")
 25899  	if res != nil && res.StatusCode == http.StatusNotModified {
 25900  		if res.Body != nil {
 25901  			res.Body.Close()
 25902  		}
 25903  		return nil, &googleapi.Error{
 25904  			Code:   res.StatusCode,
 25905  			Header: res.Header,
 25906  		}
 25907  	}
 25908  	if err != nil {
 25909  		return nil, err
 25910  	}
 25911  	defer googleapi.CloseBody(res)
 25912  	if err := googleapi.CheckResponse(res); err != nil {
 25913  		return nil, err
 25914  	}
 25915  	ret := &CreativeFieldValue{
 25916  		ServerResponse: googleapi.ServerResponse{
 25917  			Header:         res.Header,
 25918  			HTTPStatusCode: res.StatusCode,
 25919  		},
 25920  	}
 25921  	target := &ret
 25922  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25923  		return nil, err
 25924  	}
 25925  	return ret, nil
 25926  	// {
 25927  	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
 25928  	//   "httpMethod": "PATCH",
 25929  	//   "id": "dfareporting.creativeFieldValues.patch",
 25930  	//   "parameterOrder": [
 25931  	//     "profileId",
 25932  	//     "creativeFieldId",
 25933  	//     "id"
 25934  	//   ],
 25935  	//   "parameters": {
 25936  	//     "creativeFieldId": {
 25937  	//       "description": "Creative field ID for this creative field value.",
 25938  	//       "format": "int64",
 25939  	//       "location": "path",
 25940  	//       "required": true,
 25941  	//       "type": "string"
 25942  	//     },
 25943  	//     "id": {
 25944  	//       "description": "Creative Field Value ID",
 25945  	//       "format": "int64",
 25946  	//       "location": "query",
 25947  	//       "required": true,
 25948  	//       "type": "string"
 25949  	//     },
 25950  	//     "profileId": {
 25951  	//       "description": "User profile ID associated with this request.",
 25952  	//       "format": "int64",
 25953  	//       "location": "path",
 25954  	//       "required": true,
 25955  	//       "type": "string"
 25956  	//     }
 25957  	//   },
 25958  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25959  	//   "request": {
 25960  	//     "$ref": "CreativeFieldValue"
 25961  	//   },
 25962  	//   "response": {
 25963  	//     "$ref": "CreativeFieldValue"
 25964  	//   },
 25965  	//   "scopes": [
 25966  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25967  	//   ]
 25968  	// }
 25969  
 25970  }
 25971  
 25972  // method id "dfareporting.creativeFieldValues.update":
 25973  
 25974  type CreativeFieldValuesUpdateCall struct {
 25975  	s                  *Service
 25976  	profileId          int64
 25977  	creativeFieldId    int64
 25978  	creativefieldvalue *CreativeFieldValue
 25979  	urlParams_         gensupport.URLParams
 25980  	ctx_               context.Context
 25981  	header_            http.Header
 25982  }
 25983  
 25984  // Update: Updates an existing creative field value.
 25985  func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
 25986  	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25987  	c.profileId = profileId
 25988  	c.creativeFieldId = creativeFieldId
 25989  	c.creativefieldvalue = creativefieldvalue
 25990  	return c
 25991  }
 25992  
 25993  // Fields allows partial responses to be retrieved. See
 25994  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25995  // for more information.
 25996  func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
 25997  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25998  	return c
 25999  }
 26000  
 26001  // Context sets the context to be used in this call's Do method. Any
 26002  // pending HTTP request will be aborted if the provided context is
 26003  // canceled.
 26004  func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 26005  	c.ctx_ = ctx
 26006  	return c
 26007  }
 26008  
 26009  // Header returns an http.Header that can be modified by the caller to
 26010  // add HTTP headers to the request.
 26011  func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
 26012  	if c.header_ == nil {
 26013  		c.header_ = make(http.Header)
 26014  	}
 26015  	return c.header_
 26016  }
 26017  
 26018  func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 26019  	reqHeaders := make(http.Header)
 26020  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26021  	for k, v := range c.header_ {
 26022  		reqHeaders[k] = v
 26023  	}
 26024  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26025  	var body io.Reader = nil
 26026  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 26027  	if err != nil {
 26028  		return nil, err
 26029  	}
 26030  	reqHeaders.Set("Content-Type", "application/json")
 26031  	c.urlParams_.Set("alt", alt)
 26032  	c.urlParams_.Set("prettyPrint", "false")
 26033  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 26034  	urls += "?" + c.urlParams_.Encode()
 26035  	req, err := http.NewRequest("PUT", urls, body)
 26036  	if err != nil {
 26037  		return nil, err
 26038  	}
 26039  	req.Header = reqHeaders
 26040  	googleapi.Expand(req.URL, map[string]string{
 26041  		"profileId":       strconv.FormatInt(c.profileId, 10),
 26042  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 26043  	})
 26044  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26045  }
 26046  
 26047  // Do executes the "dfareporting.creativeFieldValues.update" call.
 26048  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 26049  // non-2xx status code is an error. Response headers are in either
 26050  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 26051  // returned at all) in error.(*googleapi.Error).Header. Use
 26052  // googleapi.IsNotModified to check whether the returned error was
 26053  // because http.StatusNotModified was returned.
 26054  func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 26055  	gensupport.SetOptions(c.urlParams_, opts...)
 26056  	res, err := c.doRequest("json")
 26057  	if res != nil && res.StatusCode == http.StatusNotModified {
 26058  		if res.Body != nil {
 26059  			res.Body.Close()
 26060  		}
 26061  		return nil, &googleapi.Error{
 26062  			Code:   res.StatusCode,
 26063  			Header: res.Header,
 26064  		}
 26065  	}
 26066  	if err != nil {
 26067  		return nil, err
 26068  	}
 26069  	defer googleapi.CloseBody(res)
 26070  	if err := googleapi.CheckResponse(res); err != nil {
 26071  		return nil, err
 26072  	}
 26073  	ret := &CreativeFieldValue{
 26074  		ServerResponse: googleapi.ServerResponse{
 26075  			Header:         res.Header,
 26076  			HTTPStatusCode: res.StatusCode,
 26077  		},
 26078  	}
 26079  	target := &ret
 26080  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26081  		return nil, err
 26082  	}
 26083  	return ret, nil
 26084  	// {
 26085  	//   "description": "Updates an existing creative field value.",
 26086  	//   "httpMethod": "PUT",
 26087  	//   "id": "dfareporting.creativeFieldValues.update",
 26088  	//   "parameterOrder": [
 26089  	//     "profileId",
 26090  	//     "creativeFieldId"
 26091  	//   ],
 26092  	//   "parameters": {
 26093  	//     "creativeFieldId": {
 26094  	//       "description": "Creative field ID for this creative field value.",
 26095  	//       "format": "int64",
 26096  	//       "location": "path",
 26097  	//       "required": true,
 26098  	//       "type": "string"
 26099  	//     },
 26100  	//     "profileId": {
 26101  	//       "description": "User profile ID associated with this request.",
 26102  	//       "format": "int64",
 26103  	//       "location": "path",
 26104  	//       "required": true,
 26105  	//       "type": "string"
 26106  	//     }
 26107  	//   },
 26108  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26109  	//   "request": {
 26110  	//     "$ref": "CreativeFieldValue"
 26111  	//   },
 26112  	//   "response": {
 26113  	//     "$ref": "CreativeFieldValue"
 26114  	//   },
 26115  	//   "scopes": [
 26116  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26117  	//   ]
 26118  	// }
 26119  
 26120  }
 26121  
 26122  // method id "dfareporting.creativeFields.delete":
 26123  
 26124  type CreativeFieldsDeleteCall struct {
 26125  	s          *Service
 26126  	profileId  int64
 26127  	id         int64
 26128  	urlParams_ gensupport.URLParams
 26129  	ctx_       context.Context
 26130  	header_    http.Header
 26131  }
 26132  
 26133  // Delete: Deletes an existing creative field.
 26134  func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
 26135  	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26136  	c.profileId = profileId
 26137  	c.id = id
 26138  	return c
 26139  }
 26140  
 26141  // Fields allows partial responses to be retrieved. See
 26142  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26143  // for more information.
 26144  func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
 26145  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26146  	return c
 26147  }
 26148  
 26149  // Context sets the context to be used in this call's Do method. Any
 26150  // pending HTTP request will be aborted if the provided context is
 26151  // canceled.
 26152  func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 26153  	c.ctx_ = ctx
 26154  	return c
 26155  }
 26156  
 26157  // Header returns an http.Header that can be modified by the caller to
 26158  // add HTTP headers to the request.
 26159  func (c *CreativeFieldsDeleteCall) Header() http.Header {
 26160  	if c.header_ == nil {
 26161  		c.header_ = make(http.Header)
 26162  	}
 26163  	return c.header_
 26164  }
 26165  
 26166  func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 26167  	reqHeaders := make(http.Header)
 26168  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26169  	for k, v := range c.header_ {
 26170  		reqHeaders[k] = v
 26171  	}
 26172  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26173  	var body io.Reader = nil
 26174  	c.urlParams_.Set("alt", alt)
 26175  	c.urlParams_.Set("prettyPrint", "false")
 26176  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 26177  	urls += "?" + c.urlParams_.Encode()
 26178  	req, err := http.NewRequest("DELETE", urls, body)
 26179  	if err != nil {
 26180  		return nil, err
 26181  	}
 26182  	req.Header = reqHeaders
 26183  	googleapi.Expand(req.URL, map[string]string{
 26184  		"profileId": strconv.FormatInt(c.profileId, 10),
 26185  		"id":        strconv.FormatInt(c.id, 10),
 26186  	})
 26187  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26188  }
 26189  
 26190  // Do executes the "dfareporting.creativeFields.delete" call.
 26191  func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
 26192  	gensupport.SetOptions(c.urlParams_, opts...)
 26193  	res, err := c.doRequest("json")
 26194  	if err != nil {
 26195  		return err
 26196  	}
 26197  	defer googleapi.CloseBody(res)
 26198  	if err := googleapi.CheckResponse(res); err != nil {
 26199  		return err
 26200  	}
 26201  	return nil
 26202  	// {
 26203  	//   "description": "Deletes an existing creative field.",
 26204  	//   "httpMethod": "DELETE",
 26205  	//   "id": "dfareporting.creativeFields.delete",
 26206  	//   "parameterOrder": [
 26207  	//     "profileId",
 26208  	//     "id"
 26209  	//   ],
 26210  	//   "parameters": {
 26211  	//     "id": {
 26212  	//       "description": "Creative Field ID",
 26213  	//       "format": "int64",
 26214  	//       "location": "path",
 26215  	//       "required": true,
 26216  	//       "type": "string"
 26217  	//     },
 26218  	//     "profileId": {
 26219  	//       "description": "User profile ID associated with this request.",
 26220  	//       "format": "int64",
 26221  	//       "location": "path",
 26222  	//       "required": true,
 26223  	//       "type": "string"
 26224  	//     }
 26225  	//   },
 26226  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 26227  	//   "scopes": [
 26228  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26229  	//   ]
 26230  	// }
 26231  
 26232  }
 26233  
 26234  // method id "dfareporting.creativeFields.get":
 26235  
 26236  type CreativeFieldsGetCall struct {
 26237  	s            *Service
 26238  	profileId    int64
 26239  	id           int64
 26240  	urlParams_   gensupport.URLParams
 26241  	ifNoneMatch_ string
 26242  	ctx_         context.Context
 26243  	header_      http.Header
 26244  }
 26245  
 26246  // Get: Gets one creative field by ID.
 26247  func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
 26248  	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26249  	c.profileId = profileId
 26250  	c.id = id
 26251  	return c
 26252  }
 26253  
 26254  // Fields allows partial responses to be retrieved. See
 26255  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26256  // for more information.
 26257  func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
 26258  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26259  	return c
 26260  }
 26261  
 26262  // IfNoneMatch sets the optional parameter which makes the operation
 26263  // fail if the object's ETag matches the given value. This is useful for
 26264  // getting updates only after the object has changed since the last
 26265  // request. Use googleapi.IsNotModified to check whether the response
 26266  // error from Do is the result of In-None-Match.
 26267  func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
 26268  	c.ifNoneMatch_ = entityTag
 26269  	return c
 26270  }
 26271  
 26272  // Context sets the context to be used in this call's Do method. Any
 26273  // pending HTTP request will be aborted if the provided context is
 26274  // canceled.
 26275  func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 26276  	c.ctx_ = ctx
 26277  	return c
 26278  }
 26279  
 26280  // Header returns an http.Header that can be modified by the caller to
 26281  // add HTTP headers to the request.
 26282  func (c *CreativeFieldsGetCall) Header() http.Header {
 26283  	if c.header_ == nil {
 26284  		c.header_ = make(http.Header)
 26285  	}
 26286  	return c.header_
 26287  }
 26288  
 26289  func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 26290  	reqHeaders := make(http.Header)
 26291  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26292  	for k, v := range c.header_ {
 26293  		reqHeaders[k] = v
 26294  	}
 26295  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26296  	if c.ifNoneMatch_ != "" {
 26297  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26298  	}
 26299  	var body io.Reader = nil
 26300  	c.urlParams_.Set("alt", alt)
 26301  	c.urlParams_.Set("prettyPrint", "false")
 26302  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 26303  	urls += "?" + c.urlParams_.Encode()
 26304  	req, err := http.NewRequest("GET", urls, body)
 26305  	if err != nil {
 26306  		return nil, err
 26307  	}
 26308  	req.Header = reqHeaders
 26309  	googleapi.Expand(req.URL, map[string]string{
 26310  		"profileId": strconv.FormatInt(c.profileId, 10),
 26311  		"id":        strconv.FormatInt(c.id, 10),
 26312  	})
 26313  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26314  }
 26315  
 26316  // Do executes the "dfareporting.creativeFields.get" call.
 26317  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26318  // status code is an error. Response headers are in either
 26319  // *CreativeField.ServerResponse.Header or (if a response was returned
 26320  // at all) in error.(*googleapi.Error).Header. Use
 26321  // googleapi.IsNotModified to check whether the returned error was
 26322  // because http.StatusNotModified was returned.
 26323  func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26324  	gensupport.SetOptions(c.urlParams_, opts...)
 26325  	res, err := c.doRequest("json")
 26326  	if res != nil && res.StatusCode == http.StatusNotModified {
 26327  		if res.Body != nil {
 26328  			res.Body.Close()
 26329  		}
 26330  		return nil, &googleapi.Error{
 26331  			Code:   res.StatusCode,
 26332  			Header: res.Header,
 26333  		}
 26334  	}
 26335  	if err != nil {
 26336  		return nil, err
 26337  	}
 26338  	defer googleapi.CloseBody(res)
 26339  	if err := googleapi.CheckResponse(res); err != nil {
 26340  		return nil, err
 26341  	}
 26342  	ret := &CreativeField{
 26343  		ServerResponse: googleapi.ServerResponse{
 26344  			Header:         res.Header,
 26345  			HTTPStatusCode: res.StatusCode,
 26346  		},
 26347  	}
 26348  	target := &ret
 26349  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26350  		return nil, err
 26351  	}
 26352  	return ret, nil
 26353  	// {
 26354  	//   "description": "Gets one creative field by ID.",
 26355  	//   "httpMethod": "GET",
 26356  	//   "id": "dfareporting.creativeFields.get",
 26357  	//   "parameterOrder": [
 26358  	//     "profileId",
 26359  	//     "id"
 26360  	//   ],
 26361  	//   "parameters": {
 26362  	//     "id": {
 26363  	//       "description": "Creative Field ID",
 26364  	//       "format": "int64",
 26365  	//       "location": "path",
 26366  	//       "required": true,
 26367  	//       "type": "string"
 26368  	//     },
 26369  	//     "profileId": {
 26370  	//       "description": "User profile ID associated with this request.",
 26371  	//       "format": "int64",
 26372  	//       "location": "path",
 26373  	//       "required": true,
 26374  	//       "type": "string"
 26375  	//     }
 26376  	//   },
 26377  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 26378  	//   "response": {
 26379  	//     "$ref": "CreativeField"
 26380  	//   },
 26381  	//   "scopes": [
 26382  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26383  	//   ]
 26384  	// }
 26385  
 26386  }
 26387  
 26388  // method id "dfareporting.creativeFields.insert":
 26389  
 26390  type CreativeFieldsInsertCall struct {
 26391  	s             *Service
 26392  	profileId     int64
 26393  	creativefield *CreativeField
 26394  	urlParams_    gensupport.URLParams
 26395  	ctx_          context.Context
 26396  	header_       http.Header
 26397  }
 26398  
 26399  // Insert: Inserts a new creative field.
 26400  func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
 26401  	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26402  	c.profileId = profileId
 26403  	c.creativefield = creativefield
 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 *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
 26411  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26412  	return c
 26413  }
 26414  
 26415  // Context sets the context to be used in this call's Do method. Any
 26416  // pending HTTP request will be aborted if the provided context is
 26417  // canceled.
 26418  func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 26419  	c.ctx_ = ctx
 26420  	return c
 26421  }
 26422  
 26423  // Header returns an http.Header that can be modified by the caller to
 26424  // add HTTP headers to the request.
 26425  func (c *CreativeFieldsInsertCall) Header() http.Header {
 26426  	if c.header_ == nil {
 26427  		c.header_ = make(http.Header)
 26428  	}
 26429  	return c.header_
 26430  }
 26431  
 26432  func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
 26433  	reqHeaders := make(http.Header)
 26434  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26435  	for k, v := range c.header_ {
 26436  		reqHeaders[k] = v
 26437  	}
 26438  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26439  	var body io.Reader = nil
 26440  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26441  	if err != nil {
 26442  		return nil, err
 26443  	}
 26444  	reqHeaders.Set("Content-Type", "application/json")
 26445  	c.urlParams_.Set("alt", alt)
 26446  	c.urlParams_.Set("prettyPrint", "false")
 26447  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26448  	urls += "?" + c.urlParams_.Encode()
 26449  	req, err := http.NewRequest("POST", urls, body)
 26450  	if err != nil {
 26451  		return nil, err
 26452  	}
 26453  	req.Header = reqHeaders
 26454  	googleapi.Expand(req.URL, map[string]string{
 26455  		"profileId": strconv.FormatInt(c.profileId, 10),
 26456  	})
 26457  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26458  }
 26459  
 26460  // Do executes the "dfareporting.creativeFields.insert" call.
 26461  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26462  // status code is an error. Response headers are in either
 26463  // *CreativeField.ServerResponse.Header or (if a response was returned
 26464  // at all) in error.(*googleapi.Error).Header. Use
 26465  // googleapi.IsNotModified to check whether the returned error was
 26466  // because http.StatusNotModified was returned.
 26467  func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26468  	gensupport.SetOptions(c.urlParams_, opts...)
 26469  	res, err := c.doRequest("json")
 26470  	if res != nil && res.StatusCode == http.StatusNotModified {
 26471  		if res.Body != nil {
 26472  			res.Body.Close()
 26473  		}
 26474  		return nil, &googleapi.Error{
 26475  			Code:   res.StatusCode,
 26476  			Header: res.Header,
 26477  		}
 26478  	}
 26479  	if err != nil {
 26480  		return nil, err
 26481  	}
 26482  	defer googleapi.CloseBody(res)
 26483  	if err := googleapi.CheckResponse(res); err != nil {
 26484  		return nil, err
 26485  	}
 26486  	ret := &CreativeField{
 26487  		ServerResponse: googleapi.ServerResponse{
 26488  			Header:         res.Header,
 26489  			HTTPStatusCode: res.StatusCode,
 26490  		},
 26491  	}
 26492  	target := &ret
 26493  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26494  		return nil, err
 26495  	}
 26496  	return ret, nil
 26497  	// {
 26498  	//   "description": "Inserts a new creative field.",
 26499  	//   "httpMethod": "POST",
 26500  	//   "id": "dfareporting.creativeFields.insert",
 26501  	//   "parameterOrder": [
 26502  	//     "profileId"
 26503  	//   ],
 26504  	//   "parameters": {
 26505  	//     "profileId": {
 26506  	//       "description": "User profile ID associated with this request.",
 26507  	//       "format": "int64",
 26508  	//       "location": "path",
 26509  	//       "required": true,
 26510  	//       "type": "string"
 26511  	//     }
 26512  	//   },
 26513  	//   "path": "userprofiles/{profileId}/creativeFields",
 26514  	//   "request": {
 26515  	//     "$ref": "CreativeField"
 26516  	//   },
 26517  	//   "response": {
 26518  	//     "$ref": "CreativeField"
 26519  	//   },
 26520  	//   "scopes": [
 26521  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26522  	//   ]
 26523  	// }
 26524  
 26525  }
 26526  
 26527  // method id "dfareporting.creativeFields.list":
 26528  
 26529  type CreativeFieldsListCall struct {
 26530  	s            *Service
 26531  	profileId    int64
 26532  	urlParams_   gensupport.URLParams
 26533  	ifNoneMatch_ string
 26534  	ctx_         context.Context
 26535  	header_      http.Header
 26536  }
 26537  
 26538  // List: Retrieves a list of creative fields, possibly filtered. This
 26539  // method supports paging.
 26540  func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
 26541  	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26542  	c.profileId = profileId
 26543  	return c
 26544  }
 26545  
 26546  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 26547  // only creative fields that belong to these advertisers.
 26548  func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
 26549  	var advertiserIds_ []string
 26550  	for _, v := range advertiserIds {
 26551  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 26552  	}
 26553  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 26554  	return c
 26555  }
 26556  
 26557  // Ids sets the optional parameter "ids": Select only creative fields
 26558  // with these IDs.
 26559  func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
 26560  	var ids_ []string
 26561  	for _, v := range ids {
 26562  		ids_ = append(ids_, fmt.Sprint(v))
 26563  	}
 26564  	c.urlParams_.SetMulti("ids", ids_)
 26565  	return c
 26566  }
 26567  
 26568  // MaxResults sets the optional parameter "maxResults": Maximum number
 26569  // of results to return.
 26570  func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
 26571  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 26572  	return c
 26573  }
 26574  
 26575  // PageToken sets the optional parameter "pageToken": Value of the
 26576  // nextPageToken from the previous result page.
 26577  func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
 26578  	c.urlParams_.Set("pageToken", pageToken)
 26579  	return c
 26580  }
 26581  
 26582  // SearchString sets the optional parameter "searchString": Allows
 26583  // searching for creative fields by name or ID. Wildcards (*) are
 26584  // allowed. For example, "creativefield*2015" will return creative
 26585  // fields with names like "creativefield June 2015", "creativefield
 26586  // April 2015", or simply "creativefield 2015". Most of the searches
 26587  // also add wild-cards implicitly at the start and the end of the search
 26588  // string. For example, a search string of "creativefield" will match
 26589  // creative fields with the name "my creativefield", "creativefield
 26590  // 2015", or simply "creativefield".
 26591  func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
 26592  	c.urlParams_.Set("searchString", searchString)
 26593  	return c
 26594  }
 26595  
 26596  // SortField sets the optional parameter "sortField": Field by which to
 26597  // sort the list.
 26598  //
 26599  // Possible values:
 26600  //
 26601  //	"ID" (default)
 26602  //	"NAME"
 26603  func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
 26604  	c.urlParams_.Set("sortField", sortField)
 26605  	return c
 26606  }
 26607  
 26608  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 26609  // results.
 26610  //
 26611  // Possible values:
 26612  //
 26613  //	"ASCENDING" (default)
 26614  //	"DESCENDING"
 26615  func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
 26616  	c.urlParams_.Set("sortOrder", sortOrder)
 26617  	return c
 26618  }
 26619  
 26620  // Fields allows partial responses to be retrieved. See
 26621  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26622  // for more information.
 26623  func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
 26624  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26625  	return c
 26626  }
 26627  
 26628  // IfNoneMatch sets the optional parameter which makes the operation
 26629  // fail if the object's ETag matches the given value. This is useful for
 26630  // getting updates only after the object has changed since the last
 26631  // request. Use googleapi.IsNotModified to check whether the response
 26632  // error from Do is the result of In-None-Match.
 26633  func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
 26634  	c.ifNoneMatch_ = entityTag
 26635  	return c
 26636  }
 26637  
 26638  // Context sets the context to be used in this call's Do method. Any
 26639  // pending HTTP request will be aborted if the provided context is
 26640  // canceled.
 26641  func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 26642  	c.ctx_ = ctx
 26643  	return c
 26644  }
 26645  
 26646  // Header returns an http.Header that can be modified by the caller to
 26647  // add HTTP headers to the request.
 26648  func (c *CreativeFieldsListCall) Header() http.Header {
 26649  	if c.header_ == nil {
 26650  		c.header_ = make(http.Header)
 26651  	}
 26652  	return c.header_
 26653  }
 26654  
 26655  func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 26656  	reqHeaders := make(http.Header)
 26657  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26658  	for k, v := range c.header_ {
 26659  		reqHeaders[k] = v
 26660  	}
 26661  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26662  	if c.ifNoneMatch_ != "" {
 26663  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26664  	}
 26665  	var body io.Reader = nil
 26666  	c.urlParams_.Set("alt", alt)
 26667  	c.urlParams_.Set("prettyPrint", "false")
 26668  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26669  	urls += "?" + c.urlParams_.Encode()
 26670  	req, err := http.NewRequest("GET", urls, body)
 26671  	if err != nil {
 26672  		return nil, err
 26673  	}
 26674  	req.Header = reqHeaders
 26675  	googleapi.Expand(req.URL, map[string]string{
 26676  		"profileId": strconv.FormatInt(c.profileId, 10),
 26677  	})
 26678  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26679  }
 26680  
 26681  // Do executes the "dfareporting.creativeFields.list" call.
 26682  // Exactly one of *CreativeFieldsListResponse or error will be non-nil.
 26683  // Any non-2xx status code is an error. Response headers are in either
 26684  // *CreativeFieldsListResponse.ServerResponse.Header or (if a response
 26685  // was returned at all) in error.(*googleapi.Error).Header. Use
 26686  // googleapi.IsNotModified to check whether the returned error was
 26687  // because http.StatusNotModified was returned.
 26688  func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
 26689  	gensupport.SetOptions(c.urlParams_, opts...)
 26690  	res, err := c.doRequest("json")
 26691  	if res != nil && res.StatusCode == http.StatusNotModified {
 26692  		if res.Body != nil {
 26693  			res.Body.Close()
 26694  		}
 26695  		return nil, &googleapi.Error{
 26696  			Code:   res.StatusCode,
 26697  			Header: res.Header,
 26698  		}
 26699  	}
 26700  	if err != nil {
 26701  		return nil, err
 26702  	}
 26703  	defer googleapi.CloseBody(res)
 26704  	if err := googleapi.CheckResponse(res); err != nil {
 26705  		return nil, err
 26706  	}
 26707  	ret := &CreativeFieldsListResponse{
 26708  		ServerResponse: googleapi.ServerResponse{
 26709  			Header:         res.Header,
 26710  			HTTPStatusCode: res.StatusCode,
 26711  		},
 26712  	}
 26713  	target := &ret
 26714  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26715  		return nil, err
 26716  	}
 26717  	return ret, nil
 26718  	// {
 26719  	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
 26720  	//   "httpMethod": "GET",
 26721  	//   "id": "dfareporting.creativeFields.list",
 26722  	//   "parameterOrder": [
 26723  	//     "profileId"
 26724  	//   ],
 26725  	//   "parameters": {
 26726  	//     "advertiserIds": {
 26727  	//       "description": "Select only creative fields that belong to these advertisers.",
 26728  	//       "format": "int64",
 26729  	//       "location": "query",
 26730  	//       "repeated": true,
 26731  	//       "type": "string"
 26732  	//     },
 26733  	//     "ids": {
 26734  	//       "description": "Select only creative fields with these IDs.",
 26735  	//       "format": "int64",
 26736  	//       "location": "query",
 26737  	//       "repeated": true,
 26738  	//       "type": "string"
 26739  	//     },
 26740  	//     "maxResults": {
 26741  	//       "default": "1000",
 26742  	//       "description": "Maximum number of results to return.",
 26743  	//       "format": "int32",
 26744  	//       "location": "query",
 26745  	//       "maximum": "1000",
 26746  	//       "minimum": "0",
 26747  	//       "type": "integer"
 26748  	//     },
 26749  	//     "pageToken": {
 26750  	//       "description": "Value of the nextPageToken from the previous result page.",
 26751  	//       "location": "query",
 26752  	//       "type": "string"
 26753  	//     },
 26754  	//     "profileId": {
 26755  	//       "description": "User profile ID associated with this request.",
 26756  	//       "format": "int64",
 26757  	//       "location": "path",
 26758  	//       "required": true,
 26759  	//       "type": "string"
 26760  	//     },
 26761  	//     "searchString": {
 26762  	//       "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\".",
 26763  	//       "location": "query",
 26764  	//       "type": "string"
 26765  	//     },
 26766  	//     "sortField": {
 26767  	//       "default": "ID",
 26768  	//       "description": "Field by which to sort the list.",
 26769  	//       "enum": [
 26770  	//         "ID",
 26771  	//         "NAME"
 26772  	//       ],
 26773  	//       "enumDescriptions": [
 26774  	//         "",
 26775  	//         ""
 26776  	//       ],
 26777  	//       "location": "query",
 26778  	//       "type": "string"
 26779  	//     },
 26780  	//     "sortOrder": {
 26781  	//       "default": "ASCENDING",
 26782  	//       "description": "Order of sorted results.",
 26783  	//       "enum": [
 26784  	//         "ASCENDING",
 26785  	//         "DESCENDING"
 26786  	//       ],
 26787  	//       "enumDescriptions": [
 26788  	//         "",
 26789  	//         ""
 26790  	//       ],
 26791  	//       "location": "query",
 26792  	//       "type": "string"
 26793  	//     }
 26794  	//   },
 26795  	//   "path": "userprofiles/{profileId}/creativeFields",
 26796  	//   "response": {
 26797  	//     "$ref": "CreativeFieldsListResponse"
 26798  	//   },
 26799  	//   "scopes": [
 26800  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26801  	//   ]
 26802  	// }
 26803  
 26804  }
 26805  
 26806  // Pages invokes f for each page of results.
 26807  // A non-nil error returned from f will halt the iteration.
 26808  // The provided context supersedes any context provided to the Context method.
 26809  func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
 26810  	c.ctx_ = ctx
 26811  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 26812  	for {
 26813  		x, err := c.Do()
 26814  		if err != nil {
 26815  			return err
 26816  		}
 26817  		if err := f(x); err != nil {
 26818  			return err
 26819  		}
 26820  		if x.NextPageToken == "" {
 26821  			return nil
 26822  		}
 26823  		c.PageToken(x.NextPageToken)
 26824  	}
 26825  }
 26826  
 26827  // method id "dfareporting.creativeFields.patch":
 26828  
 26829  type CreativeFieldsPatchCall struct {
 26830  	s             *Service
 26831  	profileId     int64
 26832  	creativefield *CreativeField
 26833  	urlParams_    gensupport.URLParams
 26834  	ctx_          context.Context
 26835  	header_       http.Header
 26836  }
 26837  
 26838  // Patch: Updates an existing creative field. This method supports patch
 26839  // semantics.
 26840  func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
 26841  	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26842  	c.profileId = profileId
 26843  	c.urlParams_.Set("id", fmt.Sprint(id))
 26844  	c.creativefield = creativefield
 26845  	return c
 26846  }
 26847  
 26848  // Fields allows partial responses to be retrieved. See
 26849  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26850  // for more information.
 26851  func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
 26852  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26853  	return c
 26854  }
 26855  
 26856  // Context sets the context to be used in this call's Do method. Any
 26857  // pending HTTP request will be aborted if the provided context is
 26858  // canceled.
 26859  func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 26860  	c.ctx_ = ctx
 26861  	return c
 26862  }
 26863  
 26864  // Header returns an http.Header that can be modified by the caller to
 26865  // add HTTP headers to the request.
 26866  func (c *CreativeFieldsPatchCall) Header() http.Header {
 26867  	if c.header_ == nil {
 26868  		c.header_ = make(http.Header)
 26869  	}
 26870  	return c.header_
 26871  }
 26872  
 26873  func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 26874  	reqHeaders := make(http.Header)
 26875  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 26876  	for k, v := range c.header_ {
 26877  		reqHeaders[k] = v
 26878  	}
 26879  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26880  	var body io.Reader = nil
 26881  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26882  	if err != nil {
 26883  		return nil, err
 26884  	}
 26885  	reqHeaders.Set("Content-Type", "application/json")
 26886  	c.urlParams_.Set("alt", alt)
 26887  	c.urlParams_.Set("prettyPrint", "false")
 26888  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26889  	urls += "?" + c.urlParams_.Encode()
 26890  	req, err := http.NewRequest("PATCH", urls, body)
 26891  	if err != nil {
 26892  		return nil, err
 26893  	}
 26894  	req.Header = reqHeaders
 26895  	googleapi.Expand(req.URL, map[string]string{
 26896  		"profileId": strconv.FormatInt(c.profileId, 10),
 26897  	})
 26898  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26899  }
 26900  
 26901  // Do executes the "dfareporting.creativeFields.patch" call.
 26902  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26903  // status code is an error. Response headers are in either
 26904  // *CreativeField.ServerResponse.Header or (if a response was returned
 26905  // at all) in error.(*googleapi.Error).Header. Use
 26906  // googleapi.IsNotModified to check whether the returned error was
 26907  // because http.StatusNotModified was returned.
 26908  func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26909  	gensupport.SetOptions(c.urlParams_, opts...)
 26910  	res, err := c.doRequest("json")
 26911  	if res != nil && res.StatusCode == http.StatusNotModified {
 26912  		if res.Body != nil {
 26913  			res.Body.Close()
 26914  		}
 26915  		return nil, &googleapi.Error{
 26916  			Code:   res.StatusCode,
 26917  			Header: res.Header,
 26918  		}
 26919  	}
 26920  	if err != nil {
 26921  		return nil, err
 26922  	}
 26923  	defer googleapi.CloseBody(res)
 26924  	if err := googleapi.CheckResponse(res); err != nil {
 26925  		return nil, err
 26926  	}
 26927  	ret := &CreativeField{
 26928  		ServerResponse: googleapi.ServerResponse{
 26929  			Header:         res.Header,
 26930  			HTTPStatusCode: res.StatusCode,
 26931  		},
 26932  	}
 26933  	target := &ret
 26934  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26935  		return nil, err
 26936  	}
 26937  	return ret, nil
 26938  	// {
 26939  	//   "description": "Updates an existing creative field. This method supports patch semantics.",
 26940  	//   "httpMethod": "PATCH",
 26941  	//   "id": "dfareporting.creativeFields.patch",
 26942  	//   "parameterOrder": [
 26943  	//     "profileId",
 26944  	//     "id"
 26945  	//   ],
 26946  	//   "parameters": {
 26947  	//     "id": {
 26948  	//       "description": "Creative Field ID",
 26949  	//       "format": "int64",
 26950  	//       "location": "query",
 26951  	//       "required": true,
 26952  	//       "type": "string"
 26953  	//     },
 26954  	//     "profileId": {
 26955  	//       "description": "User profile ID associated with this request.",
 26956  	//       "format": "int64",
 26957  	//       "location": "path",
 26958  	//       "required": true,
 26959  	//       "type": "string"
 26960  	//     }
 26961  	//   },
 26962  	//   "path": "userprofiles/{profileId}/creativeFields",
 26963  	//   "request": {
 26964  	//     "$ref": "CreativeField"
 26965  	//   },
 26966  	//   "response": {
 26967  	//     "$ref": "CreativeField"
 26968  	//   },
 26969  	//   "scopes": [
 26970  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26971  	//   ]
 26972  	// }
 26973  
 26974  }
 26975  
 26976  // method id "dfareporting.creativeFields.update":
 26977  
 26978  type CreativeFieldsUpdateCall struct {
 26979  	s             *Service
 26980  	profileId     int64
 26981  	creativefield *CreativeField
 26982  	urlParams_    gensupport.URLParams
 26983  	ctx_          context.Context
 26984  	header_       http.Header
 26985  }
 26986  
 26987  // Update: Updates an existing creative field.
 26988  func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
 26989  	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26990  	c.profileId = profileId
 26991  	c.creativefield = creativefield
 26992  	return c
 26993  }
 26994  
 26995  // Fields allows partial responses to be retrieved. See
 26996  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26997  // for more information.
 26998  func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
 26999  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27000  	return c
 27001  }
 27002  
 27003  // Context sets the context to be used in this call's Do method. Any
 27004  // pending HTTP request will be aborted if the provided context is
 27005  // canceled.
 27006  func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 27007  	c.ctx_ = ctx
 27008  	return c
 27009  }
 27010  
 27011  // Header returns an http.Header that can be modified by the caller to
 27012  // add HTTP headers to the request.
 27013  func (c *CreativeFieldsUpdateCall) Header() http.Header {
 27014  	if c.header_ == nil {
 27015  		c.header_ = make(http.Header)
 27016  	}
 27017  	return c.header_
 27018  }
 27019  
 27020  func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 27021  	reqHeaders := make(http.Header)
 27022  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27023  	for k, v := range c.header_ {
 27024  		reqHeaders[k] = v
 27025  	}
 27026  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27027  	var body io.Reader = nil
 27028  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 27029  	if err != nil {
 27030  		return nil, err
 27031  	}
 27032  	reqHeaders.Set("Content-Type", "application/json")
 27033  	c.urlParams_.Set("alt", alt)
 27034  	c.urlParams_.Set("prettyPrint", "false")
 27035  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 27036  	urls += "?" + c.urlParams_.Encode()
 27037  	req, err := http.NewRequest("PUT", urls, body)
 27038  	if err != nil {
 27039  		return nil, err
 27040  	}
 27041  	req.Header = reqHeaders
 27042  	googleapi.Expand(req.URL, map[string]string{
 27043  		"profileId": strconv.FormatInt(c.profileId, 10),
 27044  	})
 27045  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27046  }
 27047  
 27048  // Do executes the "dfareporting.creativeFields.update" call.
 27049  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 27050  // status code is an error. Response headers are in either
 27051  // *CreativeField.ServerResponse.Header or (if a response was returned
 27052  // at all) in error.(*googleapi.Error).Header. Use
 27053  // googleapi.IsNotModified to check whether the returned error was
 27054  // because http.StatusNotModified was returned.
 27055  func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 27056  	gensupport.SetOptions(c.urlParams_, opts...)
 27057  	res, err := c.doRequest("json")
 27058  	if res != nil && res.StatusCode == http.StatusNotModified {
 27059  		if res.Body != nil {
 27060  			res.Body.Close()
 27061  		}
 27062  		return nil, &googleapi.Error{
 27063  			Code:   res.StatusCode,
 27064  			Header: res.Header,
 27065  		}
 27066  	}
 27067  	if err != nil {
 27068  		return nil, err
 27069  	}
 27070  	defer googleapi.CloseBody(res)
 27071  	if err := googleapi.CheckResponse(res); err != nil {
 27072  		return nil, err
 27073  	}
 27074  	ret := &CreativeField{
 27075  		ServerResponse: googleapi.ServerResponse{
 27076  			Header:         res.Header,
 27077  			HTTPStatusCode: res.StatusCode,
 27078  		},
 27079  	}
 27080  	target := &ret
 27081  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27082  		return nil, err
 27083  	}
 27084  	return ret, nil
 27085  	// {
 27086  	//   "description": "Updates an existing creative field.",
 27087  	//   "httpMethod": "PUT",
 27088  	//   "id": "dfareporting.creativeFields.update",
 27089  	//   "parameterOrder": [
 27090  	//     "profileId"
 27091  	//   ],
 27092  	//   "parameters": {
 27093  	//     "profileId": {
 27094  	//       "description": "User profile ID associated with this request.",
 27095  	//       "format": "int64",
 27096  	//       "location": "path",
 27097  	//       "required": true,
 27098  	//       "type": "string"
 27099  	//     }
 27100  	//   },
 27101  	//   "path": "userprofiles/{profileId}/creativeFields",
 27102  	//   "request": {
 27103  	//     "$ref": "CreativeField"
 27104  	//   },
 27105  	//   "response": {
 27106  	//     "$ref": "CreativeField"
 27107  	//   },
 27108  	//   "scopes": [
 27109  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27110  	//   ]
 27111  	// }
 27112  
 27113  }
 27114  
 27115  // method id "dfareporting.creativeGroups.get":
 27116  
 27117  type CreativeGroupsGetCall struct {
 27118  	s            *Service
 27119  	profileId    int64
 27120  	id           int64
 27121  	urlParams_   gensupport.URLParams
 27122  	ifNoneMatch_ string
 27123  	ctx_         context.Context
 27124  	header_      http.Header
 27125  }
 27126  
 27127  // Get: Gets one creative group by ID.
 27128  func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
 27129  	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27130  	c.profileId = profileId
 27131  	c.id = id
 27132  	return c
 27133  }
 27134  
 27135  // Fields allows partial responses to be retrieved. See
 27136  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27137  // for more information.
 27138  func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
 27139  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27140  	return c
 27141  }
 27142  
 27143  // IfNoneMatch sets the optional parameter which makes the operation
 27144  // fail if the object's ETag matches the given value. This is useful for
 27145  // getting updates only after the object has changed since the last
 27146  // request. Use googleapi.IsNotModified to check whether the response
 27147  // error from Do is the result of In-None-Match.
 27148  func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
 27149  	c.ifNoneMatch_ = entityTag
 27150  	return c
 27151  }
 27152  
 27153  // Context sets the context to be used in this call's Do method. Any
 27154  // pending HTTP request will be aborted if the provided context is
 27155  // canceled.
 27156  func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 27157  	c.ctx_ = ctx
 27158  	return c
 27159  }
 27160  
 27161  // Header returns an http.Header that can be modified by the caller to
 27162  // add HTTP headers to the request.
 27163  func (c *CreativeGroupsGetCall) Header() http.Header {
 27164  	if c.header_ == nil {
 27165  		c.header_ = make(http.Header)
 27166  	}
 27167  	return c.header_
 27168  }
 27169  
 27170  func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 27171  	reqHeaders := make(http.Header)
 27172  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27173  	for k, v := range c.header_ {
 27174  		reqHeaders[k] = v
 27175  	}
 27176  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27177  	if c.ifNoneMatch_ != "" {
 27178  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27179  	}
 27180  	var body io.Reader = nil
 27181  	c.urlParams_.Set("alt", alt)
 27182  	c.urlParams_.Set("prettyPrint", "false")
 27183  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
 27184  	urls += "?" + c.urlParams_.Encode()
 27185  	req, err := http.NewRequest("GET", urls, body)
 27186  	if err != nil {
 27187  		return nil, err
 27188  	}
 27189  	req.Header = reqHeaders
 27190  	googleapi.Expand(req.URL, map[string]string{
 27191  		"profileId": strconv.FormatInt(c.profileId, 10),
 27192  		"id":        strconv.FormatInt(c.id, 10),
 27193  	})
 27194  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27195  }
 27196  
 27197  // Do executes the "dfareporting.creativeGroups.get" call.
 27198  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27199  // status code is an error. Response headers are in either
 27200  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27201  // at all) in error.(*googleapi.Error).Header. Use
 27202  // googleapi.IsNotModified to check whether the returned error was
 27203  // because http.StatusNotModified was returned.
 27204  func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27205  	gensupport.SetOptions(c.urlParams_, opts...)
 27206  	res, err := c.doRequest("json")
 27207  	if res != nil && res.StatusCode == http.StatusNotModified {
 27208  		if res.Body != nil {
 27209  			res.Body.Close()
 27210  		}
 27211  		return nil, &googleapi.Error{
 27212  			Code:   res.StatusCode,
 27213  			Header: res.Header,
 27214  		}
 27215  	}
 27216  	if err != nil {
 27217  		return nil, err
 27218  	}
 27219  	defer googleapi.CloseBody(res)
 27220  	if err := googleapi.CheckResponse(res); err != nil {
 27221  		return nil, err
 27222  	}
 27223  	ret := &CreativeGroup{
 27224  		ServerResponse: googleapi.ServerResponse{
 27225  			Header:         res.Header,
 27226  			HTTPStatusCode: res.StatusCode,
 27227  		},
 27228  	}
 27229  	target := &ret
 27230  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27231  		return nil, err
 27232  	}
 27233  	return ret, nil
 27234  	// {
 27235  	//   "description": "Gets one creative group by ID.",
 27236  	//   "httpMethod": "GET",
 27237  	//   "id": "dfareporting.creativeGroups.get",
 27238  	//   "parameterOrder": [
 27239  	//     "profileId",
 27240  	//     "id"
 27241  	//   ],
 27242  	//   "parameters": {
 27243  	//     "id": {
 27244  	//       "description": "Creative group ID.",
 27245  	//       "format": "int64",
 27246  	//       "location": "path",
 27247  	//       "required": true,
 27248  	//       "type": "string"
 27249  	//     },
 27250  	//     "profileId": {
 27251  	//       "description": "User profile ID associated with this request.",
 27252  	//       "format": "int64",
 27253  	//       "location": "path",
 27254  	//       "required": true,
 27255  	//       "type": "string"
 27256  	//     }
 27257  	//   },
 27258  	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
 27259  	//   "response": {
 27260  	//     "$ref": "CreativeGroup"
 27261  	//   },
 27262  	//   "scopes": [
 27263  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27264  	//   ]
 27265  	// }
 27266  
 27267  }
 27268  
 27269  // method id "dfareporting.creativeGroups.insert":
 27270  
 27271  type CreativeGroupsInsertCall struct {
 27272  	s             *Service
 27273  	profileId     int64
 27274  	creativegroup *CreativeGroup
 27275  	urlParams_    gensupport.URLParams
 27276  	ctx_          context.Context
 27277  	header_       http.Header
 27278  }
 27279  
 27280  // Insert: Inserts a new creative group.
 27281  func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
 27282  	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27283  	c.profileId = profileId
 27284  	c.creativegroup = creativegroup
 27285  	return c
 27286  }
 27287  
 27288  // Fields allows partial responses to be retrieved. See
 27289  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27290  // for more information.
 27291  func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
 27292  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27293  	return c
 27294  }
 27295  
 27296  // Context sets the context to be used in this call's Do method. Any
 27297  // pending HTTP request will be aborted if the provided context is
 27298  // canceled.
 27299  func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 27300  	c.ctx_ = ctx
 27301  	return c
 27302  }
 27303  
 27304  // Header returns an http.Header that can be modified by the caller to
 27305  // add HTTP headers to the request.
 27306  func (c *CreativeGroupsInsertCall) Header() http.Header {
 27307  	if c.header_ == nil {
 27308  		c.header_ = make(http.Header)
 27309  	}
 27310  	return c.header_
 27311  }
 27312  
 27313  func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 27314  	reqHeaders := make(http.Header)
 27315  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27316  	for k, v := range c.header_ {
 27317  		reqHeaders[k] = v
 27318  	}
 27319  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27320  	var body io.Reader = nil
 27321  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27322  	if err != nil {
 27323  		return nil, err
 27324  	}
 27325  	reqHeaders.Set("Content-Type", "application/json")
 27326  	c.urlParams_.Set("alt", alt)
 27327  	c.urlParams_.Set("prettyPrint", "false")
 27328  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27329  	urls += "?" + c.urlParams_.Encode()
 27330  	req, err := http.NewRequest("POST", urls, body)
 27331  	if err != nil {
 27332  		return nil, err
 27333  	}
 27334  	req.Header = reqHeaders
 27335  	googleapi.Expand(req.URL, map[string]string{
 27336  		"profileId": strconv.FormatInt(c.profileId, 10),
 27337  	})
 27338  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27339  }
 27340  
 27341  // Do executes the "dfareporting.creativeGroups.insert" call.
 27342  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27343  // status code is an error. Response headers are in either
 27344  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27345  // at all) in error.(*googleapi.Error).Header. Use
 27346  // googleapi.IsNotModified to check whether the returned error was
 27347  // because http.StatusNotModified was returned.
 27348  func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27349  	gensupport.SetOptions(c.urlParams_, opts...)
 27350  	res, err := c.doRequest("json")
 27351  	if res != nil && res.StatusCode == http.StatusNotModified {
 27352  		if res.Body != nil {
 27353  			res.Body.Close()
 27354  		}
 27355  		return nil, &googleapi.Error{
 27356  			Code:   res.StatusCode,
 27357  			Header: res.Header,
 27358  		}
 27359  	}
 27360  	if err != nil {
 27361  		return nil, err
 27362  	}
 27363  	defer googleapi.CloseBody(res)
 27364  	if err := googleapi.CheckResponse(res); err != nil {
 27365  		return nil, err
 27366  	}
 27367  	ret := &CreativeGroup{
 27368  		ServerResponse: googleapi.ServerResponse{
 27369  			Header:         res.Header,
 27370  			HTTPStatusCode: res.StatusCode,
 27371  		},
 27372  	}
 27373  	target := &ret
 27374  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27375  		return nil, err
 27376  	}
 27377  	return ret, nil
 27378  	// {
 27379  	//   "description": "Inserts a new creative group.",
 27380  	//   "httpMethod": "POST",
 27381  	//   "id": "dfareporting.creativeGroups.insert",
 27382  	//   "parameterOrder": [
 27383  	//     "profileId"
 27384  	//   ],
 27385  	//   "parameters": {
 27386  	//     "profileId": {
 27387  	//       "description": "User profile ID associated with this request.",
 27388  	//       "format": "int64",
 27389  	//       "location": "path",
 27390  	//       "required": true,
 27391  	//       "type": "string"
 27392  	//     }
 27393  	//   },
 27394  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27395  	//   "request": {
 27396  	//     "$ref": "CreativeGroup"
 27397  	//   },
 27398  	//   "response": {
 27399  	//     "$ref": "CreativeGroup"
 27400  	//   },
 27401  	//   "scopes": [
 27402  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27403  	//   ]
 27404  	// }
 27405  
 27406  }
 27407  
 27408  // method id "dfareporting.creativeGroups.list":
 27409  
 27410  type CreativeGroupsListCall struct {
 27411  	s            *Service
 27412  	profileId    int64
 27413  	urlParams_   gensupport.URLParams
 27414  	ifNoneMatch_ string
 27415  	ctx_         context.Context
 27416  	header_      http.Header
 27417  }
 27418  
 27419  // List: Retrieves a list of creative groups, possibly filtered. This
 27420  // method supports paging.
 27421  func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
 27422  	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27423  	c.profileId = profileId
 27424  	return c
 27425  }
 27426  
 27427  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 27428  // only creative groups that belong to these advertisers.
 27429  func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
 27430  	var advertiserIds_ []string
 27431  	for _, v := range advertiserIds {
 27432  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 27433  	}
 27434  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 27435  	return c
 27436  }
 27437  
 27438  // GroupNumber sets the optional parameter "groupNumber": Select only
 27439  // creative groups that belong to this subgroup.
 27440  func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
 27441  	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
 27442  	return c
 27443  }
 27444  
 27445  // Ids sets the optional parameter "ids": Select only creative groups
 27446  // with these IDs.
 27447  func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
 27448  	var ids_ []string
 27449  	for _, v := range ids {
 27450  		ids_ = append(ids_, fmt.Sprint(v))
 27451  	}
 27452  	c.urlParams_.SetMulti("ids", ids_)
 27453  	return c
 27454  }
 27455  
 27456  // MaxResults sets the optional parameter "maxResults": Maximum number
 27457  // of results to return.
 27458  func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
 27459  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 27460  	return c
 27461  }
 27462  
 27463  // PageToken sets the optional parameter "pageToken": Value of the
 27464  // nextPageToken from the previous result page.
 27465  func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
 27466  	c.urlParams_.Set("pageToken", pageToken)
 27467  	return c
 27468  }
 27469  
 27470  // SearchString sets the optional parameter "searchString": Allows
 27471  // searching for creative groups by name or ID. Wildcards (*) are
 27472  // allowed. For example, "creativegroup*2015" will return creative
 27473  // groups with names like "creativegroup June 2015", "creativegroup
 27474  // April 2015", or simply "creativegroup 2015". Most of the searches
 27475  // also add wild-cards implicitly at the start and the end of the search
 27476  // string. For example, a search string of "creativegroup" will match
 27477  // creative groups with the name "my creativegroup", "creativegroup
 27478  // 2015", or simply "creativegroup".
 27479  func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
 27480  	c.urlParams_.Set("searchString", searchString)
 27481  	return c
 27482  }
 27483  
 27484  // SortField sets the optional parameter "sortField": Field by which to
 27485  // sort the list.
 27486  //
 27487  // Possible values:
 27488  //
 27489  //	"ID" (default)
 27490  //	"NAME"
 27491  func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
 27492  	c.urlParams_.Set("sortField", sortField)
 27493  	return c
 27494  }
 27495  
 27496  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 27497  // results.
 27498  //
 27499  // Possible values:
 27500  //
 27501  //	"ASCENDING" (default)
 27502  //	"DESCENDING"
 27503  func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
 27504  	c.urlParams_.Set("sortOrder", sortOrder)
 27505  	return c
 27506  }
 27507  
 27508  // Fields allows partial responses to be retrieved. See
 27509  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27510  // for more information.
 27511  func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
 27512  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27513  	return c
 27514  }
 27515  
 27516  // IfNoneMatch sets the optional parameter which makes the operation
 27517  // fail if the object's ETag matches the given value. This is useful for
 27518  // getting updates only after the object has changed since the last
 27519  // request. Use googleapi.IsNotModified to check whether the response
 27520  // error from Do is the result of In-None-Match.
 27521  func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
 27522  	c.ifNoneMatch_ = entityTag
 27523  	return c
 27524  }
 27525  
 27526  // Context sets the context to be used in this call's Do method. Any
 27527  // pending HTTP request will be aborted if the provided context is
 27528  // canceled.
 27529  func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 27530  	c.ctx_ = ctx
 27531  	return c
 27532  }
 27533  
 27534  // Header returns an http.Header that can be modified by the caller to
 27535  // add HTTP headers to the request.
 27536  func (c *CreativeGroupsListCall) Header() http.Header {
 27537  	if c.header_ == nil {
 27538  		c.header_ = make(http.Header)
 27539  	}
 27540  	return c.header_
 27541  }
 27542  
 27543  func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 27544  	reqHeaders := make(http.Header)
 27545  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27546  	for k, v := range c.header_ {
 27547  		reqHeaders[k] = v
 27548  	}
 27549  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27550  	if c.ifNoneMatch_ != "" {
 27551  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27552  	}
 27553  	var body io.Reader = nil
 27554  	c.urlParams_.Set("alt", alt)
 27555  	c.urlParams_.Set("prettyPrint", "false")
 27556  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27557  	urls += "?" + c.urlParams_.Encode()
 27558  	req, err := http.NewRequest("GET", urls, body)
 27559  	if err != nil {
 27560  		return nil, err
 27561  	}
 27562  	req.Header = reqHeaders
 27563  	googleapi.Expand(req.URL, map[string]string{
 27564  		"profileId": strconv.FormatInt(c.profileId, 10),
 27565  	})
 27566  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27567  }
 27568  
 27569  // Do executes the "dfareporting.creativeGroups.list" call.
 27570  // Exactly one of *CreativeGroupsListResponse or error will be non-nil.
 27571  // Any non-2xx status code is an error. Response headers are in either
 27572  // *CreativeGroupsListResponse.ServerResponse.Header or (if a response
 27573  // was returned at all) in error.(*googleapi.Error).Header. Use
 27574  // googleapi.IsNotModified to check whether the returned error was
 27575  // because http.StatusNotModified was returned.
 27576  func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
 27577  	gensupport.SetOptions(c.urlParams_, opts...)
 27578  	res, err := c.doRequest("json")
 27579  	if res != nil && res.StatusCode == http.StatusNotModified {
 27580  		if res.Body != nil {
 27581  			res.Body.Close()
 27582  		}
 27583  		return nil, &googleapi.Error{
 27584  			Code:   res.StatusCode,
 27585  			Header: res.Header,
 27586  		}
 27587  	}
 27588  	if err != nil {
 27589  		return nil, err
 27590  	}
 27591  	defer googleapi.CloseBody(res)
 27592  	if err := googleapi.CheckResponse(res); err != nil {
 27593  		return nil, err
 27594  	}
 27595  	ret := &CreativeGroupsListResponse{
 27596  		ServerResponse: googleapi.ServerResponse{
 27597  			Header:         res.Header,
 27598  			HTTPStatusCode: res.StatusCode,
 27599  		},
 27600  	}
 27601  	target := &ret
 27602  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27603  		return nil, err
 27604  	}
 27605  	return ret, nil
 27606  	// {
 27607  	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
 27608  	//   "httpMethod": "GET",
 27609  	//   "id": "dfareporting.creativeGroups.list",
 27610  	//   "parameterOrder": [
 27611  	//     "profileId"
 27612  	//   ],
 27613  	//   "parameters": {
 27614  	//     "advertiserIds": {
 27615  	//       "description": "Select only creative groups that belong to these advertisers.",
 27616  	//       "format": "int64",
 27617  	//       "location": "query",
 27618  	//       "repeated": true,
 27619  	//       "type": "string"
 27620  	//     },
 27621  	//     "groupNumber": {
 27622  	//       "description": "Select only creative groups that belong to this subgroup.",
 27623  	//       "format": "int32",
 27624  	//       "location": "query",
 27625  	//       "maximum": "2",
 27626  	//       "minimum": "1",
 27627  	//       "type": "integer"
 27628  	//     },
 27629  	//     "ids": {
 27630  	//       "description": "Select only creative groups with these IDs.",
 27631  	//       "format": "int64",
 27632  	//       "location": "query",
 27633  	//       "repeated": true,
 27634  	//       "type": "string"
 27635  	//     },
 27636  	//     "maxResults": {
 27637  	//       "default": "1000",
 27638  	//       "description": "Maximum number of results to return.",
 27639  	//       "format": "int32",
 27640  	//       "location": "query",
 27641  	//       "maximum": "1000",
 27642  	//       "minimum": "0",
 27643  	//       "type": "integer"
 27644  	//     },
 27645  	//     "pageToken": {
 27646  	//       "description": "Value of the nextPageToken from the previous result page.",
 27647  	//       "location": "query",
 27648  	//       "type": "string"
 27649  	//     },
 27650  	//     "profileId": {
 27651  	//       "description": "User profile ID associated with this request.",
 27652  	//       "format": "int64",
 27653  	//       "location": "path",
 27654  	//       "required": true,
 27655  	//       "type": "string"
 27656  	//     },
 27657  	//     "searchString": {
 27658  	//       "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\".",
 27659  	//       "location": "query",
 27660  	//       "type": "string"
 27661  	//     },
 27662  	//     "sortField": {
 27663  	//       "default": "ID",
 27664  	//       "description": "Field by which to sort the list.",
 27665  	//       "enum": [
 27666  	//         "ID",
 27667  	//         "NAME"
 27668  	//       ],
 27669  	//       "enumDescriptions": [
 27670  	//         "",
 27671  	//         ""
 27672  	//       ],
 27673  	//       "location": "query",
 27674  	//       "type": "string"
 27675  	//     },
 27676  	//     "sortOrder": {
 27677  	//       "default": "ASCENDING",
 27678  	//       "description": "Order of sorted results.",
 27679  	//       "enum": [
 27680  	//         "ASCENDING",
 27681  	//         "DESCENDING"
 27682  	//       ],
 27683  	//       "enumDescriptions": [
 27684  	//         "",
 27685  	//         ""
 27686  	//       ],
 27687  	//       "location": "query",
 27688  	//       "type": "string"
 27689  	//     }
 27690  	//   },
 27691  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27692  	//   "response": {
 27693  	//     "$ref": "CreativeGroupsListResponse"
 27694  	//   },
 27695  	//   "scopes": [
 27696  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27697  	//   ]
 27698  	// }
 27699  
 27700  }
 27701  
 27702  // Pages invokes f for each page of results.
 27703  // A non-nil error returned from f will halt the iteration.
 27704  // The provided context supersedes any context provided to the Context method.
 27705  func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
 27706  	c.ctx_ = ctx
 27707  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 27708  	for {
 27709  		x, err := c.Do()
 27710  		if err != nil {
 27711  			return err
 27712  		}
 27713  		if err := f(x); err != nil {
 27714  			return err
 27715  		}
 27716  		if x.NextPageToken == "" {
 27717  			return nil
 27718  		}
 27719  		c.PageToken(x.NextPageToken)
 27720  	}
 27721  }
 27722  
 27723  // method id "dfareporting.creativeGroups.patch":
 27724  
 27725  type CreativeGroupsPatchCall struct {
 27726  	s             *Service
 27727  	profileId     int64
 27728  	creativegroup *CreativeGroup
 27729  	urlParams_    gensupport.URLParams
 27730  	ctx_          context.Context
 27731  	header_       http.Header
 27732  }
 27733  
 27734  // Patch: Updates an existing creative group. This method supports patch
 27735  // semantics.
 27736  func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
 27737  	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27738  	c.profileId = profileId
 27739  	c.urlParams_.Set("id", fmt.Sprint(id))
 27740  	c.creativegroup = creativegroup
 27741  	return c
 27742  }
 27743  
 27744  // Fields allows partial responses to be retrieved. See
 27745  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27746  // for more information.
 27747  func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
 27748  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27749  	return c
 27750  }
 27751  
 27752  // Context sets the context to be used in this call's Do method. Any
 27753  // pending HTTP request will be aborted if the provided context is
 27754  // canceled.
 27755  func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 27756  	c.ctx_ = ctx
 27757  	return c
 27758  }
 27759  
 27760  // Header returns an http.Header that can be modified by the caller to
 27761  // add HTTP headers to the request.
 27762  func (c *CreativeGroupsPatchCall) Header() http.Header {
 27763  	if c.header_ == nil {
 27764  		c.header_ = make(http.Header)
 27765  	}
 27766  	return c.header_
 27767  }
 27768  
 27769  func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 27770  	reqHeaders := make(http.Header)
 27771  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27772  	for k, v := range c.header_ {
 27773  		reqHeaders[k] = v
 27774  	}
 27775  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27776  	var body io.Reader = nil
 27777  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27778  	if err != nil {
 27779  		return nil, err
 27780  	}
 27781  	reqHeaders.Set("Content-Type", "application/json")
 27782  	c.urlParams_.Set("alt", alt)
 27783  	c.urlParams_.Set("prettyPrint", "false")
 27784  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27785  	urls += "?" + c.urlParams_.Encode()
 27786  	req, err := http.NewRequest("PATCH", urls, body)
 27787  	if err != nil {
 27788  		return nil, err
 27789  	}
 27790  	req.Header = reqHeaders
 27791  	googleapi.Expand(req.URL, map[string]string{
 27792  		"profileId": strconv.FormatInt(c.profileId, 10),
 27793  	})
 27794  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27795  }
 27796  
 27797  // Do executes the "dfareporting.creativeGroups.patch" call.
 27798  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27799  // status code is an error. Response headers are in either
 27800  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27801  // at all) in error.(*googleapi.Error).Header. Use
 27802  // googleapi.IsNotModified to check whether the returned error was
 27803  // because http.StatusNotModified was returned.
 27804  func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27805  	gensupport.SetOptions(c.urlParams_, opts...)
 27806  	res, err := c.doRequest("json")
 27807  	if res != nil && res.StatusCode == http.StatusNotModified {
 27808  		if res.Body != nil {
 27809  			res.Body.Close()
 27810  		}
 27811  		return nil, &googleapi.Error{
 27812  			Code:   res.StatusCode,
 27813  			Header: res.Header,
 27814  		}
 27815  	}
 27816  	if err != nil {
 27817  		return nil, err
 27818  	}
 27819  	defer googleapi.CloseBody(res)
 27820  	if err := googleapi.CheckResponse(res); err != nil {
 27821  		return nil, err
 27822  	}
 27823  	ret := &CreativeGroup{
 27824  		ServerResponse: googleapi.ServerResponse{
 27825  			Header:         res.Header,
 27826  			HTTPStatusCode: res.StatusCode,
 27827  		},
 27828  	}
 27829  	target := &ret
 27830  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27831  		return nil, err
 27832  	}
 27833  	return ret, nil
 27834  	// {
 27835  	//   "description": "Updates an existing creative group. This method supports patch semantics.",
 27836  	//   "httpMethod": "PATCH",
 27837  	//   "id": "dfareporting.creativeGroups.patch",
 27838  	//   "parameterOrder": [
 27839  	//     "profileId",
 27840  	//     "id"
 27841  	//   ],
 27842  	//   "parameters": {
 27843  	//     "id": {
 27844  	//       "description": "Creative group ID.",
 27845  	//       "format": "int64",
 27846  	//       "location": "query",
 27847  	//       "required": true,
 27848  	//       "type": "string"
 27849  	//     },
 27850  	//     "profileId": {
 27851  	//       "description": "User profile ID associated with this request.",
 27852  	//       "format": "int64",
 27853  	//       "location": "path",
 27854  	//       "required": true,
 27855  	//       "type": "string"
 27856  	//     }
 27857  	//   },
 27858  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27859  	//   "request": {
 27860  	//     "$ref": "CreativeGroup"
 27861  	//   },
 27862  	//   "response": {
 27863  	//     "$ref": "CreativeGroup"
 27864  	//   },
 27865  	//   "scopes": [
 27866  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27867  	//   ]
 27868  	// }
 27869  
 27870  }
 27871  
 27872  // method id "dfareporting.creativeGroups.update":
 27873  
 27874  type CreativeGroupsUpdateCall struct {
 27875  	s             *Service
 27876  	profileId     int64
 27877  	creativegroup *CreativeGroup
 27878  	urlParams_    gensupport.URLParams
 27879  	ctx_          context.Context
 27880  	header_       http.Header
 27881  }
 27882  
 27883  // Update: Updates an existing creative group.
 27884  func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
 27885  	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27886  	c.profileId = profileId
 27887  	c.creativegroup = creativegroup
 27888  	return c
 27889  }
 27890  
 27891  // Fields allows partial responses to be retrieved. See
 27892  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27893  // for more information.
 27894  func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
 27895  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27896  	return c
 27897  }
 27898  
 27899  // Context sets the context to be used in this call's Do method. Any
 27900  // pending HTTP request will be aborted if the provided context is
 27901  // canceled.
 27902  func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 27903  	c.ctx_ = ctx
 27904  	return c
 27905  }
 27906  
 27907  // Header returns an http.Header that can be modified by the caller to
 27908  // add HTTP headers to the request.
 27909  func (c *CreativeGroupsUpdateCall) Header() http.Header {
 27910  	if c.header_ == nil {
 27911  		c.header_ = make(http.Header)
 27912  	}
 27913  	return c.header_
 27914  }
 27915  
 27916  func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 27917  	reqHeaders := make(http.Header)
 27918  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 27919  	for k, v := range c.header_ {
 27920  		reqHeaders[k] = v
 27921  	}
 27922  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27923  	var body io.Reader = nil
 27924  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27925  	if err != nil {
 27926  		return nil, err
 27927  	}
 27928  	reqHeaders.Set("Content-Type", "application/json")
 27929  	c.urlParams_.Set("alt", alt)
 27930  	c.urlParams_.Set("prettyPrint", "false")
 27931  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27932  	urls += "?" + c.urlParams_.Encode()
 27933  	req, err := http.NewRequest("PUT", urls, body)
 27934  	if err != nil {
 27935  		return nil, err
 27936  	}
 27937  	req.Header = reqHeaders
 27938  	googleapi.Expand(req.URL, map[string]string{
 27939  		"profileId": strconv.FormatInt(c.profileId, 10),
 27940  	})
 27941  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27942  }
 27943  
 27944  // Do executes the "dfareporting.creativeGroups.update" call.
 27945  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27946  // status code is an error. Response headers are in either
 27947  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27948  // at all) in error.(*googleapi.Error).Header. Use
 27949  // googleapi.IsNotModified to check whether the returned error was
 27950  // because http.StatusNotModified was returned.
 27951  func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27952  	gensupport.SetOptions(c.urlParams_, opts...)
 27953  	res, err := c.doRequest("json")
 27954  	if res != nil && res.StatusCode == http.StatusNotModified {
 27955  		if res.Body != nil {
 27956  			res.Body.Close()
 27957  		}
 27958  		return nil, &googleapi.Error{
 27959  			Code:   res.StatusCode,
 27960  			Header: res.Header,
 27961  		}
 27962  	}
 27963  	if err != nil {
 27964  		return nil, err
 27965  	}
 27966  	defer googleapi.CloseBody(res)
 27967  	if err := googleapi.CheckResponse(res); err != nil {
 27968  		return nil, err
 27969  	}
 27970  	ret := &CreativeGroup{
 27971  		ServerResponse: googleapi.ServerResponse{
 27972  			Header:         res.Header,
 27973  			HTTPStatusCode: res.StatusCode,
 27974  		},
 27975  	}
 27976  	target := &ret
 27977  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27978  		return nil, err
 27979  	}
 27980  	return ret, nil
 27981  	// {
 27982  	//   "description": "Updates an existing creative group.",
 27983  	//   "httpMethod": "PUT",
 27984  	//   "id": "dfareporting.creativeGroups.update",
 27985  	//   "parameterOrder": [
 27986  	//     "profileId"
 27987  	//   ],
 27988  	//   "parameters": {
 27989  	//     "profileId": {
 27990  	//       "description": "User profile ID associated with this request.",
 27991  	//       "format": "int64",
 27992  	//       "location": "path",
 27993  	//       "required": true,
 27994  	//       "type": "string"
 27995  	//     }
 27996  	//   },
 27997  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27998  	//   "request": {
 27999  	//     "$ref": "CreativeGroup"
 28000  	//   },
 28001  	//   "response": {
 28002  	//     "$ref": "CreativeGroup"
 28003  	//   },
 28004  	//   "scopes": [
 28005  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28006  	//   ]
 28007  	// }
 28008  
 28009  }
 28010  
 28011  // method id "dfareporting.creatives.get":
 28012  
 28013  type CreativesGetCall struct {
 28014  	s            *Service
 28015  	profileId    int64
 28016  	id           int64
 28017  	urlParams_   gensupport.URLParams
 28018  	ifNoneMatch_ string
 28019  	ctx_         context.Context
 28020  	header_      http.Header
 28021  }
 28022  
 28023  // Get: Gets one creative by ID.
 28024  func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
 28025  	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28026  	c.profileId = profileId
 28027  	c.id = id
 28028  	return c
 28029  }
 28030  
 28031  // Fields allows partial responses to be retrieved. See
 28032  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28033  // for more information.
 28034  func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
 28035  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28036  	return c
 28037  }
 28038  
 28039  // IfNoneMatch sets the optional parameter which makes the operation
 28040  // fail if the object's ETag matches the given value. This is useful for
 28041  // getting updates only after the object has changed since the last
 28042  // request. Use googleapi.IsNotModified to check whether the response
 28043  // error from Do is the result of In-None-Match.
 28044  func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
 28045  	c.ifNoneMatch_ = entityTag
 28046  	return c
 28047  }
 28048  
 28049  // Context sets the context to be used in this call's Do method. Any
 28050  // pending HTTP request will be aborted if the provided context is
 28051  // canceled.
 28052  func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 28053  	c.ctx_ = ctx
 28054  	return c
 28055  }
 28056  
 28057  // Header returns an http.Header that can be modified by the caller to
 28058  // add HTTP headers to the request.
 28059  func (c *CreativesGetCall) Header() http.Header {
 28060  	if c.header_ == nil {
 28061  		c.header_ = make(http.Header)
 28062  	}
 28063  	return c.header_
 28064  }
 28065  
 28066  func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 28067  	reqHeaders := make(http.Header)
 28068  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28069  	for k, v := range c.header_ {
 28070  		reqHeaders[k] = v
 28071  	}
 28072  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28073  	if c.ifNoneMatch_ != "" {
 28074  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28075  	}
 28076  	var body io.Reader = nil
 28077  	c.urlParams_.Set("alt", alt)
 28078  	c.urlParams_.Set("prettyPrint", "false")
 28079  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
 28080  	urls += "?" + c.urlParams_.Encode()
 28081  	req, err := http.NewRequest("GET", urls, body)
 28082  	if err != nil {
 28083  		return nil, err
 28084  	}
 28085  	req.Header = reqHeaders
 28086  	googleapi.Expand(req.URL, map[string]string{
 28087  		"profileId": strconv.FormatInt(c.profileId, 10),
 28088  		"id":        strconv.FormatInt(c.id, 10),
 28089  	})
 28090  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28091  }
 28092  
 28093  // Do executes the "dfareporting.creatives.get" call.
 28094  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28095  // code is an error. Response headers are in either
 28096  // *Creative.ServerResponse.Header or (if a response was returned at
 28097  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28098  // to check whether the returned error was because
 28099  // http.StatusNotModified was returned.
 28100  func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28101  	gensupport.SetOptions(c.urlParams_, opts...)
 28102  	res, err := c.doRequest("json")
 28103  	if res != nil && res.StatusCode == http.StatusNotModified {
 28104  		if res.Body != nil {
 28105  			res.Body.Close()
 28106  		}
 28107  		return nil, &googleapi.Error{
 28108  			Code:   res.StatusCode,
 28109  			Header: res.Header,
 28110  		}
 28111  	}
 28112  	if err != nil {
 28113  		return nil, err
 28114  	}
 28115  	defer googleapi.CloseBody(res)
 28116  	if err := googleapi.CheckResponse(res); err != nil {
 28117  		return nil, err
 28118  	}
 28119  	ret := &Creative{
 28120  		ServerResponse: googleapi.ServerResponse{
 28121  			Header:         res.Header,
 28122  			HTTPStatusCode: res.StatusCode,
 28123  		},
 28124  	}
 28125  	target := &ret
 28126  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28127  		return nil, err
 28128  	}
 28129  	return ret, nil
 28130  	// {
 28131  	//   "description": "Gets one creative by ID.",
 28132  	//   "httpMethod": "GET",
 28133  	//   "id": "dfareporting.creatives.get",
 28134  	//   "parameterOrder": [
 28135  	//     "profileId",
 28136  	//     "id"
 28137  	//   ],
 28138  	//   "parameters": {
 28139  	//     "id": {
 28140  	//       "description": "Creative ID.",
 28141  	//       "format": "int64",
 28142  	//       "location": "path",
 28143  	//       "required": true,
 28144  	//       "type": "string"
 28145  	//     },
 28146  	//     "profileId": {
 28147  	//       "description": "User profile ID associated with this request.",
 28148  	//       "format": "int64",
 28149  	//       "location": "path",
 28150  	//       "required": true,
 28151  	//       "type": "string"
 28152  	//     }
 28153  	//   },
 28154  	//   "path": "userprofiles/{profileId}/creatives/{id}",
 28155  	//   "response": {
 28156  	//     "$ref": "Creative"
 28157  	//   },
 28158  	//   "scopes": [
 28159  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28160  	//   ]
 28161  	// }
 28162  
 28163  }
 28164  
 28165  // method id "dfareporting.creatives.insert":
 28166  
 28167  type CreativesInsertCall struct {
 28168  	s          *Service
 28169  	profileId  int64
 28170  	creative   *Creative
 28171  	urlParams_ gensupport.URLParams
 28172  	ctx_       context.Context
 28173  	header_    http.Header
 28174  }
 28175  
 28176  // Insert: Inserts a new creative.
 28177  func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
 28178  	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28179  	c.profileId = profileId
 28180  	c.creative = creative
 28181  	return c
 28182  }
 28183  
 28184  // Fields allows partial responses to be retrieved. See
 28185  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28186  // for more information.
 28187  func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
 28188  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28189  	return c
 28190  }
 28191  
 28192  // Context sets the context to be used in this call's Do method. Any
 28193  // pending HTTP request will be aborted if the provided context is
 28194  // canceled.
 28195  func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 28196  	c.ctx_ = ctx
 28197  	return c
 28198  }
 28199  
 28200  // Header returns an http.Header that can be modified by the caller to
 28201  // add HTTP headers to the request.
 28202  func (c *CreativesInsertCall) Header() http.Header {
 28203  	if c.header_ == nil {
 28204  		c.header_ = make(http.Header)
 28205  	}
 28206  	return c.header_
 28207  }
 28208  
 28209  func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 28210  	reqHeaders := make(http.Header)
 28211  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28212  	for k, v := range c.header_ {
 28213  		reqHeaders[k] = v
 28214  	}
 28215  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28216  	var body io.Reader = nil
 28217  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28218  	if err != nil {
 28219  		return nil, err
 28220  	}
 28221  	reqHeaders.Set("Content-Type", "application/json")
 28222  	c.urlParams_.Set("alt", alt)
 28223  	c.urlParams_.Set("prettyPrint", "false")
 28224  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28225  	urls += "?" + c.urlParams_.Encode()
 28226  	req, err := http.NewRequest("POST", urls, body)
 28227  	if err != nil {
 28228  		return nil, err
 28229  	}
 28230  	req.Header = reqHeaders
 28231  	googleapi.Expand(req.URL, map[string]string{
 28232  		"profileId": strconv.FormatInt(c.profileId, 10),
 28233  	})
 28234  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28235  }
 28236  
 28237  // Do executes the "dfareporting.creatives.insert" call.
 28238  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28239  // code is an error. Response headers are in either
 28240  // *Creative.ServerResponse.Header or (if a response was returned at
 28241  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28242  // to check whether the returned error was because
 28243  // http.StatusNotModified was returned.
 28244  func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28245  	gensupport.SetOptions(c.urlParams_, opts...)
 28246  	res, err := c.doRequest("json")
 28247  	if res != nil && res.StatusCode == http.StatusNotModified {
 28248  		if res.Body != nil {
 28249  			res.Body.Close()
 28250  		}
 28251  		return nil, &googleapi.Error{
 28252  			Code:   res.StatusCode,
 28253  			Header: res.Header,
 28254  		}
 28255  	}
 28256  	if err != nil {
 28257  		return nil, err
 28258  	}
 28259  	defer googleapi.CloseBody(res)
 28260  	if err := googleapi.CheckResponse(res); err != nil {
 28261  		return nil, err
 28262  	}
 28263  	ret := &Creative{
 28264  		ServerResponse: googleapi.ServerResponse{
 28265  			Header:         res.Header,
 28266  			HTTPStatusCode: res.StatusCode,
 28267  		},
 28268  	}
 28269  	target := &ret
 28270  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28271  		return nil, err
 28272  	}
 28273  	return ret, nil
 28274  	// {
 28275  	//   "description": "Inserts a new creative.",
 28276  	//   "httpMethod": "POST",
 28277  	//   "id": "dfareporting.creatives.insert",
 28278  	//   "parameterOrder": [
 28279  	//     "profileId"
 28280  	//   ],
 28281  	//   "parameters": {
 28282  	//     "profileId": {
 28283  	//       "description": "User profile ID associated with this request.",
 28284  	//       "format": "int64",
 28285  	//       "location": "path",
 28286  	//       "required": true,
 28287  	//       "type": "string"
 28288  	//     }
 28289  	//   },
 28290  	//   "path": "userprofiles/{profileId}/creatives",
 28291  	//   "request": {
 28292  	//     "$ref": "Creative"
 28293  	//   },
 28294  	//   "response": {
 28295  	//     "$ref": "Creative"
 28296  	//   },
 28297  	//   "scopes": [
 28298  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28299  	//   ]
 28300  	// }
 28301  
 28302  }
 28303  
 28304  // method id "dfareporting.creatives.list":
 28305  
 28306  type CreativesListCall struct {
 28307  	s            *Service
 28308  	profileId    int64
 28309  	urlParams_   gensupport.URLParams
 28310  	ifNoneMatch_ string
 28311  	ctx_         context.Context
 28312  	header_      http.Header
 28313  }
 28314  
 28315  // List: Retrieves a list of creatives, possibly filtered. This method
 28316  // supports paging.
 28317  func (r *CreativesService) List(profileId int64) *CreativesListCall {
 28318  	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28319  	c.profileId = profileId
 28320  	return c
 28321  }
 28322  
 28323  // Active sets the optional parameter "active": Select only active
 28324  // creatives. Leave blank to select active and inactive creatives.
 28325  func (c *CreativesListCall) Active(active bool) *CreativesListCall {
 28326  	c.urlParams_.Set("active", fmt.Sprint(active))
 28327  	return c
 28328  }
 28329  
 28330  // AdvertiserId sets the optional parameter "advertiserId": Select only
 28331  // creatives with this advertiser ID.
 28332  func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
 28333  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28334  	return c
 28335  }
 28336  
 28337  // Archived sets the optional parameter "archived": Select only archived
 28338  // creatives. Leave blank to select archived and unarchived creatives.
 28339  func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
 28340  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 28341  	return c
 28342  }
 28343  
 28344  // CampaignId sets the optional parameter "campaignId": Select only
 28345  // creatives with this campaign ID.
 28346  func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
 28347  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 28348  	return c
 28349  }
 28350  
 28351  // CompanionCreativeIds sets the optional parameter
 28352  // "companionCreativeIds": Select only in-stream video creatives with
 28353  // these companion IDs.
 28354  func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
 28355  	var companionCreativeIds_ []string
 28356  	for _, v := range companionCreativeIds {
 28357  		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
 28358  	}
 28359  	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
 28360  	return c
 28361  }
 28362  
 28363  // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 28364  // Select only creatives with these creative field IDs.
 28365  func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
 28366  	var creativeFieldIds_ []string
 28367  	for _, v := range creativeFieldIds {
 28368  		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
 28369  	}
 28370  	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
 28371  	return c
 28372  }
 28373  
 28374  // Ids sets the optional parameter "ids": Select only creatives with
 28375  // these IDs.
 28376  func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
 28377  	var ids_ []string
 28378  	for _, v := range ids {
 28379  		ids_ = append(ids_, fmt.Sprint(v))
 28380  	}
 28381  	c.urlParams_.SetMulti("ids", ids_)
 28382  	return c
 28383  }
 28384  
 28385  // MaxResults sets the optional parameter "maxResults": Maximum number
 28386  // of results to return.
 28387  func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
 28388  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 28389  	return c
 28390  }
 28391  
 28392  // PageToken sets the optional parameter "pageToken": Value of the
 28393  // nextPageToken from the previous result page.
 28394  func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
 28395  	c.urlParams_.Set("pageToken", pageToken)
 28396  	return c
 28397  }
 28398  
 28399  // RenderingIds sets the optional parameter "renderingIds": Select only
 28400  // creatives with these rendering IDs.
 28401  func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
 28402  	var renderingIds_ []string
 28403  	for _, v := range renderingIds {
 28404  		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
 28405  	}
 28406  	c.urlParams_.SetMulti("renderingIds", renderingIds_)
 28407  	return c
 28408  }
 28409  
 28410  // SearchString sets the optional parameter "searchString": Allows
 28411  // searching for objects by name or ID. Wildcards (*) are allowed. For
 28412  // example, "creative*2015" will return objects with names like
 28413  // "creative June 2015", "creative April 2015", or simply "creative
 28414  // 2015". Most of the searches also add wildcards implicitly at the
 28415  // start and the end of the search string. For example, a search string
 28416  // of "creative" will match objects with name "my creative", "creative
 28417  // 2015", or simply "creative".
 28418  func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
 28419  	c.urlParams_.Set("searchString", searchString)
 28420  	return c
 28421  }
 28422  
 28423  // SizeIds sets the optional parameter "sizeIds": Select only creatives
 28424  // with these size IDs.
 28425  func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
 28426  	var sizeIds_ []string
 28427  	for _, v := range sizeIds {
 28428  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 28429  	}
 28430  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 28431  	return c
 28432  }
 28433  
 28434  // SortField sets the optional parameter "sortField": Field by which to
 28435  // sort the list.
 28436  //
 28437  // Possible values:
 28438  //
 28439  //	"ID" (default)
 28440  //	"NAME"
 28441  func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
 28442  	c.urlParams_.Set("sortField", sortField)
 28443  	return c
 28444  }
 28445  
 28446  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 28447  // results.
 28448  //
 28449  // Possible values:
 28450  //
 28451  //	"ASCENDING" (default)
 28452  //	"DESCENDING"
 28453  func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
 28454  	c.urlParams_.Set("sortOrder", sortOrder)
 28455  	return c
 28456  }
 28457  
 28458  // StudioCreativeId sets the optional parameter "studioCreativeId":
 28459  // Select only creatives corresponding to this Studio creative ID.
 28460  func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
 28461  	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
 28462  	return c
 28463  }
 28464  
 28465  // Types sets the optional parameter "types": Select only creatives with
 28466  // these creative types.
 28467  //
 28468  // Possible values:
 28469  //
 28470  //	"BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
 28471  //	"CUSTOM_DISPLAY"
 28472  //	"CUSTOM_DISPLAY_INTERSTITIAL"
 28473  //	"DISPLAY"
 28474  //	"DISPLAY_IMAGE_GALLERY"
 28475  //	"DISPLAY_REDIRECT"
 28476  //	"FLASH_INPAGE"
 28477  //	"HTML5_BANNER"
 28478  //	"IMAGE"
 28479  //	"INSTREAM_AUDIO"
 28480  //	"INSTREAM_VIDEO"
 28481  //	"INSTREAM_VIDEO_REDIRECT"
 28482  //	"INTERNAL_REDIRECT"
 28483  //	"INTERSTITIAL_INTERNAL_REDIRECT"
 28484  //	"RICH_MEDIA_DISPLAY_BANNER"
 28485  //	"RICH_MEDIA_DISPLAY_EXPANDING"
 28486  //	"RICH_MEDIA_DISPLAY_INTERSTITIAL"
 28487  //	"RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
 28488  //	"RICH_MEDIA_IM_EXPAND"
 28489  //	"RICH_MEDIA_INPAGE_FLOATING"
 28490  //	"RICH_MEDIA_MOBILE_IN_APP"
 28491  //	"RICH_MEDIA_PEEL_DOWN"
 28492  //	"TRACKING_TEXT"
 28493  //	"VPAID_LINEAR_VIDEO"
 28494  //	"VPAID_NON_LINEAR_VIDEO"
 28495  func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
 28496  	c.urlParams_.SetMulti("types", append([]string{}, types...))
 28497  	return c
 28498  }
 28499  
 28500  // Fields allows partial responses to be retrieved. See
 28501  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28502  // for more information.
 28503  func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
 28504  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28505  	return c
 28506  }
 28507  
 28508  // IfNoneMatch sets the optional parameter which makes the operation
 28509  // fail if the object's ETag matches the given value. This is useful for
 28510  // getting updates only after the object has changed since the last
 28511  // request. Use googleapi.IsNotModified to check whether the response
 28512  // error from Do is the result of In-None-Match.
 28513  func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
 28514  	c.ifNoneMatch_ = entityTag
 28515  	return c
 28516  }
 28517  
 28518  // Context sets the context to be used in this call's Do method. Any
 28519  // pending HTTP request will be aborted if the provided context is
 28520  // canceled.
 28521  func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 28522  	c.ctx_ = ctx
 28523  	return c
 28524  }
 28525  
 28526  // Header returns an http.Header that can be modified by the caller to
 28527  // add HTTP headers to the request.
 28528  func (c *CreativesListCall) Header() http.Header {
 28529  	if c.header_ == nil {
 28530  		c.header_ = make(http.Header)
 28531  	}
 28532  	return c.header_
 28533  }
 28534  
 28535  func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 28536  	reqHeaders := make(http.Header)
 28537  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28538  	for k, v := range c.header_ {
 28539  		reqHeaders[k] = v
 28540  	}
 28541  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28542  	if c.ifNoneMatch_ != "" {
 28543  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28544  	}
 28545  	var body io.Reader = nil
 28546  	c.urlParams_.Set("alt", alt)
 28547  	c.urlParams_.Set("prettyPrint", "false")
 28548  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28549  	urls += "?" + c.urlParams_.Encode()
 28550  	req, err := http.NewRequest("GET", urls, body)
 28551  	if err != nil {
 28552  		return nil, err
 28553  	}
 28554  	req.Header = reqHeaders
 28555  	googleapi.Expand(req.URL, map[string]string{
 28556  		"profileId": strconv.FormatInt(c.profileId, 10),
 28557  	})
 28558  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28559  }
 28560  
 28561  // Do executes the "dfareporting.creatives.list" call.
 28562  // Exactly one of *CreativesListResponse or error will be non-nil. Any
 28563  // non-2xx status code is an error. Response headers are in either
 28564  // *CreativesListResponse.ServerResponse.Header or (if a response was
 28565  // returned at all) in error.(*googleapi.Error).Header. Use
 28566  // googleapi.IsNotModified to check whether the returned error was
 28567  // because http.StatusNotModified was returned.
 28568  func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
 28569  	gensupport.SetOptions(c.urlParams_, opts...)
 28570  	res, err := c.doRequest("json")
 28571  	if res != nil && res.StatusCode == http.StatusNotModified {
 28572  		if res.Body != nil {
 28573  			res.Body.Close()
 28574  		}
 28575  		return nil, &googleapi.Error{
 28576  			Code:   res.StatusCode,
 28577  			Header: res.Header,
 28578  		}
 28579  	}
 28580  	if err != nil {
 28581  		return nil, err
 28582  	}
 28583  	defer googleapi.CloseBody(res)
 28584  	if err := googleapi.CheckResponse(res); err != nil {
 28585  		return nil, err
 28586  	}
 28587  	ret := &CreativesListResponse{
 28588  		ServerResponse: googleapi.ServerResponse{
 28589  			Header:         res.Header,
 28590  			HTTPStatusCode: res.StatusCode,
 28591  		},
 28592  	}
 28593  	target := &ret
 28594  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28595  		return nil, err
 28596  	}
 28597  	return ret, nil
 28598  	// {
 28599  	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
 28600  	//   "httpMethod": "GET",
 28601  	//   "id": "dfareporting.creatives.list",
 28602  	//   "parameterOrder": [
 28603  	//     "profileId"
 28604  	//   ],
 28605  	//   "parameters": {
 28606  	//     "active": {
 28607  	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
 28608  	//       "location": "query",
 28609  	//       "type": "boolean"
 28610  	//     },
 28611  	//     "advertiserId": {
 28612  	//       "description": "Select only creatives with this advertiser ID.",
 28613  	//       "format": "int64",
 28614  	//       "location": "query",
 28615  	//       "type": "string"
 28616  	//     },
 28617  	//     "archived": {
 28618  	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
 28619  	//       "location": "query",
 28620  	//       "type": "boolean"
 28621  	//     },
 28622  	//     "campaignId": {
 28623  	//       "description": "Select only creatives with this campaign ID.",
 28624  	//       "format": "int64",
 28625  	//       "location": "query",
 28626  	//       "type": "string"
 28627  	//     },
 28628  	//     "companionCreativeIds": {
 28629  	//       "description": "Select only in-stream video creatives with these companion IDs.",
 28630  	//       "format": "int64",
 28631  	//       "location": "query",
 28632  	//       "repeated": true,
 28633  	//       "type": "string"
 28634  	//     },
 28635  	//     "creativeFieldIds": {
 28636  	//       "description": "Select only creatives with these creative field IDs.",
 28637  	//       "format": "int64",
 28638  	//       "location": "query",
 28639  	//       "repeated": true,
 28640  	//       "type": "string"
 28641  	//     },
 28642  	//     "ids": {
 28643  	//       "description": "Select only creatives with these IDs.",
 28644  	//       "format": "int64",
 28645  	//       "location": "query",
 28646  	//       "repeated": true,
 28647  	//       "type": "string"
 28648  	//     },
 28649  	//     "maxResults": {
 28650  	//       "default": "1000",
 28651  	//       "description": "Maximum number of results to return.",
 28652  	//       "format": "int32",
 28653  	//       "location": "query",
 28654  	//       "maximum": "1000",
 28655  	//       "minimum": "0",
 28656  	//       "type": "integer"
 28657  	//     },
 28658  	//     "pageToken": {
 28659  	//       "description": "Value of the nextPageToken from the previous result page.",
 28660  	//       "location": "query",
 28661  	//       "type": "string"
 28662  	//     },
 28663  	//     "profileId": {
 28664  	//       "description": "User profile ID associated with this request.",
 28665  	//       "format": "int64",
 28666  	//       "location": "path",
 28667  	//       "required": true,
 28668  	//       "type": "string"
 28669  	//     },
 28670  	//     "renderingIds": {
 28671  	//       "description": "Select only creatives with these rendering IDs.",
 28672  	//       "format": "int64",
 28673  	//       "location": "query",
 28674  	//       "repeated": true,
 28675  	//       "type": "string"
 28676  	//     },
 28677  	//     "searchString": {
 28678  	//       "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\".",
 28679  	//       "location": "query",
 28680  	//       "type": "string"
 28681  	//     },
 28682  	//     "sizeIds": {
 28683  	//       "description": "Select only creatives with these size IDs.",
 28684  	//       "format": "int64",
 28685  	//       "location": "query",
 28686  	//       "repeated": true,
 28687  	//       "type": "string"
 28688  	//     },
 28689  	//     "sortField": {
 28690  	//       "default": "ID",
 28691  	//       "description": "Field by which to sort the list.",
 28692  	//       "enum": [
 28693  	//         "ID",
 28694  	//         "NAME"
 28695  	//       ],
 28696  	//       "enumDescriptions": [
 28697  	//         "",
 28698  	//         ""
 28699  	//       ],
 28700  	//       "location": "query",
 28701  	//       "type": "string"
 28702  	//     },
 28703  	//     "sortOrder": {
 28704  	//       "default": "ASCENDING",
 28705  	//       "description": "Order of sorted results.",
 28706  	//       "enum": [
 28707  	//         "ASCENDING",
 28708  	//         "DESCENDING"
 28709  	//       ],
 28710  	//       "enumDescriptions": [
 28711  	//         "",
 28712  	//         ""
 28713  	//       ],
 28714  	//       "location": "query",
 28715  	//       "type": "string"
 28716  	//     },
 28717  	//     "studioCreativeId": {
 28718  	//       "description": "Select only creatives corresponding to this Studio creative ID.",
 28719  	//       "format": "int64",
 28720  	//       "location": "query",
 28721  	//       "type": "string"
 28722  	//     },
 28723  	//     "types": {
 28724  	//       "description": "Select only creatives with these creative types.",
 28725  	//       "enum": [
 28726  	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
 28727  	//         "CUSTOM_DISPLAY",
 28728  	//         "CUSTOM_DISPLAY_INTERSTITIAL",
 28729  	//         "DISPLAY",
 28730  	//         "DISPLAY_IMAGE_GALLERY",
 28731  	//         "DISPLAY_REDIRECT",
 28732  	//         "FLASH_INPAGE",
 28733  	//         "HTML5_BANNER",
 28734  	//         "IMAGE",
 28735  	//         "INSTREAM_AUDIO",
 28736  	//         "INSTREAM_VIDEO",
 28737  	//         "INSTREAM_VIDEO_REDIRECT",
 28738  	//         "INTERNAL_REDIRECT",
 28739  	//         "INTERSTITIAL_INTERNAL_REDIRECT",
 28740  	//         "RICH_MEDIA_DISPLAY_BANNER",
 28741  	//         "RICH_MEDIA_DISPLAY_EXPANDING",
 28742  	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
 28743  	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
 28744  	//         "RICH_MEDIA_IM_EXPAND",
 28745  	//         "RICH_MEDIA_INPAGE_FLOATING",
 28746  	//         "RICH_MEDIA_MOBILE_IN_APP",
 28747  	//         "RICH_MEDIA_PEEL_DOWN",
 28748  	//         "TRACKING_TEXT",
 28749  	//         "VPAID_LINEAR_VIDEO",
 28750  	//         "VPAID_NON_LINEAR_VIDEO"
 28751  	//       ],
 28752  	//       "enumDescriptions": [
 28753  	//         "",
 28754  	//         "",
 28755  	//         "",
 28756  	//         "",
 28757  	//         "",
 28758  	//         "",
 28759  	//         "",
 28760  	//         "",
 28761  	//         "",
 28762  	//         "",
 28763  	//         "",
 28764  	//         "",
 28765  	//         "",
 28766  	//         "",
 28767  	//         "",
 28768  	//         "",
 28769  	//         "",
 28770  	//         "",
 28771  	//         "",
 28772  	//         "",
 28773  	//         "",
 28774  	//         "",
 28775  	//         "",
 28776  	//         "",
 28777  	//         ""
 28778  	//       ],
 28779  	//       "location": "query",
 28780  	//       "repeated": true,
 28781  	//       "type": "string"
 28782  	//     }
 28783  	//   },
 28784  	//   "path": "userprofiles/{profileId}/creatives",
 28785  	//   "response": {
 28786  	//     "$ref": "CreativesListResponse"
 28787  	//   },
 28788  	//   "scopes": [
 28789  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28790  	//   ]
 28791  	// }
 28792  
 28793  }
 28794  
 28795  // Pages invokes f for each page of results.
 28796  // A non-nil error returned from f will halt the iteration.
 28797  // The provided context supersedes any context provided to the Context method.
 28798  func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
 28799  	c.ctx_ = ctx
 28800  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 28801  	for {
 28802  		x, err := c.Do()
 28803  		if err != nil {
 28804  			return err
 28805  		}
 28806  		if err := f(x); err != nil {
 28807  			return err
 28808  		}
 28809  		if x.NextPageToken == "" {
 28810  			return nil
 28811  		}
 28812  		c.PageToken(x.NextPageToken)
 28813  	}
 28814  }
 28815  
 28816  // method id "dfareporting.creatives.patch":
 28817  
 28818  type CreativesPatchCall struct {
 28819  	s          *Service
 28820  	profileId  int64
 28821  	creative   *Creative
 28822  	urlParams_ gensupport.URLParams
 28823  	ctx_       context.Context
 28824  	header_    http.Header
 28825  }
 28826  
 28827  // Patch: Updates an existing creative. This method supports patch
 28828  // semantics.
 28829  func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
 28830  	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28831  	c.profileId = profileId
 28832  	c.urlParams_.Set("id", fmt.Sprint(id))
 28833  	c.creative = creative
 28834  	return c
 28835  }
 28836  
 28837  // Fields allows partial responses to be retrieved. See
 28838  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28839  // for more information.
 28840  func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
 28841  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28842  	return c
 28843  }
 28844  
 28845  // Context sets the context to be used in this call's Do method. Any
 28846  // pending HTTP request will be aborted if the provided context is
 28847  // canceled.
 28848  func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 28849  	c.ctx_ = ctx
 28850  	return c
 28851  }
 28852  
 28853  // Header returns an http.Header that can be modified by the caller to
 28854  // add HTTP headers to the request.
 28855  func (c *CreativesPatchCall) Header() http.Header {
 28856  	if c.header_ == nil {
 28857  		c.header_ = make(http.Header)
 28858  	}
 28859  	return c.header_
 28860  }
 28861  
 28862  func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 28863  	reqHeaders := make(http.Header)
 28864  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 28865  	for k, v := range c.header_ {
 28866  		reqHeaders[k] = v
 28867  	}
 28868  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28869  	var body io.Reader = nil
 28870  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28871  	if err != nil {
 28872  		return nil, err
 28873  	}
 28874  	reqHeaders.Set("Content-Type", "application/json")
 28875  	c.urlParams_.Set("alt", alt)
 28876  	c.urlParams_.Set("prettyPrint", "false")
 28877  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28878  	urls += "?" + c.urlParams_.Encode()
 28879  	req, err := http.NewRequest("PATCH", urls, body)
 28880  	if err != nil {
 28881  		return nil, err
 28882  	}
 28883  	req.Header = reqHeaders
 28884  	googleapi.Expand(req.URL, map[string]string{
 28885  		"profileId": strconv.FormatInt(c.profileId, 10),
 28886  	})
 28887  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28888  }
 28889  
 28890  // Do executes the "dfareporting.creatives.patch" call.
 28891  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28892  // code is an error. Response headers are in either
 28893  // *Creative.ServerResponse.Header or (if a response was returned at
 28894  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28895  // to check whether the returned error was because
 28896  // http.StatusNotModified was returned.
 28897  func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28898  	gensupport.SetOptions(c.urlParams_, opts...)
 28899  	res, err := c.doRequest("json")
 28900  	if res != nil && res.StatusCode == http.StatusNotModified {
 28901  		if res.Body != nil {
 28902  			res.Body.Close()
 28903  		}
 28904  		return nil, &googleapi.Error{
 28905  			Code:   res.StatusCode,
 28906  			Header: res.Header,
 28907  		}
 28908  	}
 28909  	if err != nil {
 28910  		return nil, err
 28911  	}
 28912  	defer googleapi.CloseBody(res)
 28913  	if err := googleapi.CheckResponse(res); err != nil {
 28914  		return nil, err
 28915  	}
 28916  	ret := &Creative{
 28917  		ServerResponse: googleapi.ServerResponse{
 28918  			Header:         res.Header,
 28919  			HTTPStatusCode: res.StatusCode,
 28920  		},
 28921  	}
 28922  	target := &ret
 28923  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28924  		return nil, err
 28925  	}
 28926  	return ret, nil
 28927  	// {
 28928  	//   "description": "Updates an existing creative. This method supports patch semantics.",
 28929  	//   "httpMethod": "PATCH",
 28930  	//   "id": "dfareporting.creatives.patch",
 28931  	//   "parameterOrder": [
 28932  	//     "profileId",
 28933  	//     "id"
 28934  	//   ],
 28935  	//   "parameters": {
 28936  	//     "id": {
 28937  	//       "description": "Creative ID.",
 28938  	//       "format": "int64",
 28939  	//       "location": "query",
 28940  	//       "required": true,
 28941  	//       "type": "string"
 28942  	//     },
 28943  	//     "profileId": {
 28944  	//       "description": "User profile ID associated with this request.",
 28945  	//       "format": "int64",
 28946  	//       "location": "path",
 28947  	//       "required": true,
 28948  	//       "type": "string"
 28949  	//     }
 28950  	//   },
 28951  	//   "path": "userprofiles/{profileId}/creatives",
 28952  	//   "request": {
 28953  	//     "$ref": "Creative"
 28954  	//   },
 28955  	//   "response": {
 28956  	//     "$ref": "Creative"
 28957  	//   },
 28958  	//   "scopes": [
 28959  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28960  	//   ]
 28961  	// }
 28962  
 28963  }
 28964  
 28965  // method id "dfareporting.creatives.update":
 28966  
 28967  type CreativesUpdateCall struct {
 28968  	s          *Service
 28969  	profileId  int64
 28970  	creative   *Creative
 28971  	urlParams_ gensupport.URLParams
 28972  	ctx_       context.Context
 28973  	header_    http.Header
 28974  }
 28975  
 28976  // Update: Updates an existing creative.
 28977  func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
 28978  	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28979  	c.profileId = profileId
 28980  	c.creative = creative
 28981  	return c
 28982  }
 28983  
 28984  // Fields allows partial responses to be retrieved. See
 28985  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28986  // for more information.
 28987  func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
 28988  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28989  	return c
 28990  }
 28991  
 28992  // Context sets the context to be used in this call's Do method. Any
 28993  // pending HTTP request will be aborted if the provided context is
 28994  // canceled.
 28995  func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 28996  	c.ctx_ = ctx
 28997  	return c
 28998  }
 28999  
 29000  // Header returns an http.Header that can be modified by the caller to
 29001  // add HTTP headers to the request.
 29002  func (c *CreativesUpdateCall) Header() http.Header {
 29003  	if c.header_ == nil {
 29004  		c.header_ = make(http.Header)
 29005  	}
 29006  	return c.header_
 29007  }
 29008  
 29009  func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 29010  	reqHeaders := make(http.Header)
 29011  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29012  	for k, v := range c.header_ {
 29013  		reqHeaders[k] = v
 29014  	}
 29015  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29016  	var body io.Reader = nil
 29017  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 29018  	if err != nil {
 29019  		return nil, err
 29020  	}
 29021  	reqHeaders.Set("Content-Type", "application/json")
 29022  	c.urlParams_.Set("alt", alt)
 29023  	c.urlParams_.Set("prettyPrint", "false")
 29024  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 29025  	urls += "?" + c.urlParams_.Encode()
 29026  	req, err := http.NewRequest("PUT", urls, body)
 29027  	if err != nil {
 29028  		return nil, err
 29029  	}
 29030  	req.Header = reqHeaders
 29031  	googleapi.Expand(req.URL, map[string]string{
 29032  		"profileId": strconv.FormatInt(c.profileId, 10),
 29033  	})
 29034  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29035  }
 29036  
 29037  // Do executes the "dfareporting.creatives.update" call.
 29038  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 29039  // code is an error. Response headers are in either
 29040  // *Creative.ServerResponse.Header or (if a response was returned at
 29041  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 29042  // to check whether the returned error was because
 29043  // http.StatusNotModified was returned.
 29044  func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 29045  	gensupport.SetOptions(c.urlParams_, opts...)
 29046  	res, err := c.doRequest("json")
 29047  	if res != nil && res.StatusCode == http.StatusNotModified {
 29048  		if res.Body != nil {
 29049  			res.Body.Close()
 29050  		}
 29051  		return nil, &googleapi.Error{
 29052  			Code:   res.StatusCode,
 29053  			Header: res.Header,
 29054  		}
 29055  	}
 29056  	if err != nil {
 29057  		return nil, err
 29058  	}
 29059  	defer googleapi.CloseBody(res)
 29060  	if err := googleapi.CheckResponse(res); err != nil {
 29061  		return nil, err
 29062  	}
 29063  	ret := &Creative{
 29064  		ServerResponse: googleapi.ServerResponse{
 29065  			Header:         res.Header,
 29066  			HTTPStatusCode: res.StatusCode,
 29067  		},
 29068  	}
 29069  	target := &ret
 29070  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29071  		return nil, err
 29072  	}
 29073  	return ret, nil
 29074  	// {
 29075  	//   "description": "Updates an existing creative.",
 29076  	//   "httpMethod": "PUT",
 29077  	//   "id": "dfareporting.creatives.update",
 29078  	//   "parameterOrder": [
 29079  	//     "profileId"
 29080  	//   ],
 29081  	//   "parameters": {
 29082  	//     "profileId": {
 29083  	//       "description": "User profile ID associated with this request.",
 29084  	//       "format": "int64",
 29085  	//       "location": "path",
 29086  	//       "required": true,
 29087  	//       "type": "string"
 29088  	//     }
 29089  	//   },
 29090  	//   "path": "userprofiles/{profileId}/creatives",
 29091  	//   "request": {
 29092  	//     "$ref": "Creative"
 29093  	//   },
 29094  	//   "response": {
 29095  	//     "$ref": "Creative"
 29096  	//   },
 29097  	//   "scopes": [
 29098  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29099  	//   ]
 29100  	// }
 29101  
 29102  }
 29103  
 29104  // method id "dfareporting.dimensionValues.query":
 29105  
 29106  type DimensionValuesQueryCall struct {
 29107  	s                     *Service
 29108  	profileId             int64
 29109  	dimensionvaluerequest *DimensionValueRequest
 29110  	urlParams_            gensupport.URLParams
 29111  	ctx_                  context.Context
 29112  	header_               http.Header
 29113  }
 29114  
 29115  // Query: Retrieves list of report dimension values for a list of
 29116  // filters.
 29117  func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
 29118  	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29119  	c.profileId = profileId
 29120  	c.dimensionvaluerequest = dimensionvaluerequest
 29121  	return c
 29122  }
 29123  
 29124  // MaxResults sets the optional parameter "maxResults": Maximum number
 29125  // of results to return.
 29126  func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
 29127  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 29128  	return c
 29129  }
 29130  
 29131  // PageToken sets the optional parameter "pageToken": The value of the
 29132  // nextToken from the previous result page.
 29133  func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
 29134  	c.urlParams_.Set("pageToken", pageToken)
 29135  	return c
 29136  }
 29137  
 29138  // Fields allows partial responses to be retrieved. See
 29139  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29140  // for more information.
 29141  func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
 29142  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29143  	return c
 29144  }
 29145  
 29146  // Context sets the context to be used in this call's Do method. Any
 29147  // pending HTTP request will be aborted if the provided context is
 29148  // canceled.
 29149  func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 29150  	c.ctx_ = ctx
 29151  	return c
 29152  }
 29153  
 29154  // Header returns an http.Header that can be modified by the caller to
 29155  // add HTTP headers to the request.
 29156  func (c *DimensionValuesQueryCall) Header() http.Header {
 29157  	if c.header_ == nil {
 29158  		c.header_ = make(http.Header)
 29159  	}
 29160  	return c.header_
 29161  }
 29162  
 29163  func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
 29164  	reqHeaders := make(http.Header)
 29165  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29166  	for k, v := range c.header_ {
 29167  		reqHeaders[k] = v
 29168  	}
 29169  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29170  	var body io.Reader = nil
 29171  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
 29172  	if err != nil {
 29173  		return nil, err
 29174  	}
 29175  	reqHeaders.Set("Content-Type", "application/json")
 29176  	c.urlParams_.Set("alt", alt)
 29177  	c.urlParams_.Set("prettyPrint", "false")
 29178  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
 29179  	urls += "?" + c.urlParams_.Encode()
 29180  	req, err := http.NewRequest("POST", urls, body)
 29181  	if err != nil {
 29182  		return nil, err
 29183  	}
 29184  	req.Header = reqHeaders
 29185  	googleapi.Expand(req.URL, map[string]string{
 29186  		"profileId": strconv.FormatInt(c.profileId, 10),
 29187  	})
 29188  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29189  }
 29190  
 29191  // Do executes the "dfareporting.dimensionValues.query" call.
 29192  // Exactly one of *DimensionValueList or error will be non-nil. Any
 29193  // non-2xx status code is an error. Response headers are in either
 29194  // *DimensionValueList.ServerResponse.Header or (if a response was
 29195  // returned at all) in error.(*googleapi.Error).Header. Use
 29196  // googleapi.IsNotModified to check whether the returned error was
 29197  // because http.StatusNotModified was returned.
 29198  func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
 29199  	gensupport.SetOptions(c.urlParams_, opts...)
 29200  	res, err := c.doRequest("json")
 29201  	if res != nil && res.StatusCode == http.StatusNotModified {
 29202  		if res.Body != nil {
 29203  			res.Body.Close()
 29204  		}
 29205  		return nil, &googleapi.Error{
 29206  			Code:   res.StatusCode,
 29207  			Header: res.Header,
 29208  		}
 29209  	}
 29210  	if err != nil {
 29211  		return nil, err
 29212  	}
 29213  	defer googleapi.CloseBody(res)
 29214  	if err := googleapi.CheckResponse(res); err != nil {
 29215  		return nil, err
 29216  	}
 29217  	ret := &DimensionValueList{
 29218  		ServerResponse: googleapi.ServerResponse{
 29219  			Header:         res.Header,
 29220  			HTTPStatusCode: res.StatusCode,
 29221  		},
 29222  	}
 29223  	target := &ret
 29224  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29225  		return nil, err
 29226  	}
 29227  	return ret, nil
 29228  	// {
 29229  	//   "description": "Retrieves list of report dimension values for a list of filters.",
 29230  	//   "httpMethod": "POST",
 29231  	//   "id": "dfareporting.dimensionValues.query",
 29232  	//   "parameterOrder": [
 29233  	//     "profileId"
 29234  	//   ],
 29235  	//   "parameters": {
 29236  	//     "maxResults": {
 29237  	//       "default": "100",
 29238  	//       "description": "Maximum number of results to return.",
 29239  	//       "format": "int32",
 29240  	//       "location": "query",
 29241  	//       "maximum": "100",
 29242  	//       "minimum": "0",
 29243  	//       "type": "integer"
 29244  	//     },
 29245  	//     "pageToken": {
 29246  	//       "description": "The value of the nextToken from the previous result page.",
 29247  	//       "location": "query",
 29248  	//       "type": "string"
 29249  	//     },
 29250  	//     "profileId": {
 29251  	//       "description": "The DFA user profile ID.",
 29252  	//       "format": "int64",
 29253  	//       "location": "path",
 29254  	//       "required": true,
 29255  	//       "type": "string"
 29256  	//     }
 29257  	//   },
 29258  	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
 29259  	//   "request": {
 29260  	//     "$ref": "DimensionValueRequest"
 29261  	//   },
 29262  	//   "response": {
 29263  	//     "$ref": "DimensionValueList"
 29264  	//   },
 29265  	//   "scopes": [
 29266  	//     "https://www.googleapis.com/auth/dfareporting"
 29267  	//   ]
 29268  	// }
 29269  
 29270  }
 29271  
 29272  // Pages invokes f for each page of results.
 29273  // A non-nil error returned from f will halt the iteration.
 29274  // The provided context supersedes any context provided to the Context method.
 29275  func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
 29276  	c.ctx_ = ctx
 29277  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 29278  	for {
 29279  		x, err := c.Do()
 29280  		if err != nil {
 29281  			return err
 29282  		}
 29283  		if err := f(x); err != nil {
 29284  			return err
 29285  		}
 29286  		if x.NextPageToken == "" {
 29287  			return nil
 29288  		}
 29289  		c.PageToken(x.NextPageToken)
 29290  	}
 29291  }
 29292  
 29293  // method id "dfareporting.directorySiteContacts.get":
 29294  
 29295  type DirectorySiteContactsGetCall struct {
 29296  	s            *Service
 29297  	profileId    int64
 29298  	id           int64
 29299  	urlParams_   gensupport.URLParams
 29300  	ifNoneMatch_ string
 29301  	ctx_         context.Context
 29302  	header_      http.Header
 29303  }
 29304  
 29305  // Get: Gets one directory site contact by ID.
 29306  func (r *DirectorySiteContactsService) Get(profileId int64, id int64) *DirectorySiteContactsGetCall {
 29307  	c := &DirectorySiteContactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29308  	c.profileId = profileId
 29309  	c.id = id
 29310  	return c
 29311  }
 29312  
 29313  // Fields allows partial responses to be retrieved. See
 29314  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29315  // for more information.
 29316  func (c *DirectorySiteContactsGetCall) Fields(s ...googleapi.Field) *DirectorySiteContactsGetCall {
 29317  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29318  	return c
 29319  }
 29320  
 29321  // IfNoneMatch sets the optional parameter which makes the operation
 29322  // fail if the object's ETag matches the given value. This is useful for
 29323  // getting updates only after the object has changed since the last
 29324  // request. Use googleapi.IsNotModified to check whether the response
 29325  // error from Do is the result of In-None-Match.
 29326  func (c *DirectorySiteContactsGetCall) IfNoneMatch(entityTag string) *DirectorySiteContactsGetCall {
 29327  	c.ifNoneMatch_ = entityTag
 29328  	return c
 29329  }
 29330  
 29331  // Context sets the context to be used in this call's Do method. Any
 29332  // pending HTTP request will be aborted if the provided context is
 29333  // canceled.
 29334  func (c *DirectorySiteContactsGetCall) Context(ctx context.Context) *DirectorySiteContactsGetCall {
 29335  	c.ctx_ = ctx
 29336  	return c
 29337  }
 29338  
 29339  // Header returns an http.Header that can be modified by the caller to
 29340  // add HTTP headers to the request.
 29341  func (c *DirectorySiteContactsGetCall) Header() http.Header {
 29342  	if c.header_ == nil {
 29343  		c.header_ = make(http.Header)
 29344  	}
 29345  	return c.header_
 29346  }
 29347  
 29348  func (c *DirectorySiteContactsGetCall) doRequest(alt string) (*http.Response, error) {
 29349  	reqHeaders := make(http.Header)
 29350  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29351  	for k, v := range c.header_ {
 29352  		reqHeaders[k] = v
 29353  	}
 29354  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29355  	if c.ifNoneMatch_ != "" {
 29356  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29357  	}
 29358  	var body io.Reader = nil
 29359  	c.urlParams_.Set("alt", alt)
 29360  	c.urlParams_.Set("prettyPrint", "false")
 29361  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts/{id}")
 29362  	urls += "?" + c.urlParams_.Encode()
 29363  	req, err := http.NewRequest("GET", urls, body)
 29364  	if err != nil {
 29365  		return nil, err
 29366  	}
 29367  	req.Header = reqHeaders
 29368  	googleapi.Expand(req.URL, map[string]string{
 29369  		"profileId": strconv.FormatInt(c.profileId, 10),
 29370  		"id":        strconv.FormatInt(c.id, 10),
 29371  	})
 29372  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29373  }
 29374  
 29375  // Do executes the "dfareporting.directorySiteContacts.get" call.
 29376  // Exactly one of *DirectorySiteContact or error will be non-nil. Any
 29377  // non-2xx status code is an error. Response headers are in either
 29378  // *DirectorySiteContact.ServerResponse.Header or (if a response was
 29379  // returned at all) in error.(*googleapi.Error).Header. Use
 29380  // googleapi.IsNotModified to check whether the returned error was
 29381  // because http.StatusNotModified was returned.
 29382  func (c *DirectorySiteContactsGetCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContact, error) {
 29383  	gensupport.SetOptions(c.urlParams_, opts...)
 29384  	res, err := c.doRequest("json")
 29385  	if res != nil && res.StatusCode == http.StatusNotModified {
 29386  		if res.Body != nil {
 29387  			res.Body.Close()
 29388  		}
 29389  		return nil, &googleapi.Error{
 29390  			Code:   res.StatusCode,
 29391  			Header: res.Header,
 29392  		}
 29393  	}
 29394  	if err != nil {
 29395  		return nil, err
 29396  	}
 29397  	defer googleapi.CloseBody(res)
 29398  	if err := googleapi.CheckResponse(res); err != nil {
 29399  		return nil, err
 29400  	}
 29401  	ret := &DirectorySiteContact{
 29402  		ServerResponse: googleapi.ServerResponse{
 29403  			Header:         res.Header,
 29404  			HTTPStatusCode: res.StatusCode,
 29405  		},
 29406  	}
 29407  	target := &ret
 29408  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29409  		return nil, err
 29410  	}
 29411  	return ret, nil
 29412  	// {
 29413  	//   "description": "Gets one directory site contact by ID.",
 29414  	//   "httpMethod": "GET",
 29415  	//   "id": "dfareporting.directorySiteContacts.get",
 29416  	//   "parameterOrder": [
 29417  	//     "profileId",
 29418  	//     "id"
 29419  	//   ],
 29420  	//   "parameters": {
 29421  	//     "id": {
 29422  	//       "description": "Directory site contact ID.",
 29423  	//       "format": "int64",
 29424  	//       "location": "path",
 29425  	//       "required": true,
 29426  	//       "type": "string"
 29427  	//     },
 29428  	//     "profileId": {
 29429  	//       "description": "User profile ID associated with this request.",
 29430  	//       "format": "int64",
 29431  	//       "location": "path",
 29432  	//       "required": true,
 29433  	//       "type": "string"
 29434  	//     }
 29435  	//   },
 29436  	//   "path": "userprofiles/{profileId}/directorySiteContacts/{id}",
 29437  	//   "response": {
 29438  	//     "$ref": "DirectorySiteContact"
 29439  	//   },
 29440  	//   "scopes": [
 29441  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29442  	//   ]
 29443  	// }
 29444  
 29445  }
 29446  
 29447  // method id "dfareporting.directorySiteContacts.list":
 29448  
 29449  type DirectorySiteContactsListCall struct {
 29450  	s            *Service
 29451  	profileId    int64
 29452  	urlParams_   gensupport.URLParams
 29453  	ifNoneMatch_ string
 29454  	ctx_         context.Context
 29455  	header_      http.Header
 29456  }
 29457  
 29458  // List: Retrieves a list of directory site contacts, possibly filtered.
 29459  // This method supports paging.
 29460  func (r *DirectorySiteContactsService) List(profileId int64) *DirectorySiteContactsListCall {
 29461  	c := &DirectorySiteContactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29462  	c.profileId = profileId
 29463  	return c
 29464  }
 29465  
 29466  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 29467  // Select only directory site contacts with these directory site IDs.
 29468  // This is a required field.
 29469  func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds ...int64) *DirectorySiteContactsListCall {
 29470  	var directorySiteIds_ []string
 29471  	for _, v := range directorySiteIds {
 29472  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 29473  	}
 29474  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 29475  	return c
 29476  }
 29477  
 29478  // Ids sets the optional parameter "ids": Select only directory site
 29479  // contacts with these IDs.
 29480  func (c *DirectorySiteContactsListCall) Ids(ids ...int64) *DirectorySiteContactsListCall {
 29481  	var ids_ []string
 29482  	for _, v := range ids {
 29483  		ids_ = append(ids_, fmt.Sprint(v))
 29484  	}
 29485  	c.urlParams_.SetMulti("ids", ids_)
 29486  	return c
 29487  }
 29488  
 29489  // MaxResults sets the optional parameter "maxResults": Maximum number
 29490  // of results to return.
 29491  func (c *DirectorySiteContactsListCall) MaxResults(maxResults int64) *DirectorySiteContactsListCall {
 29492  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 29493  	return c
 29494  }
 29495  
 29496  // PageToken sets the optional parameter "pageToken": Value of the
 29497  // nextPageToken from the previous result page.
 29498  func (c *DirectorySiteContactsListCall) PageToken(pageToken string) *DirectorySiteContactsListCall {
 29499  	c.urlParams_.Set("pageToken", pageToken)
 29500  	return c
 29501  }
 29502  
 29503  // SearchString sets the optional parameter "searchString": Allows
 29504  // searching for objects by name, ID or email. Wildcards (*) are
 29505  // allowed. For example, "directory site contact*2015" will return
 29506  // objects with names like "directory site contact June 2015",
 29507  // "directory site contact April 2015", or simply "directory site
 29508  // contact 2015". Most of the searches also add wildcards implicitly at
 29509  // the start and the end of the search string. For example, a search
 29510  // string of "directory site contact" will match objects with name "my
 29511  // directory site contact", "directory site contact 2015", or simply
 29512  // "directory site contact".
 29513  func (c *DirectorySiteContactsListCall) SearchString(searchString string) *DirectorySiteContactsListCall {
 29514  	c.urlParams_.Set("searchString", searchString)
 29515  	return c
 29516  }
 29517  
 29518  // SortField sets the optional parameter "sortField": Field by which to
 29519  // sort the list.
 29520  //
 29521  // Possible values:
 29522  //
 29523  //	"ID" (default)
 29524  //	"NAME"
 29525  func (c *DirectorySiteContactsListCall) SortField(sortField string) *DirectorySiteContactsListCall {
 29526  	c.urlParams_.Set("sortField", sortField)
 29527  	return c
 29528  }
 29529  
 29530  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 29531  // results.
 29532  //
 29533  // Possible values:
 29534  //
 29535  //	"ASCENDING" (default)
 29536  //	"DESCENDING"
 29537  func (c *DirectorySiteContactsListCall) SortOrder(sortOrder string) *DirectorySiteContactsListCall {
 29538  	c.urlParams_.Set("sortOrder", sortOrder)
 29539  	return c
 29540  }
 29541  
 29542  // Fields allows partial responses to be retrieved. See
 29543  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29544  // for more information.
 29545  func (c *DirectorySiteContactsListCall) Fields(s ...googleapi.Field) *DirectorySiteContactsListCall {
 29546  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29547  	return c
 29548  }
 29549  
 29550  // IfNoneMatch sets the optional parameter which makes the operation
 29551  // fail if the object's ETag matches the given value. This is useful for
 29552  // getting updates only after the object has changed since the last
 29553  // request. Use googleapi.IsNotModified to check whether the response
 29554  // error from Do is the result of In-None-Match.
 29555  func (c *DirectorySiteContactsListCall) IfNoneMatch(entityTag string) *DirectorySiteContactsListCall {
 29556  	c.ifNoneMatch_ = entityTag
 29557  	return c
 29558  }
 29559  
 29560  // Context sets the context to be used in this call's Do method. Any
 29561  // pending HTTP request will be aborted if the provided context is
 29562  // canceled.
 29563  func (c *DirectorySiteContactsListCall) Context(ctx context.Context) *DirectorySiteContactsListCall {
 29564  	c.ctx_ = ctx
 29565  	return c
 29566  }
 29567  
 29568  // Header returns an http.Header that can be modified by the caller to
 29569  // add HTTP headers to the request.
 29570  func (c *DirectorySiteContactsListCall) Header() http.Header {
 29571  	if c.header_ == nil {
 29572  		c.header_ = make(http.Header)
 29573  	}
 29574  	return c.header_
 29575  }
 29576  
 29577  func (c *DirectorySiteContactsListCall) doRequest(alt string) (*http.Response, error) {
 29578  	reqHeaders := make(http.Header)
 29579  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29580  	for k, v := range c.header_ {
 29581  		reqHeaders[k] = v
 29582  	}
 29583  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29584  	if c.ifNoneMatch_ != "" {
 29585  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29586  	}
 29587  	var body io.Reader = nil
 29588  	c.urlParams_.Set("alt", alt)
 29589  	c.urlParams_.Set("prettyPrint", "false")
 29590  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts")
 29591  	urls += "?" + c.urlParams_.Encode()
 29592  	req, err := http.NewRequest("GET", urls, body)
 29593  	if err != nil {
 29594  		return nil, err
 29595  	}
 29596  	req.Header = reqHeaders
 29597  	googleapi.Expand(req.URL, map[string]string{
 29598  		"profileId": strconv.FormatInt(c.profileId, 10),
 29599  	})
 29600  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29601  }
 29602  
 29603  // Do executes the "dfareporting.directorySiteContacts.list" call.
 29604  // Exactly one of *DirectorySiteContactsListResponse or error will be
 29605  // non-nil. Any non-2xx status code is an error. Response headers are in
 29606  // either *DirectorySiteContactsListResponse.ServerResponse.Header or
 29607  // (if a response was returned at all) in
 29608  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 29609  // whether the returned error was because http.StatusNotModified was
 29610  // returned.
 29611  func (c *DirectorySiteContactsListCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContactsListResponse, error) {
 29612  	gensupport.SetOptions(c.urlParams_, opts...)
 29613  	res, err := c.doRequest("json")
 29614  	if res != nil && res.StatusCode == http.StatusNotModified {
 29615  		if res.Body != nil {
 29616  			res.Body.Close()
 29617  		}
 29618  		return nil, &googleapi.Error{
 29619  			Code:   res.StatusCode,
 29620  			Header: res.Header,
 29621  		}
 29622  	}
 29623  	if err != nil {
 29624  		return nil, err
 29625  	}
 29626  	defer googleapi.CloseBody(res)
 29627  	if err := googleapi.CheckResponse(res); err != nil {
 29628  		return nil, err
 29629  	}
 29630  	ret := &DirectorySiteContactsListResponse{
 29631  		ServerResponse: googleapi.ServerResponse{
 29632  			Header:         res.Header,
 29633  			HTTPStatusCode: res.StatusCode,
 29634  		},
 29635  	}
 29636  	target := &ret
 29637  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29638  		return nil, err
 29639  	}
 29640  	return ret, nil
 29641  	// {
 29642  	//   "description": "Retrieves a list of directory site contacts, possibly filtered. This method supports paging.",
 29643  	//   "httpMethod": "GET",
 29644  	//   "id": "dfareporting.directorySiteContacts.list",
 29645  	//   "parameterOrder": [
 29646  	//     "profileId"
 29647  	//   ],
 29648  	//   "parameters": {
 29649  	//     "directorySiteIds": {
 29650  	//       "description": "Select only directory site contacts with these directory site IDs. This is a required field.",
 29651  	//       "format": "int64",
 29652  	//       "location": "query",
 29653  	//       "repeated": true,
 29654  	//       "type": "string"
 29655  	//     },
 29656  	//     "ids": {
 29657  	//       "description": "Select only directory site contacts with these IDs.",
 29658  	//       "format": "int64",
 29659  	//       "location": "query",
 29660  	//       "repeated": true,
 29661  	//       "type": "string"
 29662  	//     },
 29663  	//     "maxResults": {
 29664  	//       "default": "1000",
 29665  	//       "description": "Maximum number of results to return.",
 29666  	//       "format": "int32",
 29667  	//       "location": "query",
 29668  	//       "maximum": "1000",
 29669  	//       "minimum": "0",
 29670  	//       "type": "integer"
 29671  	//     },
 29672  	//     "pageToken": {
 29673  	//       "description": "Value of the nextPageToken from the previous result page.",
 29674  	//       "location": "query",
 29675  	//       "type": "string"
 29676  	//     },
 29677  	//     "profileId": {
 29678  	//       "description": "User profile ID associated with this request.",
 29679  	//       "format": "int64",
 29680  	//       "location": "path",
 29681  	//       "required": true,
 29682  	//       "type": "string"
 29683  	//     },
 29684  	//     "searchString": {
 29685  	//       "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\".",
 29686  	//       "location": "query",
 29687  	//       "type": "string"
 29688  	//     },
 29689  	//     "sortField": {
 29690  	//       "default": "ID",
 29691  	//       "description": "Field by which to sort the list.",
 29692  	//       "enum": [
 29693  	//         "ID",
 29694  	//         "NAME"
 29695  	//       ],
 29696  	//       "enumDescriptions": [
 29697  	//         "",
 29698  	//         ""
 29699  	//       ],
 29700  	//       "location": "query",
 29701  	//       "type": "string"
 29702  	//     },
 29703  	//     "sortOrder": {
 29704  	//       "default": "ASCENDING",
 29705  	//       "description": "Order of sorted results.",
 29706  	//       "enum": [
 29707  	//         "ASCENDING",
 29708  	//         "DESCENDING"
 29709  	//       ],
 29710  	//       "enumDescriptions": [
 29711  	//         "",
 29712  	//         ""
 29713  	//       ],
 29714  	//       "location": "query",
 29715  	//       "type": "string"
 29716  	//     }
 29717  	//   },
 29718  	//   "path": "userprofiles/{profileId}/directorySiteContacts",
 29719  	//   "response": {
 29720  	//     "$ref": "DirectorySiteContactsListResponse"
 29721  	//   },
 29722  	//   "scopes": [
 29723  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29724  	//   ]
 29725  	// }
 29726  
 29727  }
 29728  
 29729  // Pages invokes f for each page of results.
 29730  // A non-nil error returned from f will halt the iteration.
 29731  // The provided context supersedes any context provided to the Context method.
 29732  func (c *DirectorySiteContactsListCall) Pages(ctx context.Context, f func(*DirectorySiteContactsListResponse) error) error {
 29733  	c.ctx_ = ctx
 29734  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 29735  	for {
 29736  		x, err := c.Do()
 29737  		if err != nil {
 29738  			return err
 29739  		}
 29740  		if err := f(x); err != nil {
 29741  			return err
 29742  		}
 29743  		if x.NextPageToken == "" {
 29744  			return nil
 29745  		}
 29746  		c.PageToken(x.NextPageToken)
 29747  	}
 29748  }
 29749  
 29750  // method id "dfareporting.directorySites.get":
 29751  
 29752  type DirectorySitesGetCall struct {
 29753  	s            *Service
 29754  	profileId    int64
 29755  	id           int64
 29756  	urlParams_   gensupport.URLParams
 29757  	ifNoneMatch_ string
 29758  	ctx_         context.Context
 29759  	header_      http.Header
 29760  }
 29761  
 29762  // Get: Gets one directory site by ID.
 29763  func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
 29764  	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29765  	c.profileId = profileId
 29766  	c.id = id
 29767  	return c
 29768  }
 29769  
 29770  // Fields allows partial responses to be retrieved. See
 29771  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29772  // for more information.
 29773  func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
 29774  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29775  	return c
 29776  }
 29777  
 29778  // IfNoneMatch sets the optional parameter which makes the operation
 29779  // fail if the object's ETag matches the given value. This is useful for
 29780  // getting updates only after the object has changed since the last
 29781  // request. Use googleapi.IsNotModified to check whether the response
 29782  // error from Do is the result of In-None-Match.
 29783  func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
 29784  	c.ifNoneMatch_ = entityTag
 29785  	return c
 29786  }
 29787  
 29788  // Context sets the context to be used in this call's Do method. Any
 29789  // pending HTTP request will be aborted if the provided context is
 29790  // canceled.
 29791  func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 29792  	c.ctx_ = ctx
 29793  	return c
 29794  }
 29795  
 29796  // Header returns an http.Header that can be modified by the caller to
 29797  // add HTTP headers to the request.
 29798  func (c *DirectorySitesGetCall) Header() http.Header {
 29799  	if c.header_ == nil {
 29800  		c.header_ = make(http.Header)
 29801  	}
 29802  	return c.header_
 29803  }
 29804  
 29805  func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 29806  	reqHeaders := make(http.Header)
 29807  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29808  	for k, v := range c.header_ {
 29809  		reqHeaders[k] = v
 29810  	}
 29811  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29812  	if c.ifNoneMatch_ != "" {
 29813  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29814  	}
 29815  	var body io.Reader = nil
 29816  	c.urlParams_.Set("alt", alt)
 29817  	c.urlParams_.Set("prettyPrint", "false")
 29818  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
 29819  	urls += "?" + c.urlParams_.Encode()
 29820  	req, err := http.NewRequest("GET", urls, body)
 29821  	if err != nil {
 29822  		return nil, err
 29823  	}
 29824  	req.Header = reqHeaders
 29825  	googleapi.Expand(req.URL, map[string]string{
 29826  		"profileId": strconv.FormatInt(c.profileId, 10),
 29827  		"id":        strconv.FormatInt(c.id, 10),
 29828  	})
 29829  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29830  }
 29831  
 29832  // Do executes the "dfareporting.directorySites.get" call.
 29833  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 29834  // status code is an error. Response headers are in either
 29835  // *DirectorySite.ServerResponse.Header or (if a response was returned
 29836  // at all) in error.(*googleapi.Error).Header. Use
 29837  // googleapi.IsNotModified to check whether the returned error was
 29838  // because http.StatusNotModified was returned.
 29839  func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 29840  	gensupport.SetOptions(c.urlParams_, opts...)
 29841  	res, err := c.doRequest("json")
 29842  	if res != nil && res.StatusCode == http.StatusNotModified {
 29843  		if res.Body != nil {
 29844  			res.Body.Close()
 29845  		}
 29846  		return nil, &googleapi.Error{
 29847  			Code:   res.StatusCode,
 29848  			Header: res.Header,
 29849  		}
 29850  	}
 29851  	if err != nil {
 29852  		return nil, err
 29853  	}
 29854  	defer googleapi.CloseBody(res)
 29855  	if err := googleapi.CheckResponse(res); err != nil {
 29856  		return nil, err
 29857  	}
 29858  	ret := &DirectorySite{
 29859  		ServerResponse: googleapi.ServerResponse{
 29860  			Header:         res.Header,
 29861  			HTTPStatusCode: res.StatusCode,
 29862  		},
 29863  	}
 29864  	target := &ret
 29865  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29866  		return nil, err
 29867  	}
 29868  	return ret, nil
 29869  	// {
 29870  	//   "description": "Gets one directory site by ID.",
 29871  	//   "httpMethod": "GET",
 29872  	//   "id": "dfareporting.directorySites.get",
 29873  	//   "parameterOrder": [
 29874  	//     "profileId",
 29875  	//     "id"
 29876  	//   ],
 29877  	//   "parameters": {
 29878  	//     "id": {
 29879  	//       "description": "Directory site ID.",
 29880  	//       "format": "int64",
 29881  	//       "location": "path",
 29882  	//       "required": true,
 29883  	//       "type": "string"
 29884  	//     },
 29885  	//     "profileId": {
 29886  	//       "description": "User profile ID associated with this request.",
 29887  	//       "format": "int64",
 29888  	//       "location": "path",
 29889  	//       "required": true,
 29890  	//       "type": "string"
 29891  	//     }
 29892  	//   },
 29893  	//   "path": "userprofiles/{profileId}/directorySites/{id}",
 29894  	//   "response": {
 29895  	//     "$ref": "DirectorySite"
 29896  	//   },
 29897  	//   "scopes": [
 29898  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29899  	//   ]
 29900  	// }
 29901  
 29902  }
 29903  
 29904  // method id "dfareporting.directorySites.insert":
 29905  
 29906  type DirectorySitesInsertCall struct {
 29907  	s             *Service
 29908  	profileId     int64
 29909  	directorysite *DirectorySite
 29910  	urlParams_    gensupport.URLParams
 29911  	ctx_          context.Context
 29912  	header_       http.Header
 29913  }
 29914  
 29915  // Insert: Inserts a new directory site.
 29916  func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
 29917  	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29918  	c.profileId = profileId
 29919  	c.directorysite = directorysite
 29920  	return c
 29921  }
 29922  
 29923  // Fields allows partial responses to be retrieved. See
 29924  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29925  // for more information.
 29926  func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
 29927  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29928  	return c
 29929  }
 29930  
 29931  // Context sets the context to be used in this call's Do method. Any
 29932  // pending HTTP request will be aborted if the provided context is
 29933  // canceled.
 29934  func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
 29935  	c.ctx_ = ctx
 29936  	return c
 29937  }
 29938  
 29939  // Header returns an http.Header that can be modified by the caller to
 29940  // add HTTP headers to the request.
 29941  func (c *DirectorySitesInsertCall) Header() http.Header {
 29942  	if c.header_ == nil {
 29943  		c.header_ = make(http.Header)
 29944  	}
 29945  	return c.header_
 29946  }
 29947  
 29948  func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
 29949  	reqHeaders := make(http.Header)
 29950  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 29951  	for k, v := range c.header_ {
 29952  		reqHeaders[k] = v
 29953  	}
 29954  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29955  	var body io.Reader = nil
 29956  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
 29957  	if err != nil {
 29958  		return nil, err
 29959  	}
 29960  	reqHeaders.Set("Content-Type", "application/json")
 29961  	c.urlParams_.Set("alt", alt)
 29962  	c.urlParams_.Set("prettyPrint", "false")
 29963  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 29964  	urls += "?" + c.urlParams_.Encode()
 29965  	req, err := http.NewRequest("POST", urls, body)
 29966  	if err != nil {
 29967  		return nil, err
 29968  	}
 29969  	req.Header = reqHeaders
 29970  	googleapi.Expand(req.URL, map[string]string{
 29971  		"profileId": strconv.FormatInt(c.profileId, 10),
 29972  	})
 29973  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29974  }
 29975  
 29976  // Do executes the "dfareporting.directorySites.insert" call.
 29977  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 29978  // status code is an error. Response headers are in either
 29979  // *DirectorySite.ServerResponse.Header or (if a response was returned
 29980  // at all) in error.(*googleapi.Error).Header. Use
 29981  // googleapi.IsNotModified to check whether the returned error was
 29982  // because http.StatusNotModified was returned.
 29983  func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 29984  	gensupport.SetOptions(c.urlParams_, opts...)
 29985  	res, err := c.doRequest("json")
 29986  	if res != nil && res.StatusCode == http.StatusNotModified {
 29987  		if res.Body != nil {
 29988  			res.Body.Close()
 29989  		}
 29990  		return nil, &googleapi.Error{
 29991  			Code:   res.StatusCode,
 29992  			Header: res.Header,
 29993  		}
 29994  	}
 29995  	if err != nil {
 29996  		return nil, err
 29997  	}
 29998  	defer googleapi.CloseBody(res)
 29999  	if err := googleapi.CheckResponse(res); err != nil {
 30000  		return nil, err
 30001  	}
 30002  	ret := &DirectorySite{
 30003  		ServerResponse: googleapi.ServerResponse{
 30004  			Header:         res.Header,
 30005  			HTTPStatusCode: res.StatusCode,
 30006  		},
 30007  	}
 30008  	target := &ret
 30009  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30010  		return nil, err
 30011  	}
 30012  	return ret, nil
 30013  	// {
 30014  	//   "description": "Inserts a new directory site.",
 30015  	//   "httpMethod": "POST",
 30016  	//   "id": "dfareporting.directorySites.insert",
 30017  	//   "parameterOrder": [
 30018  	//     "profileId"
 30019  	//   ],
 30020  	//   "parameters": {
 30021  	//     "profileId": {
 30022  	//       "description": "User profile ID associated with this request.",
 30023  	//       "format": "int64",
 30024  	//       "location": "path",
 30025  	//       "required": true,
 30026  	//       "type": "string"
 30027  	//     }
 30028  	//   },
 30029  	//   "path": "userprofiles/{profileId}/directorySites",
 30030  	//   "request": {
 30031  	//     "$ref": "DirectorySite"
 30032  	//   },
 30033  	//   "response": {
 30034  	//     "$ref": "DirectorySite"
 30035  	//   },
 30036  	//   "scopes": [
 30037  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30038  	//   ]
 30039  	// }
 30040  
 30041  }
 30042  
 30043  // method id "dfareporting.directorySites.list":
 30044  
 30045  type DirectorySitesListCall struct {
 30046  	s            *Service
 30047  	profileId    int64
 30048  	urlParams_   gensupport.URLParams
 30049  	ifNoneMatch_ string
 30050  	ctx_         context.Context
 30051  	header_      http.Header
 30052  }
 30053  
 30054  // List: Retrieves a list of directory sites, possibly filtered. This
 30055  // method supports paging.
 30056  func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
 30057  	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30058  	c.profileId = profileId
 30059  	return c
 30060  }
 30061  
 30062  // AcceptsInStreamVideoPlacements sets the optional parameter
 30063  // "acceptsInStreamVideoPlacements": This search filter is no longer
 30064  // supported and will have no effect on the results returned.
 30065  func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
 30066  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 30067  	return c
 30068  }
 30069  
 30070  // AcceptsInterstitialPlacements sets the optional parameter
 30071  // "acceptsInterstitialPlacements": This search filter is no longer
 30072  // supported and will have no effect on the results returned.
 30073  func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
 30074  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 30075  	return c
 30076  }
 30077  
 30078  // AcceptsPublisherPaidPlacements sets the optional parameter
 30079  // "acceptsPublisherPaidPlacements": Select only directory sites that
 30080  // accept publisher paid placements. This field can be left blank.
 30081  func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
 30082  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 30083  	return c
 30084  }
 30085  
 30086  // Active sets the optional parameter "active": Select only active
 30087  // directory sites. Leave blank to retrieve both active and inactive
 30088  // directory sites.
 30089  func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
 30090  	c.urlParams_.Set("active", fmt.Sprint(active))
 30091  	return c
 30092  }
 30093  
 30094  // CountryId sets the optional parameter "countryId": Select only
 30095  // directory sites with this country ID.
 30096  func (c *DirectorySitesListCall) CountryId(countryId int64) *DirectorySitesListCall {
 30097  	c.urlParams_.Set("countryId", fmt.Sprint(countryId))
 30098  	return c
 30099  }
 30100  
 30101  // DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
 30102  // only directory sites with this Ad Manager network code.
 30103  func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
 30104  	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
 30105  	return c
 30106  }
 30107  
 30108  // Ids sets the optional parameter "ids": Select only directory sites
 30109  // with these IDs.
 30110  func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
 30111  	var ids_ []string
 30112  	for _, v := range ids {
 30113  		ids_ = append(ids_, fmt.Sprint(v))
 30114  	}
 30115  	c.urlParams_.SetMulti("ids", ids_)
 30116  	return c
 30117  }
 30118  
 30119  // MaxResults sets the optional parameter "maxResults": Maximum number
 30120  // of results to return.
 30121  func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
 30122  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 30123  	return c
 30124  }
 30125  
 30126  // PageToken sets the optional parameter "pageToken": Value of the
 30127  // nextPageToken from the previous result page.
 30128  func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
 30129  	c.urlParams_.Set("pageToken", pageToken)
 30130  	return c
 30131  }
 30132  
 30133  // ParentId sets the optional parameter "parentId": Select only
 30134  // directory sites with this parent ID.
 30135  func (c *DirectorySitesListCall) ParentId(parentId int64) *DirectorySitesListCall {
 30136  	c.urlParams_.Set("parentId", fmt.Sprint(parentId))
 30137  	return c
 30138  }
 30139  
 30140  // SearchString sets the optional parameter "searchString": Allows
 30141  // searching for objects by name, ID or URL. Wildcards (*) are allowed.
 30142  // For example, "directory site*2015" will return objects with names
 30143  // like "directory site June 2015", "directory site April 2015", or
 30144  // simply "directory site 2015". Most of the searches also add wildcards
 30145  // implicitly at the start and the end of the search string. For
 30146  // example, a search string of "directory site" will match objects with
 30147  // name "my directory site", "directory site 2015" or simply, "directory
 30148  // site".
 30149  func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
 30150  	c.urlParams_.Set("searchString", searchString)
 30151  	return c
 30152  }
 30153  
 30154  // SortField sets the optional parameter "sortField": Field by which to
 30155  // sort the list.
 30156  //
 30157  // Possible values:
 30158  //
 30159  //	"ID" (default)
 30160  //	"NAME"
 30161  func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
 30162  	c.urlParams_.Set("sortField", sortField)
 30163  	return c
 30164  }
 30165  
 30166  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 30167  // results.
 30168  //
 30169  // Possible values:
 30170  //
 30171  //	"ASCENDING" (default)
 30172  //	"DESCENDING"
 30173  func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
 30174  	c.urlParams_.Set("sortOrder", sortOrder)
 30175  	return c
 30176  }
 30177  
 30178  // Fields allows partial responses to be retrieved. See
 30179  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30180  // for more information.
 30181  func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
 30182  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30183  	return c
 30184  }
 30185  
 30186  // IfNoneMatch sets the optional parameter which makes the operation
 30187  // fail if the object's ETag matches the given value. This is useful for
 30188  // getting updates only after the object has changed since the last
 30189  // request. Use googleapi.IsNotModified to check whether the response
 30190  // error from Do is the result of In-None-Match.
 30191  func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
 30192  	c.ifNoneMatch_ = entityTag
 30193  	return c
 30194  }
 30195  
 30196  // Context sets the context to be used in this call's Do method. Any
 30197  // pending HTTP request will be aborted if the provided context is
 30198  // canceled.
 30199  func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 30200  	c.ctx_ = ctx
 30201  	return c
 30202  }
 30203  
 30204  // Header returns an http.Header that can be modified by the caller to
 30205  // add HTTP headers to the request.
 30206  func (c *DirectorySitesListCall) Header() http.Header {
 30207  	if c.header_ == nil {
 30208  		c.header_ = make(http.Header)
 30209  	}
 30210  	return c.header_
 30211  }
 30212  
 30213  func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 30214  	reqHeaders := make(http.Header)
 30215  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30216  	for k, v := range c.header_ {
 30217  		reqHeaders[k] = v
 30218  	}
 30219  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30220  	if c.ifNoneMatch_ != "" {
 30221  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30222  	}
 30223  	var body io.Reader = nil
 30224  	c.urlParams_.Set("alt", alt)
 30225  	c.urlParams_.Set("prettyPrint", "false")
 30226  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 30227  	urls += "?" + c.urlParams_.Encode()
 30228  	req, err := http.NewRequest("GET", urls, body)
 30229  	if err != nil {
 30230  		return nil, err
 30231  	}
 30232  	req.Header = reqHeaders
 30233  	googleapi.Expand(req.URL, map[string]string{
 30234  		"profileId": strconv.FormatInt(c.profileId, 10),
 30235  	})
 30236  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30237  }
 30238  
 30239  // Do executes the "dfareporting.directorySites.list" call.
 30240  // Exactly one of *DirectorySitesListResponse or error will be non-nil.
 30241  // Any non-2xx status code is an error. Response headers are in either
 30242  // *DirectorySitesListResponse.ServerResponse.Header or (if a response
 30243  // was returned at all) in error.(*googleapi.Error).Header. Use
 30244  // googleapi.IsNotModified to check whether the returned error was
 30245  // because http.StatusNotModified was returned.
 30246  func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
 30247  	gensupport.SetOptions(c.urlParams_, opts...)
 30248  	res, err := c.doRequest("json")
 30249  	if res != nil && res.StatusCode == http.StatusNotModified {
 30250  		if res.Body != nil {
 30251  			res.Body.Close()
 30252  		}
 30253  		return nil, &googleapi.Error{
 30254  			Code:   res.StatusCode,
 30255  			Header: res.Header,
 30256  		}
 30257  	}
 30258  	if err != nil {
 30259  		return nil, err
 30260  	}
 30261  	defer googleapi.CloseBody(res)
 30262  	if err := googleapi.CheckResponse(res); err != nil {
 30263  		return nil, err
 30264  	}
 30265  	ret := &DirectorySitesListResponse{
 30266  		ServerResponse: googleapi.ServerResponse{
 30267  			Header:         res.Header,
 30268  			HTTPStatusCode: res.StatusCode,
 30269  		},
 30270  	}
 30271  	target := &ret
 30272  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30273  		return nil, err
 30274  	}
 30275  	return ret, nil
 30276  	// {
 30277  	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
 30278  	//   "httpMethod": "GET",
 30279  	//   "id": "dfareporting.directorySites.list",
 30280  	//   "parameterOrder": [
 30281  	//     "profileId"
 30282  	//   ],
 30283  	//   "parameters": {
 30284  	//     "acceptsInStreamVideoPlacements": {
 30285  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 30286  	//       "location": "query",
 30287  	//       "type": "boolean"
 30288  	//     },
 30289  	//     "acceptsInterstitialPlacements": {
 30290  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 30291  	//       "location": "query",
 30292  	//       "type": "boolean"
 30293  	//     },
 30294  	//     "acceptsPublisherPaidPlacements": {
 30295  	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
 30296  	//       "location": "query",
 30297  	//       "type": "boolean"
 30298  	//     },
 30299  	//     "active": {
 30300  	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
 30301  	//       "location": "query",
 30302  	//       "type": "boolean"
 30303  	//     },
 30304  	//     "countryId": {
 30305  	//       "description": "Select only directory sites with this country ID.",
 30306  	//       "format": "int64",
 30307  	//       "location": "query",
 30308  	//       "type": "string"
 30309  	//     },
 30310  	//     "dfpNetworkCode": {
 30311  	//       "description": "Select only directory sites with this Ad Manager network code.",
 30312  	//       "location": "query",
 30313  	//       "type": "string"
 30314  	//     },
 30315  	//     "ids": {
 30316  	//       "description": "Select only directory sites with these IDs.",
 30317  	//       "format": "int64",
 30318  	//       "location": "query",
 30319  	//       "repeated": true,
 30320  	//       "type": "string"
 30321  	//     },
 30322  	//     "maxResults": {
 30323  	//       "default": "1000",
 30324  	//       "description": "Maximum number of results to return.",
 30325  	//       "format": "int32",
 30326  	//       "location": "query",
 30327  	//       "maximum": "1000",
 30328  	//       "minimum": "0",
 30329  	//       "type": "integer"
 30330  	//     },
 30331  	//     "pageToken": {
 30332  	//       "description": "Value of the nextPageToken from the previous result page.",
 30333  	//       "location": "query",
 30334  	//       "type": "string"
 30335  	//     },
 30336  	//     "parentId": {
 30337  	//       "description": "Select only directory sites with this parent ID.",
 30338  	//       "format": "int64",
 30339  	//       "location": "query",
 30340  	//       "type": "string"
 30341  	//     },
 30342  	//     "profileId": {
 30343  	//       "description": "User profile ID associated with this request.",
 30344  	//       "format": "int64",
 30345  	//       "location": "path",
 30346  	//       "required": true,
 30347  	//       "type": "string"
 30348  	//     },
 30349  	//     "searchString": {
 30350  	//       "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\".",
 30351  	//       "location": "query",
 30352  	//       "type": "string"
 30353  	//     },
 30354  	//     "sortField": {
 30355  	//       "default": "ID",
 30356  	//       "description": "Field by which to sort the list.",
 30357  	//       "enum": [
 30358  	//         "ID",
 30359  	//         "NAME"
 30360  	//       ],
 30361  	//       "enumDescriptions": [
 30362  	//         "",
 30363  	//         ""
 30364  	//       ],
 30365  	//       "location": "query",
 30366  	//       "type": "string"
 30367  	//     },
 30368  	//     "sortOrder": {
 30369  	//       "default": "ASCENDING",
 30370  	//       "description": "Order of sorted results.",
 30371  	//       "enum": [
 30372  	//         "ASCENDING",
 30373  	//         "DESCENDING"
 30374  	//       ],
 30375  	//       "enumDescriptions": [
 30376  	//         "",
 30377  	//         ""
 30378  	//       ],
 30379  	//       "location": "query",
 30380  	//       "type": "string"
 30381  	//     }
 30382  	//   },
 30383  	//   "path": "userprofiles/{profileId}/directorySites",
 30384  	//   "response": {
 30385  	//     "$ref": "DirectorySitesListResponse"
 30386  	//   },
 30387  	//   "scopes": [
 30388  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30389  	//   ]
 30390  	// }
 30391  
 30392  }
 30393  
 30394  // Pages invokes f for each page of results.
 30395  // A non-nil error returned from f will halt the iteration.
 30396  // The provided context supersedes any context provided to the Context method.
 30397  func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
 30398  	c.ctx_ = ctx
 30399  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 30400  	for {
 30401  		x, err := c.Do()
 30402  		if err != nil {
 30403  			return err
 30404  		}
 30405  		if err := f(x); err != nil {
 30406  			return err
 30407  		}
 30408  		if x.NextPageToken == "" {
 30409  			return nil
 30410  		}
 30411  		c.PageToken(x.NextPageToken)
 30412  	}
 30413  }
 30414  
 30415  // method id "dfareporting.dynamicTargetingKeys.delete":
 30416  
 30417  type DynamicTargetingKeysDeleteCall struct {
 30418  	s          *Service
 30419  	profileId  int64
 30420  	objectId   int64
 30421  	urlParams_ gensupport.URLParams
 30422  	ctx_       context.Context
 30423  	header_    http.Header
 30424  }
 30425  
 30426  // Delete: Deletes an existing dynamic targeting key.
 30427  func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
 30428  	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30429  	c.profileId = profileId
 30430  	c.objectId = objectId
 30431  	c.urlParams_.Set("name", name)
 30432  	c.urlParams_.Set("objectType", objectType)
 30433  	return c
 30434  }
 30435  
 30436  // Fields allows partial responses to be retrieved. See
 30437  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30438  // for more information.
 30439  func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
 30440  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30441  	return c
 30442  }
 30443  
 30444  // Context sets the context to be used in this call's Do method. Any
 30445  // pending HTTP request will be aborted if the provided context is
 30446  // canceled.
 30447  func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
 30448  	c.ctx_ = ctx
 30449  	return c
 30450  }
 30451  
 30452  // Header returns an http.Header that can be modified by the caller to
 30453  // add HTTP headers to the request.
 30454  func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
 30455  	if c.header_ == nil {
 30456  		c.header_ = make(http.Header)
 30457  	}
 30458  	return c.header_
 30459  }
 30460  
 30461  func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 30462  	reqHeaders := make(http.Header)
 30463  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30464  	for k, v := range c.header_ {
 30465  		reqHeaders[k] = v
 30466  	}
 30467  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30468  	var body io.Reader = nil
 30469  	c.urlParams_.Set("alt", alt)
 30470  	c.urlParams_.Set("prettyPrint", "false")
 30471  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
 30472  	urls += "?" + c.urlParams_.Encode()
 30473  	req, err := http.NewRequest("DELETE", urls, body)
 30474  	if err != nil {
 30475  		return nil, err
 30476  	}
 30477  	req.Header = reqHeaders
 30478  	googleapi.Expand(req.URL, map[string]string{
 30479  		"profileId": strconv.FormatInt(c.profileId, 10),
 30480  		"objectId":  strconv.FormatInt(c.objectId, 10),
 30481  	})
 30482  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30483  }
 30484  
 30485  // Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
 30486  func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
 30487  	gensupport.SetOptions(c.urlParams_, opts...)
 30488  	res, err := c.doRequest("json")
 30489  	if err != nil {
 30490  		return err
 30491  	}
 30492  	defer googleapi.CloseBody(res)
 30493  	if err := googleapi.CheckResponse(res); err != nil {
 30494  		return err
 30495  	}
 30496  	return nil
 30497  	// {
 30498  	//   "description": "Deletes an existing dynamic targeting key.",
 30499  	//   "httpMethod": "DELETE",
 30500  	//   "id": "dfareporting.dynamicTargetingKeys.delete",
 30501  	//   "parameterOrder": [
 30502  	//     "profileId",
 30503  	//     "objectId",
 30504  	//     "name",
 30505  	//     "objectType"
 30506  	//   ],
 30507  	//   "parameters": {
 30508  	//     "name": {
 30509  	//       "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.",
 30510  	//       "location": "query",
 30511  	//       "required": true,
 30512  	//       "type": "string"
 30513  	//     },
 30514  	//     "objectId": {
 30515  	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
 30516  	//       "format": "int64",
 30517  	//       "location": "path",
 30518  	//       "required": true,
 30519  	//       "type": "string"
 30520  	//     },
 30521  	//     "objectType": {
 30522  	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
 30523  	//       "enum": [
 30524  	//         "OBJECT_AD",
 30525  	//         "OBJECT_ADVERTISER",
 30526  	//         "OBJECT_CREATIVE",
 30527  	//         "OBJECT_PLACEMENT"
 30528  	//       ],
 30529  	//       "enumDescriptions": [
 30530  	//         "",
 30531  	//         "",
 30532  	//         "",
 30533  	//         ""
 30534  	//       ],
 30535  	//       "location": "query",
 30536  	//       "required": true,
 30537  	//       "type": "string"
 30538  	//     },
 30539  	//     "profileId": {
 30540  	//       "description": "User profile ID associated with this request.",
 30541  	//       "format": "int64",
 30542  	//       "location": "path",
 30543  	//       "required": true,
 30544  	//       "type": "string"
 30545  	//     }
 30546  	//   },
 30547  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 30548  	//   "scopes": [
 30549  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30550  	//   ]
 30551  	// }
 30552  
 30553  }
 30554  
 30555  // method id "dfareporting.dynamicTargetingKeys.insert":
 30556  
 30557  type DynamicTargetingKeysInsertCall struct {
 30558  	s                   *Service
 30559  	profileId           int64
 30560  	dynamictargetingkey *DynamicTargetingKey
 30561  	urlParams_          gensupport.URLParams
 30562  	ctx_                context.Context
 30563  	header_             http.Header
 30564  }
 30565  
 30566  // Insert: Inserts a new dynamic targeting key. Keys must be created at
 30567  // the advertiser level before being assigned to the advertiser's ads,
 30568  // creatives, or placements. There is a maximum of 1000 keys per
 30569  // advertiser, out of which a maximum of 20 keys can be assigned per ad,
 30570  // creative, or placement.
 30571  func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
 30572  	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30573  	c.profileId = profileId
 30574  	c.dynamictargetingkey = dynamictargetingkey
 30575  	return c
 30576  }
 30577  
 30578  // Fields allows partial responses to be retrieved. See
 30579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30580  // for more information.
 30581  func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
 30582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30583  	return c
 30584  }
 30585  
 30586  // Context sets the context to be used in this call's Do method. Any
 30587  // pending HTTP request will be aborted if the provided context is
 30588  // canceled.
 30589  func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
 30590  	c.ctx_ = ctx
 30591  	return c
 30592  }
 30593  
 30594  // Header returns an http.Header that can be modified by the caller to
 30595  // add HTTP headers to the request.
 30596  func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
 30597  	if c.header_ == nil {
 30598  		c.header_ = make(http.Header)
 30599  	}
 30600  	return c.header_
 30601  }
 30602  
 30603  func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
 30604  	reqHeaders := make(http.Header)
 30605  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30606  	for k, v := range c.header_ {
 30607  		reqHeaders[k] = v
 30608  	}
 30609  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30610  	var body io.Reader = nil
 30611  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
 30612  	if err != nil {
 30613  		return nil, err
 30614  	}
 30615  	reqHeaders.Set("Content-Type", "application/json")
 30616  	c.urlParams_.Set("alt", alt)
 30617  	c.urlParams_.Set("prettyPrint", "false")
 30618  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 30619  	urls += "?" + c.urlParams_.Encode()
 30620  	req, err := http.NewRequest("POST", urls, body)
 30621  	if err != nil {
 30622  		return nil, err
 30623  	}
 30624  	req.Header = reqHeaders
 30625  	googleapi.Expand(req.URL, map[string]string{
 30626  		"profileId": strconv.FormatInt(c.profileId, 10),
 30627  	})
 30628  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30629  }
 30630  
 30631  // Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
 30632  // Exactly one of *DynamicTargetingKey or error will be non-nil. Any
 30633  // non-2xx status code is an error. Response headers are in either
 30634  // *DynamicTargetingKey.ServerResponse.Header or (if a response was
 30635  // returned at all) in error.(*googleapi.Error).Header. Use
 30636  // googleapi.IsNotModified to check whether the returned error was
 30637  // because http.StatusNotModified was returned.
 30638  func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
 30639  	gensupport.SetOptions(c.urlParams_, opts...)
 30640  	res, err := c.doRequest("json")
 30641  	if res != nil && res.StatusCode == http.StatusNotModified {
 30642  		if res.Body != nil {
 30643  			res.Body.Close()
 30644  		}
 30645  		return nil, &googleapi.Error{
 30646  			Code:   res.StatusCode,
 30647  			Header: res.Header,
 30648  		}
 30649  	}
 30650  	if err != nil {
 30651  		return nil, err
 30652  	}
 30653  	defer googleapi.CloseBody(res)
 30654  	if err := googleapi.CheckResponse(res); err != nil {
 30655  		return nil, err
 30656  	}
 30657  	ret := &DynamicTargetingKey{
 30658  		ServerResponse: googleapi.ServerResponse{
 30659  			Header:         res.Header,
 30660  			HTTPStatusCode: res.StatusCode,
 30661  		},
 30662  	}
 30663  	target := &ret
 30664  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30665  		return nil, err
 30666  	}
 30667  	return ret, nil
 30668  	// {
 30669  	//   "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.",
 30670  	//   "httpMethod": "POST",
 30671  	//   "id": "dfareporting.dynamicTargetingKeys.insert",
 30672  	//   "parameterOrder": [
 30673  	//     "profileId"
 30674  	//   ],
 30675  	//   "parameters": {
 30676  	//     "profileId": {
 30677  	//       "description": "User profile ID associated with this request.",
 30678  	//       "format": "int64",
 30679  	//       "location": "path",
 30680  	//       "required": true,
 30681  	//       "type": "string"
 30682  	//     }
 30683  	//   },
 30684  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 30685  	//   "request": {
 30686  	//     "$ref": "DynamicTargetingKey"
 30687  	//   },
 30688  	//   "response": {
 30689  	//     "$ref": "DynamicTargetingKey"
 30690  	//   },
 30691  	//   "scopes": [
 30692  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30693  	//   ]
 30694  	// }
 30695  
 30696  }
 30697  
 30698  // method id "dfareporting.dynamicTargetingKeys.list":
 30699  
 30700  type DynamicTargetingKeysListCall struct {
 30701  	s            *Service
 30702  	profileId    int64
 30703  	urlParams_   gensupport.URLParams
 30704  	ifNoneMatch_ string
 30705  	ctx_         context.Context
 30706  	header_      http.Header
 30707  }
 30708  
 30709  // List: Retrieves a list of dynamic targeting keys.
 30710  func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
 30711  	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30712  	c.profileId = profileId
 30713  	return c
 30714  }
 30715  
 30716  // AdvertiserId sets the optional parameter "advertiserId": Select only
 30717  // dynamic targeting keys whose object has this advertiser ID.
 30718  func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
 30719  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30720  	return c
 30721  }
 30722  
 30723  // Names sets the optional parameter "names": Select only dynamic
 30724  // targeting keys exactly matching these names.
 30725  func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
 30726  	c.urlParams_.SetMulti("names", append([]string{}, names...))
 30727  	return c
 30728  }
 30729  
 30730  // ObjectId sets the optional parameter "objectId": Select only dynamic
 30731  // targeting keys with this object ID.
 30732  func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
 30733  	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
 30734  	return c
 30735  }
 30736  
 30737  // ObjectType sets the optional parameter "objectType": Select only
 30738  // dynamic targeting keys with this object type.
 30739  //
 30740  // Possible values:
 30741  //
 30742  //	"OBJECT_AD"
 30743  //	"OBJECT_ADVERTISER"
 30744  //	"OBJECT_CREATIVE"
 30745  //	"OBJECT_PLACEMENT"
 30746  func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
 30747  	c.urlParams_.Set("objectType", objectType)
 30748  	return c
 30749  }
 30750  
 30751  // Fields allows partial responses to be retrieved. See
 30752  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30753  // for more information.
 30754  func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
 30755  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30756  	return c
 30757  }
 30758  
 30759  // IfNoneMatch sets the optional parameter which makes the operation
 30760  // fail if the object's ETag matches the given value. This is useful for
 30761  // getting updates only after the object has changed since the last
 30762  // request. Use googleapi.IsNotModified to check whether the response
 30763  // error from Do is the result of In-None-Match.
 30764  func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
 30765  	c.ifNoneMatch_ = entityTag
 30766  	return c
 30767  }
 30768  
 30769  // Context sets the context to be used in this call's Do method. Any
 30770  // pending HTTP request will be aborted if the provided context is
 30771  // canceled.
 30772  func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
 30773  	c.ctx_ = ctx
 30774  	return c
 30775  }
 30776  
 30777  // Header returns an http.Header that can be modified by the caller to
 30778  // add HTTP headers to the request.
 30779  func (c *DynamicTargetingKeysListCall) Header() http.Header {
 30780  	if c.header_ == nil {
 30781  		c.header_ = make(http.Header)
 30782  	}
 30783  	return c.header_
 30784  }
 30785  
 30786  func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
 30787  	reqHeaders := make(http.Header)
 30788  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30789  	for k, v := range c.header_ {
 30790  		reqHeaders[k] = v
 30791  	}
 30792  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30793  	if c.ifNoneMatch_ != "" {
 30794  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30795  	}
 30796  	var body io.Reader = nil
 30797  	c.urlParams_.Set("alt", alt)
 30798  	c.urlParams_.Set("prettyPrint", "false")
 30799  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 30800  	urls += "?" + c.urlParams_.Encode()
 30801  	req, err := http.NewRequest("GET", urls, body)
 30802  	if err != nil {
 30803  		return nil, err
 30804  	}
 30805  	req.Header = reqHeaders
 30806  	googleapi.Expand(req.URL, map[string]string{
 30807  		"profileId": strconv.FormatInt(c.profileId, 10),
 30808  	})
 30809  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30810  }
 30811  
 30812  // Do executes the "dfareporting.dynamicTargetingKeys.list" call.
 30813  // Exactly one of *DynamicTargetingKeysListResponse or error will be
 30814  // non-nil. Any non-2xx status code is an error. Response headers are in
 30815  // either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
 30816  // a response was returned at all) in error.(*googleapi.Error).Header.
 30817  // Use googleapi.IsNotModified to check whether the returned error was
 30818  // because http.StatusNotModified was returned.
 30819  func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
 30820  	gensupport.SetOptions(c.urlParams_, opts...)
 30821  	res, err := c.doRequest("json")
 30822  	if res != nil && res.StatusCode == http.StatusNotModified {
 30823  		if res.Body != nil {
 30824  			res.Body.Close()
 30825  		}
 30826  		return nil, &googleapi.Error{
 30827  			Code:   res.StatusCode,
 30828  			Header: res.Header,
 30829  		}
 30830  	}
 30831  	if err != nil {
 30832  		return nil, err
 30833  	}
 30834  	defer googleapi.CloseBody(res)
 30835  	if err := googleapi.CheckResponse(res); err != nil {
 30836  		return nil, err
 30837  	}
 30838  	ret := &DynamicTargetingKeysListResponse{
 30839  		ServerResponse: googleapi.ServerResponse{
 30840  			Header:         res.Header,
 30841  			HTTPStatusCode: res.StatusCode,
 30842  		},
 30843  	}
 30844  	target := &ret
 30845  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30846  		return nil, err
 30847  	}
 30848  	return ret, nil
 30849  	// {
 30850  	//   "description": "Retrieves a list of dynamic targeting keys.",
 30851  	//   "httpMethod": "GET",
 30852  	//   "id": "dfareporting.dynamicTargetingKeys.list",
 30853  	//   "parameterOrder": [
 30854  	//     "profileId"
 30855  	//   ],
 30856  	//   "parameters": {
 30857  	//     "advertiserId": {
 30858  	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
 30859  	//       "format": "int64",
 30860  	//       "location": "query",
 30861  	//       "type": "string"
 30862  	//     },
 30863  	//     "names": {
 30864  	//       "description": "Select only dynamic targeting keys exactly matching these names.",
 30865  	//       "location": "query",
 30866  	//       "repeated": true,
 30867  	//       "type": "string"
 30868  	//     },
 30869  	//     "objectId": {
 30870  	//       "description": "Select only dynamic targeting keys with this object ID.",
 30871  	//       "format": "int64",
 30872  	//       "location": "query",
 30873  	//       "type": "string"
 30874  	//     },
 30875  	//     "objectType": {
 30876  	//       "description": "Select only dynamic targeting keys with this object type.",
 30877  	//       "enum": [
 30878  	//         "OBJECT_AD",
 30879  	//         "OBJECT_ADVERTISER",
 30880  	//         "OBJECT_CREATIVE",
 30881  	//         "OBJECT_PLACEMENT"
 30882  	//       ],
 30883  	//       "enumDescriptions": [
 30884  	//         "",
 30885  	//         "",
 30886  	//         "",
 30887  	//         ""
 30888  	//       ],
 30889  	//       "location": "query",
 30890  	//       "type": "string"
 30891  	//     },
 30892  	//     "profileId": {
 30893  	//       "description": "User profile ID associated with this request.",
 30894  	//       "format": "int64",
 30895  	//       "location": "path",
 30896  	//       "required": true,
 30897  	//       "type": "string"
 30898  	//     }
 30899  	//   },
 30900  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 30901  	//   "response": {
 30902  	//     "$ref": "DynamicTargetingKeysListResponse"
 30903  	//   },
 30904  	//   "scopes": [
 30905  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30906  	//   ]
 30907  	// }
 30908  
 30909  }
 30910  
 30911  // method id "dfareporting.eventTags.delete":
 30912  
 30913  type EventTagsDeleteCall struct {
 30914  	s          *Service
 30915  	profileId  int64
 30916  	id         int64
 30917  	urlParams_ gensupport.URLParams
 30918  	ctx_       context.Context
 30919  	header_    http.Header
 30920  }
 30921  
 30922  // Delete: Deletes an existing event tag.
 30923  func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
 30924  	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30925  	c.profileId = profileId
 30926  	c.id = id
 30927  	return c
 30928  }
 30929  
 30930  // Fields allows partial responses to be retrieved. See
 30931  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30932  // for more information.
 30933  func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
 30934  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30935  	return c
 30936  }
 30937  
 30938  // Context sets the context to be used in this call's Do method. Any
 30939  // pending HTTP request will be aborted if the provided context is
 30940  // canceled.
 30941  func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 30942  	c.ctx_ = ctx
 30943  	return c
 30944  }
 30945  
 30946  // Header returns an http.Header that can be modified by the caller to
 30947  // add HTTP headers to the request.
 30948  func (c *EventTagsDeleteCall) Header() http.Header {
 30949  	if c.header_ == nil {
 30950  		c.header_ = make(http.Header)
 30951  	}
 30952  	return c.header_
 30953  }
 30954  
 30955  func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 30956  	reqHeaders := make(http.Header)
 30957  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 30958  	for k, v := range c.header_ {
 30959  		reqHeaders[k] = v
 30960  	}
 30961  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30962  	var body io.Reader = nil
 30963  	c.urlParams_.Set("alt", alt)
 30964  	c.urlParams_.Set("prettyPrint", "false")
 30965  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 30966  	urls += "?" + c.urlParams_.Encode()
 30967  	req, err := http.NewRequest("DELETE", urls, body)
 30968  	if err != nil {
 30969  		return nil, err
 30970  	}
 30971  	req.Header = reqHeaders
 30972  	googleapi.Expand(req.URL, map[string]string{
 30973  		"profileId": strconv.FormatInt(c.profileId, 10),
 30974  		"id":        strconv.FormatInt(c.id, 10),
 30975  	})
 30976  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30977  }
 30978  
 30979  // Do executes the "dfareporting.eventTags.delete" call.
 30980  func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
 30981  	gensupport.SetOptions(c.urlParams_, opts...)
 30982  	res, err := c.doRequest("json")
 30983  	if err != nil {
 30984  		return err
 30985  	}
 30986  	defer googleapi.CloseBody(res)
 30987  	if err := googleapi.CheckResponse(res); err != nil {
 30988  		return err
 30989  	}
 30990  	return nil
 30991  	// {
 30992  	//   "description": "Deletes an existing event tag.",
 30993  	//   "httpMethod": "DELETE",
 30994  	//   "id": "dfareporting.eventTags.delete",
 30995  	//   "parameterOrder": [
 30996  	//     "profileId",
 30997  	//     "id"
 30998  	//   ],
 30999  	//   "parameters": {
 31000  	//     "id": {
 31001  	//       "description": "Event tag ID.",
 31002  	//       "format": "int64",
 31003  	//       "location": "path",
 31004  	//       "required": true,
 31005  	//       "type": "string"
 31006  	//     },
 31007  	//     "profileId": {
 31008  	//       "description": "User profile ID associated with this request.",
 31009  	//       "format": "int64",
 31010  	//       "location": "path",
 31011  	//       "required": true,
 31012  	//       "type": "string"
 31013  	//     }
 31014  	//   },
 31015  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 31016  	//   "scopes": [
 31017  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31018  	//   ]
 31019  	// }
 31020  
 31021  }
 31022  
 31023  // method id "dfareporting.eventTags.get":
 31024  
 31025  type EventTagsGetCall struct {
 31026  	s            *Service
 31027  	profileId    int64
 31028  	id           int64
 31029  	urlParams_   gensupport.URLParams
 31030  	ifNoneMatch_ string
 31031  	ctx_         context.Context
 31032  	header_      http.Header
 31033  }
 31034  
 31035  // Get: Gets one event tag by ID.
 31036  func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
 31037  	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31038  	c.profileId = profileId
 31039  	c.id = id
 31040  	return c
 31041  }
 31042  
 31043  // Fields allows partial responses to be retrieved. See
 31044  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31045  // for more information.
 31046  func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
 31047  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31048  	return c
 31049  }
 31050  
 31051  // IfNoneMatch sets the optional parameter which makes the operation
 31052  // fail if the object's ETag matches the given value. This is useful for
 31053  // getting updates only after the object has changed since the last
 31054  // request. Use googleapi.IsNotModified to check whether the response
 31055  // error from Do is the result of In-None-Match.
 31056  func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
 31057  	c.ifNoneMatch_ = entityTag
 31058  	return c
 31059  }
 31060  
 31061  // Context sets the context to be used in this call's Do method. Any
 31062  // pending HTTP request will be aborted if the provided context is
 31063  // canceled.
 31064  func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 31065  	c.ctx_ = ctx
 31066  	return c
 31067  }
 31068  
 31069  // Header returns an http.Header that can be modified by the caller to
 31070  // add HTTP headers to the request.
 31071  func (c *EventTagsGetCall) Header() http.Header {
 31072  	if c.header_ == nil {
 31073  		c.header_ = make(http.Header)
 31074  	}
 31075  	return c.header_
 31076  }
 31077  
 31078  func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 31079  	reqHeaders := make(http.Header)
 31080  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31081  	for k, v := range c.header_ {
 31082  		reqHeaders[k] = v
 31083  	}
 31084  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31085  	if c.ifNoneMatch_ != "" {
 31086  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31087  	}
 31088  	var body io.Reader = nil
 31089  	c.urlParams_.Set("alt", alt)
 31090  	c.urlParams_.Set("prettyPrint", "false")
 31091  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 31092  	urls += "?" + c.urlParams_.Encode()
 31093  	req, err := http.NewRequest("GET", urls, body)
 31094  	if err != nil {
 31095  		return nil, err
 31096  	}
 31097  	req.Header = reqHeaders
 31098  	googleapi.Expand(req.URL, map[string]string{
 31099  		"profileId": strconv.FormatInt(c.profileId, 10),
 31100  		"id":        strconv.FormatInt(c.id, 10),
 31101  	})
 31102  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31103  }
 31104  
 31105  // Do executes the "dfareporting.eventTags.get" call.
 31106  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31107  // code is an error. Response headers are in either
 31108  // *EventTag.ServerResponse.Header or (if a response was returned at
 31109  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31110  // to check whether the returned error was because
 31111  // http.StatusNotModified was returned.
 31112  func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31113  	gensupport.SetOptions(c.urlParams_, opts...)
 31114  	res, err := c.doRequest("json")
 31115  	if res != nil && res.StatusCode == http.StatusNotModified {
 31116  		if res.Body != nil {
 31117  			res.Body.Close()
 31118  		}
 31119  		return nil, &googleapi.Error{
 31120  			Code:   res.StatusCode,
 31121  			Header: res.Header,
 31122  		}
 31123  	}
 31124  	if err != nil {
 31125  		return nil, err
 31126  	}
 31127  	defer googleapi.CloseBody(res)
 31128  	if err := googleapi.CheckResponse(res); err != nil {
 31129  		return nil, err
 31130  	}
 31131  	ret := &EventTag{
 31132  		ServerResponse: googleapi.ServerResponse{
 31133  			Header:         res.Header,
 31134  			HTTPStatusCode: res.StatusCode,
 31135  		},
 31136  	}
 31137  	target := &ret
 31138  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31139  		return nil, err
 31140  	}
 31141  	return ret, nil
 31142  	// {
 31143  	//   "description": "Gets one event tag by ID.",
 31144  	//   "httpMethod": "GET",
 31145  	//   "id": "dfareporting.eventTags.get",
 31146  	//   "parameterOrder": [
 31147  	//     "profileId",
 31148  	//     "id"
 31149  	//   ],
 31150  	//   "parameters": {
 31151  	//     "id": {
 31152  	//       "description": "Event tag ID.",
 31153  	//       "format": "int64",
 31154  	//       "location": "path",
 31155  	//       "required": true,
 31156  	//       "type": "string"
 31157  	//     },
 31158  	//     "profileId": {
 31159  	//       "description": "User profile ID associated with this request.",
 31160  	//       "format": "int64",
 31161  	//       "location": "path",
 31162  	//       "required": true,
 31163  	//       "type": "string"
 31164  	//     }
 31165  	//   },
 31166  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 31167  	//   "response": {
 31168  	//     "$ref": "EventTag"
 31169  	//   },
 31170  	//   "scopes": [
 31171  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31172  	//   ]
 31173  	// }
 31174  
 31175  }
 31176  
 31177  // method id "dfareporting.eventTags.insert":
 31178  
 31179  type EventTagsInsertCall struct {
 31180  	s          *Service
 31181  	profileId  int64
 31182  	eventtag   *EventTag
 31183  	urlParams_ gensupport.URLParams
 31184  	ctx_       context.Context
 31185  	header_    http.Header
 31186  }
 31187  
 31188  // Insert: Inserts a new event tag.
 31189  func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
 31190  	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31191  	c.profileId = profileId
 31192  	c.eventtag = eventtag
 31193  	return c
 31194  }
 31195  
 31196  // Fields allows partial responses to be retrieved. See
 31197  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31198  // for more information.
 31199  func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
 31200  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31201  	return c
 31202  }
 31203  
 31204  // Context sets the context to be used in this call's Do method. Any
 31205  // pending HTTP request will be aborted if the provided context is
 31206  // canceled.
 31207  func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 31208  	c.ctx_ = ctx
 31209  	return c
 31210  }
 31211  
 31212  // Header returns an http.Header that can be modified by the caller to
 31213  // add HTTP headers to the request.
 31214  func (c *EventTagsInsertCall) Header() http.Header {
 31215  	if c.header_ == nil {
 31216  		c.header_ = make(http.Header)
 31217  	}
 31218  	return c.header_
 31219  }
 31220  
 31221  func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
 31222  	reqHeaders := make(http.Header)
 31223  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31224  	for k, v := range c.header_ {
 31225  		reqHeaders[k] = v
 31226  	}
 31227  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31228  	var body io.Reader = nil
 31229  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31230  	if err != nil {
 31231  		return nil, err
 31232  	}
 31233  	reqHeaders.Set("Content-Type", "application/json")
 31234  	c.urlParams_.Set("alt", alt)
 31235  	c.urlParams_.Set("prettyPrint", "false")
 31236  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31237  	urls += "?" + c.urlParams_.Encode()
 31238  	req, err := http.NewRequest("POST", urls, body)
 31239  	if err != nil {
 31240  		return nil, err
 31241  	}
 31242  	req.Header = reqHeaders
 31243  	googleapi.Expand(req.URL, map[string]string{
 31244  		"profileId": strconv.FormatInt(c.profileId, 10),
 31245  	})
 31246  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31247  }
 31248  
 31249  // Do executes the "dfareporting.eventTags.insert" call.
 31250  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31251  // code is an error. Response headers are in either
 31252  // *EventTag.ServerResponse.Header or (if a response was returned at
 31253  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31254  // to check whether the returned error was because
 31255  // http.StatusNotModified was returned.
 31256  func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31257  	gensupport.SetOptions(c.urlParams_, opts...)
 31258  	res, err := c.doRequest("json")
 31259  	if res != nil && res.StatusCode == http.StatusNotModified {
 31260  		if res.Body != nil {
 31261  			res.Body.Close()
 31262  		}
 31263  		return nil, &googleapi.Error{
 31264  			Code:   res.StatusCode,
 31265  			Header: res.Header,
 31266  		}
 31267  	}
 31268  	if err != nil {
 31269  		return nil, err
 31270  	}
 31271  	defer googleapi.CloseBody(res)
 31272  	if err := googleapi.CheckResponse(res); err != nil {
 31273  		return nil, err
 31274  	}
 31275  	ret := &EventTag{
 31276  		ServerResponse: googleapi.ServerResponse{
 31277  			Header:         res.Header,
 31278  			HTTPStatusCode: res.StatusCode,
 31279  		},
 31280  	}
 31281  	target := &ret
 31282  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31283  		return nil, err
 31284  	}
 31285  	return ret, nil
 31286  	// {
 31287  	//   "description": "Inserts a new event tag.",
 31288  	//   "httpMethod": "POST",
 31289  	//   "id": "dfareporting.eventTags.insert",
 31290  	//   "parameterOrder": [
 31291  	//     "profileId"
 31292  	//   ],
 31293  	//   "parameters": {
 31294  	//     "profileId": {
 31295  	//       "description": "User profile ID associated with this request.",
 31296  	//       "format": "int64",
 31297  	//       "location": "path",
 31298  	//       "required": true,
 31299  	//       "type": "string"
 31300  	//     }
 31301  	//   },
 31302  	//   "path": "userprofiles/{profileId}/eventTags",
 31303  	//   "request": {
 31304  	//     "$ref": "EventTag"
 31305  	//   },
 31306  	//   "response": {
 31307  	//     "$ref": "EventTag"
 31308  	//   },
 31309  	//   "scopes": [
 31310  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31311  	//   ]
 31312  	// }
 31313  
 31314  }
 31315  
 31316  // method id "dfareporting.eventTags.list":
 31317  
 31318  type EventTagsListCall struct {
 31319  	s            *Service
 31320  	profileId    int64
 31321  	urlParams_   gensupport.URLParams
 31322  	ifNoneMatch_ string
 31323  	ctx_         context.Context
 31324  	header_      http.Header
 31325  }
 31326  
 31327  // List: Retrieves a list of event tags, possibly filtered.
 31328  func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
 31329  	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31330  	c.profileId = profileId
 31331  	return c
 31332  }
 31333  
 31334  // AdId sets the optional parameter "adId": Select only event tags that
 31335  // belong to this ad.
 31336  func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
 31337  	c.urlParams_.Set("adId", fmt.Sprint(adId))
 31338  	return c
 31339  }
 31340  
 31341  // AdvertiserId sets the optional parameter "advertiserId": Select only
 31342  // event tags that belong to this advertiser.
 31343  func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
 31344  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31345  	return c
 31346  }
 31347  
 31348  // CampaignId sets the optional parameter "campaignId": Select only
 31349  // event tags that belong to this campaign.
 31350  func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
 31351  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 31352  	return c
 31353  }
 31354  
 31355  // DefinitionsOnly sets the optional parameter "definitionsOnly":
 31356  // Examine only the specified campaign or advertiser's event tags for
 31357  // matching selector criteria. When set to false, the parent advertiser
 31358  // and parent campaign of the specified ad or campaign is examined as
 31359  // well. In addition, when set to false, the status field is examined as
 31360  // well, along with the enabledByDefault field. This parameter can not
 31361  // be set to true when adId is specified as ads do not define their own
 31362  // even tags.
 31363  func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
 31364  	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
 31365  	return c
 31366  }
 31367  
 31368  // Enabled sets the optional parameter "enabled": Select only enabled
 31369  // event tags. What is considered enabled or disabled depends on the
 31370  // definitionsOnly parameter. When definitionsOnly is set to true, only
 31371  // the specified advertiser or campaign's event tags' enabledByDefault
 31372  // field is examined. When definitionsOnly is set to false, the
 31373  // specified ad or specified campaign's parent advertiser's or parent
 31374  // campaign's event tags' enabledByDefault and status fields are
 31375  // examined as well.
 31376  func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
 31377  	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
 31378  	return c
 31379  }
 31380  
 31381  // EventTagTypes sets the optional parameter "eventTagTypes": Select
 31382  // only event tags with the specified event tag types. Event tag types
 31383  // can be used to specify whether to use a third-party pixel, a
 31384  // third-party JavaScript URL, or a third-party click-through URL for
 31385  // either impression or click tracking.
 31386  //
 31387  // Possible values:
 31388  //
 31389  //	"CLICK_THROUGH_EVENT_TAG"
 31390  //	"IMPRESSION_IMAGE_EVENT_TAG"
 31391  //	"IMPRESSION_JAVASCRIPT_EVENT_TAG"
 31392  func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
 31393  	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
 31394  	return c
 31395  }
 31396  
 31397  // Ids sets the optional parameter "ids": Select only event tags with
 31398  // these IDs.
 31399  func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
 31400  	var ids_ []string
 31401  	for _, v := range ids {
 31402  		ids_ = append(ids_, fmt.Sprint(v))
 31403  	}
 31404  	c.urlParams_.SetMulti("ids", ids_)
 31405  	return c
 31406  }
 31407  
 31408  // SearchString sets the optional parameter "searchString": Allows
 31409  // searching for objects by name or ID. Wildcards (*) are allowed. For
 31410  // example, "eventtag*2015" will return objects with names like
 31411  // "eventtag June 2015", "eventtag April 2015", or simply "eventtag
 31412  // 2015". Most of the searches also add wildcards implicitly at the
 31413  // start and the end of the search string. For example, a search string
 31414  // of "eventtag" will match objects with name "my eventtag", "eventtag
 31415  // 2015", or simply "eventtag".
 31416  func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
 31417  	c.urlParams_.Set("searchString", searchString)
 31418  	return c
 31419  }
 31420  
 31421  // SortField sets the optional parameter "sortField": Field by which to
 31422  // sort the list.
 31423  //
 31424  // Possible values:
 31425  //
 31426  //	"ID" (default)
 31427  //	"NAME"
 31428  func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
 31429  	c.urlParams_.Set("sortField", sortField)
 31430  	return c
 31431  }
 31432  
 31433  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 31434  // results.
 31435  //
 31436  // Possible values:
 31437  //
 31438  //	"ASCENDING" (default)
 31439  //	"DESCENDING"
 31440  func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
 31441  	c.urlParams_.Set("sortOrder", sortOrder)
 31442  	return c
 31443  }
 31444  
 31445  // Fields allows partial responses to be retrieved. See
 31446  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31447  // for more information.
 31448  func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
 31449  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31450  	return c
 31451  }
 31452  
 31453  // IfNoneMatch sets the optional parameter which makes the operation
 31454  // fail if the object's ETag matches the given value. This is useful for
 31455  // getting updates only after the object has changed since the last
 31456  // request. Use googleapi.IsNotModified to check whether the response
 31457  // error from Do is the result of In-None-Match.
 31458  func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
 31459  	c.ifNoneMatch_ = entityTag
 31460  	return c
 31461  }
 31462  
 31463  // Context sets the context to be used in this call's Do method. Any
 31464  // pending HTTP request will be aborted if the provided context is
 31465  // canceled.
 31466  func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 31467  	c.ctx_ = ctx
 31468  	return c
 31469  }
 31470  
 31471  // Header returns an http.Header that can be modified by the caller to
 31472  // add HTTP headers to the request.
 31473  func (c *EventTagsListCall) Header() http.Header {
 31474  	if c.header_ == nil {
 31475  		c.header_ = make(http.Header)
 31476  	}
 31477  	return c.header_
 31478  }
 31479  
 31480  func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 31481  	reqHeaders := make(http.Header)
 31482  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31483  	for k, v := range c.header_ {
 31484  		reqHeaders[k] = v
 31485  	}
 31486  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31487  	if c.ifNoneMatch_ != "" {
 31488  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31489  	}
 31490  	var body io.Reader = nil
 31491  	c.urlParams_.Set("alt", alt)
 31492  	c.urlParams_.Set("prettyPrint", "false")
 31493  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31494  	urls += "?" + c.urlParams_.Encode()
 31495  	req, err := http.NewRequest("GET", urls, body)
 31496  	if err != nil {
 31497  		return nil, err
 31498  	}
 31499  	req.Header = reqHeaders
 31500  	googleapi.Expand(req.URL, map[string]string{
 31501  		"profileId": strconv.FormatInt(c.profileId, 10),
 31502  	})
 31503  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31504  }
 31505  
 31506  // Do executes the "dfareporting.eventTags.list" call.
 31507  // Exactly one of *EventTagsListResponse or error will be non-nil. Any
 31508  // non-2xx status code is an error. Response headers are in either
 31509  // *EventTagsListResponse.ServerResponse.Header or (if a response was
 31510  // returned at all) in error.(*googleapi.Error).Header. Use
 31511  // googleapi.IsNotModified to check whether the returned error was
 31512  // because http.StatusNotModified was returned.
 31513  func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
 31514  	gensupport.SetOptions(c.urlParams_, opts...)
 31515  	res, err := c.doRequest("json")
 31516  	if res != nil && res.StatusCode == http.StatusNotModified {
 31517  		if res.Body != nil {
 31518  			res.Body.Close()
 31519  		}
 31520  		return nil, &googleapi.Error{
 31521  			Code:   res.StatusCode,
 31522  			Header: res.Header,
 31523  		}
 31524  	}
 31525  	if err != nil {
 31526  		return nil, err
 31527  	}
 31528  	defer googleapi.CloseBody(res)
 31529  	if err := googleapi.CheckResponse(res); err != nil {
 31530  		return nil, err
 31531  	}
 31532  	ret := &EventTagsListResponse{
 31533  		ServerResponse: googleapi.ServerResponse{
 31534  			Header:         res.Header,
 31535  			HTTPStatusCode: res.StatusCode,
 31536  		},
 31537  	}
 31538  	target := &ret
 31539  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31540  		return nil, err
 31541  	}
 31542  	return ret, nil
 31543  	// {
 31544  	//   "description": "Retrieves a list of event tags, possibly filtered.",
 31545  	//   "httpMethod": "GET",
 31546  	//   "id": "dfareporting.eventTags.list",
 31547  	//   "parameterOrder": [
 31548  	//     "profileId"
 31549  	//   ],
 31550  	//   "parameters": {
 31551  	//     "adId": {
 31552  	//       "description": "Select only event tags that belong to this ad.",
 31553  	//       "format": "int64",
 31554  	//       "location": "query",
 31555  	//       "type": "string"
 31556  	//     },
 31557  	//     "advertiserId": {
 31558  	//       "description": "Select only event tags that belong to this advertiser.",
 31559  	//       "format": "int64",
 31560  	//       "location": "query",
 31561  	//       "type": "string"
 31562  	//     },
 31563  	//     "campaignId": {
 31564  	//       "description": "Select only event tags that belong to this campaign.",
 31565  	//       "format": "int64",
 31566  	//       "location": "query",
 31567  	//       "type": "string"
 31568  	//     },
 31569  	//     "definitionsOnly": {
 31570  	//       "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.",
 31571  	//       "location": "query",
 31572  	//       "type": "boolean"
 31573  	//     },
 31574  	//     "enabled": {
 31575  	//       "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.",
 31576  	//       "location": "query",
 31577  	//       "type": "boolean"
 31578  	//     },
 31579  	//     "eventTagTypes": {
 31580  	//       "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.",
 31581  	//       "enum": [
 31582  	//         "CLICK_THROUGH_EVENT_TAG",
 31583  	//         "IMPRESSION_IMAGE_EVENT_TAG",
 31584  	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG"
 31585  	//       ],
 31586  	//       "enumDescriptions": [
 31587  	//         "",
 31588  	//         "",
 31589  	//         ""
 31590  	//       ],
 31591  	//       "location": "query",
 31592  	//       "repeated": true,
 31593  	//       "type": "string"
 31594  	//     },
 31595  	//     "ids": {
 31596  	//       "description": "Select only event tags with these IDs.",
 31597  	//       "format": "int64",
 31598  	//       "location": "query",
 31599  	//       "repeated": true,
 31600  	//       "type": "string"
 31601  	//     },
 31602  	//     "profileId": {
 31603  	//       "description": "User profile ID associated with this request.",
 31604  	//       "format": "int64",
 31605  	//       "location": "path",
 31606  	//       "required": true,
 31607  	//       "type": "string"
 31608  	//     },
 31609  	//     "searchString": {
 31610  	//       "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\".",
 31611  	//       "location": "query",
 31612  	//       "type": "string"
 31613  	//     },
 31614  	//     "sortField": {
 31615  	//       "default": "ID",
 31616  	//       "description": "Field by which to sort the list.",
 31617  	//       "enum": [
 31618  	//         "ID",
 31619  	//         "NAME"
 31620  	//       ],
 31621  	//       "enumDescriptions": [
 31622  	//         "",
 31623  	//         ""
 31624  	//       ],
 31625  	//       "location": "query",
 31626  	//       "type": "string"
 31627  	//     },
 31628  	//     "sortOrder": {
 31629  	//       "default": "ASCENDING",
 31630  	//       "description": "Order of sorted results.",
 31631  	//       "enum": [
 31632  	//         "ASCENDING",
 31633  	//         "DESCENDING"
 31634  	//       ],
 31635  	//       "enumDescriptions": [
 31636  	//         "",
 31637  	//         ""
 31638  	//       ],
 31639  	//       "location": "query",
 31640  	//       "type": "string"
 31641  	//     }
 31642  	//   },
 31643  	//   "path": "userprofiles/{profileId}/eventTags",
 31644  	//   "response": {
 31645  	//     "$ref": "EventTagsListResponse"
 31646  	//   },
 31647  	//   "scopes": [
 31648  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31649  	//   ]
 31650  	// }
 31651  
 31652  }
 31653  
 31654  // method id "dfareporting.eventTags.patch":
 31655  
 31656  type EventTagsPatchCall struct {
 31657  	s          *Service
 31658  	profileId  int64
 31659  	eventtag   *EventTag
 31660  	urlParams_ gensupport.URLParams
 31661  	ctx_       context.Context
 31662  	header_    http.Header
 31663  }
 31664  
 31665  // Patch: Updates an existing event tag. This method supports patch
 31666  // semantics.
 31667  func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
 31668  	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31669  	c.profileId = profileId
 31670  	c.urlParams_.Set("id", fmt.Sprint(id))
 31671  	c.eventtag = eventtag
 31672  	return c
 31673  }
 31674  
 31675  // Fields allows partial responses to be retrieved. See
 31676  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31677  // for more information.
 31678  func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
 31679  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31680  	return c
 31681  }
 31682  
 31683  // Context sets the context to be used in this call's Do method. Any
 31684  // pending HTTP request will be aborted if the provided context is
 31685  // canceled.
 31686  func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 31687  	c.ctx_ = ctx
 31688  	return c
 31689  }
 31690  
 31691  // Header returns an http.Header that can be modified by the caller to
 31692  // add HTTP headers to the request.
 31693  func (c *EventTagsPatchCall) Header() http.Header {
 31694  	if c.header_ == nil {
 31695  		c.header_ = make(http.Header)
 31696  	}
 31697  	return c.header_
 31698  }
 31699  
 31700  func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 31701  	reqHeaders := make(http.Header)
 31702  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31703  	for k, v := range c.header_ {
 31704  		reqHeaders[k] = v
 31705  	}
 31706  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31707  	var body io.Reader = nil
 31708  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31709  	if err != nil {
 31710  		return nil, err
 31711  	}
 31712  	reqHeaders.Set("Content-Type", "application/json")
 31713  	c.urlParams_.Set("alt", alt)
 31714  	c.urlParams_.Set("prettyPrint", "false")
 31715  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31716  	urls += "?" + c.urlParams_.Encode()
 31717  	req, err := http.NewRequest("PATCH", urls, body)
 31718  	if err != nil {
 31719  		return nil, err
 31720  	}
 31721  	req.Header = reqHeaders
 31722  	googleapi.Expand(req.URL, map[string]string{
 31723  		"profileId": strconv.FormatInt(c.profileId, 10),
 31724  	})
 31725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31726  }
 31727  
 31728  // Do executes the "dfareporting.eventTags.patch" call.
 31729  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31730  // code is an error. Response headers are in either
 31731  // *EventTag.ServerResponse.Header or (if a response was returned at
 31732  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31733  // to check whether the returned error was because
 31734  // http.StatusNotModified was returned.
 31735  func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31736  	gensupport.SetOptions(c.urlParams_, opts...)
 31737  	res, err := c.doRequest("json")
 31738  	if res != nil && res.StatusCode == http.StatusNotModified {
 31739  		if res.Body != nil {
 31740  			res.Body.Close()
 31741  		}
 31742  		return nil, &googleapi.Error{
 31743  			Code:   res.StatusCode,
 31744  			Header: res.Header,
 31745  		}
 31746  	}
 31747  	if err != nil {
 31748  		return nil, err
 31749  	}
 31750  	defer googleapi.CloseBody(res)
 31751  	if err := googleapi.CheckResponse(res); err != nil {
 31752  		return nil, err
 31753  	}
 31754  	ret := &EventTag{
 31755  		ServerResponse: googleapi.ServerResponse{
 31756  			Header:         res.Header,
 31757  			HTTPStatusCode: res.StatusCode,
 31758  		},
 31759  	}
 31760  	target := &ret
 31761  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31762  		return nil, err
 31763  	}
 31764  	return ret, nil
 31765  	// {
 31766  	//   "description": "Updates an existing event tag. This method supports patch semantics.",
 31767  	//   "httpMethod": "PATCH",
 31768  	//   "id": "dfareporting.eventTags.patch",
 31769  	//   "parameterOrder": [
 31770  	//     "profileId",
 31771  	//     "id"
 31772  	//   ],
 31773  	//   "parameters": {
 31774  	//     "id": {
 31775  	//       "description": "Event tag ID.",
 31776  	//       "format": "int64",
 31777  	//       "location": "query",
 31778  	//       "required": true,
 31779  	//       "type": "string"
 31780  	//     },
 31781  	//     "profileId": {
 31782  	//       "description": "User profile ID associated with this request.",
 31783  	//       "format": "int64",
 31784  	//       "location": "path",
 31785  	//       "required": true,
 31786  	//       "type": "string"
 31787  	//     }
 31788  	//   },
 31789  	//   "path": "userprofiles/{profileId}/eventTags",
 31790  	//   "request": {
 31791  	//     "$ref": "EventTag"
 31792  	//   },
 31793  	//   "response": {
 31794  	//     "$ref": "EventTag"
 31795  	//   },
 31796  	//   "scopes": [
 31797  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31798  	//   ]
 31799  	// }
 31800  
 31801  }
 31802  
 31803  // method id "dfareporting.eventTags.update":
 31804  
 31805  type EventTagsUpdateCall struct {
 31806  	s          *Service
 31807  	profileId  int64
 31808  	eventtag   *EventTag
 31809  	urlParams_ gensupport.URLParams
 31810  	ctx_       context.Context
 31811  	header_    http.Header
 31812  }
 31813  
 31814  // Update: Updates an existing event tag.
 31815  func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
 31816  	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31817  	c.profileId = profileId
 31818  	c.eventtag = eventtag
 31819  	return c
 31820  }
 31821  
 31822  // Fields allows partial responses to be retrieved. See
 31823  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31824  // for more information.
 31825  func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
 31826  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31827  	return c
 31828  }
 31829  
 31830  // Context sets the context to be used in this call's Do method. Any
 31831  // pending HTTP request will be aborted if the provided context is
 31832  // canceled.
 31833  func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 31834  	c.ctx_ = ctx
 31835  	return c
 31836  }
 31837  
 31838  // Header returns an http.Header that can be modified by the caller to
 31839  // add HTTP headers to the request.
 31840  func (c *EventTagsUpdateCall) Header() http.Header {
 31841  	if c.header_ == nil {
 31842  		c.header_ = make(http.Header)
 31843  	}
 31844  	return c.header_
 31845  }
 31846  
 31847  func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 31848  	reqHeaders := make(http.Header)
 31849  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 31850  	for k, v := range c.header_ {
 31851  		reqHeaders[k] = v
 31852  	}
 31853  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31854  	var body io.Reader = nil
 31855  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31856  	if err != nil {
 31857  		return nil, err
 31858  	}
 31859  	reqHeaders.Set("Content-Type", "application/json")
 31860  	c.urlParams_.Set("alt", alt)
 31861  	c.urlParams_.Set("prettyPrint", "false")
 31862  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31863  	urls += "?" + c.urlParams_.Encode()
 31864  	req, err := http.NewRequest("PUT", urls, body)
 31865  	if err != nil {
 31866  		return nil, err
 31867  	}
 31868  	req.Header = reqHeaders
 31869  	googleapi.Expand(req.URL, map[string]string{
 31870  		"profileId": strconv.FormatInt(c.profileId, 10),
 31871  	})
 31872  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31873  }
 31874  
 31875  // Do executes the "dfareporting.eventTags.update" call.
 31876  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31877  // code is an error. Response headers are in either
 31878  // *EventTag.ServerResponse.Header or (if a response was returned at
 31879  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31880  // to check whether the returned error was because
 31881  // http.StatusNotModified was returned.
 31882  func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31883  	gensupport.SetOptions(c.urlParams_, opts...)
 31884  	res, err := c.doRequest("json")
 31885  	if res != nil && res.StatusCode == http.StatusNotModified {
 31886  		if res.Body != nil {
 31887  			res.Body.Close()
 31888  		}
 31889  		return nil, &googleapi.Error{
 31890  			Code:   res.StatusCode,
 31891  			Header: res.Header,
 31892  		}
 31893  	}
 31894  	if err != nil {
 31895  		return nil, err
 31896  	}
 31897  	defer googleapi.CloseBody(res)
 31898  	if err := googleapi.CheckResponse(res); err != nil {
 31899  		return nil, err
 31900  	}
 31901  	ret := &EventTag{
 31902  		ServerResponse: googleapi.ServerResponse{
 31903  			Header:         res.Header,
 31904  			HTTPStatusCode: res.StatusCode,
 31905  		},
 31906  	}
 31907  	target := &ret
 31908  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31909  		return nil, err
 31910  	}
 31911  	return ret, nil
 31912  	// {
 31913  	//   "description": "Updates an existing event tag.",
 31914  	//   "httpMethod": "PUT",
 31915  	//   "id": "dfareporting.eventTags.update",
 31916  	//   "parameterOrder": [
 31917  	//     "profileId"
 31918  	//   ],
 31919  	//   "parameters": {
 31920  	//     "profileId": {
 31921  	//       "description": "User profile ID associated with this request.",
 31922  	//       "format": "int64",
 31923  	//       "location": "path",
 31924  	//       "required": true,
 31925  	//       "type": "string"
 31926  	//     }
 31927  	//   },
 31928  	//   "path": "userprofiles/{profileId}/eventTags",
 31929  	//   "request": {
 31930  	//     "$ref": "EventTag"
 31931  	//   },
 31932  	//   "response": {
 31933  	//     "$ref": "EventTag"
 31934  	//   },
 31935  	//   "scopes": [
 31936  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31937  	//   ]
 31938  	// }
 31939  
 31940  }
 31941  
 31942  // method id "dfareporting.files.get":
 31943  
 31944  type FilesGetCall struct {
 31945  	s            *Service
 31946  	reportId     int64
 31947  	fileId       int64
 31948  	urlParams_   gensupport.URLParams
 31949  	ifNoneMatch_ string
 31950  	ctx_         context.Context
 31951  	header_      http.Header
 31952  }
 31953  
 31954  // Get: Retrieves a report file by its report ID and file ID. This
 31955  // method supports media download.
 31956  func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
 31957  	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31958  	c.reportId = reportId
 31959  	c.fileId = fileId
 31960  	return c
 31961  }
 31962  
 31963  // Fields allows partial responses to be retrieved. See
 31964  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31965  // for more information.
 31966  func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
 31967  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31968  	return c
 31969  }
 31970  
 31971  // IfNoneMatch sets the optional parameter which makes the operation
 31972  // fail if the object's ETag matches the given value. This is useful for
 31973  // getting updates only after the object has changed since the last
 31974  // request. Use googleapi.IsNotModified to check whether the response
 31975  // error from Do is the result of In-None-Match.
 31976  func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
 31977  	c.ifNoneMatch_ = entityTag
 31978  	return c
 31979  }
 31980  
 31981  // Context sets the context to be used in this call's Do and Download
 31982  // methods. Any pending HTTP request will be aborted if the provided
 31983  // context is canceled.
 31984  func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 31985  	c.ctx_ = ctx
 31986  	return c
 31987  }
 31988  
 31989  // Header returns an http.Header that can be modified by the caller to
 31990  // add HTTP headers to the request.
 31991  func (c *FilesGetCall) Header() http.Header {
 31992  	if c.header_ == nil {
 31993  		c.header_ = make(http.Header)
 31994  	}
 31995  	return c.header_
 31996  }
 31997  
 31998  func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 31999  	reqHeaders := make(http.Header)
 32000  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32001  	for k, v := range c.header_ {
 32002  		reqHeaders[k] = v
 32003  	}
 32004  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32005  	if c.ifNoneMatch_ != "" {
 32006  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32007  	}
 32008  	var body io.Reader = nil
 32009  	c.urlParams_.Set("alt", alt)
 32010  	c.urlParams_.Set("prettyPrint", "false")
 32011  	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
 32012  	urls += "?" + c.urlParams_.Encode()
 32013  	req, err := http.NewRequest("GET", urls, body)
 32014  	if err != nil {
 32015  		return nil, err
 32016  	}
 32017  	req.Header = reqHeaders
 32018  	googleapi.Expand(req.URL, map[string]string{
 32019  		"reportId": strconv.FormatInt(c.reportId, 10),
 32020  		"fileId":   strconv.FormatInt(c.fileId, 10),
 32021  	})
 32022  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32023  }
 32024  
 32025  // Download fetches the API endpoint's "media" value, instead of the normal
 32026  // API response value. If the returned error is nil, the Response is guaranteed to
 32027  // have a 2xx status code. Callers must close the Response.Body as usual.
 32028  func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 32029  	gensupport.SetOptions(c.urlParams_, opts...)
 32030  	res, err := c.doRequest("media")
 32031  	if err != nil {
 32032  		return nil, err
 32033  	}
 32034  	if err := googleapi.CheckMediaResponse(res); err != nil {
 32035  		res.Body.Close()
 32036  		return nil, err
 32037  	}
 32038  	return res, nil
 32039  }
 32040  
 32041  // Do executes the "dfareporting.files.get" call.
 32042  // Exactly one of *File or error will be non-nil. Any non-2xx status
 32043  // code is an error. Response headers are in either
 32044  // *File.ServerResponse.Header or (if a response was returned at all) in
 32045  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 32046  // whether the returned error was because http.StatusNotModified was
 32047  // returned.
 32048  func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 32049  	gensupport.SetOptions(c.urlParams_, opts...)
 32050  	res, err := c.doRequest("json")
 32051  	if res != nil && res.StatusCode == http.StatusNotModified {
 32052  		if res.Body != nil {
 32053  			res.Body.Close()
 32054  		}
 32055  		return nil, &googleapi.Error{
 32056  			Code:   res.StatusCode,
 32057  			Header: res.Header,
 32058  		}
 32059  	}
 32060  	if err != nil {
 32061  		return nil, err
 32062  	}
 32063  	defer googleapi.CloseBody(res)
 32064  	if err := googleapi.CheckResponse(res); err != nil {
 32065  		return nil, err
 32066  	}
 32067  	ret := &File{
 32068  		ServerResponse: googleapi.ServerResponse{
 32069  			Header:         res.Header,
 32070  			HTTPStatusCode: res.StatusCode,
 32071  		},
 32072  	}
 32073  	target := &ret
 32074  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32075  		return nil, err
 32076  	}
 32077  	return ret, nil
 32078  	// {
 32079  	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
 32080  	//   "httpMethod": "GET",
 32081  	//   "id": "dfareporting.files.get",
 32082  	//   "parameterOrder": [
 32083  	//     "reportId",
 32084  	//     "fileId"
 32085  	//   ],
 32086  	//   "parameters": {
 32087  	//     "fileId": {
 32088  	//       "description": "The ID of the report file.",
 32089  	//       "format": "int64",
 32090  	//       "location": "path",
 32091  	//       "required": true,
 32092  	//       "type": "string"
 32093  	//     },
 32094  	//     "reportId": {
 32095  	//       "description": "The ID of the report.",
 32096  	//       "format": "int64",
 32097  	//       "location": "path",
 32098  	//       "required": true,
 32099  	//       "type": "string"
 32100  	//     }
 32101  	//   },
 32102  	//   "path": "reports/{reportId}/files/{fileId}",
 32103  	//   "response": {
 32104  	//     "$ref": "File"
 32105  	//   },
 32106  	//   "scopes": [
 32107  	//     "https://www.googleapis.com/auth/dfareporting"
 32108  	//   ],
 32109  	//   "supportsMediaDownload": true
 32110  	// }
 32111  
 32112  }
 32113  
 32114  // method id "dfareporting.files.list":
 32115  
 32116  type FilesListCall struct {
 32117  	s            *Service
 32118  	profileId    int64
 32119  	urlParams_   gensupport.URLParams
 32120  	ifNoneMatch_ string
 32121  	ctx_         context.Context
 32122  	header_      http.Header
 32123  }
 32124  
 32125  // List: Lists files for a user profile.
 32126  func (r *FilesService) List(profileId int64) *FilesListCall {
 32127  	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32128  	c.profileId = profileId
 32129  	return c
 32130  }
 32131  
 32132  // MaxResults sets the optional parameter "maxResults": Maximum number
 32133  // of results to return.
 32134  func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
 32135  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 32136  	return c
 32137  }
 32138  
 32139  // PageToken sets the optional parameter "pageToken": The value of the
 32140  // nextToken from the previous result page.
 32141  func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
 32142  	c.urlParams_.Set("pageToken", pageToken)
 32143  	return c
 32144  }
 32145  
 32146  // Scope sets the optional parameter "scope": The scope that defines
 32147  // which results are returned.
 32148  //
 32149  // Possible values:
 32150  //
 32151  //	"ALL" - All files in account.
 32152  //	"MINE" (default) - My files.
 32153  //	"SHARED_WITH_ME" - Files shared with me.
 32154  func (c *FilesListCall) Scope(scope string) *FilesListCall {
 32155  	c.urlParams_.Set("scope", scope)
 32156  	return c
 32157  }
 32158  
 32159  // SortField sets the optional parameter "sortField": The field by which
 32160  // to sort the list.
 32161  //
 32162  // Possible values:
 32163  //
 32164  //	"ID" - Sort by file ID.
 32165  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 32166  func (c *FilesListCall) SortField(sortField string) *FilesListCall {
 32167  	c.urlParams_.Set("sortField", sortField)
 32168  	return c
 32169  }
 32170  
 32171  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 32172  // results.
 32173  //
 32174  // Possible values:
 32175  //
 32176  //	"ASCENDING" - Ascending order.
 32177  //	"DESCENDING" (default) - Descending order.
 32178  func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
 32179  	c.urlParams_.Set("sortOrder", sortOrder)
 32180  	return c
 32181  }
 32182  
 32183  // Fields allows partial responses to be retrieved. See
 32184  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32185  // for more information.
 32186  func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
 32187  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32188  	return c
 32189  }
 32190  
 32191  // IfNoneMatch sets the optional parameter which makes the operation
 32192  // fail if the object's ETag matches the given value. This is useful for
 32193  // getting updates only after the object has changed since the last
 32194  // request. Use googleapi.IsNotModified to check whether the response
 32195  // error from Do is the result of In-None-Match.
 32196  func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
 32197  	c.ifNoneMatch_ = entityTag
 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 *FilesListCall) Context(ctx context.Context) *FilesListCall {
 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 *FilesListCall) Header() http.Header {
 32212  	if c.header_ == nil {
 32213  		c.header_ = make(http.Header)
 32214  	}
 32215  	return c.header_
 32216  }
 32217  
 32218  func (c *FilesListCall) 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  	if c.ifNoneMatch_ != "" {
 32226  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32227  	}
 32228  	var body io.Reader = nil
 32229  	c.urlParams_.Set("alt", alt)
 32230  	c.urlParams_.Set("prettyPrint", "false")
 32231  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
 32232  	urls += "?" + c.urlParams_.Encode()
 32233  	req, err := http.NewRequest("GET", urls, body)
 32234  	if err != nil {
 32235  		return nil, err
 32236  	}
 32237  	req.Header = reqHeaders
 32238  	googleapi.Expand(req.URL, map[string]string{
 32239  		"profileId": strconv.FormatInt(c.profileId, 10),
 32240  	})
 32241  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32242  }
 32243  
 32244  // Do executes the "dfareporting.files.list" call.
 32245  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 32246  // code is an error. Response headers are in either
 32247  // *FileList.ServerResponse.Header or (if a response was returned at
 32248  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 32249  // to check whether the returned error was because
 32250  // http.StatusNotModified was returned.
 32251  func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 32252  	gensupport.SetOptions(c.urlParams_, opts...)
 32253  	res, err := c.doRequest("json")
 32254  	if res != nil && res.StatusCode == http.StatusNotModified {
 32255  		if res.Body != nil {
 32256  			res.Body.Close()
 32257  		}
 32258  		return nil, &googleapi.Error{
 32259  			Code:   res.StatusCode,
 32260  			Header: res.Header,
 32261  		}
 32262  	}
 32263  	if err != nil {
 32264  		return nil, err
 32265  	}
 32266  	defer googleapi.CloseBody(res)
 32267  	if err := googleapi.CheckResponse(res); err != nil {
 32268  		return nil, err
 32269  	}
 32270  	ret := &FileList{
 32271  		ServerResponse: googleapi.ServerResponse{
 32272  			Header:         res.Header,
 32273  			HTTPStatusCode: res.StatusCode,
 32274  		},
 32275  	}
 32276  	target := &ret
 32277  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32278  		return nil, err
 32279  	}
 32280  	return ret, nil
 32281  	// {
 32282  	//   "description": "Lists files for a user profile.",
 32283  	//   "httpMethod": "GET",
 32284  	//   "id": "dfareporting.files.list",
 32285  	//   "parameterOrder": [
 32286  	//     "profileId"
 32287  	//   ],
 32288  	//   "parameters": {
 32289  	//     "maxResults": {
 32290  	//       "default": "10",
 32291  	//       "description": "Maximum number of results to return.",
 32292  	//       "format": "int32",
 32293  	//       "location": "query",
 32294  	//       "maximum": "10",
 32295  	//       "minimum": "0",
 32296  	//       "type": "integer"
 32297  	//     },
 32298  	//     "pageToken": {
 32299  	//       "description": "The value of the nextToken from the previous result page.",
 32300  	//       "location": "query",
 32301  	//       "type": "string"
 32302  	//     },
 32303  	//     "profileId": {
 32304  	//       "description": "The DFA profile ID.",
 32305  	//       "format": "int64",
 32306  	//       "location": "path",
 32307  	//       "required": true,
 32308  	//       "type": "string"
 32309  	//     },
 32310  	//     "scope": {
 32311  	//       "default": "MINE",
 32312  	//       "description": "The scope that defines which results are returned.",
 32313  	//       "enum": [
 32314  	//         "ALL",
 32315  	//         "MINE",
 32316  	//         "SHARED_WITH_ME"
 32317  	//       ],
 32318  	//       "enumDescriptions": [
 32319  	//         "All files in account.",
 32320  	//         "My files.",
 32321  	//         "Files shared with me."
 32322  	//       ],
 32323  	//       "location": "query",
 32324  	//       "type": "string"
 32325  	//     },
 32326  	//     "sortField": {
 32327  	//       "default": "LAST_MODIFIED_TIME",
 32328  	//       "description": "The field by which to sort the list.",
 32329  	//       "enum": [
 32330  	//         "ID",
 32331  	//         "LAST_MODIFIED_TIME"
 32332  	//       ],
 32333  	//       "enumDescriptions": [
 32334  	//         "Sort by file ID.",
 32335  	//         "Sort by 'lastmodifiedAt' field."
 32336  	//       ],
 32337  	//       "location": "query",
 32338  	//       "type": "string"
 32339  	//     },
 32340  	//     "sortOrder": {
 32341  	//       "default": "DESCENDING",
 32342  	//       "description": "Order of sorted results.",
 32343  	//       "enum": [
 32344  	//         "ASCENDING",
 32345  	//         "DESCENDING"
 32346  	//       ],
 32347  	//       "enumDescriptions": [
 32348  	//         "Ascending order.",
 32349  	//         "Descending order."
 32350  	//       ],
 32351  	//       "location": "query",
 32352  	//       "type": "string"
 32353  	//     }
 32354  	//   },
 32355  	//   "path": "userprofiles/{profileId}/files",
 32356  	//   "response": {
 32357  	//     "$ref": "FileList"
 32358  	//   },
 32359  	//   "scopes": [
 32360  	//     "https://www.googleapis.com/auth/dfareporting"
 32361  	//   ]
 32362  	// }
 32363  
 32364  }
 32365  
 32366  // Pages invokes f for each page of results.
 32367  // A non-nil error returned from f will halt the iteration.
 32368  // The provided context supersedes any context provided to the Context method.
 32369  func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 32370  	c.ctx_ = ctx
 32371  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 32372  	for {
 32373  		x, err := c.Do()
 32374  		if err != nil {
 32375  			return err
 32376  		}
 32377  		if err := f(x); err != nil {
 32378  			return err
 32379  		}
 32380  		if x.NextPageToken == "" {
 32381  			return nil
 32382  		}
 32383  		c.PageToken(x.NextPageToken)
 32384  	}
 32385  }
 32386  
 32387  // method id "dfareporting.floodlightActivities.delete":
 32388  
 32389  type FloodlightActivitiesDeleteCall struct {
 32390  	s          *Service
 32391  	profileId  int64
 32392  	id         int64
 32393  	urlParams_ gensupport.URLParams
 32394  	ctx_       context.Context
 32395  	header_    http.Header
 32396  }
 32397  
 32398  // Delete: Deletes an existing floodlight activity.
 32399  func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
 32400  	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32401  	c.profileId = profileId
 32402  	c.id = id
 32403  	return c
 32404  }
 32405  
 32406  // Fields allows partial responses to be retrieved. See
 32407  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32408  // for more information.
 32409  func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
 32410  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32411  	return c
 32412  }
 32413  
 32414  // Context sets the context to be used in this call's Do method. Any
 32415  // pending HTTP request will be aborted if the provided context is
 32416  // canceled.
 32417  func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 32418  	c.ctx_ = ctx
 32419  	return c
 32420  }
 32421  
 32422  // Header returns an http.Header that can be modified by the caller to
 32423  // add HTTP headers to the request.
 32424  func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
 32425  	if c.header_ == nil {
 32426  		c.header_ = make(http.Header)
 32427  	}
 32428  	return c.header_
 32429  }
 32430  
 32431  func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 32432  	reqHeaders := make(http.Header)
 32433  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32434  	for k, v := range c.header_ {
 32435  		reqHeaders[k] = v
 32436  	}
 32437  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32438  	var body io.Reader = nil
 32439  	c.urlParams_.Set("alt", alt)
 32440  	c.urlParams_.Set("prettyPrint", "false")
 32441  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 32442  	urls += "?" + c.urlParams_.Encode()
 32443  	req, err := http.NewRequest("DELETE", urls, body)
 32444  	if err != nil {
 32445  		return nil, err
 32446  	}
 32447  	req.Header = reqHeaders
 32448  	googleapi.Expand(req.URL, map[string]string{
 32449  		"profileId": strconv.FormatInt(c.profileId, 10),
 32450  		"id":        strconv.FormatInt(c.id, 10),
 32451  	})
 32452  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32453  }
 32454  
 32455  // Do executes the "dfareporting.floodlightActivities.delete" call.
 32456  func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 32457  	gensupport.SetOptions(c.urlParams_, opts...)
 32458  	res, err := c.doRequest("json")
 32459  	if err != nil {
 32460  		return err
 32461  	}
 32462  	defer googleapi.CloseBody(res)
 32463  	if err := googleapi.CheckResponse(res); err != nil {
 32464  		return err
 32465  	}
 32466  	return nil
 32467  	// {
 32468  	//   "description": "Deletes an existing floodlight activity.",
 32469  	//   "httpMethod": "DELETE",
 32470  	//   "id": "dfareporting.floodlightActivities.delete",
 32471  	//   "parameterOrder": [
 32472  	//     "profileId",
 32473  	//     "id"
 32474  	//   ],
 32475  	//   "parameters": {
 32476  	//     "id": {
 32477  	//       "description": "Floodlight activity ID.",
 32478  	//       "format": "int64",
 32479  	//       "location": "path",
 32480  	//       "required": true,
 32481  	//       "type": "string"
 32482  	//     },
 32483  	//     "profileId": {
 32484  	//       "description": "User profile ID associated with this request.",
 32485  	//       "format": "int64",
 32486  	//       "location": "path",
 32487  	//       "required": true,
 32488  	//       "type": "string"
 32489  	//     }
 32490  	//   },
 32491  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 32492  	//   "scopes": [
 32493  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32494  	//   ]
 32495  	// }
 32496  
 32497  }
 32498  
 32499  // method id "dfareporting.floodlightActivities.generatetag":
 32500  
 32501  type FloodlightActivitiesGeneratetagCall struct {
 32502  	s          *Service
 32503  	profileId  int64
 32504  	urlParams_ gensupport.URLParams
 32505  	ctx_       context.Context
 32506  	header_    http.Header
 32507  }
 32508  
 32509  // Generatetag: Generates a tag for a floodlight activity.
 32510  func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
 32511  	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32512  	c.profileId = profileId
 32513  	return c
 32514  }
 32515  
 32516  // FloodlightActivityId sets the optional parameter
 32517  // "floodlightActivityId": Floodlight activity ID for which we want to
 32518  // generate a tag.
 32519  func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
 32520  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 32521  	return c
 32522  }
 32523  
 32524  // Fields allows partial responses to be retrieved. See
 32525  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32526  // for more information.
 32527  func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
 32528  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32529  	return c
 32530  }
 32531  
 32532  // Context sets the context to be used in this call's Do method. Any
 32533  // pending HTTP request will be aborted if the provided context is
 32534  // canceled.
 32535  func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 32536  	c.ctx_ = ctx
 32537  	return c
 32538  }
 32539  
 32540  // Header returns an http.Header that can be modified by the caller to
 32541  // add HTTP headers to the request.
 32542  func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
 32543  	if c.header_ == nil {
 32544  		c.header_ = make(http.Header)
 32545  	}
 32546  	return c.header_
 32547  }
 32548  
 32549  func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 32550  	reqHeaders := make(http.Header)
 32551  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32552  	for k, v := range c.header_ {
 32553  		reqHeaders[k] = v
 32554  	}
 32555  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32556  	var body io.Reader = nil
 32557  	c.urlParams_.Set("alt", alt)
 32558  	c.urlParams_.Set("prettyPrint", "false")
 32559  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
 32560  	urls += "?" + c.urlParams_.Encode()
 32561  	req, err := http.NewRequest("POST", urls, body)
 32562  	if err != nil {
 32563  		return nil, err
 32564  	}
 32565  	req.Header = reqHeaders
 32566  	googleapi.Expand(req.URL, map[string]string{
 32567  		"profileId": strconv.FormatInt(c.profileId, 10),
 32568  	})
 32569  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32570  }
 32571  
 32572  // Do executes the "dfareporting.floodlightActivities.generatetag" call.
 32573  // Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
 32574  // be non-nil. Any non-2xx status code is an error. Response headers are
 32575  // in either
 32576  // *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
 32577  // a response was returned at all) in error.(*googleapi.Error).Header.
 32578  // Use googleapi.IsNotModified to check whether the returned error was
 32579  // because http.StatusNotModified was returned.
 32580  func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
 32581  	gensupport.SetOptions(c.urlParams_, opts...)
 32582  	res, err := c.doRequest("json")
 32583  	if res != nil && res.StatusCode == http.StatusNotModified {
 32584  		if res.Body != nil {
 32585  			res.Body.Close()
 32586  		}
 32587  		return nil, &googleapi.Error{
 32588  			Code:   res.StatusCode,
 32589  			Header: res.Header,
 32590  		}
 32591  	}
 32592  	if err != nil {
 32593  		return nil, err
 32594  	}
 32595  	defer googleapi.CloseBody(res)
 32596  	if err := googleapi.CheckResponse(res); err != nil {
 32597  		return nil, err
 32598  	}
 32599  	ret := &FloodlightActivitiesGenerateTagResponse{
 32600  		ServerResponse: googleapi.ServerResponse{
 32601  			Header:         res.Header,
 32602  			HTTPStatusCode: res.StatusCode,
 32603  		},
 32604  	}
 32605  	target := &ret
 32606  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32607  		return nil, err
 32608  	}
 32609  	return ret, nil
 32610  	// {
 32611  	//   "description": "Generates a tag for a floodlight activity.",
 32612  	//   "httpMethod": "POST",
 32613  	//   "id": "dfareporting.floodlightActivities.generatetag",
 32614  	//   "parameterOrder": [
 32615  	//     "profileId"
 32616  	//   ],
 32617  	//   "parameters": {
 32618  	//     "floodlightActivityId": {
 32619  	//       "description": "Floodlight activity ID for which we want to generate a tag.",
 32620  	//       "format": "int64",
 32621  	//       "location": "query",
 32622  	//       "type": "string"
 32623  	//     },
 32624  	//     "profileId": {
 32625  	//       "description": "User profile ID associated with this request.",
 32626  	//       "format": "int64",
 32627  	//       "location": "path",
 32628  	//       "required": true,
 32629  	//       "type": "string"
 32630  	//     }
 32631  	//   },
 32632  	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
 32633  	//   "response": {
 32634  	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
 32635  	//   },
 32636  	//   "scopes": [
 32637  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32638  	//   ]
 32639  	// }
 32640  
 32641  }
 32642  
 32643  // method id "dfareporting.floodlightActivities.get":
 32644  
 32645  type FloodlightActivitiesGetCall struct {
 32646  	s            *Service
 32647  	profileId    int64
 32648  	id           int64
 32649  	urlParams_   gensupport.URLParams
 32650  	ifNoneMatch_ string
 32651  	ctx_         context.Context
 32652  	header_      http.Header
 32653  }
 32654  
 32655  // Get: Gets one floodlight activity by ID.
 32656  func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
 32657  	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32658  	c.profileId = profileId
 32659  	c.id = id
 32660  	return c
 32661  }
 32662  
 32663  // Fields allows partial responses to be retrieved. See
 32664  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32665  // for more information.
 32666  func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
 32667  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32668  	return c
 32669  }
 32670  
 32671  // IfNoneMatch sets the optional parameter which makes the operation
 32672  // fail if the object's ETag matches the given value. This is useful for
 32673  // getting updates only after the object has changed since the last
 32674  // request. Use googleapi.IsNotModified to check whether the response
 32675  // error from Do is the result of In-None-Match.
 32676  func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
 32677  	c.ifNoneMatch_ = entityTag
 32678  	return c
 32679  }
 32680  
 32681  // Context sets the context to be used in this call's Do method. Any
 32682  // pending HTTP request will be aborted if the provided context is
 32683  // canceled.
 32684  func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 32685  	c.ctx_ = ctx
 32686  	return c
 32687  }
 32688  
 32689  // Header returns an http.Header that can be modified by the caller to
 32690  // add HTTP headers to the request.
 32691  func (c *FloodlightActivitiesGetCall) Header() http.Header {
 32692  	if c.header_ == nil {
 32693  		c.header_ = make(http.Header)
 32694  	}
 32695  	return c.header_
 32696  }
 32697  
 32698  func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 32699  	reqHeaders := make(http.Header)
 32700  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32701  	for k, v := range c.header_ {
 32702  		reqHeaders[k] = v
 32703  	}
 32704  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32705  	if c.ifNoneMatch_ != "" {
 32706  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32707  	}
 32708  	var body io.Reader = nil
 32709  	c.urlParams_.Set("alt", alt)
 32710  	c.urlParams_.Set("prettyPrint", "false")
 32711  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 32712  	urls += "?" + c.urlParams_.Encode()
 32713  	req, err := http.NewRequest("GET", urls, body)
 32714  	if err != nil {
 32715  		return nil, err
 32716  	}
 32717  	req.Header = reqHeaders
 32718  	googleapi.Expand(req.URL, map[string]string{
 32719  		"profileId": strconv.FormatInt(c.profileId, 10),
 32720  		"id":        strconv.FormatInt(c.id, 10),
 32721  	})
 32722  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32723  }
 32724  
 32725  // Do executes the "dfareporting.floodlightActivities.get" call.
 32726  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32727  // non-2xx status code is an error. Response headers are in either
 32728  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32729  // returned at all) in error.(*googleapi.Error).Header. Use
 32730  // googleapi.IsNotModified to check whether the returned error was
 32731  // because http.StatusNotModified was returned.
 32732  func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32733  	gensupport.SetOptions(c.urlParams_, opts...)
 32734  	res, err := c.doRequest("json")
 32735  	if res != nil && res.StatusCode == http.StatusNotModified {
 32736  		if res.Body != nil {
 32737  			res.Body.Close()
 32738  		}
 32739  		return nil, &googleapi.Error{
 32740  			Code:   res.StatusCode,
 32741  			Header: res.Header,
 32742  		}
 32743  	}
 32744  	if err != nil {
 32745  		return nil, err
 32746  	}
 32747  	defer googleapi.CloseBody(res)
 32748  	if err := googleapi.CheckResponse(res); err != nil {
 32749  		return nil, err
 32750  	}
 32751  	ret := &FloodlightActivity{
 32752  		ServerResponse: googleapi.ServerResponse{
 32753  			Header:         res.Header,
 32754  			HTTPStatusCode: res.StatusCode,
 32755  		},
 32756  	}
 32757  	target := &ret
 32758  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32759  		return nil, err
 32760  	}
 32761  	return ret, nil
 32762  	// {
 32763  	//   "description": "Gets one floodlight activity by ID.",
 32764  	//   "httpMethod": "GET",
 32765  	//   "id": "dfareporting.floodlightActivities.get",
 32766  	//   "parameterOrder": [
 32767  	//     "profileId",
 32768  	//     "id"
 32769  	//   ],
 32770  	//   "parameters": {
 32771  	//     "id": {
 32772  	//       "description": "Floodlight activity ID.",
 32773  	//       "format": "int64",
 32774  	//       "location": "path",
 32775  	//       "required": true,
 32776  	//       "type": "string"
 32777  	//     },
 32778  	//     "profileId": {
 32779  	//       "description": "User profile ID associated with this request.",
 32780  	//       "format": "int64",
 32781  	//       "location": "path",
 32782  	//       "required": true,
 32783  	//       "type": "string"
 32784  	//     }
 32785  	//   },
 32786  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 32787  	//   "response": {
 32788  	//     "$ref": "FloodlightActivity"
 32789  	//   },
 32790  	//   "scopes": [
 32791  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32792  	//   ]
 32793  	// }
 32794  
 32795  }
 32796  
 32797  // method id "dfareporting.floodlightActivities.insert":
 32798  
 32799  type FloodlightActivitiesInsertCall struct {
 32800  	s                  *Service
 32801  	profileId          int64
 32802  	floodlightactivity *FloodlightActivity
 32803  	urlParams_         gensupport.URLParams
 32804  	ctx_               context.Context
 32805  	header_            http.Header
 32806  }
 32807  
 32808  // Insert: Inserts a new floodlight activity.
 32809  func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
 32810  	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32811  	c.profileId = profileId
 32812  	c.floodlightactivity = floodlightactivity
 32813  	return c
 32814  }
 32815  
 32816  // Fields allows partial responses to be retrieved. See
 32817  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32818  // for more information.
 32819  func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
 32820  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32821  	return c
 32822  }
 32823  
 32824  // Context sets the context to be used in this call's Do method. Any
 32825  // pending HTTP request will be aborted if the provided context is
 32826  // canceled.
 32827  func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 32828  	c.ctx_ = ctx
 32829  	return c
 32830  }
 32831  
 32832  // Header returns an http.Header that can be modified by the caller to
 32833  // add HTTP headers to the request.
 32834  func (c *FloodlightActivitiesInsertCall) Header() http.Header {
 32835  	if c.header_ == nil {
 32836  		c.header_ = make(http.Header)
 32837  	}
 32838  	return c.header_
 32839  }
 32840  
 32841  func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
 32842  	reqHeaders := make(http.Header)
 32843  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 32844  	for k, v := range c.header_ {
 32845  		reqHeaders[k] = v
 32846  	}
 32847  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32848  	var body io.Reader = nil
 32849  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 32850  	if err != nil {
 32851  		return nil, err
 32852  	}
 32853  	reqHeaders.Set("Content-Type", "application/json")
 32854  	c.urlParams_.Set("alt", alt)
 32855  	c.urlParams_.Set("prettyPrint", "false")
 32856  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32857  	urls += "?" + c.urlParams_.Encode()
 32858  	req, err := http.NewRequest("POST", urls, body)
 32859  	if err != nil {
 32860  		return nil, err
 32861  	}
 32862  	req.Header = reqHeaders
 32863  	googleapi.Expand(req.URL, map[string]string{
 32864  		"profileId": strconv.FormatInt(c.profileId, 10),
 32865  	})
 32866  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32867  }
 32868  
 32869  // Do executes the "dfareporting.floodlightActivities.insert" call.
 32870  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32871  // non-2xx status code is an error. Response headers are in either
 32872  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32873  // returned at all) in error.(*googleapi.Error).Header. Use
 32874  // googleapi.IsNotModified to check whether the returned error was
 32875  // because http.StatusNotModified was returned.
 32876  func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32877  	gensupport.SetOptions(c.urlParams_, opts...)
 32878  	res, err := c.doRequest("json")
 32879  	if res != nil && res.StatusCode == http.StatusNotModified {
 32880  		if res.Body != nil {
 32881  			res.Body.Close()
 32882  		}
 32883  		return nil, &googleapi.Error{
 32884  			Code:   res.StatusCode,
 32885  			Header: res.Header,
 32886  		}
 32887  	}
 32888  	if err != nil {
 32889  		return nil, err
 32890  	}
 32891  	defer googleapi.CloseBody(res)
 32892  	if err := googleapi.CheckResponse(res); err != nil {
 32893  		return nil, err
 32894  	}
 32895  	ret := &FloodlightActivity{
 32896  		ServerResponse: googleapi.ServerResponse{
 32897  			Header:         res.Header,
 32898  			HTTPStatusCode: res.StatusCode,
 32899  		},
 32900  	}
 32901  	target := &ret
 32902  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32903  		return nil, err
 32904  	}
 32905  	return ret, nil
 32906  	// {
 32907  	//   "description": "Inserts a new floodlight activity.",
 32908  	//   "httpMethod": "POST",
 32909  	//   "id": "dfareporting.floodlightActivities.insert",
 32910  	//   "parameterOrder": [
 32911  	//     "profileId"
 32912  	//   ],
 32913  	//   "parameters": {
 32914  	//     "profileId": {
 32915  	//       "description": "User profile ID associated with this request.",
 32916  	//       "format": "int64",
 32917  	//       "location": "path",
 32918  	//       "required": true,
 32919  	//       "type": "string"
 32920  	//     }
 32921  	//   },
 32922  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32923  	//   "request": {
 32924  	//     "$ref": "FloodlightActivity"
 32925  	//   },
 32926  	//   "response": {
 32927  	//     "$ref": "FloodlightActivity"
 32928  	//   },
 32929  	//   "scopes": [
 32930  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32931  	//   ]
 32932  	// }
 32933  
 32934  }
 32935  
 32936  // method id "dfareporting.floodlightActivities.list":
 32937  
 32938  type FloodlightActivitiesListCall struct {
 32939  	s            *Service
 32940  	profileId    int64
 32941  	urlParams_   gensupport.URLParams
 32942  	ifNoneMatch_ string
 32943  	ctx_         context.Context
 32944  	header_      http.Header
 32945  }
 32946  
 32947  // List: Retrieves a list of floodlight activities, possibly filtered.
 32948  // This method supports paging.
 32949  func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
 32950  	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32951  	c.profileId = profileId
 32952  	return c
 32953  }
 32954  
 32955  // AdvertiserId sets the optional parameter "advertiserId": Select only
 32956  // floodlight activities for the specified advertiser ID. Must specify
 32957  // either ids, advertiserId, or floodlightConfigurationId for a
 32958  // non-empty result.
 32959  func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
 32960  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32961  	return c
 32962  }
 32963  
 32964  // FloodlightActivityGroupIds sets the optional parameter
 32965  // "floodlightActivityGroupIds": Select only floodlight activities with
 32966  // the specified floodlight activity group IDs.
 32967  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
 32968  	var floodlightActivityGroupIds_ []string
 32969  	for _, v := range floodlightActivityGroupIds {
 32970  		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
 32971  	}
 32972  	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
 32973  	return c
 32974  }
 32975  
 32976  // FloodlightActivityGroupName sets the optional parameter
 32977  // "floodlightActivityGroupName": Select only floodlight activities with
 32978  // the specified floodlight activity group name.
 32979  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
 32980  	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
 32981  	return c
 32982  }
 32983  
 32984  // FloodlightActivityGroupTagString sets the optional parameter
 32985  // "floodlightActivityGroupTagString": Select only floodlight activities
 32986  // with the specified floodlight activity group tag string.
 32987  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
 32988  	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
 32989  	return c
 32990  }
 32991  
 32992  // FloodlightActivityGroupType sets the optional parameter
 32993  // "floodlightActivityGroupType": Select only floodlight activities with
 32994  // the specified floodlight activity group type.
 32995  //
 32996  // Possible values:
 32997  //
 32998  //	"COUNTER"
 32999  //	"SALE"
 33000  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
 33001  	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
 33002  	return c
 33003  }
 33004  
 33005  // FloodlightConfigurationId sets the optional parameter
 33006  // "floodlightConfigurationId": Select only floodlight activities for
 33007  // the specified floodlight configuration ID. Must specify either ids,
 33008  // advertiserId, or floodlightConfigurationId for a non-empty result.
 33009  func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
 33010  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 33011  	return c
 33012  }
 33013  
 33014  // Ids sets the optional parameter "ids": Select only floodlight
 33015  // activities with the specified IDs. Must specify either ids,
 33016  // advertiserId, or floodlightConfigurationId for a non-empty result.
 33017  func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
 33018  	var ids_ []string
 33019  	for _, v := range ids {
 33020  		ids_ = append(ids_, fmt.Sprint(v))
 33021  	}
 33022  	c.urlParams_.SetMulti("ids", ids_)
 33023  	return c
 33024  }
 33025  
 33026  // MaxResults sets the optional parameter "maxResults": Maximum number
 33027  // of results to return.
 33028  func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
 33029  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 33030  	return c
 33031  }
 33032  
 33033  // PageToken sets the optional parameter "pageToken": Value of the
 33034  // nextPageToken from the previous result page.
 33035  func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
 33036  	c.urlParams_.Set("pageToken", pageToken)
 33037  	return c
 33038  }
 33039  
 33040  // SearchString sets the optional parameter "searchString": Allows
 33041  // searching for objects by name or ID. Wildcards (*) are allowed. For
 33042  // example, "floodlightactivity*2015" will return objects with names
 33043  // like "floodlightactivity June 2015", "floodlightactivity April 2015",
 33044  // or simply "floodlightactivity 2015". Most of the searches also add
 33045  // wildcards implicitly at the start and the end of the search string.
 33046  // For example, a search string of "floodlightactivity" will match
 33047  // objects with name "my floodlightactivity activity",
 33048  // "floodlightactivity 2015", or simply "floodlightactivity".
 33049  func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
 33050  	c.urlParams_.Set("searchString", searchString)
 33051  	return c
 33052  }
 33053  
 33054  // SortField sets the optional parameter "sortField": Field by which to
 33055  // sort the list.
 33056  //
 33057  // Possible values:
 33058  //
 33059  //	"ID" (default)
 33060  //	"NAME"
 33061  func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
 33062  	c.urlParams_.Set("sortField", sortField)
 33063  	return c
 33064  }
 33065  
 33066  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 33067  // results.
 33068  //
 33069  // Possible values:
 33070  //
 33071  //	"ASCENDING" (default)
 33072  //	"DESCENDING"
 33073  func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
 33074  	c.urlParams_.Set("sortOrder", sortOrder)
 33075  	return c
 33076  }
 33077  
 33078  // TagString sets the optional parameter "tagString": Select only
 33079  // floodlight activities with the specified tag string.
 33080  func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
 33081  	c.urlParams_.Set("tagString", tagString)
 33082  	return c
 33083  }
 33084  
 33085  // Fields allows partial responses to be retrieved. See
 33086  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33087  // for more information.
 33088  func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
 33089  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33090  	return c
 33091  }
 33092  
 33093  // IfNoneMatch sets the optional parameter which makes the operation
 33094  // fail if the object's ETag matches the given value. This is useful for
 33095  // getting updates only after the object has changed since the last
 33096  // request. Use googleapi.IsNotModified to check whether the response
 33097  // error from Do is the result of In-None-Match.
 33098  func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
 33099  	c.ifNoneMatch_ = entityTag
 33100  	return c
 33101  }
 33102  
 33103  // Context sets the context to be used in this call's Do method. Any
 33104  // pending HTTP request will be aborted if the provided context is
 33105  // canceled.
 33106  func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 33107  	c.ctx_ = ctx
 33108  	return c
 33109  }
 33110  
 33111  // Header returns an http.Header that can be modified by the caller to
 33112  // add HTTP headers to the request.
 33113  func (c *FloodlightActivitiesListCall) Header() http.Header {
 33114  	if c.header_ == nil {
 33115  		c.header_ = make(http.Header)
 33116  	}
 33117  	return c.header_
 33118  }
 33119  
 33120  func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 33121  	reqHeaders := make(http.Header)
 33122  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33123  	for k, v := range c.header_ {
 33124  		reqHeaders[k] = v
 33125  	}
 33126  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33127  	if c.ifNoneMatch_ != "" {
 33128  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33129  	}
 33130  	var body io.Reader = nil
 33131  	c.urlParams_.Set("alt", alt)
 33132  	c.urlParams_.Set("prettyPrint", "false")
 33133  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33134  	urls += "?" + c.urlParams_.Encode()
 33135  	req, err := http.NewRequest("GET", urls, body)
 33136  	if err != nil {
 33137  		return nil, err
 33138  	}
 33139  	req.Header = reqHeaders
 33140  	googleapi.Expand(req.URL, map[string]string{
 33141  		"profileId": strconv.FormatInt(c.profileId, 10),
 33142  	})
 33143  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33144  }
 33145  
 33146  // Do executes the "dfareporting.floodlightActivities.list" call.
 33147  // Exactly one of *FloodlightActivitiesListResponse or error will be
 33148  // non-nil. Any non-2xx status code is an error. Response headers are in
 33149  // either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
 33150  // a response was returned at all) in error.(*googleapi.Error).Header.
 33151  // Use googleapi.IsNotModified to check whether the returned error was
 33152  // because http.StatusNotModified was returned.
 33153  func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
 33154  	gensupport.SetOptions(c.urlParams_, opts...)
 33155  	res, err := c.doRequest("json")
 33156  	if res != nil && res.StatusCode == http.StatusNotModified {
 33157  		if res.Body != nil {
 33158  			res.Body.Close()
 33159  		}
 33160  		return nil, &googleapi.Error{
 33161  			Code:   res.StatusCode,
 33162  			Header: res.Header,
 33163  		}
 33164  	}
 33165  	if err != nil {
 33166  		return nil, err
 33167  	}
 33168  	defer googleapi.CloseBody(res)
 33169  	if err := googleapi.CheckResponse(res); err != nil {
 33170  		return nil, err
 33171  	}
 33172  	ret := &FloodlightActivitiesListResponse{
 33173  		ServerResponse: googleapi.ServerResponse{
 33174  			Header:         res.Header,
 33175  			HTTPStatusCode: res.StatusCode,
 33176  		},
 33177  	}
 33178  	target := &ret
 33179  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33180  		return nil, err
 33181  	}
 33182  	return ret, nil
 33183  	// {
 33184  	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
 33185  	//   "httpMethod": "GET",
 33186  	//   "id": "dfareporting.floodlightActivities.list",
 33187  	//   "parameterOrder": [
 33188  	//     "profileId"
 33189  	//   ],
 33190  	//   "parameters": {
 33191  	//     "advertiserId": {
 33192  	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 33193  	//       "format": "int64",
 33194  	//       "location": "query",
 33195  	//       "type": "string"
 33196  	//     },
 33197  	//     "floodlightActivityGroupIds": {
 33198  	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
 33199  	//       "format": "int64",
 33200  	//       "location": "query",
 33201  	//       "repeated": true,
 33202  	//       "type": "string"
 33203  	//     },
 33204  	//     "floodlightActivityGroupName": {
 33205  	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
 33206  	//       "location": "query",
 33207  	//       "type": "string"
 33208  	//     },
 33209  	//     "floodlightActivityGroupTagString": {
 33210  	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
 33211  	//       "location": "query",
 33212  	//       "type": "string"
 33213  	//     },
 33214  	//     "floodlightActivityGroupType": {
 33215  	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
 33216  	//       "enum": [
 33217  	//         "COUNTER",
 33218  	//         "SALE"
 33219  	//       ],
 33220  	//       "enumDescriptions": [
 33221  	//         "",
 33222  	//         ""
 33223  	//       ],
 33224  	//       "location": "query",
 33225  	//       "type": "string"
 33226  	//     },
 33227  	//     "floodlightConfigurationId": {
 33228  	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 33229  	//       "format": "int64",
 33230  	//       "location": "query",
 33231  	//       "type": "string"
 33232  	//     },
 33233  	//     "ids": {
 33234  	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 33235  	//       "format": "int64",
 33236  	//       "location": "query",
 33237  	//       "repeated": true,
 33238  	//       "type": "string"
 33239  	//     },
 33240  	//     "maxResults": {
 33241  	//       "default": "1000",
 33242  	//       "description": "Maximum number of results to return.",
 33243  	//       "format": "int32",
 33244  	//       "location": "query",
 33245  	//       "maximum": "1000",
 33246  	//       "minimum": "0",
 33247  	//       "type": "integer"
 33248  	//     },
 33249  	//     "pageToken": {
 33250  	//       "description": "Value of the nextPageToken from the previous result page.",
 33251  	//       "location": "query",
 33252  	//       "type": "string"
 33253  	//     },
 33254  	//     "profileId": {
 33255  	//       "description": "User profile ID associated with this request.",
 33256  	//       "format": "int64",
 33257  	//       "location": "path",
 33258  	//       "required": true,
 33259  	//       "type": "string"
 33260  	//     },
 33261  	//     "searchString": {
 33262  	//       "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\".",
 33263  	//       "location": "query",
 33264  	//       "type": "string"
 33265  	//     },
 33266  	//     "sortField": {
 33267  	//       "default": "ID",
 33268  	//       "description": "Field by which to sort the list.",
 33269  	//       "enum": [
 33270  	//         "ID",
 33271  	//         "NAME"
 33272  	//       ],
 33273  	//       "enumDescriptions": [
 33274  	//         "",
 33275  	//         ""
 33276  	//       ],
 33277  	//       "location": "query",
 33278  	//       "type": "string"
 33279  	//     },
 33280  	//     "sortOrder": {
 33281  	//       "default": "ASCENDING",
 33282  	//       "description": "Order of sorted results.",
 33283  	//       "enum": [
 33284  	//         "ASCENDING",
 33285  	//         "DESCENDING"
 33286  	//       ],
 33287  	//       "enumDescriptions": [
 33288  	//         "",
 33289  	//         ""
 33290  	//       ],
 33291  	//       "location": "query",
 33292  	//       "type": "string"
 33293  	//     },
 33294  	//     "tagString": {
 33295  	//       "description": "Select only floodlight activities with the specified tag string.",
 33296  	//       "location": "query",
 33297  	//       "type": "string"
 33298  	//     }
 33299  	//   },
 33300  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33301  	//   "response": {
 33302  	//     "$ref": "FloodlightActivitiesListResponse"
 33303  	//   },
 33304  	//   "scopes": [
 33305  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33306  	//   ]
 33307  	// }
 33308  
 33309  }
 33310  
 33311  // Pages invokes f for each page of results.
 33312  // A non-nil error returned from f will halt the iteration.
 33313  // The provided context supersedes any context provided to the Context method.
 33314  func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
 33315  	c.ctx_ = ctx
 33316  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 33317  	for {
 33318  		x, err := c.Do()
 33319  		if err != nil {
 33320  			return err
 33321  		}
 33322  		if err := f(x); err != nil {
 33323  			return err
 33324  		}
 33325  		if x.NextPageToken == "" {
 33326  			return nil
 33327  		}
 33328  		c.PageToken(x.NextPageToken)
 33329  	}
 33330  }
 33331  
 33332  // method id "dfareporting.floodlightActivities.patch":
 33333  
 33334  type FloodlightActivitiesPatchCall struct {
 33335  	s                  *Service
 33336  	profileId          int64
 33337  	floodlightactivity *FloodlightActivity
 33338  	urlParams_         gensupport.URLParams
 33339  	ctx_               context.Context
 33340  	header_            http.Header
 33341  }
 33342  
 33343  // Patch: Updates an existing floodlight activity. This method supports
 33344  // patch semantics.
 33345  func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
 33346  	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33347  	c.profileId = profileId
 33348  	c.urlParams_.Set("id", fmt.Sprint(id))
 33349  	c.floodlightactivity = floodlightactivity
 33350  	return c
 33351  }
 33352  
 33353  // Fields allows partial responses to be retrieved. See
 33354  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33355  // for more information.
 33356  func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
 33357  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33358  	return c
 33359  }
 33360  
 33361  // Context sets the context to be used in this call's Do method. Any
 33362  // pending HTTP request will be aborted if the provided context is
 33363  // canceled.
 33364  func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 33365  	c.ctx_ = ctx
 33366  	return c
 33367  }
 33368  
 33369  // Header returns an http.Header that can be modified by the caller to
 33370  // add HTTP headers to the request.
 33371  func (c *FloodlightActivitiesPatchCall) Header() http.Header {
 33372  	if c.header_ == nil {
 33373  		c.header_ = make(http.Header)
 33374  	}
 33375  	return c.header_
 33376  }
 33377  
 33378  func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
 33379  	reqHeaders := make(http.Header)
 33380  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33381  	for k, v := range c.header_ {
 33382  		reqHeaders[k] = v
 33383  	}
 33384  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33385  	var body io.Reader = nil
 33386  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 33387  	if err != nil {
 33388  		return nil, err
 33389  	}
 33390  	reqHeaders.Set("Content-Type", "application/json")
 33391  	c.urlParams_.Set("alt", alt)
 33392  	c.urlParams_.Set("prettyPrint", "false")
 33393  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33394  	urls += "?" + c.urlParams_.Encode()
 33395  	req, err := http.NewRequest("PATCH", urls, body)
 33396  	if err != nil {
 33397  		return nil, err
 33398  	}
 33399  	req.Header = reqHeaders
 33400  	googleapi.Expand(req.URL, map[string]string{
 33401  		"profileId": strconv.FormatInt(c.profileId, 10),
 33402  	})
 33403  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33404  }
 33405  
 33406  // Do executes the "dfareporting.floodlightActivities.patch" call.
 33407  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 33408  // non-2xx status code is an error. Response headers are in either
 33409  // *FloodlightActivity.ServerResponse.Header or (if a response was
 33410  // returned at all) in error.(*googleapi.Error).Header. Use
 33411  // googleapi.IsNotModified to check whether the returned error was
 33412  // because http.StatusNotModified was returned.
 33413  func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 33414  	gensupport.SetOptions(c.urlParams_, opts...)
 33415  	res, err := c.doRequest("json")
 33416  	if res != nil && res.StatusCode == http.StatusNotModified {
 33417  		if res.Body != nil {
 33418  			res.Body.Close()
 33419  		}
 33420  		return nil, &googleapi.Error{
 33421  			Code:   res.StatusCode,
 33422  			Header: res.Header,
 33423  		}
 33424  	}
 33425  	if err != nil {
 33426  		return nil, err
 33427  	}
 33428  	defer googleapi.CloseBody(res)
 33429  	if err := googleapi.CheckResponse(res); err != nil {
 33430  		return nil, err
 33431  	}
 33432  	ret := &FloodlightActivity{
 33433  		ServerResponse: googleapi.ServerResponse{
 33434  			Header:         res.Header,
 33435  			HTTPStatusCode: res.StatusCode,
 33436  		},
 33437  	}
 33438  	target := &ret
 33439  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33440  		return nil, err
 33441  	}
 33442  	return ret, nil
 33443  	// {
 33444  	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
 33445  	//   "httpMethod": "PATCH",
 33446  	//   "id": "dfareporting.floodlightActivities.patch",
 33447  	//   "parameterOrder": [
 33448  	//     "profileId",
 33449  	//     "id"
 33450  	//   ],
 33451  	//   "parameters": {
 33452  	//     "id": {
 33453  	//       "description": "Floodlight activity ID.",
 33454  	//       "format": "int64",
 33455  	//       "location": "query",
 33456  	//       "required": true,
 33457  	//       "type": "string"
 33458  	//     },
 33459  	//     "profileId": {
 33460  	//       "description": "User profile ID associated with this request.",
 33461  	//       "format": "int64",
 33462  	//       "location": "path",
 33463  	//       "required": true,
 33464  	//       "type": "string"
 33465  	//     }
 33466  	//   },
 33467  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33468  	//   "request": {
 33469  	//     "$ref": "FloodlightActivity"
 33470  	//   },
 33471  	//   "response": {
 33472  	//     "$ref": "FloodlightActivity"
 33473  	//   },
 33474  	//   "scopes": [
 33475  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33476  	//   ]
 33477  	// }
 33478  
 33479  }
 33480  
 33481  // method id "dfareporting.floodlightActivities.update":
 33482  
 33483  type FloodlightActivitiesUpdateCall struct {
 33484  	s                  *Service
 33485  	profileId          int64
 33486  	floodlightactivity *FloodlightActivity
 33487  	urlParams_         gensupport.URLParams
 33488  	ctx_               context.Context
 33489  	header_            http.Header
 33490  }
 33491  
 33492  // Update: Updates an existing floodlight activity.
 33493  func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
 33494  	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33495  	c.profileId = profileId
 33496  	c.floodlightactivity = floodlightactivity
 33497  	return c
 33498  }
 33499  
 33500  // Fields allows partial responses to be retrieved. See
 33501  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33502  // for more information.
 33503  func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
 33504  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33505  	return c
 33506  }
 33507  
 33508  // Context sets the context to be used in this call's Do method. Any
 33509  // pending HTTP request will be aborted if the provided context is
 33510  // canceled.
 33511  func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 33512  	c.ctx_ = ctx
 33513  	return c
 33514  }
 33515  
 33516  // Header returns an http.Header that can be modified by the caller to
 33517  // add HTTP headers to the request.
 33518  func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
 33519  	if c.header_ == nil {
 33520  		c.header_ = make(http.Header)
 33521  	}
 33522  	return c.header_
 33523  }
 33524  
 33525  func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 33526  	reqHeaders := make(http.Header)
 33527  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33528  	for k, v := range c.header_ {
 33529  		reqHeaders[k] = v
 33530  	}
 33531  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33532  	var body io.Reader = nil
 33533  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 33534  	if err != nil {
 33535  		return nil, err
 33536  	}
 33537  	reqHeaders.Set("Content-Type", "application/json")
 33538  	c.urlParams_.Set("alt", alt)
 33539  	c.urlParams_.Set("prettyPrint", "false")
 33540  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33541  	urls += "?" + c.urlParams_.Encode()
 33542  	req, err := http.NewRequest("PUT", urls, body)
 33543  	if err != nil {
 33544  		return nil, err
 33545  	}
 33546  	req.Header = reqHeaders
 33547  	googleapi.Expand(req.URL, map[string]string{
 33548  		"profileId": strconv.FormatInt(c.profileId, 10),
 33549  	})
 33550  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33551  }
 33552  
 33553  // Do executes the "dfareporting.floodlightActivities.update" call.
 33554  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 33555  // non-2xx status code is an error. Response headers are in either
 33556  // *FloodlightActivity.ServerResponse.Header or (if a response was
 33557  // returned at all) in error.(*googleapi.Error).Header. Use
 33558  // googleapi.IsNotModified to check whether the returned error was
 33559  // because http.StatusNotModified was returned.
 33560  func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 33561  	gensupport.SetOptions(c.urlParams_, opts...)
 33562  	res, err := c.doRequest("json")
 33563  	if res != nil && res.StatusCode == http.StatusNotModified {
 33564  		if res.Body != nil {
 33565  			res.Body.Close()
 33566  		}
 33567  		return nil, &googleapi.Error{
 33568  			Code:   res.StatusCode,
 33569  			Header: res.Header,
 33570  		}
 33571  	}
 33572  	if err != nil {
 33573  		return nil, err
 33574  	}
 33575  	defer googleapi.CloseBody(res)
 33576  	if err := googleapi.CheckResponse(res); err != nil {
 33577  		return nil, err
 33578  	}
 33579  	ret := &FloodlightActivity{
 33580  		ServerResponse: googleapi.ServerResponse{
 33581  			Header:         res.Header,
 33582  			HTTPStatusCode: res.StatusCode,
 33583  		},
 33584  	}
 33585  	target := &ret
 33586  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33587  		return nil, err
 33588  	}
 33589  	return ret, nil
 33590  	// {
 33591  	//   "description": "Updates an existing floodlight activity.",
 33592  	//   "httpMethod": "PUT",
 33593  	//   "id": "dfareporting.floodlightActivities.update",
 33594  	//   "parameterOrder": [
 33595  	//     "profileId"
 33596  	//   ],
 33597  	//   "parameters": {
 33598  	//     "profileId": {
 33599  	//       "description": "User profile ID associated with this request.",
 33600  	//       "format": "int64",
 33601  	//       "location": "path",
 33602  	//       "required": true,
 33603  	//       "type": "string"
 33604  	//     }
 33605  	//   },
 33606  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33607  	//   "request": {
 33608  	//     "$ref": "FloodlightActivity"
 33609  	//   },
 33610  	//   "response": {
 33611  	//     "$ref": "FloodlightActivity"
 33612  	//   },
 33613  	//   "scopes": [
 33614  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33615  	//   ]
 33616  	// }
 33617  
 33618  }
 33619  
 33620  // method id "dfareporting.floodlightActivityGroups.get":
 33621  
 33622  type FloodlightActivityGroupsGetCall struct {
 33623  	s            *Service
 33624  	profileId    int64
 33625  	id           int64
 33626  	urlParams_   gensupport.URLParams
 33627  	ifNoneMatch_ string
 33628  	ctx_         context.Context
 33629  	header_      http.Header
 33630  }
 33631  
 33632  // Get: Gets one floodlight activity group by ID.
 33633  func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
 33634  	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33635  	c.profileId = profileId
 33636  	c.id = id
 33637  	return c
 33638  }
 33639  
 33640  // Fields allows partial responses to be retrieved. See
 33641  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33642  // for more information.
 33643  func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
 33644  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33645  	return c
 33646  }
 33647  
 33648  // IfNoneMatch sets the optional parameter which makes the operation
 33649  // fail if the object's ETag matches the given value. This is useful for
 33650  // getting updates only after the object has changed since the last
 33651  // request. Use googleapi.IsNotModified to check whether the response
 33652  // error from Do is the result of In-None-Match.
 33653  func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
 33654  	c.ifNoneMatch_ = entityTag
 33655  	return c
 33656  }
 33657  
 33658  // Context sets the context to be used in this call's Do method. Any
 33659  // pending HTTP request will be aborted if the provided context is
 33660  // canceled.
 33661  func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 33662  	c.ctx_ = ctx
 33663  	return c
 33664  }
 33665  
 33666  // Header returns an http.Header that can be modified by the caller to
 33667  // add HTTP headers to the request.
 33668  func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
 33669  	if c.header_ == nil {
 33670  		c.header_ = make(http.Header)
 33671  	}
 33672  	return c.header_
 33673  }
 33674  
 33675  func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 33676  	reqHeaders := make(http.Header)
 33677  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33678  	for k, v := range c.header_ {
 33679  		reqHeaders[k] = v
 33680  	}
 33681  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33682  	if c.ifNoneMatch_ != "" {
 33683  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33684  	}
 33685  	var body io.Reader = nil
 33686  	c.urlParams_.Set("alt", alt)
 33687  	c.urlParams_.Set("prettyPrint", "false")
 33688  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
 33689  	urls += "?" + c.urlParams_.Encode()
 33690  	req, err := http.NewRequest("GET", urls, body)
 33691  	if err != nil {
 33692  		return nil, err
 33693  	}
 33694  	req.Header = reqHeaders
 33695  	googleapi.Expand(req.URL, map[string]string{
 33696  		"profileId": strconv.FormatInt(c.profileId, 10),
 33697  		"id":        strconv.FormatInt(c.id, 10),
 33698  	})
 33699  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33700  }
 33701  
 33702  // Do executes the "dfareporting.floodlightActivityGroups.get" call.
 33703  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33704  // non-2xx status code is an error. Response headers are in either
 33705  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33706  // returned at all) in error.(*googleapi.Error).Header. Use
 33707  // googleapi.IsNotModified to check whether the returned error was
 33708  // because http.StatusNotModified was returned.
 33709  func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33710  	gensupport.SetOptions(c.urlParams_, opts...)
 33711  	res, err := c.doRequest("json")
 33712  	if res != nil && res.StatusCode == http.StatusNotModified {
 33713  		if res.Body != nil {
 33714  			res.Body.Close()
 33715  		}
 33716  		return nil, &googleapi.Error{
 33717  			Code:   res.StatusCode,
 33718  			Header: res.Header,
 33719  		}
 33720  	}
 33721  	if err != nil {
 33722  		return nil, err
 33723  	}
 33724  	defer googleapi.CloseBody(res)
 33725  	if err := googleapi.CheckResponse(res); err != nil {
 33726  		return nil, err
 33727  	}
 33728  	ret := &FloodlightActivityGroup{
 33729  		ServerResponse: googleapi.ServerResponse{
 33730  			Header:         res.Header,
 33731  			HTTPStatusCode: res.StatusCode,
 33732  		},
 33733  	}
 33734  	target := &ret
 33735  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33736  		return nil, err
 33737  	}
 33738  	return ret, nil
 33739  	// {
 33740  	//   "description": "Gets one floodlight activity group by ID.",
 33741  	//   "httpMethod": "GET",
 33742  	//   "id": "dfareporting.floodlightActivityGroups.get",
 33743  	//   "parameterOrder": [
 33744  	//     "profileId",
 33745  	//     "id"
 33746  	//   ],
 33747  	//   "parameters": {
 33748  	//     "id": {
 33749  	//       "description": "Floodlight activity Group ID.",
 33750  	//       "format": "int64",
 33751  	//       "location": "path",
 33752  	//       "required": true,
 33753  	//       "type": "string"
 33754  	//     },
 33755  	//     "profileId": {
 33756  	//       "description": "User profile ID associated with this request.",
 33757  	//       "format": "int64",
 33758  	//       "location": "path",
 33759  	//       "required": true,
 33760  	//       "type": "string"
 33761  	//     }
 33762  	//   },
 33763  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 33764  	//   "response": {
 33765  	//     "$ref": "FloodlightActivityGroup"
 33766  	//   },
 33767  	//   "scopes": [
 33768  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33769  	//   ]
 33770  	// }
 33771  
 33772  }
 33773  
 33774  // method id "dfareporting.floodlightActivityGroups.insert":
 33775  
 33776  type FloodlightActivityGroupsInsertCall struct {
 33777  	s                       *Service
 33778  	profileId               int64
 33779  	floodlightactivitygroup *FloodlightActivityGroup
 33780  	urlParams_              gensupport.URLParams
 33781  	ctx_                    context.Context
 33782  	header_                 http.Header
 33783  }
 33784  
 33785  // Insert: Inserts a new floodlight activity group.
 33786  func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
 33787  	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33788  	c.profileId = profileId
 33789  	c.floodlightactivitygroup = floodlightactivitygroup
 33790  	return c
 33791  }
 33792  
 33793  // Fields allows partial responses to be retrieved. See
 33794  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33795  // for more information.
 33796  func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
 33797  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33798  	return c
 33799  }
 33800  
 33801  // Context sets the context to be used in this call's Do method. Any
 33802  // pending HTTP request will be aborted if the provided context is
 33803  // canceled.
 33804  func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 33805  	c.ctx_ = ctx
 33806  	return c
 33807  }
 33808  
 33809  // Header returns an http.Header that can be modified by the caller to
 33810  // add HTTP headers to the request.
 33811  func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
 33812  	if c.header_ == nil {
 33813  		c.header_ = make(http.Header)
 33814  	}
 33815  	return c.header_
 33816  }
 33817  
 33818  func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 33819  	reqHeaders := make(http.Header)
 33820  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 33821  	for k, v := range c.header_ {
 33822  		reqHeaders[k] = v
 33823  	}
 33824  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33825  	var body io.Reader = nil
 33826  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 33827  	if err != nil {
 33828  		return nil, err
 33829  	}
 33830  	reqHeaders.Set("Content-Type", "application/json")
 33831  	c.urlParams_.Set("alt", alt)
 33832  	c.urlParams_.Set("prettyPrint", "false")
 33833  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33834  	urls += "?" + c.urlParams_.Encode()
 33835  	req, err := http.NewRequest("POST", urls, body)
 33836  	if err != nil {
 33837  		return nil, err
 33838  	}
 33839  	req.Header = reqHeaders
 33840  	googleapi.Expand(req.URL, map[string]string{
 33841  		"profileId": strconv.FormatInt(c.profileId, 10),
 33842  	})
 33843  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33844  }
 33845  
 33846  // Do executes the "dfareporting.floodlightActivityGroups.insert" call.
 33847  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33848  // non-2xx status code is an error. Response headers are in either
 33849  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33850  // returned at all) in error.(*googleapi.Error).Header. Use
 33851  // googleapi.IsNotModified to check whether the returned error was
 33852  // because http.StatusNotModified was returned.
 33853  func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33854  	gensupport.SetOptions(c.urlParams_, opts...)
 33855  	res, err := c.doRequest("json")
 33856  	if res != nil && res.StatusCode == http.StatusNotModified {
 33857  		if res.Body != nil {
 33858  			res.Body.Close()
 33859  		}
 33860  		return nil, &googleapi.Error{
 33861  			Code:   res.StatusCode,
 33862  			Header: res.Header,
 33863  		}
 33864  	}
 33865  	if err != nil {
 33866  		return nil, err
 33867  	}
 33868  	defer googleapi.CloseBody(res)
 33869  	if err := googleapi.CheckResponse(res); err != nil {
 33870  		return nil, err
 33871  	}
 33872  	ret := &FloodlightActivityGroup{
 33873  		ServerResponse: googleapi.ServerResponse{
 33874  			Header:         res.Header,
 33875  			HTTPStatusCode: res.StatusCode,
 33876  		},
 33877  	}
 33878  	target := &ret
 33879  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33880  		return nil, err
 33881  	}
 33882  	return ret, nil
 33883  	// {
 33884  	//   "description": "Inserts a new floodlight activity group.",
 33885  	//   "httpMethod": "POST",
 33886  	//   "id": "dfareporting.floodlightActivityGroups.insert",
 33887  	//   "parameterOrder": [
 33888  	//     "profileId"
 33889  	//   ],
 33890  	//   "parameters": {
 33891  	//     "profileId": {
 33892  	//       "description": "User profile ID associated with this request.",
 33893  	//       "format": "int64",
 33894  	//       "location": "path",
 33895  	//       "required": true,
 33896  	//       "type": "string"
 33897  	//     }
 33898  	//   },
 33899  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33900  	//   "request": {
 33901  	//     "$ref": "FloodlightActivityGroup"
 33902  	//   },
 33903  	//   "response": {
 33904  	//     "$ref": "FloodlightActivityGroup"
 33905  	//   },
 33906  	//   "scopes": [
 33907  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33908  	//   ]
 33909  	// }
 33910  
 33911  }
 33912  
 33913  // method id "dfareporting.floodlightActivityGroups.list":
 33914  
 33915  type FloodlightActivityGroupsListCall struct {
 33916  	s            *Service
 33917  	profileId    int64
 33918  	urlParams_   gensupport.URLParams
 33919  	ifNoneMatch_ string
 33920  	ctx_         context.Context
 33921  	header_      http.Header
 33922  }
 33923  
 33924  // List: Retrieves a list of floodlight activity groups, possibly
 33925  // filtered. This method supports paging.
 33926  func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
 33927  	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33928  	c.profileId = profileId
 33929  	return c
 33930  }
 33931  
 33932  // AdvertiserId sets the optional parameter "advertiserId": Select only
 33933  // floodlight activity groups with the specified advertiser ID. Must
 33934  // specify either advertiserId or floodlightConfigurationId for a
 33935  // non-empty result.
 33936  func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
 33937  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33938  	return c
 33939  }
 33940  
 33941  // FloodlightConfigurationId sets the optional parameter
 33942  // "floodlightConfigurationId": Select only floodlight activity groups
 33943  // with the specified floodlight configuration ID. Must specify either
 33944  // advertiserId, or floodlightConfigurationId for a non-empty result.
 33945  func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
 33946  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 33947  	return c
 33948  }
 33949  
 33950  // Ids sets the optional parameter "ids": Select only floodlight
 33951  // activity groups with the specified IDs. Must specify either
 33952  // advertiserId or floodlightConfigurationId for a non-empty result.
 33953  func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
 33954  	var ids_ []string
 33955  	for _, v := range ids {
 33956  		ids_ = append(ids_, fmt.Sprint(v))
 33957  	}
 33958  	c.urlParams_.SetMulti("ids", ids_)
 33959  	return c
 33960  }
 33961  
 33962  // MaxResults sets the optional parameter "maxResults": Maximum number
 33963  // of results to return.
 33964  func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
 33965  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 33966  	return c
 33967  }
 33968  
 33969  // PageToken sets the optional parameter "pageToken": Value of the
 33970  // nextPageToken from the previous result page.
 33971  func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
 33972  	c.urlParams_.Set("pageToken", pageToken)
 33973  	return c
 33974  }
 33975  
 33976  // SearchString sets the optional parameter "searchString": Allows
 33977  // searching for objects by name or ID. Wildcards (*) are allowed. For
 33978  // example, "floodlightactivitygroup*2015" will return objects with
 33979  // names like "floodlightactivitygroup June 2015",
 33980  // "floodlightactivitygroup April 2015", or simply
 33981  // "floodlightactivitygroup 2015". Most of the searches also add
 33982  // wildcards implicitly at the start and the end of the search string.
 33983  // For example, a search string of "floodlightactivitygroup" will match
 33984  // objects with name "my floodlightactivitygroup activity",
 33985  // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 33986  func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
 33987  	c.urlParams_.Set("searchString", searchString)
 33988  	return c
 33989  }
 33990  
 33991  // SortField sets the optional parameter "sortField": Field by which to
 33992  // sort the list.
 33993  //
 33994  // Possible values:
 33995  //
 33996  //	"ID" (default)
 33997  //	"NAME"
 33998  func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
 33999  	c.urlParams_.Set("sortField", sortField)
 34000  	return c
 34001  }
 34002  
 34003  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 34004  // results.
 34005  //
 34006  // Possible values:
 34007  //
 34008  //	"ASCENDING" (default)
 34009  //	"DESCENDING"
 34010  func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
 34011  	c.urlParams_.Set("sortOrder", sortOrder)
 34012  	return c
 34013  }
 34014  
 34015  // Type sets the optional parameter "type": Select only floodlight
 34016  // activity groups with the specified floodlight activity group type.
 34017  //
 34018  // Possible values:
 34019  //
 34020  //	"COUNTER"
 34021  //	"SALE"
 34022  func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
 34023  	c.urlParams_.Set("type", type_)
 34024  	return c
 34025  }
 34026  
 34027  // Fields allows partial responses to be retrieved. See
 34028  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34029  // for more information.
 34030  func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
 34031  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34032  	return c
 34033  }
 34034  
 34035  // IfNoneMatch sets the optional parameter which makes the operation
 34036  // fail if the object's ETag matches the given value. This is useful for
 34037  // getting updates only after the object has changed since the last
 34038  // request. Use googleapi.IsNotModified to check whether the response
 34039  // error from Do is the result of In-None-Match.
 34040  func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
 34041  	c.ifNoneMatch_ = entityTag
 34042  	return c
 34043  }
 34044  
 34045  // Context sets the context to be used in this call's Do method. Any
 34046  // pending HTTP request will be aborted if the provided context is
 34047  // canceled.
 34048  func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 34049  	c.ctx_ = ctx
 34050  	return c
 34051  }
 34052  
 34053  // Header returns an http.Header that can be modified by the caller to
 34054  // add HTTP headers to the request.
 34055  func (c *FloodlightActivityGroupsListCall) Header() http.Header {
 34056  	if c.header_ == nil {
 34057  		c.header_ = make(http.Header)
 34058  	}
 34059  	return c.header_
 34060  }
 34061  
 34062  func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 34063  	reqHeaders := make(http.Header)
 34064  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34065  	for k, v := range c.header_ {
 34066  		reqHeaders[k] = v
 34067  	}
 34068  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34069  	if c.ifNoneMatch_ != "" {
 34070  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34071  	}
 34072  	var body io.Reader = nil
 34073  	c.urlParams_.Set("alt", alt)
 34074  	c.urlParams_.Set("prettyPrint", "false")
 34075  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34076  	urls += "?" + c.urlParams_.Encode()
 34077  	req, err := http.NewRequest("GET", urls, body)
 34078  	if err != nil {
 34079  		return nil, err
 34080  	}
 34081  	req.Header = reqHeaders
 34082  	googleapi.Expand(req.URL, map[string]string{
 34083  		"profileId": strconv.FormatInt(c.profileId, 10),
 34084  	})
 34085  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34086  }
 34087  
 34088  // Do executes the "dfareporting.floodlightActivityGroups.list" call.
 34089  // Exactly one of *FloodlightActivityGroupsListResponse or error will be
 34090  // non-nil. Any non-2xx status code is an error. Response headers are in
 34091  // either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
 34092  // (if a response was returned at all) in
 34093  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34094  // whether the returned error was because http.StatusNotModified was
 34095  // returned.
 34096  func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
 34097  	gensupport.SetOptions(c.urlParams_, opts...)
 34098  	res, err := c.doRequest("json")
 34099  	if res != nil && res.StatusCode == http.StatusNotModified {
 34100  		if res.Body != nil {
 34101  			res.Body.Close()
 34102  		}
 34103  		return nil, &googleapi.Error{
 34104  			Code:   res.StatusCode,
 34105  			Header: res.Header,
 34106  		}
 34107  	}
 34108  	if err != nil {
 34109  		return nil, err
 34110  	}
 34111  	defer googleapi.CloseBody(res)
 34112  	if err := googleapi.CheckResponse(res); err != nil {
 34113  		return nil, err
 34114  	}
 34115  	ret := &FloodlightActivityGroupsListResponse{
 34116  		ServerResponse: googleapi.ServerResponse{
 34117  			Header:         res.Header,
 34118  			HTTPStatusCode: res.StatusCode,
 34119  		},
 34120  	}
 34121  	target := &ret
 34122  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34123  		return nil, err
 34124  	}
 34125  	return ret, nil
 34126  	// {
 34127  	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
 34128  	//   "httpMethod": "GET",
 34129  	//   "id": "dfareporting.floodlightActivityGroups.list",
 34130  	//   "parameterOrder": [
 34131  	//     "profileId"
 34132  	//   ],
 34133  	//   "parameters": {
 34134  	//     "advertiserId": {
 34135  	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 34136  	//       "format": "int64",
 34137  	//       "location": "query",
 34138  	//       "type": "string"
 34139  	//     },
 34140  	//     "floodlightConfigurationId": {
 34141  	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
 34142  	//       "format": "int64",
 34143  	//       "location": "query",
 34144  	//       "type": "string"
 34145  	//     },
 34146  	//     "ids": {
 34147  	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 34148  	//       "format": "int64",
 34149  	//       "location": "query",
 34150  	//       "repeated": true,
 34151  	//       "type": "string"
 34152  	//     },
 34153  	//     "maxResults": {
 34154  	//       "default": "1000",
 34155  	//       "description": "Maximum number of results to return.",
 34156  	//       "format": "int32",
 34157  	//       "location": "query",
 34158  	//       "maximum": "1000",
 34159  	//       "minimum": "0",
 34160  	//       "type": "integer"
 34161  	//     },
 34162  	//     "pageToken": {
 34163  	//       "description": "Value of the nextPageToken from the previous result page.",
 34164  	//       "location": "query",
 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  	//     "searchString": {
 34175  	//       "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\".",
 34176  	//       "location": "query",
 34177  	//       "type": "string"
 34178  	//     },
 34179  	//     "sortField": {
 34180  	//       "default": "ID",
 34181  	//       "description": "Field by which to sort the list.",
 34182  	//       "enum": [
 34183  	//         "ID",
 34184  	//         "NAME"
 34185  	//       ],
 34186  	//       "enumDescriptions": [
 34187  	//         "",
 34188  	//         ""
 34189  	//       ],
 34190  	//       "location": "query",
 34191  	//       "type": "string"
 34192  	//     },
 34193  	//     "sortOrder": {
 34194  	//       "default": "ASCENDING",
 34195  	//       "description": "Order of sorted results.",
 34196  	//       "enum": [
 34197  	//         "ASCENDING",
 34198  	//         "DESCENDING"
 34199  	//       ],
 34200  	//       "enumDescriptions": [
 34201  	//         "",
 34202  	//         ""
 34203  	//       ],
 34204  	//       "location": "query",
 34205  	//       "type": "string"
 34206  	//     },
 34207  	//     "type": {
 34208  	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
 34209  	//       "enum": [
 34210  	//         "COUNTER",
 34211  	//         "SALE"
 34212  	//       ],
 34213  	//       "enumDescriptions": [
 34214  	//         "",
 34215  	//         ""
 34216  	//       ],
 34217  	//       "location": "query",
 34218  	//       "type": "string"
 34219  	//     }
 34220  	//   },
 34221  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34222  	//   "response": {
 34223  	//     "$ref": "FloodlightActivityGroupsListResponse"
 34224  	//   },
 34225  	//   "scopes": [
 34226  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34227  	//   ]
 34228  	// }
 34229  
 34230  }
 34231  
 34232  // Pages invokes f for each page of results.
 34233  // A non-nil error returned from f will halt the iteration.
 34234  // The provided context supersedes any context provided to the Context method.
 34235  func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
 34236  	c.ctx_ = ctx
 34237  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 34238  	for {
 34239  		x, err := c.Do()
 34240  		if err != nil {
 34241  			return err
 34242  		}
 34243  		if err := f(x); err != nil {
 34244  			return err
 34245  		}
 34246  		if x.NextPageToken == "" {
 34247  			return nil
 34248  		}
 34249  		c.PageToken(x.NextPageToken)
 34250  	}
 34251  }
 34252  
 34253  // method id "dfareporting.floodlightActivityGroups.patch":
 34254  
 34255  type FloodlightActivityGroupsPatchCall struct {
 34256  	s                       *Service
 34257  	profileId               int64
 34258  	floodlightactivitygroup *FloodlightActivityGroup
 34259  	urlParams_              gensupport.URLParams
 34260  	ctx_                    context.Context
 34261  	header_                 http.Header
 34262  }
 34263  
 34264  // Patch: Updates an existing floodlight activity group. This method
 34265  // supports patch semantics.
 34266  func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
 34267  	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34268  	c.profileId = profileId
 34269  	c.urlParams_.Set("id", fmt.Sprint(id))
 34270  	c.floodlightactivitygroup = floodlightactivitygroup
 34271  	return c
 34272  }
 34273  
 34274  // Fields allows partial responses to be retrieved. See
 34275  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34276  // for more information.
 34277  func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
 34278  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34279  	return c
 34280  }
 34281  
 34282  // Context sets the context to be used in this call's Do method. Any
 34283  // pending HTTP request will be aborted if the provided context is
 34284  // canceled.
 34285  func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 34286  	c.ctx_ = ctx
 34287  	return c
 34288  }
 34289  
 34290  // Header returns an http.Header that can be modified by the caller to
 34291  // add HTTP headers to the request.
 34292  func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
 34293  	if c.header_ == nil {
 34294  		c.header_ = make(http.Header)
 34295  	}
 34296  	return c.header_
 34297  }
 34298  
 34299  func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 34300  	reqHeaders := make(http.Header)
 34301  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34302  	for k, v := range c.header_ {
 34303  		reqHeaders[k] = v
 34304  	}
 34305  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34306  	var body io.Reader = nil
 34307  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 34308  	if err != nil {
 34309  		return nil, err
 34310  	}
 34311  	reqHeaders.Set("Content-Type", "application/json")
 34312  	c.urlParams_.Set("alt", alt)
 34313  	c.urlParams_.Set("prettyPrint", "false")
 34314  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34315  	urls += "?" + c.urlParams_.Encode()
 34316  	req, err := http.NewRequest("PATCH", urls, body)
 34317  	if err != nil {
 34318  		return nil, err
 34319  	}
 34320  	req.Header = reqHeaders
 34321  	googleapi.Expand(req.URL, map[string]string{
 34322  		"profileId": strconv.FormatInt(c.profileId, 10),
 34323  	})
 34324  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34325  }
 34326  
 34327  // Do executes the "dfareporting.floodlightActivityGroups.patch" call.
 34328  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 34329  // non-2xx status code is an error. Response headers are in either
 34330  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 34331  // returned at all) in error.(*googleapi.Error).Header. Use
 34332  // googleapi.IsNotModified to check whether the returned error was
 34333  // because http.StatusNotModified was returned.
 34334  func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 34335  	gensupport.SetOptions(c.urlParams_, opts...)
 34336  	res, err := c.doRequest("json")
 34337  	if res != nil && res.StatusCode == http.StatusNotModified {
 34338  		if res.Body != nil {
 34339  			res.Body.Close()
 34340  		}
 34341  		return nil, &googleapi.Error{
 34342  			Code:   res.StatusCode,
 34343  			Header: res.Header,
 34344  		}
 34345  	}
 34346  	if err != nil {
 34347  		return nil, err
 34348  	}
 34349  	defer googleapi.CloseBody(res)
 34350  	if err := googleapi.CheckResponse(res); err != nil {
 34351  		return nil, err
 34352  	}
 34353  	ret := &FloodlightActivityGroup{
 34354  		ServerResponse: googleapi.ServerResponse{
 34355  			Header:         res.Header,
 34356  			HTTPStatusCode: res.StatusCode,
 34357  		},
 34358  	}
 34359  	target := &ret
 34360  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34361  		return nil, err
 34362  	}
 34363  	return ret, nil
 34364  	// {
 34365  	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
 34366  	//   "httpMethod": "PATCH",
 34367  	//   "id": "dfareporting.floodlightActivityGroups.patch",
 34368  	//   "parameterOrder": [
 34369  	//     "profileId",
 34370  	//     "id"
 34371  	//   ],
 34372  	//   "parameters": {
 34373  	//     "id": {
 34374  	//       "description": "Floodlight activity Group ID.",
 34375  	//       "format": "int64",
 34376  	//       "location": "query",
 34377  	//       "required": true,
 34378  	//       "type": "string"
 34379  	//     },
 34380  	//     "profileId": {
 34381  	//       "description": "User profile ID associated with this request.",
 34382  	//       "format": "int64",
 34383  	//       "location": "path",
 34384  	//       "required": true,
 34385  	//       "type": "string"
 34386  	//     }
 34387  	//   },
 34388  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34389  	//   "request": {
 34390  	//     "$ref": "FloodlightActivityGroup"
 34391  	//   },
 34392  	//   "response": {
 34393  	//     "$ref": "FloodlightActivityGroup"
 34394  	//   },
 34395  	//   "scopes": [
 34396  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34397  	//   ]
 34398  	// }
 34399  
 34400  }
 34401  
 34402  // method id "dfareporting.floodlightActivityGroups.update":
 34403  
 34404  type FloodlightActivityGroupsUpdateCall struct {
 34405  	s                       *Service
 34406  	profileId               int64
 34407  	floodlightactivitygroup *FloodlightActivityGroup
 34408  	urlParams_              gensupport.URLParams
 34409  	ctx_                    context.Context
 34410  	header_                 http.Header
 34411  }
 34412  
 34413  // Update: Updates an existing floodlight activity group.
 34414  func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
 34415  	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34416  	c.profileId = profileId
 34417  	c.floodlightactivitygroup = floodlightactivitygroup
 34418  	return c
 34419  }
 34420  
 34421  // Fields allows partial responses to be retrieved. See
 34422  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34423  // for more information.
 34424  func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
 34425  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34426  	return c
 34427  }
 34428  
 34429  // Context sets the context to be used in this call's Do method. Any
 34430  // pending HTTP request will be aborted if the provided context is
 34431  // canceled.
 34432  func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 34433  	c.ctx_ = ctx
 34434  	return c
 34435  }
 34436  
 34437  // Header returns an http.Header that can be modified by the caller to
 34438  // add HTTP headers to the request.
 34439  func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
 34440  	if c.header_ == nil {
 34441  		c.header_ = make(http.Header)
 34442  	}
 34443  	return c.header_
 34444  }
 34445  
 34446  func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 34447  	reqHeaders := make(http.Header)
 34448  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34449  	for k, v := range c.header_ {
 34450  		reqHeaders[k] = v
 34451  	}
 34452  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34453  	var body io.Reader = nil
 34454  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 34455  	if err != nil {
 34456  		return nil, err
 34457  	}
 34458  	reqHeaders.Set("Content-Type", "application/json")
 34459  	c.urlParams_.Set("alt", alt)
 34460  	c.urlParams_.Set("prettyPrint", "false")
 34461  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34462  	urls += "?" + c.urlParams_.Encode()
 34463  	req, err := http.NewRequest("PUT", urls, body)
 34464  	if err != nil {
 34465  		return nil, err
 34466  	}
 34467  	req.Header = reqHeaders
 34468  	googleapi.Expand(req.URL, map[string]string{
 34469  		"profileId": strconv.FormatInt(c.profileId, 10),
 34470  	})
 34471  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34472  }
 34473  
 34474  // Do executes the "dfareporting.floodlightActivityGroups.update" call.
 34475  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 34476  // non-2xx status code is an error. Response headers are in either
 34477  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 34478  // returned at all) in error.(*googleapi.Error).Header. Use
 34479  // googleapi.IsNotModified to check whether the returned error was
 34480  // because http.StatusNotModified was returned.
 34481  func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 34482  	gensupport.SetOptions(c.urlParams_, opts...)
 34483  	res, err := c.doRequest("json")
 34484  	if res != nil && res.StatusCode == http.StatusNotModified {
 34485  		if res.Body != nil {
 34486  			res.Body.Close()
 34487  		}
 34488  		return nil, &googleapi.Error{
 34489  			Code:   res.StatusCode,
 34490  			Header: res.Header,
 34491  		}
 34492  	}
 34493  	if err != nil {
 34494  		return nil, err
 34495  	}
 34496  	defer googleapi.CloseBody(res)
 34497  	if err := googleapi.CheckResponse(res); err != nil {
 34498  		return nil, err
 34499  	}
 34500  	ret := &FloodlightActivityGroup{
 34501  		ServerResponse: googleapi.ServerResponse{
 34502  			Header:         res.Header,
 34503  			HTTPStatusCode: res.StatusCode,
 34504  		},
 34505  	}
 34506  	target := &ret
 34507  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34508  		return nil, err
 34509  	}
 34510  	return ret, nil
 34511  	// {
 34512  	//   "description": "Updates an existing floodlight activity group.",
 34513  	//   "httpMethod": "PUT",
 34514  	//   "id": "dfareporting.floodlightActivityGroups.update",
 34515  	//   "parameterOrder": [
 34516  	//     "profileId"
 34517  	//   ],
 34518  	//   "parameters": {
 34519  	//     "profileId": {
 34520  	//       "description": "User profile ID associated with this request.",
 34521  	//       "format": "int64",
 34522  	//       "location": "path",
 34523  	//       "required": true,
 34524  	//       "type": "string"
 34525  	//     }
 34526  	//   },
 34527  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34528  	//   "request": {
 34529  	//     "$ref": "FloodlightActivityGroup"
 34530  	//   },
 34531  	//   "response": {
 34532  	//     "$ref": "FloodlightActivityGroup"
 34533  	//   },
 34534  	//   "scopes": [
 34535  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34536  	//   ]
 34537  	// }
 34538  
 34539  }
 34540  
 34541  // method id "dfareporting.floodlightConfigurations.get":
 34542  
 34543  type FloodlightConfigurationsGetCall struct {
 34544  	s            *Service
 34545  	profileId    int64
 34546  	id           int64
 34547  	urlParams_   gensupport.URLParams
 34548  	ifNoneMatch_ string
 34549  	ctx_         context.Context
 34550  	header_      http.Header
 34551  }
 34552  
 34553  // Get: Gets one floodlight configuration by ID.
 34554  func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
 34555  	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34556  	c.profileId = profileId
 34557  	c.id = id
 34558  	return c
 34559  }
 34560  
 34561  // Fields allows partial responses to be retrieved. See
 34562  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34563  // for more information.
 34564  func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
 34565  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34566  	return c
 34567  }
 34568  
 34569  // IfNoneMatch sets the optional parameter which makes the operation
 34570  // fail if the object's ETag matches the given value. This is useful for
 34571  // getting updates only after the object has changed since the last
 34572  // request. Use googleapi.IsNotModified to check whether the response
 34573  // error from Do is the result of In-None-Match.
 34574  func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
 34575  	c.ifNoneMatch_ = entityTag
 34576  	return c
 34577  }
 34578  
 34579  // Context sets the context to be used in this call's Do method. Any
 34580  // pending HTTP request will be aborted if the provided context is
 34581  // canceled.
 34582  func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 34583  	c.ctx_ = ctx
 34584  	return c
 34585  }
 34586  
 34587  // Header returns an http.Header that can be modified by the caller to
 34588  // add HTTP headers to the request.
 34589  func (c *FloodlightConfigurationsGetCall) Header() http.Header {
 34590  	if c.header_ == nil {
 34591  		c.header_ = make(http.Header)
 34592  	}
 34593  	return c.header_
 34594  }
 34595  
 34596  func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 34597  	reqHeaders := make(http.Header)
 34598  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34599  	for k, v := range c.header_ {
 34600  		reqHeaders[k] = v
 34601  	}
 34602  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34603  	if c.ifNoneMatch_ != "" {
 34604  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34605  	}
 34606  	var body io.Reader = nil
 34607  	c.urlParams_.Set("alt", alt)
 34608  	c.urlParams_.Set("prettyPrint", "false")
 34609  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
 34610  	urls += "?" + c.urlParams_.Encode()
 34611  	req, err := http.NewRequest("GET", urls, body)
 34612  	if err != nil {
 34613  		return nil, err
 34614  	}
 34615  	req.Header = reqHeaders
 34616  	googleapi.Expand(req.URL, map[string]string{
 34617  		"profileId": strconv.FormatInt(c.profileId, 10),
 34618  		"id":        strconv.FormatInt(c.id, 10),
 34619  	})
 34620  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34621  }
 34622  
 34623  // Do executes the "dfareporting.floodlightConfigurations.get" call.
 34624  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34625  // non-2xx status code is an error. Response headers are in either
 34626  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34627  // returned at all) in error.(*googleapi.Error).Header. Use
 34628  // googleapi.IsNotModified to check whether the returned error was
 34629  // because http.StatusNotModified was returned.
 34630  func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34631  	gensupport.SetOptions(c.urlParams_, opts...)
 34632  	res, err := c.doRequest("json")
 34633  	if res != nil && res.StatusCode == http.StatusNotModified {
 34634  		if res.Body != nil {
 34635  			res.Body.Close()
 34636  		}
 34637  		return nil, &googleapi.Error{
 34638  			Code:   res.StatusCode,
 34639  			Header: res.Header,
 34640  		}
 34641  	}
 34642  	if err != nil {
 34643  		return nil, err
 34644  	}
 34645  	defer googleapi.CloseBody(res)
 34646  	if err := googleapi.CheckResponse(res); err != nil {
 34647  		return nil, err
 34648  	}
 34649  	ret := &FloodlightConfiguration{
 34650  		ServerResponse: googleapi.ServerResponse{
 34651  			Header:         res.Header,
 34652  			HTTPStatusCode: res.StatusCode,
 34653  		},
 34654  	}
 34655  	target := &ret
 34656  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34657  		return nil, err
 34658  	}
 34659  	return ret, nil
 34660  	// {
 34661  	//   "description": "Gets one floodlight configuration by ID.",
 34662  	//   "httpMethod": "GET",
 34663  	//   "id": "dfareporting.floodlightConfigurations.get",
 34664  	//   "parameterOrder": [
 34665  	//     "profileId",
 34666  	//     "id"
 34667  	//   ],
 34668  	//   "parameters": {
 34669  	//     "id": {
 34670  	//       "description": "Floodlight configuration ID.",
 34671  	//       "format": "int64",
 34672  	//       "location": "path",
 34673  	//       "required": true,
 34674  	//       "type": "string"
 34675  	//     },
 34676  	//     "profileId": {
 34677  	//       "description": "User profile ID associated with this request.",
 34678  	//       "format": "int64",
 34679  	//       "location": "path",
 34680  	//       "required": true,
 34681  	//       "type": "string"
 34682  	//     }
 34683  	//   },
 34684  	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 34685  	//   "response": {
 34686  	//     "$ref": "FloodlightConfiguration"
 34687  	//   },
 34688  	//   "scopes": [
 34689  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34690  	//   ]
 34691  	// }
 34692  
 34693  }
 34694  
 34695  // method id "dfareporting.floodlightConfigurations.list":
 34696  
 34697  type FloodlightConfigurationsListCall struct {
 34698  	s            *Service
 34699  	profileId    int64
 34700  	urlParams_   gensupport.URLParams
 34701  	ifNoneMatch_ string
 34702  	ctx_         context.Context
 34703  	header_      http.Header
 34704  }
 34705  
 34706  // List: Retrieves a list of floodlight configurations, possibly
 34707  // filtered.
 34708  func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
 34709  	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34710  	c.profileId = profileId
 34711  	return c
 34712  }
 34713  
 34714  // Ids sets the optional parameter "ids": Set of IDs of floodlight
 34715  // configurations to retrieve. Required field; otherwise an empty list
 34716  // will be returned.
 34717  func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
 34718  	var ids_ []string
 34719  	for _, v := range ids {
 34720  		ids_ = append(ids_, fmt.Sprint(v))
 34721  	}
 34722  	c.urlParams_.SetMulti("ids", ids_)
 34723  	return c
 34724  }
 34725  
 34726  // Fields allows partial responses to be retrieved. See
 34727  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34728  // for more information.
 34729  func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
 34730  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34731  	return c
 34732  }
 34733  
 34734  // IfNoneMatch sets the optional parameter which makes the operation
 34735  // fail if the object's ETag matches the given value. This is useful for
 34736  // getting updates only after the object has changed since the last
 34737  // request. Use googleapi.IsNotModified to check whether the response
 34738  // error from Do is the result of In-None-Match.
 34739  func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
 34740  	c.ifNoneMatch_ = entityTag
 34741  	return c
 34742  }
 34743  
 34744  // Context sets the context to be used in this call's Do method. Any
 34745  // pending HTTP request will be aborted if the provided context is
 34746  // canceled.
 34747  func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 34748  	c.ctx_ = ctx
 34749  	return c
 34750  }
 34751  
 34752  // Header returns an http.Header that can be modified by the caller to
 34753  // add HTTP headers to the request.
 34754  func (c *FloodlightConfigurationsListCall) Header() http.Header {
 34755  	if c.header_ == nil {
 34756  		c.header_ = make(http.Header)
 34757  	}
 34758  	return c.header_
 34759  }
 34760  
 34761  func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 34762  	reqHeaders := make(http.Header)
 34763  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34764  	for k, v := range c.header_ {
 34765  		reqHeaders[k] = v
 34766  	}
 34767  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34768  	if c.ifNoneMatch_ != "" {
 34769  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34770  	}
 34771  	var body io.Reader = nil
 34772  	c.urlParams_.Set("alt", alt)
 34773  	c.urlParams_.Set("prettyPrint", "false")
 34774  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34775  	urls += "?" + c.urlParams_.Encode()
 34776  	req, err := http.NewRequest("GET", urls, body)
 34777  	if err != nil {
 34778  		return nil, err
 34779  	}
 34780  	req.Header = reqHeaders
 34781  	googleapi.Expand(req.URL, map[string]string{
 34782  		"profileId": strconv.FormatInt(c.profileId, 10),
 34783  	})
 34784  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34785  }
 34786  
 34787  // Do executes the "dfareporting.floodlightConfigurations.list" call.
 34788  // Exactly one of *FloodlightConfigurationsListResponse or error will be
 34789  // non-nil. Any non-2xx status code is an error. Response headers are in
 34790  // either *FloodlightConfigurationsListResponse.ServerResponse.Header or
 34791  // (if a response was returned at all) in
 34792  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34793  // whether the returned error was because http.StatusNotModified was
 34794  // returned.
 34795  func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
 34796  	gensupport.SetOptions(c.urlParams_, opts...)
 34797  	res, err := c.doRequest("json")
 34798  	if res != nil && res.StatusCode == http.StatusNotModified {
 34799  		if res.Body != nil {
 34800  			res.Body.Close()
 34801  		}
 34802  		return nil, &googleapi.Error{
 34803  			Code:   res.StatusCode,
 34804  			Header: res.Header,
 34805  		}
 34806  	}
 34807  	if err != nil {
 34808  		return nil, err
 34809  	}
 34810  	defer googleapi.CloseBody(res)
 34811  	if err := googleapi.CheckResponse(res); err != nil {
 34812  		return nil, err
 34813  	}
 34814  	ret := &FloodlightConfigurationsListResponse{
 34815  		ServerResponse: googleapi.ServerResponse{
 34816  			Header:         res.Header,
 34817  			HTTPStatusCode: res.StatusCode,
 34818  		},
 34819  	}
 34820  	target := &ret
 34821  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34822  		return nil, err
 34823  	}
 34824  	return ret, nil
 34825  	// {
 34826  	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
 34827  	//   "httpMethod": "GET",
 34828  	//   "id": "dfareporting.floodlightConfigurations.list",
 34829  	//   "parameterOrder": [
 34830  	//     "profileId"
 34831  	//   ],
 34832  	//   "parameters": {
 34833  	//     "ids": {
 34834  	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
 34835  	//       "format": "int64",
 34836  	//       "location": "query",
 34837  	//       "repeated": true,
 34838  	//       "type": "string"
 34839  	//     },
 34840  	//     "profileId": {
 34841  	//       "description": "User profile ID associated with this request.",
 34842  	//       "format": "int64",
 34843  	//       "location": "path",
 34844  	//       "required": true,
 34845  	//       "type": "string"
 34846  	//     }
 34847  	//   },
 34848  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34849  	//   "response": {
 34850  	//     "$ref": "FloodlightConfigurationsListResponse"
 34851  	//   },
 34852  	//   "scopes": [
 34853  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34854  	//   ]
 34855  	// }
 34856  
 34857  }
 34858  
 34859  // method id "dfareporting.floodlightConfigurations.patch":
 34860  
 34861  type FloodlightConfigurationsPatchCall struct {
 34862  	s                       *Service
 34863  	profileId               int64
 34864  	floodlightconfiguration *FloodlightConfiguration
 34865  	urlParams_              gensupport.URLParams
 34866  	ctx_                    context.Context
 34867  	header_                 http.Header
 34868  }
 34869  
 34870  // Patch: Updates an existing floodlight configuration. This method
 34871  // supports patch semantics.
 34872  func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
 34873  	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34874  	c.profileId = profileId
 34875  	c.urlParams_.Set("id", fmt.Sprint(id))
 34876  	c.floodlightconfiguration = floodlightconfiguration
 34877  	return c
 34878  }
 34879  
 34880  // Fields allows partial responses to be retrieved. See
 34881  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34882  // for more information.
 34883  func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
 34884  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34885  	return c
 34886  }
 34887  
 34888  // Context sets the context to be used in this call's Do method. Any
 34889  // pending HTTP request will be aborted if the provided context is
 34890  // canceled.
 34891  func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 34892  	c.ctx_ = ctx
 34893  	return c
 34894  }
 34895  
 34896  // Header returns an http.Header that can be modified by the caller to
 34897  // add HTTP headers to the request.
 34898  func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
 34899  	if c.header_ == nil {
 34900  		c.header_ = make(http.Header)
 34901  	}
 34902  	return c.header_
 34903  }
 34904  
 34905  func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 34906  	reqHeaders := make(http.Header)
 34907  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 34908  	for k, v := range c.header_ {
 34909  		reqHeaders[k] = v
 34910  	}
 34911  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34912  	var body io.Reader = nil
 34913  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 34914  	if err != nil {
 34915  		return nil, err
 34916  	}
 34917  	reqHeaders.Set("Content-Type", "application/json")
 34918  	c.urlParams_.Set("alt", alt)
 34919  	c.urlParams_.Set("prettyPrint", "false")
 34920  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34921  	urls += "?" + c.urlParams_.Encode()
 34922  	req, err := http.NewRequest("PATCH", urls, body)
 34923  	if err != nil {
 34924  		return nil, err
 34925  	}
 34926  	req.Header = reqHeaders
 34927  	googleapi.Expand(req.URL, map[string]string{
 34928  		"profileId": strconv.FormatInt(c.profileId, 10),
 34929  	})
 34930  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34931  }
 34932  
 34933  // Do executes the "dfareporting.floodlightConfigurations.patch" call.
 34934  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34935  // non-2xx status code is an error. Response headers are in either
 34936  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34937  // returned at all) in error.(*googleapi.Error).Header. Use
 34938  // googleapi.IsNotModified to check whether the returned error was
 34939  // because http.StatusNotModified was returned.
 34940  func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34941  	gensupport.SetOptions(c.urlParams_, opts...)
 34942  	res, err := c.doRequest("json")
 34943  	if res != nil && res.StatusCode == http.StatusNotModified {
 34944  		if res.Body != nil {
 34945  			res.Body.Close()
 34946  		}
 34947  		return nil, &googleapi.Error{
 34948  			Code:   res.StatusCode,
 34949  			Header: res.Header,
 34950  		}
 34951  	}
 34952  	if err != nil {
 34953  		return nil, err
 34954  	}
 34955  	defer googleapi.CloseBody(res)
 34956  	if err := googleapi.CheckResponse(res); err != nil {
 34957  		return nil, err
 34958  	}
 34959  	ret := &FloodlightConfiguration{
 34960  		ServerResponse: googleapi.ServerResponse{
 34961  			Header:         res.Header,
 34962  			HTTPStatusCode: res.StatusCode,
 34963  		},
 34964  	}
 34965  	target := &ret
 34966  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34967  		return nil, err
 34968  	}
 34969  	return ret, nil
 34970  	// {
 34971  	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
 34972  	//   "httpMethod": "PATCH",
 34973  	//   "id": "dfareporting.floodlightConfigurations.patch",
 34974  	//   "parameterOrder": [
 34975  	//     "profileId",
 34976  	//     "id"
 34977  	//   ],
 34978  	//   "parameters": {
 34979  	//     "id": {
 34980  	//       "description": "Floodlight configuration ID.",
 34981  	//       "format": "int64",
 34982  	//       "location": "query",
 34983  	//       "required": true,
 34984  	//       "type": "string"
 34985  	//     },
 34986  	//     "profileId": {
 34987  	//       "description": "User profile ID associated with this request.",
 34988  	//       "format": "int64",
 34989  	//       "location": "path",
 34990  	//       "required": true,
 34991  	//       "type": "string"
 34992  	//     }
 34993  	//   },
 34994  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34995  	//   "request": {
 34996  	//     "$ref": "FloodlightConfiguration"
 34997  	//   },
 34998  	//   "response": {
 34999  	//     "$ref": "FloodlightConfiguration"
 35000  	//   },
 35001  	//   "scopes": [
 35002  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35003  	//   ]
 35004  	// }
 35005  
 35006  }
 35007  
 35008  // method id "dfareporting.floodlightConfigurations.update":
 35009  
 35010  type FloodlightConfigurationsUpdateCall struct {
 35011  	s                       *Service
 35012  	profileId               int64
 35013  	floodlightconfiguration *FloodlightConfiguration
 35014  	urlParams_              gensupport.URLParams
 35015  	ctx_                    context.Context
 35016  	header_                 http.Header
 35017  }
 35018  
 35019  // Update: Updates an existing floodlight configuration.
 35020  func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
 35021  	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35022  	c.profileId = profileId
 35023  	c.floodlightconfiguration = floodlightconfiguration
 35024  	return c
 35025  }
 35026  
 35027  // Fields allows partial responses to be retrieved. See
 35028  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35029  // for more information.
 35030  func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
 35031  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35032  	return c
 35033  }
 35034  
 35035  // Context sets the context to be used in this call's Do method. Any
 35036  // pending HTTP request will be aborted if the provided context is
 35037  // canceled.
 35038  func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 35039  	c.ctx_ = ctx
 35040  	return c
 35041  }
 35042  
 35043  // Header returns an http.Header that can be modified by the caller to
 35044  // add HTTP headers to the request.
 35045  func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
 35046  	if c.header_ == nil {
 35047  		c.header_ = make(http.Header)
 35048  	}
 35049  	return c.header_
 35050  }
 35051  
 35052  func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 35053  	reqHeaders := make(http.Header)
 35054  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35055  	for k, v := range c.header_ {
 35056  		reqHeaders[k] = v
 35057  	}
 35058  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35059  	var body io.Reader = nil
 35060  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 35061  	if err != nil {
 35062  		return nil, err
 35063  	}
 35064  	reqHeaders.Set("Content-Type", "application/json")
 35065  	c.urlParams_.Set("alt", alt)
 35066  	c.urlParams_.Set("prettyPrint", "false")
 35067  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 35068  	urls += "?" + c.urlParams_.Encode()
 35069  	req, err := http.NewRequest("PUT", urls, body)
 35070  	if err != nil {
 35071  		return nil, err
 35072  	}
 35073  	req.Header = reqHeaders
 35074  	googleapi.Expand(req.URL, map[string]string{
 35075  		"profileId": strconv.FormatInt(c.profileId, 10),
 35076  	})
 35077  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35078  }
 35079  
 35080  // Do executes the "dfareporting.floodlightConfigurations.update" call.
 35081  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 35082  // non-2xx status code is an error. Response headers are in either
 35083  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 35084  // returned at all) in error.(*googleapi.Error).Header. Use
 35085  // googleapi.IsNotModified to check whether the returned error was
 35086  // because http.StatusNotModified was returned.
 35087  func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 35088  	gensupport.SetOptions(c.urlParams_, opts...)
 35089  	res, err := c.doRequest("json")
 35090  	if res != nil && res.StatusCode == http.StatusNotModified {
 35091  		if res.Body != nil {
 35092  			res.Body.Close()
 35093  		}
 35094  		return nil, &googleapi.Error{
 35095  			Code:   res.StatusCode,
 35096  			Header: res.Header,
 35097  		}
 35098  	}
 35099  	if err != nil {
 35100  		return nil, err
 35101  	}
 35102  	defer googleapi.CloseBody(res)
 35103  	if err := googleapi.CheckResponse(res); err != nil {
 35104  		return nil, err
 35105  	}
 35106  	ret := &FloodlightConfiguration{
 35107  		ServerResponse: googleapi.ServerResponse{
 35108  			Header:         res.Header,
 35109  			HTTPStatusCode: res.StatusCode,
 35110  		},
 35111  	}
 35112  	target := &ret
 35113  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35114  		return nil, err
 35115  	}
 35116  	return ret, nil
 35117  	// {
 35118  	//   "description": "Updates an existing floodlight configuration.",
 35119  	//   "httpMethod": "PUT",
 35120  	//   "id": "dfareporting.floodlightConfigurations.update",
 35121  	//   "parameterOrder": [
 35122  	//     "profileId"
 35123  	//   ],
 35124  	//   "parameters": {
 35125  	//     "profileId": {
 35126  	//       "description": "User profile ID associated with this request.",
 35127  	//       "format": "int64",
 35128  	//       "location": "path",
 35129  	//       "required": true,
 35130  	//       "type": "string"
 35131  	//     }
 35132  	//   },
 35133  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 35134  	//   "request": {
 35135  	//     "$ref": "FloodlightConfiguration"
 35136  	//   },
 35137  	//   "response": {
 35138  	//     "$ref": "FloodlightConfiguration"
 35139  	//   },
 35140  	//   "scopes": [
 35141  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35142  	//   ]
 35143  	// }
 35144  
 35145  }
 35146  
 35147  // method id "dfareporting.inventoryItems.get":
 35148  
 35149  type InventoryItemsGetCall struct {
 35150  	s            *Service
 35151  	profileId    int64
 35152  	projectId    int64
 35153  	id           int64
 35154  	urlParams_   gensupport.URLParams
 35155  	ifNoneMatch_ string
 35156  	ctx_         context.Context
 35157  	header_      http.Header
 35158  }
 35159  
 35160  // Get: Gets one inventory item by ID.
 35161  func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
 35162  	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35163  	c.profileId = profileId
 35164  	c.projectId = projectId
 35165  	c.id = id
 35166  	return c
 35167  }
 35168  
 35169  // Fields allows partial responses to be retrieved. See
 35170  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35171  // for more information.
 35172  func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
 35173  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35174  	return c
 35175  }
 35176  
 35177  // IfNoneMatch sets the optional parameter which makes the operation
 35178  // fail if the object's ETag matches the given value. This is useful for
 35179  // getting updates only after the object has changed since the last
 35180  // request. Use googleapi.IsNotModified to check whether the response
 35181  // error from Do is the result of In-None-Match.
 35182  func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
 35183  	c.ifNoneMatch_ = entityTag
 35184  	return c
 35185  }
 35186  
 35187  // Context sets the context to be used in this call's Do method. Any
 35188  // pending HTTP request will be aborted if the provided context is
 35189  // canceled.
 35190  func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
 35191  	c.ctx_ = ctx
 35192  	return c
 35193  }
 35194  
 35195  // Header returns an http.Header that can be modified by the caller to
 35196  // add HTTP headers to the request.
 35197  func (c *InventoryItemsGetCall) Header() http.Header {
 35198  	if c.header_ == nil {
 35199  		c.header_ = make(http.Header)
 35200  	}
 35201  	return c.header_
 35202  }
 35203  
 35204  func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 35205  	reqHeaders := make(http.Header)
 35206  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35207  	for k, v := range c.header_ {
 35208  		reqHeaders[k] = v
 35209  	}
 35210  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35211  	if c.ifNoneMatch_ != "" {
 35212  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35213  	}
 35214  	var body io.Reader = nil
 35215  	c.urlParams_.Set("alt", alt)
 35216  	c.urlParams_.Set("prettyPrint", "false")
 35217  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
 35218  	urls += "?" + c.urlParams_.Encode()
 35219  	req, err := http.NewRequest("GET", urls, body)
 35220  	if err != nil {
 35221  		return nil, err
 35222  	}
 35223  	req.Header = reqHeaders
 35224  	googleapi.Expand(req.URL, map[string]string{
 35225  		"profileId": strconv.FormatInt(c.profileId, 10),
 35226  		"projectId": strconv.FormatInt(c.projectId, 10),
 35227  		"id":        strconv.FormatInt(c.id, 10),
 35228  	})
 35229  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35230  }
 35231  
 35232  // Do executes the "dfareporting.inventoryItems.get" call.
 35233  // Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
 35234  // status code is an error. Response headers are in either
 35235  // *InventoryItem.ServerResponse.Header or (if a response was returned
 35236  // at all) in error.(*googleapi.Error).Header. Use
 35237  // googleapi.IsNotModified to check whether the returned error was
 35238  // because http.StatusNotModified was returned.
 35239  func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
 35240  	gensupport.SetOptions(c.urlParams_, opts...)
 35241  	res, err := c.doRequest("json")
 35242  	if res != nil && res.StatusCode == http.StatusNotModified {
 35243  		if res.Body != nil {
 35244  			res.Body.Close()
 35245  		}
 35246  		return nil, &googleapi.Error{
 35247  			Code:   res.StatusCode,
 35248  			Header: res.Header,
 35249  		}
 35250  	}
 35251  	if err != nil {
 35252  		return nil, err
 35253  	}
 35254  	defer googleapi.CloseBody(res)
 35255  	if err := googleapi.CheckResponse(res); err != nil {
 35256  		return nil, err
 35257  	}
 35258  	ret := &InventoryItem{
 35259  		ServerResponse: googleapi.ServerResponse{
 35260  			Header:         res.Header,
 35261  			HTTPStatusCode: res.StatusCode,
 35262  		},
 35263  	}
 35264  	target := &ret
 35265  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35266  		return nil, err
 35267  	}
 35268  	return ret, nil
 35269  	// {
 35270  	//   "description": "Gets one inventory item by ID.",
 35271  	//   "httpMethod": "GET",
 35272  	//   "id": "dfareporting.inventoryItems.get",
 35273  	//   "parameterOrder": [
 35274  	//     "profileId",
 35275  	//     "projectId",
 35276  	//     "id"
 35277  	//   ],
 35278  	//   "parameters": {
 35279  	//     "id": {
 35280  	//       "description": "Inventory item ID.",
 35281  	//       "format": "int64",
 35282  	//       "location": "path",
 35283  	//       "required": true,
 35284  	//       "type": "string"
 35285  	//     },
 35286  	//     "profileId": {
 35287  	//       "description": "User profile ID associated with this request.",
 35288  	//       "format": "int64",
 35289  	//       "location": "path",
 35290  	//       "required": true,
 35291  	//       "type": "string"
 35292  	//     },
 35293  	//     "projectId": {
 35294  	//       "description": "Project ID for order documents.",
 35295  	//       "format": "int64",
 35296  	//       "location": "path",
 35297  	//       "required": true,
 35298  	//       "type": "string"
 35299  	//     }
 35300  	//   },
 35301  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 35302  	//   "response": {
 35303  	//     "$ref": "InventoryItem"
 35304  	//   },
 35305  	//   "scopes": [
 35306  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35307  	//   ]
 35308  	// }
 35309  
 35310  }
 35311  
 35312  // method id "dfareporting.inventoryItems.list":
 35313  
 35314  type InventoryItemsListCall struct {
 35315  	s            *Service
 35316  	profileId    int64
 35317  	projectId    int64
 35318  	urlParams_   gensupport.URLParams
 35319  	ifNoneMatch_ string
 35320  	ctx_         context.Context
 35321  	header_      http.Header
 35322  }
 35323  
 35324  // List: Retrieves a list of inventory items, possibly filtered. This
 35325  // method supports paging.
 35326  func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
 35327  	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35328  	c.profileId = profileId
 35329  	c.projectId = projectId
 35330  	return c
 35331  }
 35332  
 35333  // Ids sets the optional parameter "ids": Select only inventory items
 35334  // with these IDs.
 35335  func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
 35336  	var ids_ []string
 35337  	for _, v := range ids {
 35338  		ids_ = append(ids_, fmt.Sprint(v))
 35339  	}
 35340  	c.urlParams_.SetMulti("ids", ids_)
 35341  	return c
 35342  }
 35343  
 35344  // InPlan sets the optional parameter "inPlan": Select only inventory
 35345  // items that are in plan.
 35346  func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
 35347  	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
 35348  	return c
 35349  }
 35350  
 35351  // MaxResults sets the optional parameter "maxResults": Maximum number
 35352  // of results to return.
 35353  func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
 35354  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 35355  	return c
 35356  }
 35357  
 35358  // OrderId sets the optional parameter "orderId": Select only inventory
 35359  // items that belong to specified orders.
 35360  func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
 35361  	var orderId_ []string
 35362  	for _, v := range orderId {
 35363  		orderId_ = append(orderId_, fmt.Sprint(v))
 35364  	}
 35365  	c.urlParams_.SetMulti("orderId", orderId_)
 35366  	return c
 35367  }
 35368  
 35369  // PageToken sets the optional parameter "pageToken": Value of the
 35370  // nextPageToken from the previous result page.
 35371  func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
 35372  	c.urlParams_.Set("pageToken", pageToken)
 35373  	return c
 35374  }
 35375  
 35376  // SiteId sets the optional parameter "siteId": Select only inventory
 35377  // items that are associated with these sites.
 35378  func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
 35379  	var siteId_ []string
 35380  	for _, v := range siteId {
 35381  		siteId_ = append(siteId_, fmt.Sprint(v))
 35382  	}
 35383  	c.urlParams_.SetMulti("siteId", siteId_)
 35384  	return c
 35385  }
 35386  
 35387  // SortField sets the optional parameter "sortField": Field by which to
 35388  // sort the list.
 35389  //
 35390  // Possible values:
 35391  //
 35392  //	"ID" (default)
 35393  //	"NAME"
 35394  func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
 35395  	c.urlParams_.Set("sortField", sortField)
 35396  	return c
 35397  }
 35398  
 35399  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 35400  // results.
 35401  //
 35402  // Possible values:
 35403  //
 35404  //	"ASCENDING" (default)
 35405  //	"DESCENDING"
 35406  func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
 35407  	c.urlParams_.Set("sortOrder", sortOrder)
 35408  	return c
 35409  }
 35410  
 35411  // Type sets the optional parameter "type": Select only inventory items
 35412  // with this type.
 35413  //
 35414  // Possible values:
 35415  //
 35416  //	"PLANNING_PLACEMENT_TYPE_CREDIT"
 35417  //	"PLANNING_PLACEMENT_TYPE_REGULAR"
 35418  func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
 35419  	c.urlParams_.Set("type", type_)
 35420  	return c
 35421  }
 35422  
 35423  // Fields allows partial responses to be retrieved. See
 35424  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35425  // for more information.
 35426  func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
 35427  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35428  	return c
 35429  }
 35430  
 35431  // IfNoneMatch sets the optional parameter which makes the operation
 35432  // fail if the object's ETag matches the given value. This is useful for
 35433  // getting updates only after the object has changed since the last
 35434  // request. Use googleapi.IsNotModified to check whether the response
 35435  // error from Do is the result of In-None-Match.
 35436  func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
 35437  	c.ifNoneMatch_ = entityTag
 35438  	return c
 35439  }
 35440  
 35441  // Context sets the context to be used in this call's Do method. Any
 35442  // pending HTTP request will be aborted if the provided context is
 35443  // canceled.
 35444  func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
 35445  	c.ctx_ = ctx
 35446  	return c
 35447  }
 35448  
 35449  // Header returns an http.Header that can be modified by the caller to
 35450  // add HTTP headers to the request.
 35451  func (c *InventoryItemsListCall) Header() http.Header {
 35452  	if c.header_ == nil {
 35453  		c.header_ = make(http.Header)
 35454  	}
 35455  	return c.header_
 35456  }
 35457  
 35458  func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 35459  	reqHeaders := make(http.Header)
 35460  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35461  	for k, v := range c.header_ {
 35462  		reqHeaders[k] = v
 35463  	}
 35464  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35465  	if c.ifNoneMatch_ != "" {
 35466  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35467  	}
 35468  	var body io.Reader = nil
 35469  	c.urlParams_.Set("alt", alt)
 35470  	c.urlParams_.Set("prettyPrint", "false")
 35471  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
 35472  	urls += "?" + c.urlParams_.Encode()
 35473  	req, err := http.NewRequest("GET", urls, body)
 35474  	if err != nil {
 35475  		return nil, err
 35476  	}
 35477  	req.Header = reqHeaders
 35478  	googleapi.Expand(req.URL, map[string]string{
 35479  		"profileId": strconv.FormatInt(c.profileId, 10),
 35480  		"projectId": strconv.FormatInt(c.projectId, 10),
 35481  	})
 35482  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35483  }
 35484  
 35485  // Do executes the "dfareporting.inventoryItems.list" call.
 35486  // Exactly one of *InventoryItemsListResponse or error will be non-nil.
 35487  // Any non-2xx status code is an error. Response headers are in either
 35488  // *InventoryItemsListResponse.ServerResponse.Header or (if a response
 35489  // was returned at all) in error.(*googleapi.Error).Header. Use
 35490  // googleapi.IsNotModified to check whether the returned error was
 35491  // because http.StatusNotModified was returned.
 35492  func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
 35493  	gensupport.SetOptions(c.urlParams_, opts...)
 35494  	res, err := c.doRequest("json")
 35495  	if res != nil && res.StatusCode == http.StatusNotModified {
 35496  		if res.Body != nil {
 35497  			res.Body.Close()
 35498  		}
 35499  		return nil, &googleapi.Error{
 35500  			Code:   res.StatusCode,
 35501  			Header: res.Header,
 35502  		}
 35503  	}
 35504  	if err != nil {
 35505  		return nil, err
 35506  	}
 35507  	defer googleapi.CloseBody(res)
 35508  	if err := googleapi.CheckResponse(res); err != nil {
 35509  		return nil, err
 35510  	}
 35511  	ret := &InventoryItemsListResponse{
 35512  		ServerResponse: googleapi.ServerResponse{
 35513  			Header:         res.Header,
 35514  			HTTPStatusCode: res.StatusCode,
 35515  		},
 35516  	}
 35517  	target := &ret
 35518  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35519  		return nil, err
 35520  	}
 35521  	return ret, nil
 35522  	// {
 35523  	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
 35524  	//   "httpMethod": "GET",
 35525  	//   "id": "dfareporting.inventoryItems.list",
 35526  	//   "parameterOrder": [
 35527  	//     "profileId",
 35528  	//     "projectId"
 35529  	//   ],
 35530  	//   "parameters": {
 35531  	//     "ids": {
 35532  	//       "description": "Select only inventory items with these IDs.",
 35533  	//       "format": "int64",
 35534  	//       "location": "query",
 35535  	//       "repeated": true,
 35536  	//       "type": "string"
 35537  	//     },
 35538  	//     "inPlan": {
 35539  	//       "description": "Select only inventory items that are in plan.",
 35540  	//       "location": "query",
 35541  	//       "type": "boolean"
 35542  	//     },
 35543  	//     "maxResults": {
 35544  	//       "default": "1000",
 35545  	//       "description": "Maximum number of results to return.",
 35546  	//       "format": "int32",
 35547  	//       "location": "query",
 35548  	//       "maximum": "1000",
 35549  	//       "minimum": "0",
 35550  	//       "type": "integer"
 35551  	//     },
 35552  	//     "orderId": {
 35553  	//       "description": "Select only inventory items that belong to specified orders.",
 35554  	//       "format": "int64",
 35555  	//       "location": "query",
 35556  	//       "repeated": true,
 35557  	//       "type": "string"
 35558  	//     },
 35559  	//     "pageToken": {
 35560  	//       "description": "Value of the nextPageToken from the previous result page.",
 35561  	//       "location": "query",
 35562  	//       "type": "string"
 35563  	//     },
 35564  	//     "profileId": {
 35565  	//       "description": "User profile ID associated with this request.",
 35566  	//       "format": "int64",
 35567  	//       "location": "path",
 35568  	//       "required": true,
 35569  	//       "type": "string"
 35570  	//     },
 35571  	//     "projectId": {
 35572  	//       "description": "Project ID for order documents.",
 35573  	//       "format": "int64",
 35574  	//       "location": "path",
 35575  	//       "required": true,
 35576  	//       "type": "string"
 35577  	//     },
 35578  	//     "siteId": {
 35579  	//       "description": "Select only inventory items that are associated with these sites.",
 35580  	//       "format": "int64",
 35581  	//       "location": "query",
 35582  	//       "repeated": true,
 35583  	//       "type": "string"
 35584  	//     },
 35585  	//     "sortField": {
 35586  	//       "default": "ID",
 35587  	//       "description": "Field by which to sort the list.",
 35588  	//       "enum": [
 35589  	//         "ID",
 35590  	//         "NAME"
 35591  	//       ],
 35592  	//       "enumDescriptions": [
 35593  	//         "",
 35594  	//         ""
 35595  	//       ],
 35596  	//       "location": "query",
 35597  	//       "type": "string"
 35598  	//     },
 35599  	//     "sortOrder": {
 35600  	//       "default": "ASCENDING",
 35601  	//       "description": "Order of sorted results.",
 35602  	//       "enum": [
 35603  	//         "ASCENDING",
 35604  	//         "DESCENDING"
 35605  	//       ],
 35606  	//       "enumDescriptions": [
 35607  	//         "",
 35608  	//         ""
 35609  	//       ],
 35610  	//       "location": "query",
 35611  	//       "type": "string"
 35612  	//     },
 35613  	//     "type": {
 35614  	//       "description": "Select only inventory items with this type.",
 35615  	//       "enum": [
 35616  	//         "PLANNING_PLACEMENT_TYPE_CREDIT",
 35617  	//         "PLANNING_PLACEMENT_TYPE_REGULAR"
 35618  	//       ],
 35619  	//       "enumDescriptions": [
 35620  	//         "",
 35621  	//         ""
 35622  	//       ],
 35623  	//       "location": "query",
 35624  	//       "type": "string"
 35625  	//     }
 35626  	//   },
 35627  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 35628  	//   "response": {
 35629  	//     "$ref": "InventoryItemsListResponse"
 35630  	//   },
 35631  	//   "scopes": [
 35632  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35633  	//   ]
 35634  	// }
 35635  
 35636  }
 35637  
 35638  // Pages invokes f for each page of results.
 35639  // A non-nil error returned from f will halt the iteration.
 35640  // The provided context supersedes any context provided to the Context method.
 35641  func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
 35642  	c.ctx_ = ctx
 35643  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 35644  	for {
 35645  		x, err := c.Do()
 35646  		if err != nil {
 35647  			return err
 35648  		}
 35649  		if err := f(x); err != nil {
 35650  			return err
 35651  		}
 35652  		if x.NextPageToken == "" {
 35653  			return nil
 35654  		}
 35655  		c.PageToken(x.NextPageToken)
 35656  	}
 35657  }
 35658  
 35659  // method id "dfareporting.languages.list":
 35660  
 35661  type LanguagesListCall struct {
 35662  	s            *Service
 35663  	profileId    int64
 35664  	urlParams_   gensupport.URLParams
 35665  	ifNoneMatch_ string
 35666  	ctx_         context.Context
 35667  	header_      http.Header
 35668  }
 35669  
 35670  // List: Retrieves a list of languages.
 35671  func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
 35672  	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35673  	c.profileId = profileId
 35674  	return c
 35675  }
 35676  
 35677  // Fields allows partial responses to be retrieved. See
 35678  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35679  // for more information.
 35680  func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
 35681  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35682  	return c
 35683  }
 35684  
 35685  // IfNoneMatch sets the optional parameter which makes the operation
 35686  // fail if the object's ETag matches the given value. This is useful for
 35687  // getting updates only after the object has changed since the last
 35688  // request. Use googleapi.IsNotModified to check whether the response
 35689  // error from Do is the result of In-None-Match.
 35690  func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
 35691  	c.ifNoneMatch_ = entityTag
 35692  	return c
 35693  }
 35694  
 35695  // Context sets the context to be used in this call's Do method. Any
 35696  // pending HTTP request will be aborted if the provided context is
 35697  // canceled.
 35698  func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
 35699  	c.ctx_ = ctx
 35700  	return c
 35701  }
 35702  
 35703  // Header returns an http.Header that can be modified by the caller to
 35704  // add HTTP headers to the request.
 35705  func (c *LanguagesListCall) Header() http.Header {
 35706  	if c.header_ == nil {
 35707  		c.header_ = make(http.Header)
 35708  	}
 35709  	return c.header_
 35710  }
 35711  
 35712  func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 35713  	reqHeaders := make(http.Header)
 35714  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35715  	for k, v := range c.header_ {
 35716  		reqHeaders[k] = v
 35717  	}
 35718  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35719  	if c.ifNoneMatch_ != "" {
 35720  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35721  	}
 35722  	var body io.Reader = nil
 35723  	c.urlParams_.Set("alt", alt)
 35724  	c.urlParams_.Set("prettyPrint", "false")
 35725  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
 35726  	urls += "?" + c.urlParams_.Encode()
 35727  	req, err := http.NewRequest("GET", urls, body)
 35728  	if err != nil {
 35729  		return nil, err
 35730  	}
 35731  	req.Header = reqHeaders
 35732  	googleapi.Expand(req.URL, map[string]string{
 35733  		"profileId": strconv.FormatInt(c.profileId, 10),
 35734  	})
 35735  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35736  }
 35737  
 35738  // Do executes the "dfareporting.languages.list" call.
 35739  // Exactly one of *LanguagesListResponse or error will be non-nil. Any
 35740  // non-2xx status code is an error. Response headers are in either
 35741  // *LanguagesListResponse.ServerResponse.Header or (if a response was
 35742  // returned at all) in error.(*googleapi.Error).Header. Use
 35743  // googleapi.IsNotModified to check whether the returned error was
 35744  // because http.StatusNotModified was returned.
 35745  func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
 35746  	gensupport.SetOptions(c.urlParams_, opts...)
 35747  	res, err := c.doRequest("json")
 35748  	if res != nil && res.StatusCode == http.StatusNotModified {
 35749  		if res.Body != nil {
 35750  			res.Body.Close()
 35751  		}
 35752  		return nil, &googleapi.Error{
 35753  			Code:   res.StatusCode,
 35754  			Header: res.Header,
 35755  		}
 35756  	}
 35757  	if err != nil {
 35758  		return nil, err
 35759  	}
 35760  	defer googleapi.CloseBody(res)
 35761  	if err := googleapi.CheckResponse(res); err != nil {
 35762  		return nil, err
 35763  	}
 35764  	ret := &LanguagesListResponse{
 35765  		ServerResponse: googleapi.ServerResponse{
 35766  			Header:         res.Header,
 35767  			HTTPStatusCode: res.StatusCode,
 35768  		},
 35769  	}
 35770  	target := &ret
 35771  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35772  		return nil, err
 35773  	}
 35774  	return ret, nil
 35775  	// {
 35776  	//   "description": "Retrieves a list of languages.",
 35777  	//   "httpMethod": "GET",
 35778  	//   "id": "dfareporting.languages.list",
 35779  	//   "parameterOrder": [
 35780  	//     "profileId"
 35781  	//   ],
 35782  	//   "parameters": {
 35783  	//     "profileId": {
 35784  	//       "description": "User profile ID associated with this request.",
 35785  	//       "format": "int64",
 35786  	//       "location": "path",
 35787  	//       "required": true,
 35788  	//       "type": "string"
 35789  	//     }
 35790  	//   },
 35791  	//   "path": "userprofiles/{profileId}/languages",
 35792  	//   "response": {
 35793  	//     "$ref": "LanguagesListResponse"
 35794  	//   },
 35795  	//   "scopes": [
 35796  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35797  	//   ]
 35798  	// }
 35799  
 35800  }
 35801  
 35802  // method id "dfareporting.metros.list":
 35803  
 35804  type MetrosListCall struct {
 35805  	s            *Service
 35806  	profileId    int64
 35807  	urlParams_   gensupport.URLParams
 35808  	ifNoneMatch_ string
 35809  	ctx_         context.Context
 35810  	header_      http.Header
 35811  }
 35812  
 35813  // List: Retrieves a list of metros.
 35814  func (r *MetrosService) List(profileId int64) *MetrosListCall {
 35815  	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35816  	c.profileId = profileId
 35817  	return c
 35818  }
 35819  
 35820  // Fields allows partial responses to be retrieved. See
 35821  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35822  // for more information.
 35823  func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
 35824  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35825  	return c
 35826  }
 35827  
 35828  // IfNoneMatch sets the optional parameter which makes the operation
 35829  // fail if the object's ETag matches the given value. This is useful for
 35830  // getting updates only after the object has changed since the last
 35831  // request. Use googleapi.IsNotModified to check whether the response
 35832  // error from Do is the result of In-None-Match.
 35833  func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
 35834  	c.ifNoneMatch_ = entityTag
 35835  	return c
 35836  }
 35837  
 35838  // Context sets the context to be used in this call's Do method. Any
 35839  // pending HTTP request will be aborted if the provided context is
 35840  // canceled.
 35841  func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 35842  	c.ctx_ = ctx
 35843  	return c
 35844  }
 35845  
 35846  // Header returns an http.Header that can be modified by the caller to
 35847  // add HTTP headers to the request.
 35848  func (c *MetrosListCall) Header() http.Header {
 35849  	if c.header_ == nil {
 35850  		c.header_ = make(http.Header)
 35851  	}
 35852  	return c.header_
 35853  }
 35854  
 35855  func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 35856  	reqHeaders := make(http.Header)
 35857  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 35858  	for k, v := range c.header_ {
 35859  		reqHeaders[k] = v
 35860  	}
 35861  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35862  	if c.ifNoneMatch_ != "" {
 35863  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35864  	}
 35865  	var body io.Reader = nil
 35866  	c.urlParams_.Set("alt", alt)
 35867  	c.urlParams_.Set("prettyPrint", "false")
 35868  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
 35869  	urls += "?" + c.urlParams_.Encode()
 35870  	req, err := http.NewRequest("GET", urls, body)
 35871  	if err != nil {
 35872  		return nil, err
 35873  	}
 35874  	req.Header = reqHeaders
 35875  	googleapi.Expand(req.URL, map[string]string{
 35876  		"profileId": strconv.FormatInt(c.profileId, 10),
 35877  	})
 35878  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35879  }
 35880  
 35881  // Do executes the "dfareporting.metros.list" call.
 35882  // Exactly one of *MetrosListResponse or error will be non-nil. Any
 35883  // non-2xx status code is an error. Response headers are in either
 35884  // *MetrosListResponse.ServerResponse.Header or (if a response was
 35885  // returned at all) in error.(*googleapi.Error).Header. Use
 35886  // googleapi.IsNotModified to check whether the returned error was
 35887  // because http.StatusNotModified was returned.
 35888  func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
 35889  	gensupport.SetOptions(c.urlParams_, opts...)
 35890  	res, err := c.doRequest("json")
 35891  	if res != nil && res.StatusCode == http.StatusNotModified {
 35892  		if res.Body != nil {
 35893  			res.Body.Close()
 35894  		}
 35895  		return nil, &googleapi.Error{
 35896  			Code:   res.StatusCode,
 35897  			Header: res.Header,
 35898  		}
 35899  	}
 35900  	if err != nil {
 35901  		return nil, err
 35902  	}
 35903  	defer googleapi.CloseBody(res)
 35904  	if err := googleapi.CheckResponse(res); err != nil {
 35905  		return nil, err
 35906  	}
 35907  	ret := &MetrosListResponse{
 35908  		ServerResponse: googleapi.ServerResponse{
 35909  			Header:         res.Header,
 35910  			HTTPStatusCode: res.StatusCode,
 35911  		},
 35912  	}
 35913  	target := &ret
 35914  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35915  		return nil, err
 35916  	}
 35917  	return ret, nil
 35918  	// {
 35919  	//   "description": "Retrieves a list of metros.",
 35920  	//   "httpMethod": "GET",
 35921  	//   "id": "dfareporting.metros.list",
 35922  	//   "parameterOrder": [
 35923  	//     "profileId"
 35924  	//   ],
 35925  	//   "parameters": {
 35926  	//     "profileId": {
 35927  	//       "description": "User profile ID associated with this request.",
 35928  	//       "format": "int64",
 35929  	//       "location": "path",
 35930  	//       "required": true,
 35931  	//       "type": "string"
 35932  	//     }
 35933  	//   },
 35934  	//   "path": "userprofiles/{profileId}/metros",
 35935  	//   "response": {
 35936  	//     "$ref": "MetrosListResponse"
 35937  	//   },
 35938  	//   "scopes": [
 35939  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35940  	//   ]
 35941  	// }
 35942  
 35943  }
 35944  
 35945  // method id "dfareporting.mobileApps.get":
 35946  
 35947  type MobileAppsGetCall struct {
 35948  	s            *Service
 35949  	profileId    int64
 35950  	id           string
 35951  	urlParams_   gensupport.URLParams
 35952  	ifNoneMatch_ string
 35953  	ctx_         context.Context
 35954  	header_      http.Header
 35955  }
 35956  
 35957  // Get: Gets one mobile app by ID.
 35958  func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
 35959  	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35960  	c.profileId = profileId
 35961  	c.id = id
 35962  	return c
 35963  }
 35964  
 35965  // Fields allows partial responses to be retrieved. See
 35966  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35967  // for more information.
 35968  func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
 35969  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35970  	return c
 35971  }
 35972  
 35973  // IfNoneMatch sets the optional parameter which makes the operation
 35974  // fail if the object's ETag matches the given value. This is useful for
 35975  // getting updates only after the object has changed since the last
 35976  // request. Use googleapi.IsNotModified to check whether the response
 35977  // error from Do is the result of In-None-Match.
 35978  func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
 35979  	c.ifNoneMatch_ = entityTag
 35980  	return c
 35981  }
 35982  
 35983  // Context sets the context to be used in this call's Do method. Any
 35984  // pending HTTP request will be aborted if the provided context is
 35985  // canceled.
 35986  func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
 35987  	c.ctx_ = ctx
 35988  	return c
 35989  }
 35990  
 35991  // Header returns an http.Header that can be modified by the caller to
 35992  // add HTTP headers to the request.
 35993  func (c *MobileAppsGetCall) Header() http.Header {
 35994  	if c.header_ == nil {
 35995  		c.header_ = make(http.Header)
 35996  	}
 35997  	return c.header_
 35998  }
 35999  
 36000  func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
 36001  	reqHeaders := make(http.Header)
 36002  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36003  	for k, v := range c.header_ {
 36004  		reqHeaders[k] = v
 36005  	}
 36006  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36007  	if c.ifNoneMatch_ != "" {
 36008  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36009  	}
 36010  	var body io.Reader = nil
 36011  	c.urlParams_.Set("alt", alt)
 36012  	c.urlParams_.Set("prettyPrint", "false")
 36013  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
 36014  	urls += "?" + c.urlParams_.Encode()
 36015  	req, err := http.NewRequest("GET", urls, body)
 36016  	if err != nil {
 36017  		return nil, err
 36018  	}
 36019  	req.Header = reqHeaders
 36020  	googleapi.Expand(req.URL, map[string]string{
 36021  		"profileId": strconv.FormatInt(c.profileId, 10),
 36022  		"id":        c.id,
 36023  	})
 36024  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36025  }
 36026  
 36027  // Do executes the "dfareporting.mobileApps.get" call.
 36028  // Exactly one of *MobileApp or error will be non-nil. Any non-2xx
 36029  // status code is an error. Response headers are in either
 36030  // *MobileApp.ServerResponse.Header or (if a response was returned at
 36031  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 36032  // to check whether the returned error was because
 36033  // http.StatusNotModified was returned.
 36034  func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
 36035  	gensupport.SetOptions(c.urlParams_, opts...)
 36036  	res, err := c.doRequest("json")
 36037  	if res != nil && res.StatusCode == http.StatusNotModified {
 36038  		if res.Body != nil {
 36039  			res.Body.Close()
 36040  		}
 36041  		return nil, &googleapi.Error{
 36042  			Code:   res.StatusCode,
 36043  			Header: res.Header,
 36044  		}
 36045  	}
 36046  	if err != nil {
 36047  		return nil, err
 36048  	}
 36049  	defer googleapi.CloseBody(res)
 36050  	if err := googleapi.CheckResponse(res); err != nil {
 36051  		return nil, err
 36052  	}
 36053  	ret := &MobileApp{
 36054  		ServerResponse: googleapi.ServerResponse{
 36055  			Header:         res.Header,
 36056  			HTTPStatusCode: res.StatusCode,
 36057  		},
 36058  	}
 36059  	target := &ret
 36060  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36061  		return nil, err
 36062  	}
 36063  	return ret, nil
 36064  	// {
 36065  	//   "description": "Gets one mobile app by ID.",
 36066  	//   "httpMethod": "GET",
 36067  	//   "id": "dfareporting.mobileApps.get",
 36068  	//   "parameterOrder": [
 36069  	//     "profileId",
 36070  	//     "id"
 36071  	//   ],
 36072  	//   "parameters": {
 36073  	//     "id": {
 36074  	//       "description": "Mobile app ID.",
 36075  	//       "location": "path",
 36076  	//       "required": true,
 36077  	//       "type": "string"
 36078  	//     },
 36079  	//     "profileId": {
 36080  	//       "description": "User profile ID associated with this request.",
 36081  	//       "format": "int64",
 36082  	//       "location": "path",
 36083  	//       "required": true,
 36084  	//       "type": "string"
 36085  	//     }
 36086  	//   },
 36087  	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
 36088  	//   "response": {
 36089  	//     "$ref": "MobileApp"
 36090  	//   },
 36091  	//   "scopes": [
 36092  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36093  	//   ]
 36094  	// }
 36095  
 36096  }
 36097  
 36098  // method id "dfareporting.mobileApps.list":
 36099  
 36100  type MobileAppsListCall struct {
 36101  	s            *Service
 36102  	profileId    int64
 36103  	urlParams_   gensupport.URLParams
 36104  	ifNoneMatch_ string
 36105  	ctx_         context.Context
 36106  	header_      http.Header
 36107  }
 36108  
 36109  // List: Retrieves list of available mobile apps.
 36110  func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
 36111  	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36112  	c.profileId = profileId
 36113  	return c
 36114  }
 36115  
 36116  // Directories sets the optional parameter "directories": Select only
 36117  // apps from these directories.
 36118  //
 36119  // Possible values:
 36120  //
 36121  //	"APPLE_APP_STORE"
 36122  //	"GOOGLE_PLAY_STORE"
 36123  //	"UNKNOWN"
 36124  func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
 36125  	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
 36126  	return c
 36127  }
 36128  
 36129  // Ids sets the optional parameter "ids": Select only apps with these
 36130  // IDs.
 36131  func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
 36132  	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
 36133  	return c
 36134  }
 36135  
 36136  // MaxResults sets the optional parameter "maxResults": Maximum number
 36137  // of results to return.
 36138  func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
 36139  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 36140  	return c
 36141  }
 36142  
 36143  // PageToken sets the optional parameter "pageToken": Value of the
 36144  // nextPageToken from the previous result page.
 36145  func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
 36146  	c.urlParams_.Set("pageToken", pageToken)
 36147  	return c
 36148  }
 36149  
 36150  // SearchString sets the optional parameter "searchString": Allows
 36151  // searching for objects by name or ID. Wildcards (*) are allowed. For
 36152  // example, "app*2015" will return objects with names like "app Jan
 36153  // 2018", "app Jan 2018", or simply "app 2018". Most of the searches
 36154  // also add wildcards implicitly at the start and the end of the search
 36155  // string. For example, a search string of "app" will match objects with
 36156  // name "my app", "app 2018", or simply "app".
 36157  func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
 36158  	c.urlParams_.Set("searchString", searchString)
 36159  	return c
 36160  }
 36161  
 36162  // Fields allows partial responses to be retrieved. See
 36163  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36164  // for more information.
 36165  func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
 36166  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36167  	return c
 36168  }
 36169  
 36170  // IfNoneMatch sets the optional parameter which makes the operation
 36171  // fail if the object's ETag matches the given value. This is useful for
 36172  // getting updates only after the object has changed since the last
 36173  // request. Use googleapi.IsNotModified to check whether the response
 36174  // error from Do is the result of In-None-Match.
 36175  func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
 36176  	c.ifNoneMatch_ = entityTag
 36177  	return c
 36178  }
 36179  
 36180  // Context sets the context to be used in this call's Do method. Any
 36181  // pending HTTP request will be aborted if the provided context is
 36182  // canceled.
 36183  func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
 36184  	c.ctx_ = ctx
 36185  	return c
 36186  }
 36187  
 36188  // Header returns an http.Header that can be modified by the caller to
 36189  // add HTTP headers to the request.
 36190  func (c *MobileAppsListCall) Header() http.Header {
 36191  	if c.header_ == nil {
 36192  		c.header_ = make(http.Header)
 36193  	}
 36194  	return c.header_
 36195  }
 36196  
 36197  func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
 36198  	reqHeaders := make(http.Header)
 36199  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36200  	for k, v := range c.header_ {
 36201  		reqHeaders[k] = v
 36202  	}
 36203  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36204  	if c.ifNoneMatch_ != "" {
 36205  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36206  	}
 36207  	var body io.Reader = nil
 36208  	c.urlParams_.Set("alt", alt)
 36209  	c.urlParams_.Set("prettyPrint", "false")
 36210  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
 36211  	urls += "?" + c.urlParams_.Encode()
 36212  	req, err := http.NewRequest("GET", urls, body)
 36213  	if err != nil {
 36214  		return nil, err
 36215  	}
 36216  	req.Header = reqHeaders
 36217  	googleapi.Expand(req.URL, map[string]string{
 36218  		"profileId": strconv.FormatInt(c.profileId, 10),
 36219  	})
 36220  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36221  }
 36222  
 36223  // Do executes the "dfareporting.mobileApps.list" call.
 36224  // Exactly one of *MobileAppsListResponse or error will be non-nil. Any
 36225  // non-2xx status code is an error. Response headers are in either
 36226  // *MobileAppsListResponse.ServerResponse.Header or (if a response was
 36227  // returned at all) in error.(*googleapi.Error).Header. Use
 36228  // googleapi.IsNotModified to check whether the returned error was
 36229  // because http.StatusNotModified was returned.
 36230  func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
 36231  	gensupport.SetOptions(c.urlParams_, opts...)
 36232  	res, err := c.doRequest("json")
 36233  	if res != nil && res.StatusCode == http.StatusNotModified {
 36234  		if res.Body != nil {
 36235  			res.Body.Close()
 36236  		}
 36237  		return nil, &googleapi.Error{
 36238  			Code:   res.StatusCode,
 36239  			Header: res.Header,
 36240  		}
 36241  	}
 36242  	if err != nil {
 36243  		return nil, err
 36244  	}
 36245  	defer googleapi.CloseBody(res)
 36246  	if err := googleapi.CheckResponse(res); err != nil {
 36247  		return nil, err
 36248  	}
 36249  	ret := &MobileAppsListResponse{
 36250  		ServerResponse: googleapi.ServerResponse{
 36251  			Header:         res.Header,
 36252  			HTTPStatusCode: res.StatusCode,
 36253  		},
 36254  	}
 36255  	target := &ret
 36256  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36257  		return nil, err
 36258  	}
 36259  	return ret, nil
 36260  	// {
 36261  	//   "description": "Retrieves list of available mobile apps.",
 36262  	//   "httpMethod": "GET",
 36263  	//   "id": "dfareporting.mobileApps.list",
 36264  	//   "parameterOrder": [
 36265  	//     "profileId"
 36266  	//   ],
 36267  	//   "parameters": {
 36268  	//     "directories": {
 36269  	//       "description": "Select only apps from these directories.",
 36270  	//       "enum": [
 36271  	//         "APPLE_APP_STORE",
 36272  	//         "GOOGLE_PLAY_STORE",
 36273  	//         "UNKNOWN"
 36274  	//       ],
 36275  	//       "enumDescriptions": [
 36276  	//         "",
 36277  	//         "",
 36278  	//         ""
 36279  	//       ],
 36280  	//       "location": "query",
 36281  	//       "repeated": true,
 36282  	//       "type": "string"
 36283  	//     },
 36284  	//     "ids": {
 36285  	//       "description": "Select only apps with these IDs.",
 36286  	//       "location": "query",
 36287  	//       "repeated": true,
 36288  	//       "type": "string"
 36289  	//     },
 36290  	//     "maxResults": {
 36291  	//       "default": "1000",
 36292  	//       "description": "Maximum number of results to return.",
 36293  	//       "format": "int32",
 36294  	//       "location": "query",
 36295  	//       "maximum": "1000",
 36296  	//       "minimum": "0",
 36297  	//       "type": "integer"
 36298  	//     },
 36299  	//     "pageToken": {
 36300  	//       "description": "Value of the nextPageToken from the previous result page.",
 36301  	//       "location": "query",
 36302  	//       "type": "string"
 36303  	//     },
 36304  	//     "profileId": {
 36305  	//       "description": "User profile ID associated with this request.",
 36306  	//       "format": "int64",
 36307  	//       "location": "path",
 36308  	//       "required": true,
 36309  	//       "type": "string"
 36310  	//     },
 36311  	//     "searchString": {
 36312  	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"app*2015\" will return objects with names like \"app Jan 2018\", \"app Jan 2018\", or simply \"app 2018\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"app\" will match objects with name \"my app\", \"app 2018\", or simply \"app\".",
 36313  	//       "location": "query",
 36314  	//       "type": "string"
 36315  	//     }
 36316  	//   },
 36317  	//   "path": "userprofiles/{profileId}/mobileApps",
 36318  	//   "response": {
 36319  	//     "$ref": "MobileAppsListResponse"
 36320  	//   },
 36321  	//   "scopes": [
 36322  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36323  	//   ]
 36324  	// }
 36325  
 36326  }
 36327  
 36328  // Pages invokes f for each page of results.
 36329  // A non-nil error returned from f will halt the iteration.
 36330  // The provided context supersedes any context provided to the Context method.
 36331  func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
 36332  	c.ctx_ = ctx
 36333  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 36334  	for {
 36335  		x, err := c.Do()
 36336  		if err != nil {
 36337  			return err
 36338  		}
 36339  		if err := f(x); err != nil {
 36340  			return err
 36341  		}
 36342  		if x.NextPageToken == "" {
 36343  			return nil
 36344  		}
 36345  		c.PageToken(x.NextPageToken)
 36346  	}
 36347  }
 36348  
 36349  // method id "dfareporting.mobileCarriers.get":
 36350  
 36351  type MobileCarriersGetCall struct {
 36352  	s            *Service
 36353  	profileId    int64
 36354  	id           int64
 36355  	urlParams_   gensupport.URLParams
 36356  	ifNoneMatch_ string
 36357  	ctx_         context.Context
 36358  	header_      http.Header
 36359  }
 36360  
 36361  // Get: Gets one mobile carrier by ID.
 36362  func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
 36363  	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36364  	c.profileId = profileId
 36365  	c.id = id
 36366  	return c
 36367  }
 36368  
 36369  // Fields allows partial responses to be retrieved. See
 36370  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36371  // for more information.
 36372  func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
 36373  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36374  	return c
 36375  }
 36376  
 36377  // IfNoneMatch sets the optional parameter which makes the operation
 36378  // fail if the object's ETag matches the given value. This is useful for
 36379  // getting updates only after the object has changed since the last
 36380  // request. Use googleapi.IsNotModified to check whether the response
 36381  // error from Do is the result of In-None-Match.
 36382  func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
 36383  	c.ifNoneMatch_ = entityTag
 36384  	return c
 36385  }
 36386  
 36387  // Context sets the context to be used in this call's Do method. Any
 36388  // pending HTTP request will be aborted if the provided context is
 36389  // canceled.
 36390  func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
 36391  	c.ctx_ = ctx
 36392  	return c
 36393  }
 36394  
 36395  // Header returns an http.Header that can be modified by the caller to
 36396  // add HTTP headers to the request.
 36397  func (c *MobileCarriersGetCall) Header() http.Header {
 36398  	if c.header_ == nil {
 36399  		c.header_ = make(http.Header)
 36400  	}
 36401  	return c.header_
 36402  }
 36403  
 36404  func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 36405  	reqHeaders := make(http.Header)
 36406  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36407  	for k, v := range c.header_ {
 36408  		reqHeaders[k] = v
 36409  	}
 36410  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36411  	if c.ifNoneMatch_ != "" {
 36412  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36413  	}
 36414  	var body io.Reader = nil
 36415  	c.urlParams_.Set("alt", alt)
 36416  	c.urlParams_.Set("prettyPrint", "false")
 36417  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
 36418  	urls += "?" + c.urlParams_.Encode()
 36419  	req, err := http.NewRequest("GET", urls, body)
 36420  	if err != nil {
 36421  		return nil, err
 36422  	}
 36423  	req.Header = reqHeaders
 36424  	googleapi.Expand(req.URL, map[string]string{
 36425  		"profileId": strconv.FormatInt(c.profileId, 10),
 36426  		"id":        strconv.FormatInt(c.id, 10),
 36427  	})
 36428  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36429  }
 36430  
 36431  // Do executes the "dfareporting.mobileCarriers.get" call.
 36432  // Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
 36433  // status code is an error. Response headers are in either
 36434  // *MobileCarrier.ServerResponse.Header or (if a response was returned
 36435  // at all) in error.(*googleapi.Error).Header. Use
 36436  // googleapi.IsNotModified to check whether the returned error was
 36437  // because http.StatusNotModified was returned.
 36438  func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
 36439  	gensupport.SetOptions(c.urlParams_, opts...)
 36440  	res, err := c.doRequest("json")
 36441  	if res != nil && res.StatusCode == http.StatusNotModified {
 36442  		if res.Body != nil {
 36443  			res.Body.Close()
 36444  		}
 36445  		return nil, &googleapi.Error{
 36446  			Code:   res.StatusCode,
 36447  			Header: res.Header,
 36448  		}
 36449  	}
 36450  	if err != nil {
 36451  		return nil, err
 36452  	}
 36453  	defer googleapi.CloseBody(res)
 36454  	if err := googleapi.CheckResponse(res); err != nil {
 36455  		return nil, err
 36456  	}
 36457  	ret := &MobileCarrier{
 36458  		ServerResponse: googleapi.ServerResponse{
 36459  			Header:         res.Header,
 36460  			HTTPStatusCode: res.StatusCode,
 36461  		},
 36462  	}
 36463  	target := &ret
 36464  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36465  		return nil, err
 36466  	}
 36467  	return ret, nil
 36468  	// {
 36469  	//   "description": "Gets one mobile carrier by ID.",
 36470  	//   "httpMethod": "GET",
 36471  	//   "id": "dfareporting.mobileCarriers.get",
 36472  	//   "parameterOrder": [
 36473  	//     "profileId",
 36474  	//     "id"
 36475  	//   ],
 36476  	//   "parameters": {
 36477  	//     "id": {
 36478  	//       "description": "Mobile carrier ID.",
 36479  	//       "format": "int64",
 36480  	//       "location": "path",
 36481  	//       "required": true,
 36482  	//       "type": "string"
 36483  	//     },
 36484  	//     "profileId": {
 36485  	//       "description": "User profile ID associated with this request.",
 36486  	//       "format": "int64",
 36487  	//       "location": "path",
 36488  	//       "required": true,
 36489  	//       "type": "string"
 36490  	//     }
 36491  	//   },
 36492  	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
 36493  	//   "response": {
 36494  	//     "$ref": "MobileCarrier"
 36495  	//   },
 36496  	//   "scopes": [
 36497  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36498  	//   ]
 36499  	// }
 36500  
 36501  }
 36502  
 36503  // method id "dfareporting.mobileCarriers.list":
 36504  
 36505  type MobileCarriersListCall struct {
 36506  	s            *Service
 36507  	profileId    int64
 36508  	urlParams_   gensupport.URLParams
 36509  	ifNoneMatch_ string
 36510  	ctx_         context.Context
 36511  	header_      http.Header
 36512  }
 36513  
 36514  // List: Retrieves a list of mobile carriers.
 36515  func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
 36516  	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36517  	c.profileId = profileId
 36518  	return c
 36519  }
 36520  
 36521  // Fields allows partial responses to be retrieved. See
 36522  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36523  // for more information.
 36524  func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
 36525  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36526  	return c
 36527  }
 36528  
 36529  // IfNoneMatch sets the optional parameter which makes the operation
 36530  // fail if the object's ETag matches the given value. This is useful for
 36531  // getting updates only after the object has changed since the last
 36532  // request. Use googleapi.IsNotModified to check whether the response
 36533  // error from Do is the result of In-None-Match.
 36534  func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
 36535  	c.ifNoneMatch_ = entityTag
 36536  	return c
 36537  }
 36538  
 36539  // Context sets the context to be used in this call's Do method. Any
 36540  // pending HTTP request will be aborted if the provided context is
 36541  // canceled.
 36542  func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 36543  	c.ctx_ = ctx
 36544  	return c
 36545  }
 36546  
 36547  // Header returns an http.Header that can be modified by the caller to
 36548  // add HTTP headers to the request.
 36549  func (c *MobileCarriersListCall) Header() http.Header {
 36550  	if c.header_ == nil {
 36551  		c.header_ = make(http.Header)
 36552  	}
 36553  	return c.header_
 36554  }
 36555  
 36556  func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 36557  	reqHeaders := make(http.Header)
 36558  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36559  	for k, v := range c.header_ {
 36560  		reqHeaders[k] = v
 36561  	}
 36562  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36563  	if c.ifNoneMatch_ != "" {
 36564  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36565  	}
 36566  	var body io.Reader = nil
 36567  	c.urlParams_.Set("alt", alt)
 36568  	c.urlParams_.Set("prettyPrint", "false")
 36569  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
 36570  	urls += "?" + c.urlParams_.Encode()
 36571  	req, err := http.NewRequest("GET", urls, body)
 36572  	if err != nil {
 36573  		return nil, err
 36574  	}
 36575  	req.Header = reqHeaders
 36576  	googleapi.Expand(req.URL, map[string]string{
 36577  		"profileId": strconv.FormatInt(c.profileId, 10),
 36578  	})
 36579  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36580  }
 36581  
 36582  // Do executes the "dfareporting.mobileCarriers.list" call.
 36583  // Exactly one of *MobileCarriersListResponse or error will be non-nil.
 36584  // Any non-2xx status code is an error. Response headers are in either
 36585  // *MobileCarriersListResponse.ServerResponse.Header or (if a response
 36586  // was returned at all) in error.(*googleapi.Error).Header. Use
 36587  // googleapi.IsNotModified to check whether the returned error was
 36588  // because http.StatusNotModified was returned.
 36589  func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
 36590  	gensupport.SetOptions(c.urlParams_, opts...)
 36591  	res, err := c.doRequest("json")
 36592  	if res != nil && res.StatusCode == http.StatusNotModified {
 36593  		if res.Body != nil {
 36594  			res.Body.Close()
 36595  		}
 36596  		return nil, &googleapi.Error{
 36597  			Code:   res.StatusCode,
 36598  			Header: res.Header,
 36599  		}
 36600  	}
 36601  	if err != nil {
 36602  		return nil, err
 36603  	}
 36604  	defer googleapi.CloseBody(res)
 36605  	if err := googleapi.CheckResponse(res); err != nil {
 36606  		return nil, err
 36607  	}
 36608  	ret := &MobileCarriersListResponse{
 36609  		ServerResponse: googleapi.ServerResponse{
 36610  			Header:         res.Header,
 36611  			HTTPStatusCode: res.StatusCode,
 36612  		},
 36613  	}
 36614  	target := &ret
 36615  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36616  		return nil, err
 36617  	}
 36618  	return ret, nil
 36619  	// {
 36620  	//   "description": "Retrieves a list of mobile carriers.",
 36621  	//   "httpMethod": "GET",
 36622  	//   "id": "dfareporting.mobileCarriers.list",
 36623  	//   "parameterOrder": [
 36624  	//     "profileId"
 36625  	//   ],
 36626  	//   "parameters": {
 36627  	//     "profileId": {
 36628  	//       "description": "User profile ID associated with this request.",
 36629  	//       "format": "int64",
 36630  	//       "location": "path",
 36631  	//       "required": true,
 36632  	//       "type": "string"
 36633  	//     }
 36634  	//   },
 36635  	//   "path": "userprofiles/{profileId}/mobileCarriers",
 36636  	//   "response": {
 36637  	//     "$ref": "MobileCarriersListResponse"
 36638  	//   },
 36639  	//   "scopes": [
 36640  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36641  	//   ]
 36642  	// }
 36643  
 36644  }
 36645  
 36646  // method id "dfareporting.operatingSystemVersions.get":
 36647  
 36648  type OperatingSystemVersionsGetCall struct {
 36649  	s            *Service
 36650  	profileId    int64
 36651  	id           int64
 36652  	urlParams_   gensupport.URLParams
 36653  	ifNoneMatch_ string
 36654  	ctx_         context.Context
 36655  	header_      http.Header
 36656  }
 36657  
 36658  // Get: Gets one operating system version by ID.
 36659  func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
 36660  	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36661  	c.profileId = profileId
 36662  	c.id = id
 36663  	return c
 36664  }
 36665  
 36666  // Fields allows partial responses to be retrieved. See
 36667  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36668  // for more information.
 36669  func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
 36670  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36671  	return c
 36672  }
 36673  
 36674  // IfNoneMatch sets the optional parameter which makes the operation
 36675  // fail if the object's ETag matches the given value. This is useful for
 36676  // getting updates only after the object has changed since the last
 36677  // request. Use googleapi.IsNotModified to check whether the response
 36678  // error from Do is the result of In-None-Match.
 36679  func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
 36680  	c.ifNoneMatch_ = entityTag
 36681  	return c
 36682  }
 36683  
 36684  // Context sets the context to be used in this call's Do method. Any
 36685  // pending HTTP request will be aborted if the provided context is
 36686  // canceled.
 36687  func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
 36688  	c.ctx_ = ctx
 36689  	return c
 36690  }
 36691  
 36692  // Header returns an http.Header that can be modified by the caller to
 36693  // add HTTP headers to the request.
 36694  func (c *OperatingSystemVersionsGetCall) Header() http.Header {
 36695  	if c.header_ == nil {
 36696  		c.header_ = make(http.Header)
 36697  	}
 36698  	return c.header_
 36699  }
 36700  
 36701  func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 36702  	reqHeaders := make(http.Header)
 36703  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36704  	for k, v := range c.header_ {
 36705  		reqHeaders[k] = v
 36706  	}
 36707  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36708  	if c.ifNoneMatch_ != "" {
 36709  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36710  	}
 36711  	var body io.Reader = nil
 36712  	c.urlParams_.Set("alt", alt)
 36713  	c.urlParams_.Set("prettyPrint", "false")
 36714  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
 36715  	urls += "?" + c.urlParams_.Encode()
 36716  	req, err := http.NewRequest("GET", urls, body)
 36717  	if err != nil {
 36718  		return nil, err
 36719  	}
 36720  	req.Header = reqHeaders
 36721  	googleapi.Expand(req.URL, map[string]string{
 36722  		"profileId": strconv.FormatInt(c.profileId, 10),
 36723  		"id":        strconv.FormatInt(c.id, 10),
 36724  	})
 36725  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36726  }
 36727  
 36728  // Do executes the "dfareporting.operatingSystemVersions.get" call.
 36729  // Exactly one of *OperatingSystemVersion or error will be non-nil. Any
 36730  // non-2xx status code is an error. Response headers are in either
 36731  // *OperatingSystemVersion.ServerResponse.Header or (if a response was
 36732  // returned at all) in error.(*googleapi.Error).Header. Use
 36733  // googleapi.IsNotModified to check whether the returned error was
 36734  // because http.StatusNotModified was returned.
 36735  func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
 36736  	gensupport.SetOptions(c.urlParams_, opts...)
 36737  	res, err := c.doRequest("json")
 36738  	if res != nil && res.StatusCode == http.StatusNotModified {
 36739  		if res.Body != nil {
 36740  			res.Body.Close()
 36741  		}
 36742  		return nil, &googleapi.Error{
 36743  			Code:   res.StatusCode,
 36744  			Header: res.Header,
 36745  		}
 36746  	}
 36747  	if err != nil {
 36748  		return nil, err
 36749  	}
 36750  	defer googleapi.CloseBody(res)
 36751  	if err := googleapi.CheckResponse(res); err != nil {
 36752  		return nil, err
 36753  	}
 36754  	ret := &OperatingSystemVersion{
 36755  		ServerResponse: googleapi.ServerResponse{
 36756  			Header:         res.Header,
 36757  			HTTPStatusCode: res.StatusCode,
 36758  		},
 36759  	}
 36760  	target := &ret
 36761  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36762  		return nil, err
 36763  	}
 36764  	return ret, nil
 36765  	// {
 36766  	//   "description": "Gets one operating system version by ID.",
 36767  	//   "httpMethod": "GET",
 36768  	//   "id": "dfareporting.operatingSystemVersions.get",
 36769  	//   "parameterOrder": [
 36770  	//     "profileId",
 36771  	//     "id"
 36772  	//   ],
 36773  	//   "parameters": {
 36774  	//     "id": {
 36775  	//       "description": "Operating system version ID.",
 36776  	//       "format": "int64",
 36777  	//       "location": "path",
 36778  	//       "required": true,
 36779  	//       "type": "string"
 36780  	//     },
 36781  	//     "profileId": {
 36782  	//       "description": "User profile ID associated with this request.",
 36783  	//       "format": "int64",
 36784  	//       "location": "path",
 36785  	//       "required": true,
 36786  	//       "type": "string"
 36787  	//     }
 36788  	//   },
 36789  	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 36790  	//   "response": {
 36791  	//     "$ref": "OperatingSystemVersion"
 36792  	//   },
 36793  	//   "scopes": [
 36794  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36795  	//   ]
 36796  	// }
 36797  
 36798  }
 36799  
 36800  // method id "dfareporting.operatingSystemVersions.list":
 36801  
 36802  type OperatingSystemVersionsListCall struct {
 36803  	s            *Service
 36804  	profileId    int64
 36805  	urlParams_   gensupport.URLParams
 36806  	ifNoneMatch_ string
 36807  	ctx_         context.Context
 36808  	header_      http.Header
 36809  }
 36810  
 36811  // List: Retrieves a list of operating system versions.
 36812  func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
 36813  	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36814  	c.profileId = profileId
 36815  	return c
 36816  }
 36817  
 36818  // Fields allows partial responses to be retrieved. See
 36819  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36820  // for more information.
 36821  func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
 36822  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36823  	return c
 36824  }
 36825  
 36826  // IfNoneMatch sets the optional parameter which makes the operation
 36827  // fail if the object's ETag matches the given value. This is useful for
 36828  // getting updates only after the object has changed since the last
 36829  // request. Use googleapi.IsNotModified to check whether the response
 36830  // error from Do is the result of In-None-Match.
 36831  func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
 36832  	c.ifNoneMatch_ = entityTag
 36833  	return c
 36834  }
 36835  
 36836  // Context sets the context to be used in this call's Do method. Any
 36837  // pending HTTP request will be aborted if the provided context is
 36838  // canceled.
 36839  func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 36840  	c.ctx_ = ctx
 36841  	return c
 36842  }
 36843  
 36844  // Header returns an http.Header that can be modified by the caller to
 36845  // add HTTP headers to the request.
 36846  func (c *OperatingSystemVersionsListCall) Header() http.Header {
 36847  	if c.header_ == nil {
 36848  		c.header_ = make(http.Header)
 36849  	}
 36850  	return c.header_
 36851  }
 36852  
 36853  func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 36854  	reqHeaders := make(http.Header)
 36855  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 36856  	for k, v := range c.header_ {
 36857  		reqHeaders[k] = v
 36858  	}
 36859  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36860  	if c.ifNoneMatch_ != "" {
 36861  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36862  	}
 36863  	var body io.Reader = nil
 36864  	c.urlParams_.Set("alt", alt)
 36865  	c.urlParams_.Set("prettyPrint", "false")
 36866  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
 36867  	urls += "?" + c.urlParams_.Encode()
 36868  	req, err := http.NewRequest("GET", urls, body)
 36869  	if err != nil {
 36870  		return nil, err
 36871  	}
 36872  	req.Header = reqHeaders
 36873  	googleapi.Expand(req.URL, map[string]string{
 36874  		"profileId": strconv.FormatInt(c.profileId, 10),
 36875  	})
 36876  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36877  }
 36878  
 36879  // Do executes the "dfareporting.operatingSystemVersions.list" call.
 36880  // Exactly one of *OperatingSystemVersionsListResponse or error will be
 36881  // non-nil. Any non-2xx status code is an error. Response headers are in
 36882  // either *OperatingSystemVersionsListResponse.ServerResponse.Header or
 36883  // (if a response was returned at all) in
 36884  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36885  // whether the returned error was because http.StatusNotModified was
 36886  // returned.
 36887  func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
 36888  	gensupport.SetOptions(c.urlParams_, opts...)
 36889  	res, err := c.doRequest("json")
 36890  	if res != nil && res.StatusCode == http.StatusNotModified {
 36891  		if res.Body != nil {
 36892  			res.Body.Close()
 36893  		}
 36894  		return nil, &googleapi.Error{
 36895  			Code:   res.StatusCode,
 36896  			Header: res.Header,
 36897  		}
 36898  	}
 36899  	if err != nil {
 36900  		return nil, err
 36901  	}
 36902  	defer googleapi.CloseBody(res)
 36903  	if err := googleapi.CheckResponse(res); err != nil {
 36904  		return nil, err
 36905  	}
 36906  	ret := &OperatingSystemVersionsListResponse{
 36907  		ServerResponse: googleapi.ServerResponse{
 36908  			Header:         res.Header,
 36909  			HTTPStatusCode: res.StatusCode,
 36910  		},
 36911  	}
 36912  	target := &ret
 36913  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36914  		return nil, err
 36915  	}
 36916  	return ret, nil
 36917  	// {
 36918  	//   "description": "Retrieves a list of operating system versions.",
 36919  	//   "httpMethod": "GET",
 36920  	//   "id": "dfareporting.operatingSystemVersions.list",
 36921  	//   "parameterOrder": [
 36922  	//     "profileId"
 36923  	//   ],
 36924  	//   "parameters": {
 36925  	//     "profileId": {
 36926  	//       "description": "User profile ID associated with this request.",
 36927  	//       "format": "int64",
 36928  	//       "location": "path",
 36929  	//       "required": true,
 36930  	//       "type": "string"
 36931  	//     }
 36932  	//   },
 36933  	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
 36934  	//   "response": {
 36935  	//     "$ref": "OperatingSystemVersionsListResponse"
 36936  	//   },
 36937  	//   "scopes": [
 36938  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36939  	//   ]
 36940  	// }
 36941  
 36942  }
 36943  
 36944  // method id "dfareporting.operatingSystems.get":
 36945  
 36946  type OperatingSystemsGetCall struct {
 36947  	s            *Service
 36948  	profileId    int64
 36949  	dartId       int64
 36950  	urlParams_   gensupport.URLParams
 36951  	ifNoneMatch_ string
 36952  	ctx_         context.Context
 36953  	header_      http.Header
 36954  }
 36955  
 36956  // Get: Gets one operating system by DART ID.
 36957  func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
 36958  	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36959  	c.profileId = profileId
 36960  	c.dartId = dartId
 36961  	return c
 36962  }
 36963  
 36964  // Fields allows partial responses to be retrieved. See
 36965  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36966  // for more information.
 36967  func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
 36968  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36969  	return c
 36970  }
 36971  
 36972  // IfNoneMatch sets the optional parameter which makes the operation
 36973  // fail if the object's ETag matches the given value. This is useful for
 36974  // getting updates only after the object has changed since the last
 36975  // request. Use googleapi.IsNotModified to check whether the response
 36976  // error from Do is the result of In-None-Match.
 36977  func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
 36978  	c.ifNoneMatch_ = entityTag
 36979  	return c
 36980  }
 36981  
 36982  // Context sets the context to be used in this call's Do method. Any
 36983  // pending HTTP request will be aborted if the provided context is
 36984  // canceled.
 36985  func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
 36986  	c.ctx_ = ctx
 36987  	return c
 36988  }
 36989  
 36990  // Header returns an http.Header that can be modified by the caller to
 36991  // add HTTP headers to the request.
 36992  func (c *OperatingSystemsGetCall) Header() http.Header {
 36993  	if c.header_ == nil {
 36994  		c.header_ = make(http.Header)
 36995  	}
 36996  	return c.header_
 36997  }
 36998  
 36999  func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 37000  	reqHeaders := make(http.Header)
 37001  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37002  	for k, v := range c.header_ {
 37003  		reqHeaders[k] = v
 37004  	}
 37005  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37006  	if c.ifNoneMatch_ != "" {
 37007  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37008  	}
 37009  	var body io.Reader = nil
 37010  	c.urlParams_.Set("alt", alt)
 37011  	c.urlParams_.Set("prettyPrint", "false")
 37012  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
 37013  	urls += "?" + c.urlParams_.Encode()
 37014  	req, err := http.NewRequest("GET", urls, body)
 37015  	if err != nil {
 37016  		return nil, err
 37017  	}
 37018  	req.Header = reqHeaders
 37019  	googleapi.Expand(req.URL, map[string]string{
 37020  		"profileId": strconv.FormatInt(c.profileId, 10),
 37021  		"dartId":    strconv.FormatInt(c.dartId, 10),
 37022  	})
 37023  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37024  }
 37025  
 37026  // Do executes the "dfareporting.operatingSystems.get" call.
 37027  // Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
 37028  // status code is an error. Response headers are in either
 37029  // *OperatingSystem.ServerResponse.Header or (if a response was returned
 37030  // at all) in error.(*googleapi.Error).Header. Use
 37031  // googleapi.IsNotModified to check whether the returned error was
 37032  // because http.StatusNotModified was returned.
 37033  func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
 37034  	gensupport.SetOptions(c.urlParams_, opts...)
 37035  	res, err := c.doRequest("json")
 37036  	if res != nil && res.StatusCode == http.StatusNotModified {
 37037  		if res.Body != nil {
 37038  			res.Body.Close()
 37039  		}
 37040  		return nil, &googleapi.Error{
 37041  			Code:   res.StatusCode,
 37042  			Header: res.Header,
 37043  		}
 37044  	}
 37045  	if err != nil {
 37046  		return nil, err
 37047  	}
 37048  	defer googleapi.CloseBody(res)
 37049  	if err := googleapi.CheckResponse(res); err != nil {
 37050  		return nil, err
 37051  	}
 37052  	ret := &OperatingSystem{
 37053  		ServerResponse: googleapi.ServerResponse{
 37054  			Header:         res.Header,
 37055  			HTTPStatusCode: res.StatusCode,
 37056  		},
 37057  	}
 37058  	target := &ret
 37059  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37060  		return nil, err
 37061  	}
 37062  	return ret, nil
 37063  	// {
 37064  	//   "description": "Gets one operating system by DART ID.",
 37065  	//   "httpMethod": "GET",
 37066  	//   "id": "dfareporting.operatingSystems.get",
 37067  	//   "parameterOrder": [
 37068  	//     "profileId",
 37069  	//     "dartId"
 37070  	//   ],
 37071  	//   "parameters": {
 37072  	//     "dartId": {
 37073  	//       "description": "Operating system DART ID.",
 37074  	//       "format": "int64",
 37075  	//       "location": "path",
 37076  	//       "required": true,
 37077  	//       "type": "string"
 37078  	//     },
 37079  	//     "profileId": {
 37080  	//       "description": "User profile ID associated with this request.",
 37081  	//       "format": "int64",
 37082  	//       "location": "path",
 37083  	//       "required": true,
 37084  	//       "type": "string"
 37085  	//     }
 37086  	//   },
 37087  	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
 37088  	//   "response": {
 37089  	//     "$ref": "OperatingSystem"
 37090  	//   },
 37091  	//   "scopes": [
 37092  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37093  	//   ]
 37094  	// }
 37095  
 37096  }
 37097  
 37098  // method id "dfareporting.operatingSystems.list":
 37099  
 37100  type OperatingSystemsListCall struct {
 37101  	s            *Service
 37102  	profileId    int64
 37103  	urlParams_   gensupport.URLParams
 37104  	ifNoneMatch_ string
 37105  	ctx_         context.Context
 37106  	header_      http.Header
 37107  }
 37108  
 37109  // List: Retrieves a list of operating systems.
 37110  func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
 37111  	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37112  	c.profileId = profileId
 37113  	return c
 37114  }
 37115  
 37116  // Fields allows partial responses to be retrieved. See
 37117  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37118  // for more information.
 37119  func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
 37120  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37121  	return c
 37122  }
 37123  
 37124  // IfNoneMatch sets the optional parameter which makes the operation
 37125  // fail if the object's ETag matches the given value. This is useful for
 37126  // getting updates only after the object has changed since the last
 37127  // request. Use googleapi.IsNotModified to check whether the response
 37128  // error from Do is the result of In-None-Match.
 37129  func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
 37130  	c.ifNoneMatch_ = entityTag
 37131  	return c
 37132  }
 37133  
 37134  // Context sets the context to be used in this call's Do method. Any
 37135  // pending HTTP request will be aborted if the provided context is
 37136  // canceled.
 37137  func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 37138  	c.ctx_ = ctx
 37139  	return c
 37140  }
 37141  
 37142  // Header returns an http.Header that can be modified by the caller to
 37143  // add HTTP headers to the request.
 37144  func (c *OperatingSystemsListCall) Header() http.Header {
 37145  	if c.header_ == nil {
 37146  		c.header_ = make(http.Header)
 37147  	}
 37148  	return c.header_
 37149  }
 37150  
 37151  func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 37152  	reqHeaders := make(http.Header)
 37153  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37154  	for k, v := range c.header_ {
 37155  		reqHeaders[k] = v
 37156  	}
 37157  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37158  	if c.ifNoneMatch_ != "" {
 37159  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37160  	}
 37161  	var body io.Reader = nil
 37162  	c.urlParams_.Set("alt", alt)
 37163  	c.urlParams_.Set("prettyPrint", "false")
 37164  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
 37165  	urls += "?" + c.urlParams_.Encode()
 37166  	req, err := http.NewRequest("GET", urls, body)
 37167  	if err != nil {
 37168  		return nil, err
 37169  	}
 37170  	req.Header = reqHeaders
 37171  	googleapi.Expand(req.URL, map[string]string{
 37172  		"profileId": strconv.FormatInt(c.profileId, 10),
 37173  	})
 37174  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37175  }
 37176  
 37177  // Do executes the "dfareporting.operatingSystems.list" call.
 37178  // Exactly one of *OperatingSystemsListResponse or error will be
 37179  // non-nil. Any non-2xx status code is an error. Response headers are in
 37180  // either *OperatingSystemsListResponse.ServerResponse.Header or (if a
 37181  // response was returned at all) in error.(*googleapi.Error).Header. Use
 37182  // googleapi.IsNotModified to check whether the returned error was
 37183  // because http.StatusNotModified was returned.
 37184  func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
 37185  	gensupport.SetOptions(c.urlParams_, opts...)
 37186  	res, err := c.doRequest("json")
 37187  	if res != nil && res.StatusCode == http.StatusNotModified {
 37188  		if res.Body != nil {
 37189  			res.Body.Close()
 37190  		}
 37191  		return nil, &googleapi.Error{
 37192  			Code:   res.StatusCode,
 37193  			Header: res.Header,
 37194  		}
 37195  	}
 37196  	if err != nil {
 37197  		return nil, err
 37198  	}
 37199  	defer googleapi.CloseBody(res)
 37200  	if err := googleapi.CheckResponse(res); err != nil {
 37201  		return nil, err
 37202  	}
 37203  	ret := &OperatingSystemsListResponse{
 37204  		ServerResponse: googleapi.ServerResponse{
 37205  			Header:         res.Header,
 37206  			HTTPStatusCode: res.StatusCode,
 37207  		},
 37208  	}
 37209  	target := &ret
 37210  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37211  		return nil, err
 37212  	}
 37213  	return ret, nil
 37214  	// {
 37215  	//   "description": "Retrieves a list of operating systems.",
 37216  	//   "httpMethod": "GET",
 37217  	//   "id": "dfareporting.operatingSystems.list",
 37218  	//   "parameterOrder": [
 37219  	//     "profileId"
 37220  	//   ],
 37221  	//   "parameters": {
 37222  	//     "profileId": {
 37223  	//       "description": "User profile ID associated with this request.",
 37224  	//       "format": "int64",
 37225  	//       "location": "path",
 37226  	//       "required": true,
 37227  	//       "type": "string"
 37228  	//     }
 37229  	//   },
 37230  	//   "path": "userprofiles/{profileId}/operatingSystems",
 37231  	//   "response": {
 37232  	//     "$ref": "OperatingSystemsListResponse"
 37233  	//   },
 37234  	//   "scopes": [
 37235  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37236  	//   ]
 37237  	// }
 37238  
 37239  }
 37240  
 37241  // method id "dfareporting.orderDocuments.get":
 37242  
 37243  type OrderDocumentsGetCall struct {
 37244  	s            *Service
 37245  	profileId    int64
 37246  	projectId    int64
 37247  	id           int64
 37248  	urlParams_   gensupport.URLParams
 37249  	ifNoneMatch_ string
 37250  	ctx_         context.Context
 37251  	header_      http.Header
 37252  }
 37253  
 37254  // Get: Gets one order document by ID.
 37255  func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
 37256  	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37257  	c.profileId = profileId
 37258  	c.projectId = projectId
 37259  	c.id = id
 37260  	return c
 37261  }
 37262  
 37263  // Fields allows partial responses to be retrieved. See
 37264  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37265  // for more information.
 37266  func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
 37267  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37268  	return c
 37269  }
 37270  
 37271  // IfNoneMatch sets the optional parameter which makes the operation
 37272  // fail if the object's ETag matches the given value. This is useful for
 37273  // getting updates only after the object has changed since the last
 37274  // request. Use googleapi.IsNotModified to check whether the response
 37275  // error from Do is the result of In-None-Match.
 37276  func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
 37277  	c.ifNoneMatch_ = entityTag
 37278  	return c
 37279  }
 37280  
 37281  // Context sets the context to be used in this call's Do method. Any
 37282  // pending HTTP request will be aborted if the provided context is
 37283  // canceled.
 37284  func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
 37285  	c.ctx_ = ctx
 37286  	return c
 37287  }
 37288  
 37289  // Header returns an http.Header that can be modified by the caller to
 37290  // add HTTP headers to the request.
 37291  func (c *OrderDocumentsGetCall) Header() http.Header {
 37292  	if c.header_ == nil {
 37293  		c.header_ = make(http.Header)
 37294  	}
 37295  	return c.header_
 37296  }
 37297  
 37298  func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 37299  	reqHeaders := make(http.Header)
 37300  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37301  	for k, v := range c.header_ {
 37302  		reqHeaders[k] = v
 37303  	}
 37304  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37305  	if c.ifNoneMatch_ != "" {
 37306  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37307  	}
 37308  	var body io.Reader = nil
 37309  	c.urlParams_.Set("alt", alt)
 37310  	c.urlParams_.Set("prettyPrint", "false")
 37311  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
 37312  	urls += "?" + c.urlParams_.Encode()
 37313  	req, err := http.NewRequest("GET", urls, body)
 37314  	if err != nil {
 37315  		return nil, err
 37316  	}
 37317  	req.Header = reqHeaders
 37318  	googleapi.Expand(req.URL, map[string]string{
 37319  		"profileId": strconv.FormatInt(c.profileId, 10),
 37320  		"projectId": strconv.FormatInt(c.projectId, 10),
 37321  		"id":        strconv.FormatInt(c.id, 10),
 37322  	})
 37323  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37324  }
 37325  
 37326  // Do executes the "dfareporting.orderDocuments.get" call.
 37327  // Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
 37328  // status code is an error. Response headers are in either
 37329  // *OrderDocument.ServerResponse.Header or (if a response was returned
 37330  // at all) in error.(*googleapi.Error).Header. Use
 37331  // googleapi.IsNotModified to check whether the returned error was
 37332  // because http.StatusNotModified was returned.
 37333  func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
 37334  	gensupport.SetOptions(c.urlParams_, opts...)
 37335  	res, err := c.doRequest("json")
 37336  	if res != nil && res.StatusCode == http.StatusNotModified {
 37337  		if res.Body != nil {
 37338  			res.Body.Close()
 37339  		}
 37340  		return nil, &googleapi.Error{
 37341  			Code:   res.StatusCode,
 37342  			Header: res.Header,
 37343  		}
 37344  	}
 37345  	if err != nil {
 37346  		return nil, err
 37347  	}
 37348  	defer googleapi.CloseBody(res)
 37349  	if err := googleapi.CheckResponse(res); err != nil {
 37350  		return nil, err
 37351  	}
 37352  	ret := &OrderDocument{
 37353  		ServerResponse: googleapi.ServerResponse{
 37354  			Header:         res.Header,
 37355  			HTTPStatusCode: res.StatusCode,
 37356  		},
 37357  	}
 37358  	target := &ret
 37359  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37360  		return nil, err
 37361  	}
 37362  	return ret, nil
 37363  	// {
 37364  	//   "description": "Gets one order document by ID.",
 37365  	//   "httpMethod": "GET",
 37366  	//   "id": "dfareporting.orderDocuments.get",
 37367  	//   "parameterOrder": [
 37368  	//     "profileId",
 37369  	//     "projectId",
 37370  	//     "id"
 37371  	//   ],
 37372  	//   "parameters": {
 37373  	//     "id": {
 37374  	//       "description": "Order document ID.",
 37375  	//       "format": "int64",
 37376  	//       "location": "path",
 37377  	//       "required": true,
 37378  	//       "type": "string"
 37379  	//     },
 37380  	//     "profileId": {
 37381  	//       "description": "User profile ID associated with this request.",
 37382  	//       "format": "int64",
 37383  	//       "location": "path",
 37384  	//       "required": true,
 37385  	//       "type": "string"
 37386  	//     },
 37387  	//     "projectId": {
 37388  	//       "description": "Project ID for order documents.",
 37389  	//       "format": "int64",
 37390  	//       "location": "path",
 37391  	//       "required": true,
 37392  	//       "type": "string"
 37393  	//     }
 37394  	//   },
 37395  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 37396  	//   "response": {
 37397  	//     "$ref": "OrderDocument"
 37398  	//   },
 37399  	//   "scopes": [
 37400  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37401  	//   ]
 37402  	// }
 37403  
 37404  }
 37405  
 37406  // method id "dfareporting.orderDocuments.list":
 37407  
 37408  type OrderDocumentsListCall struct {
 37409  	s            *Service
 37410  	profileId    int64
 37411  	projectId    int64
 37412  	urlParams_   gensupport.URLParams
 37413  	ifNoneMatch_ string
 37414  	ctx_         context.Context
 37415  	header_      http.Header
 37416  }
 37417  
 37418  // List: Retrieves a list of order documents, possibly filtered. This
 37419  // method supports paging.
 37420  func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
 37421  	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37422  	c.profileId = profileId
 37423  	c.projectId = projectId
 37424  	return c
 37425  }
 37426  
 37427  // Approved sets the optional parameter "approved": Select only order
 37428  // documents that have been approved by at least one user.
 37429  func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
 37430  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 37431  	return c
 37432  }
 37433  
 37434  // Ids sets the optional parameter "ids": Select only order documents
 37435  // with these IDs.
 37436  func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
 37437  	var ids_ []string
 37438  	for _, v := range ids {
 37439  		ids_ = append(ids_, fmt.Sprint(v))
 37440  	}
 37441  	c.urlParams_.SetMulti("ids", ids_)
 37442  	return c
 37443  }
 37444  
 37445  // MaxResults sets the optional parameter "maxResults": Maximum number
 37446  // of results to return.
 37447  func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
 37448  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37449  	return c
 37450  }
 37451  
 37452  // OrderId sets the optional parameter "orderId": Select only order
 37453  // documents for specified orders.
 37454  func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
 37455  	var orderId_ []string
 37456  	for _, v := range orderId {
 37457  		orderId_ = append(orderId_, fmt.Sprint(v))
 37458  	}
 37459  	c.urlParams_.SetMulti("orderId", orderId_)
 37460  	return c
 37461  }
 37462  
 37463  // PageToken sets the optional parameter "pageToken": Value of the
 37464  // nextPageToken from the previous result page.
 37465  func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
 37466  	c.urlParams_.Set("pageToken", pageToken)
 37467  	return c
 37468  }
 37469  
 37470  // SearchString sets the optional parameter "searchString": Allows
 37471  // searching for order documents by name or ID. Wildcards (*) are
 37472  // allowed. For example, "orderdocument*2015" will return order
 37473  // documents with names like "orderdocument June 2015", "orderdocument
 37474  // April 2015", or simply "orderdocument 2015". Most of the searches
 37475  // also add wildcards implicitly at the start and the end of the search
 37476  // string. For example, a search string of "orderdocument" will match
 37477  // order documents with name "my orderdocument", "orderdocument 2015",
 37478  // or simply "orderdocument".
 37479  func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
 37480  	c.urlParams_.Set("searchString", searchString)
 37481  	return c
 37482  }
 37483  
 37484  // SiteId sets the optional parameter "siteId": Select only order
 37485  // documents that are associated with these sites.
 37486  func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
 37487  	var siteId_ []string
 37488  	for _, v := range siteId {
 37489  		siteId_ = append(siteId_, fmt.Sprint(v))
 37490  	}
 37491  	c.urlParams_.SetMulti("siteId", siteId_)
 37492  	return c
 37493  }
 37494  
 37495  // SortField sets the optional parameter "sortField": Field by which to
 37496  // sort the list.
 37497  //
 37498  // Possible values:
 37499  //
 37500  //	"ID" (default)
 37501  //	"NAME"
 37502  func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
 37503  	c.urlParams_.Set("sortField", sortField)
 37504  	return c
 37505  }
 37506  
 37507  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 37508  // results.
 37509  //
 37510  // Possible values:
 37511  //
 37512  //	"ASCENDING" (default)
 37513  //	"DESCENDING"
 37514  func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
 37515  	c.urlParams_.Set("sortOrder", sortOrder)
 37516  	return c
 37517  }
 37518  
 37519  // Fields allows partial responses to be retrieved. See
 37520  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37521  // for more information.
 37522  func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
 37523  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37524  	return c
 37525  }
 37526  
 37527  // IfNoneMatch sets the optional parameter which makes the operation
 37528  // fail if the object's ETag matches the given value. This is useful for
 37529  // getting updates only after the object has changed since the last
 37530  // request. Use googleapi.IsNotModified to check whether the response
 37531  // error from Do is the result of In-None-Match.
 37532  func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
 37533  	c.ifNoneMatch_ = entityTag
 37534  	return c
 37535  }
 37536  
 37537  // Context sets the context to be used in this call's Do method. Any
 37538  // pending HTTP request will be aborted if the provided context is
 37539  // canceled.
 37540  func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
 37541  	c.ctx_ = ctx
 37542  	return c
 37543  }
 37544  
 37545  // Header returns an http.Header that can be modified by the caller to
 37546  // add HTTP headers to the request.
 37547  func (c *OrderDocumentsListCall) Header() http.Header {
 37548  	if c.header_ == nil {
 37549  		c.header_ = make(http.Header)
 37550  	}
 37551  	return c.header_
 37552  }
 37553  
 37554  func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 37555  	reqHeaders := make(http.Header)
 37556  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37557  	for k, v := range c.header_ {
 37558  		reqHeaders[k] = v
 37559  	}
 37560  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37561  	if c.ifNoneMatch_ != "" {
 37562  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37563  	}
 37564  	var body io.Reader = nil
 37565  	c.urlParams_.Set("alt", alt)
 37566  	c.urlParams_.Set("prettyPrint", "false")
 37567  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
 37568  	urls += "?" + c.urlParams_.Encode()
 37569  	req, err := http.NewRequest("GET", urls, body)
 37570  	if err != nil {
 37571  		return nil, err
 37572  	}
 37573  	req.Header = reqHeaders
 37574  	googleapi.Expand(req.URL, map[string]string{
 37575  		"profileId": strconv.FormatInt(c.profileId, 10),
 37576  		"projectId": strconv.FormatInt(c.projectId, 10),
 37577  	})
 37578  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37579  }
 37580  
 37581  // Do executes the "dfareporting.orderDocuments.list" call.
 37582  // Exactly one of *OrderDocumentsListResponse or error will be non-nil.
 37583  // Any non-2xx status code is an error. Response headers are in either
 37584  // *OrderDocumentsListResponse.ServerResponse.Header or (if a response
 37585  // was returned at all) in error.(*googleapi.Error).Header. Use
 37586  // googleapi.IsNotModified to check whether the returned error was
 37587  // because http.StatusNotModified was returned.
 37588  func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
 37589  	gensupport.SetOptions(c.urlParams_, opts...)
 37590  	res, err := c.doRequest("json")
 37591  	if res != nil && res.StatusCode == http.StatusNotModified {
 37592  		if res.Body != nil {
 37593  			res.Body.Close()
 37594  		}
 37595  		return nil, &googleapi.Error{
 37596  			Code:   res.StatusCode,
 37597  			Header: res.Header,
 37598  		}
 37599  	}
 37600  	if err != nil {
 37601  		return nil, err
 37602  	}
 37603  	defer googleapi.CloseBody(res)
 37604  	if err := googleapi.CheckResponse(res); err != nil {
 37605  		return nil, err
 37606  	}
 37607  	ret := &OrderDocumentsListResponse{
 37608  		ServerResponse: googleapi.ServerResponse{
 37609  			Header:         res.Header,
 37610  			HTTPStatusCode: res.StatusCode,
 37611  		},
 37612  	}
 37613  	target := &ret
 37614  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37615  		return nil, err
 37616  	}
 37617  	return ret, nil
 37618  	// {
 37619  	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
 37620  	//   "httpMethod": "GET",
 37621  	//   "id": "dfareporting.orderDocuments.list",
 37622  	//   "parameterOrder": [
 37623  	//     "profileId",
 37624  	//     "projectId"
 37625  	//   ],
 37626  	//   "parameters": {
 37627  	//     "approved": {
 37628  	//       "description": "Select only order documents that have been approved by at least one user.",
 37629  	//       "location": "query",
 37630  	//       "type": "boolean"
 37631  	//     },
 37632  	//     "ids": {
 37633  	//       "description": "Select only order documents with these IDs.",
 37634  	//       "format": "int64",
 37635  	//       "location": "query",
 37636  	//       "repeated": true,
 37637  	//       "type": "string"
 37638  	//     },
 37639  	//     "maxResults": {
 37640  	//       "default": "1000",
 37641  	//       "description": "Maximum number of results to return.",
 37642  	//       "format": "int32",
 37643  	//       "location": "query",
 37644  	//       "maximum": "1000",
 37645  	//       "minimum": "0",
 37646  	//       "type": "integer"
 37647  	//     },
 37648  	//     "orderId": {
 37649  	//       "description": "Select only order documents for specified orders.",
 37650  	//       "format": "int64",
 37651  	//       "location": "query",
 37652  	//       "repeated": true,
 37653  	//       "type": "string"
 37654  	//     },
 37655  	//     "pageToken": {
 37656  	//       "description": "Value of the nextPageToken from the previous result page.",
 37657  	//       "location": "query",
 37658  	//       "type": "string"
 37659  	//     },
 37660  	//     "profileId": {
 37661  	//       "description": "User profile ID associated with this request.",
 37662  	//       "format": "int64",
 37663  	//       "location": "path",
 37664  	//       "required": true,
 37665  	//       "type": "string"
 37666  	//     },
 37667  	//     "projectId": {
 37668  	//       "description": "Project ID for order documents.",
 37669  	//       "format": "int64",
 37670  	//       "location": "path",
 37671  	//       "required": true,
 37672  	//       "type": "string"
 37673  	//     },
 37674  	//     "searchString": {
 37675  	//       "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\".",
 37676  	//       "location": "query",
 37677  	//       "type": "string"
 37678  	//     },
 37679  	//     "siteId": {
 37680  	//       "description": "Select only order documents that are associated with these sites.",
 37681  	//       "format": "int64",
 37682  	//       "location": "query",
 37683  	//       "repeated": true,
 37684  	//       "type": "string"
 37685  	//     },
 37686  	//     "sortField": {
 37687  	//       "default": "ID",
 37688  	//       "description": "Field by which to sort the list.",
 37689  	//       "enum": [
 37690  	//         "ID",
 37691  	//         "NAME"
 37692  	//       ],
 37693  	//       "enumDescriptions": [
 37694  	//         "",
 37695  	//         ""
 37696  	//       ],
 37697  	//       "location": "query",
 37698  	//       "type": "string"
 37699  	//     },
 37700  	//     "sortOrder": {
 37701  	//       "default": "ASCENDING",
 37702  	//       "description": "Order of sorted results.",
 37703  	//       "enum": [
 37704  	//         "ASCENDING",
 37705  	//         "DESCENDING"
 37706  	//       ],
 37707  	//       "enumDescriptions": [
 37708  	//         "",
 37709  	//         ""
 37710  	//       ],
 37711  	//       "location": "query",
 37712  	//       "type": "string"
 37713  	//     }
 37714  	//   },
 37715  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 37716  	//   "response": {
 37717  	//     "$ref": "OrderDocumentsListResponse"
 37718  	//   },
 37719  	//   "scopes": [
 37720  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37721  	//   ]
 37722  	// }
 37723  
 37724  }
 37725  
 37726  // Pages invokes f for each page of results.
 37727  // A non-nil error returned from f will halt the iteration.
 37728  // The provided context supersedes any context provided to the Context method.
 37729  func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
 37730  	c.ctx_ = ctx
 37731  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 37732  	for {
 37733  		x, err := c.Do()
 37734  		if err != nil {
 37735  			return err
 37736  		}
 37737  		if err := f(x); err != nil {
 37738  			return err
 37739  		}
 37740  		if x.NextPageToken == "" {
 37741  			return nil
 37742  		}
 37743  		c.PageToken(x.NextPageToken)
 37744  	}
 37745  }
 37746  
 37747  // method id "dfareporting.orders.get":
 37748  
 37749  type OrdersGetCall struct {
 37750  	s            *Service
 37751  	profileId    int64
 37752  	projectId    int64
 37753  	id           int64
 37754  	urlParams_   gensupport.URLParams
 37755  	ifNoneMatch_ string
 37756  	ctx_         context.Context
 37757  	header_      http.Header
 37758  }
 37759  
 37760  // Get: Gets one order by ID.
 37761  func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
 37762  	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37763  	c.profileId = profileId
 37764  	c.projectId = projectId
 37765  	c.id = id
 37766  	return c
 37767  }
 37768  
 37769  // Fields allows partial responses to be retrieved. See
 37770  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37771  // for more information.
 37772  func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
 37773  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37774  	return c
 37775  }
 37776  
 37777  // IfNoneMatch sets the optional parameter which makes the operation
 37778  // fail if the object's ETag matches the given value. This is useful for
 37779  // getting updates only after the object has changed since the last
 37780  // request. Use googleapi.IsNotModified to check whether the response
 37781  // error from Do is the result of In-None-Match.
 37782  func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
 37783  	c.ifNoneMatch_ = entityTag
 37784  	return c
 37785  }
 37786  
 37787  // Context sets the context to be used in this call's Do method. Any
 37788  // pending HTTP request will be aborted if the provided context is
 37789  // canceled.
 37790  func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 37791  	c.ctx_ = ctx
 37792  	return c
 37793  }
 37794  
 37795  // Header returns an http.Header that can be modified by the caller to
 37796  // add HTTP headers to the request.
 37797  func (c *OrdersGetCall) Header() http.Header {
 37798  	if c.header_ == nil {
 37799  		c.header_ = make(http.Header)
 37800  	}
 37801  	return c.header_
 37802  }
 37803  
 37804  func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 37805  	reqHeaders := make(http.Header)
 37806  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 37807  	for k, v := range c.header_ {
 37808  		reqHeaders[k] = v
 37809  	}
 37810  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37811  	if c.ifNoneMatch_ != "" {
 37812  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37813  	}
 37814  	var body io.Reader = nil
 37815  	c.urlParams_.Set("alt", alt)
 37816  	c.urlParams_.Set("prettyPrint", "false")
 37817  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
 37818  	urls += "?" + c.urlParams_.Encode()
 37819  	req, err := http.NewRequest("GET", 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  		"projectId": strconv.FormatInt(c.projectId, 10),
 37827  		"id":        strconv.FormatInt(c.id, 10),
 37828  	})
 37829  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37830  }
 37831  
 37832  // Do executes the "dfareporting.orders.get" call.
 37833  // Exactly one of *Order or error will be non-nil. Any non-2xx status
 37834  // code is an error. Response headers are in either
 37835  // *Order.ServerResponse.Header or (if a response was returned at all)
 37836  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 37837  // check whether the returned error was because http.StatusNotModified
 37838  // was returned.
 37839  func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
 37840  	gensupport.SetOptions(c.urlParams_, opts...)
 37841  	res, err := c.doRequest("json")
 37842  	if res != nil && res.StatusCode == http.StatusNotModified {
 37843  		if res.Body != nil {
 37844  			res.Body.Close()
 37845  		}
 37846  		return nil, &googleapi.Error{
 37847  			Code:   res.StatusCode,
 37848  			Header: res.Header,
 37849  		}
 37850  	}
 37851  	if err != nil {
 37852  		return nil, err
 37853  	}
 37854  	defer googleapi.CloseBody(res)
 37855  	if err := googleapi.CheckResponse(res); err != nil {
 37856  		return nil, err
 37857  	}
 37858  	ret := &Order{
 37859  		ServerResponse: googleapi.ServerResponse{
 37860  			Header:         res.Header,
 37861  			HTTPStatusCode: res.StatusCode,
 37862  		},
 37863  	}
 37864  	target := &ret
 37865  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37866  		return nil, err
 37867  	}
 37868  	return ret, nil
 37869  	// {
 37870  	//   "description": "Gets one order by ID.",
 37871  	//   "httpMethod": "GET",
 37872  	//   "id": "dfareporting.orders.get",
 37873  	//   "parameterOrder": [
 37874  	//     "profileId",
 37875  	//     "projectId",
 37876  	//     "id"
 37877  	//   ],
 37878  	//   "parameters": {
 37879  	//     "id": {
 37880  	//       "description": "Order ID.",
 37881  	//       "format": "int64",
 37882  	//       "location": "path",
 37883  	//       "required": true,
 37884  	//       "type": "string"
 37885  	//     },
 37886  	//     "profileId": {
 37887  	//       "description": "User profile ID associated with this request.",
 37888  	//       "format": "int64",
 37889  	//       "location": "path",
 37890  	//       "required": true,
 37891  	//       "type": "string"
 37892  	//     },
 37893  	//     "projectId": {
 37894  	//       "description": "Project ID for orders.",
 37895  	//       "format": "int64",
 37896  	//       "location": "path",
 37897  	//       "required": true,
 37898  	//       "type": "string"
 37899  	//     }
 37900  	//   },
 37901  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 37902  	//   "response": {
 37903  	//     "$ref": "Order"
 37904  	//   },
 37905  	//   "scopes": [
 37906  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37907  	//   ]
 37908  	// }
 37909  
 37910  }
 37911  
 37912  // method id "dfareporting.orders.list":
 37913  
 37914  type OrdersListCall struct {
 37915  	s            *Service
 37916  	profileId    int64
 37917  	projectId    int64
 37918  	urlParams_   gensupport.URLParams
 37919  	ifNoneMatch_ string
 37920  	ctx_         context.Context
 37921  	header_      http.Header
 37922  }
 37923  
 37924  // List: Retrieves a list of orders, possibly filtered. This method
 37925  // supports paging.
 37926  func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
 37927  	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37928  	c.profileId = profileId
 37929  	c.projectId = projectId
 37930  	return c
 37931  }
 37932  
 37933  // Ids sets the optional parameter "ids": Select only orders with these
 37934  // IDs.
 37935  func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
 37936  	var ids_ []string
 37937  	for _, v := range ids {
 37938  		ids_ = append(ids_, fmt.Sprint(v))
 37939  	}
 37940  	c.urlParams_.SetMulti("ids", ids_)
 37941  	return c
 37942  }
 37943  
 37944  // MaxResults sets the optional parameter "maxResults": Maximum number
 37945  // of results to return.
 37946  func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
 37947  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37948  	return c
 37949  }
 37950  
 37951  // PageToken sets the optional parameter "pageToken": Value of the
 37952  // nextPageToken from the previous result page.
 37953  func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
 37954  	c.urlParams_.Set("pageToken", pageToken)
 37955  	return c
 37956  }
 37957  
 37958  // SearchString sets the optional parameter "searchString": Allows
 37959  // searching for orders by name or ID. Wildcards (*) are allowed. For
 37960  // example, "order*2015" will return orders with names like "order June
 37961  // 2015", "order April 2015", or simply "order 2015". Most of the
 37962  // searches also add wildcards implicitly at the start and the end of
 37963  // the search string. For example, a search string of "order" will match
 37964  // orders with name "my order", "order 2015", or simply "order".
 37965  func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
 37966  	c.urlParams_.Set("searchString", searchString)
 37967  	return c
 37968  }
 37969  
 37970  // SiteId sets the optional parameter "siteId": Select only orders that
 37971  // are associated with these site IDs.
 37972  func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
 37973  	var siteId_ []string
 37974  	for _, v := range siteId {
 37975  		siteId_ = append(siteId_, fmt.Sprint(v))
 37976  	}
 37977  	c.urlParams_.SetMulti("siteId", siteId_)
 37978  	return c
 37979  }
 37980  
 37981  // SortField sets the optional parameter "sortField": Field by which to
 37982  // sort the list.
 37983  //
 37984  // Possible values:
 37985  //
 37986  //	"ID" (default)
 37987  //	"NAME"
 37988  func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
 37989  	c.urlParams_.Set("sortField", sortField)
 37990  	return c
 37991  }
 37992  
 37993  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 37994  // results.
 37995  //
 37996  // Possible values:
 37997  //
 37998  //	"ASCENDING" (default)
 37999  //	"DESCENDING"
 38000  func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
 38001  	c.urlParams_.Set("sortOrder", sortOrder)
 38002  	return c
 38003  }
 38004  
 38005  // Fields allows partial responses to be retrieved. See
 38006  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38007  // for more information.
 38008  func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
 38009  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38010  	return c
 38011  }
 38012  
 38013  // IfNoneMatch sets the optional parameter which makes the operation
 38014  // fail if the object's ETag matches the given value. This is useful for
 38015  // getting updates only after the object has changed since the last
 38016  // request. Use googleapi.IsNotModified to check whether the response
 38017  // error from Do is the result of In-None-Match.
 38018  func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
 38019  	c.ifNoneMatch_ = entityTag
 38020  	return c
 38021  }
 38022  
 38023  // Context sets the context to be used in this call's Do method. Any
 38024  // pending HTTP request will be aborted if the provided context is
 38025  // canceled.
 38026  func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 38027  	c.ctx_ = ctx
 38028  	return c
 38029  }
 38030  
 38031  // Header returns an http.Header that can be modified by the caller to
 38032  // add HTTP headers to the request.
 38033  func (c *OrdersListCall) Header() http.Header {
 38034  	if c.header_ == nil {
 38035  		c.header_ = make(http.Header)
 38036  	}
 38037  	return c.header_
 38038  }
 38039  
 38040  func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 38041  	reqHeaders := make(http.Header)
 38042  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38043  	for k, v := range c.header_ {
 38044  		reqHeaders[k] = v
 38045  	}
 38046  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38047  	if c.ifNoneMatch_ != "" {
 38048  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38049  	}
 38050  	var body io.Reader = nil
 38051  	c.urlParams_.Set("alt", alt)
 38052  	c.urlParams_.Set("prettyPrint", "false")
 38053  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
 38054  	urls += "?" + c.urlParams_.Encode()
 38055  	req, err := http.NewRequest("GET", urls, body)
 38056  	if err != nil {
 38057  		return nil, err
 38058  	}
 38059  	req.Header = reqHeaders
 38060  	googleapi.Expand(req.URL, map[string]string{
 38061  		"profileId": strconv.FormatInt(c.profileId, 10),
 38062  		"projectId": strconv.FormatInt(c.projectId, 10),
 38063  	})
 38064  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38065  }
 38066  
 38067  // Do executes the "dfareporting.orders.list" call.
 38068  // Exactly one of *OrdersListResponse or error will be non-nil. Any
 38069  // non-2xx status code is an error. Response headers are in either
 38070  // *OrdersListResponse.ServerResponse.Header or (if a response was
 38071  // returned at all) in error.(*googleapi.Error).Header. Use
 38072  // googleapi.IsNotModified to check whether the returned error was
 38073  // because http.StatusNotModified was returned.
 38074  func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
 38075  	gensupport.SetOptions(c.urlParams_, opts...)
 38076  	res, err := c.doRequest("json")
 38077  	if res != nil && res.StatusCode == http.StatusNotModified {
 38078  		if res.Body != nil {
 38079  			res.Body.Close()
 38080  		}
 38081  		return nil, &googleapi.Error{
 38082  			Code:   res.StatusCode,
 38083  			Header: res.Header,
 38084  		}
 38085  	}
 38086  	if err != nil {
 38087  		return nil, err
 38088  	}
 38089  	defer googleapi.CloseBody(res)
 38090  	if err := googleapi.CheckResponse(res); err != nil {
 38091  		return nil, err
 38092  	}
 38093  	ret := &OrdersListResponse{
 38094  		ServerResponse: googleapi.ServerResponse{
 38095  			Header:         res.Header,
 38096  			HTTPStatusCode: res.StatusCode,
 38097  		},
 38098  	}
 38099  	target := &ret
 38100  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38101  		return nil, err
 38102  	}
 38103  	return ret, nil
 38104  	// {
 38105  	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
 38106  	//   "httpMethod": "GET",
 38107  	//   "id": "dfareporting.orders.list",
 38108  	//   "parameterOrder": [
 38109  	//     "profileId",
 38110  	//     "projectId"
 38111  	//   ],
 38112  	//   "parameters": {
 38113  	//     "ids": {
 38114  	//       "description": "Select only orders with these IDs.",
 38115  	//       "format": "int64",
 38116  	//       "location": "query",
 38117  	//       "repeated": true,
 38118  	//       "type": "string"
 38119  	//     },
 38120  	//     "maxResults": {
 38121  	//       "default": "1000",
 38122  	//       "description": "Maximum number of results to return.",
 38123  	//       "format": "int32",
 38124  	//       "location": "query",
 38125  	//       "maximum": "1000",
 38126  	//       "minimum": "0",
 38127  	//       "type": "integer"
 38128  	//     },
 38129  	//     "pageToken": {
 38130  	//       "description": "Value of the nextPageToken from the previous result page.",
 38131  	//       "location": "query",
 38132  	//       "type": "string"
 38133  	//     },
 38134  	//     "profileId": {
 38135  	//       "description": "User profile ID associated with this request.",
 38136  	//       "format": "int64",
 38137  	//       "location": "path",
 38138  	//       "required": true,
 38139  	//       "type": "string"
 38140  	//     },
 38141  	//     "projectId": {
 38142  	//       "description": "Project ID for orders.",
 38143  	//       "format": "int64",
 38144  	//       "location": "path",
 38145  	//       "required": true,
 38146  	//       "type": "string"
 38147  	//     },
 38148  	//     "searchString": {
 38149  	//       "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\".",
 38150  	//       "location": "query",
 38151  	//       "type": "string"
 38152  	//     },
 38153  	//     "siteId": {
 38154  	//       "description": "Select only orders that are associated with these site IDs.",
 38155  	//       "format": "int64",
 38156  	//       "location": "query",
 38157  	//       "repeated": true,
 38158  	//       "type": "string"
 38159  	//     },
 38160  	//     "sortField": {
 38161  	//       "default": "ID",
 38162  	//       "description": "Field by which to sort the list.",
 38163  	//       "enum": [
 38164  	//         "ID",
 38165  	//         "NAME"
 38166  	//       ],
 38167  	//       "enumDescriptions": [
 38168  	//         "",
 38169  	//         ""
 38170  	//       ],
 38171  	//       "location": "query",
 38172  	//       "type": "string"
 38173  	//     },
 38174  	//     "sortOrder": {
 38175  	//       "default": "ASCENDING",
 38176  	//       "description": "Order of sorted results.",
 38177  	//       "enum": [
 38178  	//         "ASCENDING",
 38179  	//         "DESCENDING"
 38180  	//       ],
 38181  	//       "enumDescriptions": [
 38182  	//         "",
 38183  	//         ""
 38184  	//       ],
 38185  	//       "location": "query",
 38186  	//       "type": "string"
 38187  	//     }
 38188  	//   },
 38189  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
 38190  	//   "response": {
 38191  	//     "$ref": "OrdersListResponse"
 38192  	//   },
 38193  	//   "scopes": [
 38194  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38195  	//   ]
 38196  	// }
 38197  
 38198  }
 38199  
 38200  // Pages invokes f for each page of results.
 38201  // A non-nil error returned from f will halt the iteration.
 38202  // The provided context supersedes any context provided to the Context method.
 38203  func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
 38204  	c.ctx_ = ctx
 38205  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 38206  	for {
 38207  		x, err := c.Do()
 38208  		if err != nil {
 38209  			return err
 38210  		}
 38211  		if err := f(x); err != nil {
 38212  			return err
 38213  		}
 38214  		if x.NextPageToken == "" {
 38215  			return nil
 38216  		}
 38217  		c.PageToken(x.NextPageToken)
 38218  	}
 38219  }
 38220  
 38221  // method id "dfareporting.placementGroups.get":
 38222  
 38223  type PlacementGroupsGetCall struct {
 38224  	s            *Service
 38225  	profileId    int64
 38226  	id           int64
 38227  	urlParams_   gensupport.URLParams
 38228  	ifNoneMatch_ string
 38229  	ctx_         context.Context
 38230  	header_      http.Header
 38231  }
 38232  
 38233  // Get: Gets one placement group by ID.
 38234  func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
 38235  	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38236  	c.profileId = profileId
 38237  	c.id = id
 38238  	return c
 38239  }
 38240  
 38241  // Fields allows partial responses to be retrieved. See
 38242  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38243  // for more information.
 38244  func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
 38245  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38246  	return c
 38247  }
 38248  
 38249  // IfNoneMatch sets the optional parameter which makes the operation
 38250  // fail if the object's ETag matches the given value. This is useful for
 38251  // getting updates only after the object has changed since the last
 38252  // request. Use googleapi.IsNotModified to check whether the response
 38253  // error from Do is the result of In-None-Match.
 38254  func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
 38255  	c.ifNoneMatch_ = entityTag
 38256  	return c
 38257  }
 38258  
 38259  // Context sets the context to be used in this call's Do method. Any
 38260  // pending HTTP request will be aborted if the provided context is
 38261  // canceled.
 38262  func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 38263  	c.ctx_ = ctx
 38264  	return c
 38265  }
 38266  
 38267  // Header returns an http.Header that can be modified by the caller to
 38268  // add HTTP headers to the request.
 38269  func (c *PlacementGroupsGetCall) Header() http.Header {
 38270  	if c.header_ == nil {
 38271  		c.header_ = make(http.Header)
 38272  	}
 38273  	return c.header_
 38274  }
 38275  
 38276  func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 38277  	reqHeaders := make(http.Header)
 38278  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38279  	for k, v := range c.header_ {
 38280  		reqHeaders[k] = v
 38281  	}
 38282  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38283  	if c.ifNoneMatch_ != "" {
 38284  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38285  	}
 38286  	var body io.Reader = nil
 38287  	c.urlParams_.Set("alt", alt)
 38288  	c.urlParams_.Set("prettyPrint", "false")
 38289  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
 38290  	urls += "?" + c.urlParams_.Encode()
 38291  	req, err := http.NewRequest("GET", urls, body)
 38292  	if err != nil {
 38293  		return nil, err
 38294  	}
 38295  	req.Header = reqHeaders
 38296  	googleapi.Expand(req.URL, map[string]string{
 38297  		"profileId": strconv.FormatInt(c.profileId, 10),
 38298  		"id":        strconv.FormatInt(c.id, 10),
 38299  	})
 38300  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38301  }
 38302  
 38303  // Do executes the "dfareporting.placementGroups.get" call.
 38304  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38305  // status code is an error. Response headers are in either
 38306  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38307  // at all) in error.(*googleapi.Error).Header. Use
 38308  // googleapi.IsNotModified to check whether the returned error was
 38309  // because http.StatusNotModified was returned.
 38310  func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38311  	gensupport.SetOptions(c.urlParams_, opts...)
 38312  	res, err := c.doRequest("json")
 38313  	if res != nil && res.StatusCode == http.StatusNotModified {
 38314  		if res.Body != nil {
 38315  			res.Body.Close()
 38316  		}
 38317  		return nil, &googleapi.Error{
 38318  			Code:   res.StatusCode,
 38319  			Header: res.Header,
 38320  		}
 38321  	}
 38322  	if err != nil {
 38323  		return nil, err
 38324  	}
 38325  	defer googleapi.CloseBody(res)
 38326  	if err := googleapi.CheckResponse(res); err != nil {
 38327  		return nil, err
 38328  	}
 38329  	ret := &PlacementGroup{
 38330  		ServerResponse: googleapi.ServerResponse{
 38331  			Header:         res.Header,
 38332  			HTTPStatusCode: res.StatusCode,
 38333  		},
 38334  	}
 38335  	target := &ret
 38336  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38337  		return nil, err
 38338  	}
 38339  	return ret, nil
 38340  	// {
 38341  	//   "description": "Gets one placement group by ID.",
 38342  	//   "httpMethod": "GET",
 38343  	//   "id": "dfareporting.placementGroups.get",
 38344  	//   "parameterOrder": [
 38345  	//     "profileId",
 38346  	//     "id"
 38347  	//   ],
 38348  	//   "parameters": {
 38349  	//     "id": {
 38350  	//       "description": "Placement group ID.",
 38351  	//       "format": "int64",
 38352  	//       "location": "path",
 38353  	//       "required": true,
 38354  	//       "type": "string"
 38355  	//     },
 38356  	//     "profileId": {
 38357  	//       "description": "User profile ID associated with this request.",
 38358  	//       "format": "int64",
 38359  	//       "location": "path",
 38360  	//       "required": true,
 38361  	//       "type": "string"
 38362  	//     }
 38363  	//   },
 38364  	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
 38365  	//   "response": {
 38366  	//     "$ref": "PlacementGroup"
 38367  	//   },
 38368  	//   "scopes": [
 38369  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38370  	//   ]
 38371  	// }
 38372  
 38373  }
 38374  
 38375  // method id "dfareporting.placementGroups.insert":
 38376  
 38377  type PlacementGroupsInsertCall struct {
 38378  	s              *Service
 38379  	profileId      int64
 38380  	placementgroup *PlacementGroup
 38381  	urlParams_     gensupport.URLParams
 38382  	ctx_           context.Context
 38383  	header_        http.Header
 38384  }
 38385  
 38386  // Insert: Inserts a new placement group.
 38387  func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
 38388  	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38389  	c.profileId = profileId
 38390  	c.placementgroup = placementgroup
 38391  	return c
 38392  }
 38393  
 38394  // Fields allows partial responses to be retrieved. See
 38395  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38396  // for more information.
 38397  func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
 38398  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38399  	return c
 38400  }
 38401  
 38402  // Context sets the context to be used in this call's Do method. Any
 38403  // pending HTTP request will be aborted if the provided context is
 38404  // canceled.
 38405  func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 38406  	c.ctx_ = ctx
 38407  	return c
 38408  }
 38409  
 38410  // Header returns an http.Header that can be modified by the caller to
 38411  // add HTTP headers to the request.
 38412  func (c *PlacementGroupsInsertCall) Header() http.Header {
 38413  	if c.header_ == nil {
 38414  		c.header_ = make(http.Header)
 38415  	}
 38416  	return c.header_
 38417  }
 38418  
 38419  func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 38420  	reqHeaders := make(http.Header)
 38421  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38422  	for k, v := range c.header_ {
 38423  		reqHeaders[k] = v
 38424  	}
 38425  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38426  	var body io.Reader = nil
 38427  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38428  	if err != nil {
 38429  		return nil, err
 38430  	}
 38431  	reqHeaders.Set("Content-Type", "application/json")
 38432  	c.urlParams_.Set("alt", alt)
 38433  	c.urlParams_.Set("prettyPrint", "false")
 38434  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38435  	urls += "?" + c.urlParams_.Encode()
 38436  	req, err := http.NewRequest("POST", urls, body)
 38437  	if err != nil {
 38438  		return nil, err
 38439  	}
 38440  	req.Header = reqHeaders
 38441  	googleapi.Expand(req.URL, map[string]string{
 38442  		"profileId": strconv.FormatInt(c.profileId, 10),
 38443  	})
 38444  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38445  }
 38446  
 38447  // Do executes the "dfareporting.placementGroups.insert" call.
 38448  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38449  // status code is an error. Response headers are in either
 38450  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38451  // at all) in error.(*googleapi.Error).Header. Use
 38452  // googleapi.IsNotModified to check whether the returned error was
 38453  // because http.StatusNotModified was returned.
 38454  func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38455  	gensupport.SetOptions(c.urlParams_, opts...)
 38456  	res, err := c.doRequest("json")
 38457  	if res != nil && res.StatusCode == http.StatusNotModified {
 38458  		if res.Body != nil {
 38459  			res.Body.Close()
 38460  		}
 38461  		return nil, &googleapi.Error{
 38462  			Code:   res.StatusCode,
 38463  			Header: res.Header,
 38464  		}
 38465  	}
 38466  	if err != nil {
 38467  		return nil, err
 38468  	}
 38469  	defer googleapi.CloseBody(res)
 38470  	if err := googleapi.CheckResponse(res); err != nil {
 38471  		return nil, err
 38472  	}
 38473  	ret := &PlacementGroup{
 38474  		ServerResponse: googleapi.ServerResponse{
 38475  			Header:         res.Header,
 38476  			HTTPStatusCode: res.StatusCode,
 38477  		},
 38478  	}
 38479  	target := &ret
 38480  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38481  		return nil, err
 38482  	}
 38483  	return ret, nil
 38484  	// {
 38485  	//   "description": "Inserts a new placement group.",
 38486  	//   "httpMethod": "POST",
 38487  	//   "id": "dfareporting.placementGroups.insert",
 38488  	//   "parameterOrder": [
 38489  	//     "profileId"
 38490  	//   ],
 38491  	//   "parameters": {
 38492  	//     "profileId": {
 38493  	//       "description": "User profile ID associated with this request.",
 38494  	//       "format": "int64",
 38495  	//       "location": "path",
 38496  	//       "required": true,
 38497  	//       "type": "string"
 38498  	//     }
 38499  	//   },
 38500  	//   "path": "userprofiles/{profileId}/placementGroups",
 38501  	//   "request": {
 38502  	//     "$ref": "PlacementGroup"
 38503  	//   },
 38504  	//   "response": {
 38505  	//     "$ref": "PlacementGroup"
 38506  	//   },
 38507  	//   "scopes": [
 38508  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38509  	//   ]
 38510  	// }
 38511  
 38512  }
 38513  
 38514  // method id "dfareporting.placementGroups.list":
 38515  
 38516  type PlacementGroupsListCall struct {
 38517  	s            *Service
 38518  	profileId    int64
 38519  	urlParams_   gensupport.URLParams
 38520  	ifNoneMatch_ string
 38521  	ctx_         context.Context
 38522  	header_      http.Header
 38523  }
 38524  
 38525  // List: Retrieves a list of placement groups, possibly filtered. This
 38526  // method supports paging.
 38527  func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
 38528  	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38529  	c.profileId = profileId
 38530  	return c
 38531  }
 38532  
 38533  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 38534  // only placement groups that belong to these advertisers.
 38535  func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
 38536  	var advertiserIds_ []string
 38537  	for _, v := range advertiserIds {
 38538  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 38539  	}
 38540  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 38541  	return c
 38542  }
 38543  
 38544  // Archived sets the optional parameter "archived": Select only archived
 38545  // placements. Don't set this field to select both archived and
 38546  // non-archived placements.
 38547  func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
 38548  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 38549  	return c
 38550  }
 38551  
 38552  // CampaignIds sets the optional parameter "campaignIds": Select only
 38553  // placement groups that belong to these campaigns.
 38554  func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
 38555  	var campaignIds_ []string
 38556  	for _, v := range campaignIds {
 38557  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 38558  	}
 38559  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 38560  	return c
 38561  }
 38562  
 38563  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 38564  // Select only placement groups that are associated with these content
 38565  // categories.
 38566  func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
 38567  	var contentCategoryIds_ []string
 38568  	for _, v := range contentCategoryIds {
 38569  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 38570  	}
 38571  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 38572  	return c
 38573  }
 38574  
 38575  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 38576  // Select only placement groups that are associated with these directory
 38577  // sites.
 38578  func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
 38579  	var directorySiteIds_ []string
 38580  	for _, v := range directorySiteIds {
 38581  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 38582  	}
 38583  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 38584  	return c
 38585  }
 38586  
 38587  // Ids sets the optional parameter "ids": Select only placement groups
 38588  // with these IDs.
 38589  func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
 38590  	var ids_ []string
 38591  	for _, v := range ids {
 38592  		ids_ = append(ids_, fmt.Sprint(v))
 38593  	}
 38594  	c.urlParams_.SetMulti("ids", ids_)
 38595  	return c
 38596  }
 38597  
 38598  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 38599  // placements or placement groups whose end date is on or before the
 38600  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 38601  func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
 38602  	c.urlParams_.Set("maxEndDate", maxEndDate)
 38603  	return c
 38604  }
 38605  
 38606  // MaxResults sets the optional parameter "maxResults": Maximum number
 38607  // of results to return.
 38608  func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
 38609  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 38610  	return c
 38611  }
 38612  
 38613  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 38614  // placements or placement groups whose start date is on or before the
 38615  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 38616  func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
 38617  	c.urlParams_.Set("maxStartDate", maxStartDate)
 38618  	return c
 38619  }
 38620  
 38621  // MinEndDate sets the optional parameter "minEndDate": Select only
 38622  // placements or placement groups whose end date is on or after the
 38623  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 38624  func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
 38625  	c.urlParams_.Set("minEndDate", minEndDate)
 38626  	return c
 38627  }
 38628  
 38629  // MinStartDate sets the optional parameter "minStartDate": Select only
 38630  // placements or placement groups whose start date is on or after the
 38631  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 38632  func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
 38633  	c.urlParams_.Set("minStartDate", minStartDate)
 38634  	return c
 38635  }
 38636  
 38637  // PageToken sets the optional parameter "pageToken": Value of the
 38638  // nextPageToken from the previous result page.
 38639  func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
 38640  	c.urlParams_.Set("pageToken", pageToken)
 38641  	return c
 38642  }
 38643  
 38644  // PlacementGroupType sets the optional parameter "placementGroupType":
 38645  // Select only placement groups belonging with this group type. A
 38646  // package is a simple group of placements that acts as a single pricing
 38647  // point for a group of tags. A roadblock is a group of placements that
 38648  // not only acts as a single pricing point but also assumes that all the
 38649  // tags in it will be served at the same time. A roadblock requires one
 38650  // of its assigned placements to be marked as primary for reporting.
 38651  //
 38652  // Possible values:
 38653  //
 38654  //	"PLACEMENT_PACKAGE"
 38655  //	"PLACEMENT_ROADBLOCK"
 38656  func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
 38657  	c.urlParams_.Set("placementGroupType", placementGroupType)
 38658  	return c
 38659  }
 38660  
 38661  // PlacementStrategyIds sets the optional parameter
 38662  // "placementStrategyIds": Select only placement groups that are
 38663  // associated with these placement strategies.
 38664  func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
 38665  	var placementStrategyIds_ []string
 38666  	for _, v := range placementStrategyIds {
 38667  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 38668  	}
 38669  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 38670  	return c
 38671  }
 38672  
 38673  // PricingTypes sets the optional parameter "pricingTypes": Select only
 38674  // placement groups with these pricing types.
 38675  //
 38676  // Possible values:
 38677  //
 38678  //	"PRICING_TYPE_CPA"
 38679  //	"PRICING_TYPE_CPC"
 38680  //	"PRICING_TYPE_CPM"
 38681  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 38682  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 38683  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 38684  func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
 38685  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 38686  	return c
 38687  }
 38688  
 38689  // SearchString sets the optional parameter "searchString": Allows
 38690  // searching for placement groups by name or ID. Wildcards (*) are
 38691  // allowed. For example, "placement*2015" will return placement groups
 38692  // with names like "placement group June 2015", "placement group May
 38693  // 2015", or simply "placements 2015". Most of the searches also add
 38694  // wildcards implicitly at the start and the end of the search string.
 38695  // For example, a search string of "placementgroup" will match placement
 38696  // groups with name "my placementgroup", "placementgroup 2015", or
 38697  // simply "placementgroup".
 38698  func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
 38699  	c.urlParams_.Set("searchString", searchString)
 38700  	return c
 38701  }
 38702  
 38703  // SiteIds sets the optional parameter "siteIds": Select only placement
 38704  // groups that are associated with these sites.
 38705  func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
 38706  	var siteIds_ []string
 38707  	for _, v := range siteIds {
 38708  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 38709  	}
 38710  	c.urlParams_.SetMulti("siteIds", siteIds_)
 38711  	return c
 38712  }
 38713  
 38714  // SortField sets the optional parameter "sortField": Field by which to
 38715  // sort the list.
 38716  //
 38717  // Possible values:
 38718  //
 38719  //	"ID" (default)
 38720  //	"NAME"
 38721  func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
 38722  	c.urlParams_.Set("sortField", sortField)
 38723  	return c
 38724  }
 38725  
 38726  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 38727  // results.
 38728  //
 38729  // Possible values:
 38730  //
 38731  //	"ASCENDING" (default)
 38732  //	"DESCENDING"
 38733  func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
 38734  	c.urlParams_.Set("sortOrder", sortOrder)
 38735  	return c
 38736  }
 38737  
 38738  // Fields allows partial responses to be retrieved. See
 38739  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38740  // for more information.
 38741  func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
 38742  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38743  	return c
 38744  }
 38745  
 38746  // IfNoneMatch sets the optional parameter which makes the operation
 38747  // fail if the object's ETag matches the given value. This is useful for
 38748  // getting updates only after the object has changed since the last
 38749  // request. Use googleapi.IsNotModified to check whether the response
 38750  // error from Do is the result of In-None-Match.
 38751  func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
 38752  	c.ifNoneMatch_ = entityTag
 38753  	return c
 38754  }
 38755  
 38756  // Context sets the context to be used in this call's Do method. Any
 38757  // pending HTTP request will be aborted if the provided context is
 38758  // canceled.
 38759  func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 38760  	c.ctx_ = ctx
 38761  	return c
 38762  }
 38763  
 38764  // Header returns an http.Header that can be modified by the caller to
 38765  // add HTTP headers to the request.
 38766  func (c *PlacementGroupsListCall) Header() http.Header {
 38767  	if c.header_ == nil {
 38768  		c.header_ = make(http.Header)
 38769  	}
 38770  	return c.header_
 38771  }
 38772  
 38773  func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 38774  	reqHeaders := make(http.Header)
 38775  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 38776  	for k, v := range c.header_ {
 38777  		reqHeaders[k] = v
 38778  	}
 38779  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38780  	if c.ifNoneMatch_ != "" {
 38781  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38782  	}
 38783  	var body io.Reader = nil
 38784  	c.urlParams_.Set("alt", alt)
 38785  	c.urlParams_.Set("prettyPrint", "false")
 38786  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38787  	urls += "?" + c.urlParams_.Encode()
 38788  	req, err := http.NewRequest("GET", urls, body)
 38789  	if err != nil {
 38790  		return nil, err
 38791  	}
 38792  	req.Header = reqHeaders
 38793  	googleapi.Expand(req.URL, map[string]string{
 38794  		"profileId": strconv.FormatInt(c.profileId, 10),
 38795  	})
 38796  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38797  }
 38798  
 38799  // Do executes the "dfareporting.placementGroups.list" call.
 38800  // Exactly one of *PlacementGroupsListResponse or error will be non-nil.
 38801  // Any non-2xx status code is an error. Response headers are in either
 38802  // *PlacementGroupsListResponse.ServerResponse.Header or (if a response
 38803  // was returned at all) in error.(*googleapi.Error).Header. Use
 38804  // googleapi.IsNotModified to check whether the returned error was
 38805  // because http.StatusNotModified was returned.
 38806  func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
 38807  	gensupport.SetOptions(c.urlParams_, opts...)
 38808  	res, err := c.doRequest("json")
 38809  	if res != nil && res.StatusCode == http.StatusNotModified {
 38810  		if res.Body != nil {
 38811  			res.Body.Close()
 38812  		}
 38813  		return nil, &googleapi.Error{
 38814  			Code:   res.StatusCode,
 38815  			Header: res.Header,
 38816  		}
 38817  	}
 38818  	if err != nil {
 38819  		return nil, err
 38820  	}
 38821  	defer googleapi.CloseBody(res)
 38822  	if err := googleapi.CheckResponse(res); err != nil {
 38823  		return nil, err
 38824  	}
 38825  	ret := &PlacementGroupsListResponse{
 38826  		ServerResponse: googleapi.ServerResponse{
 38827  			Header:         res.Header,
 38828  			HTTPStatusCode: res.StatusCode,
 38829  		},
 38830  	}
 38831  	target := &ret
 38832  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38833  		return nil, err
 38834  	}
 38835  	return ret, nil
 38836  	// {
 38837  	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
 38838  	//   "httpMethod": "GET",
 38839  	//   "id": "dfareporting.placementGroups.list",
 38840  	//   "parameterOrder": [
 38841  	//     "profileId"
 38842  	//   ],
 38843  	//   "parameters": {
 38844  	//     "advertiserIds": {
 38845  	//       "description": "Select only placement groups that belong to these advertisers.",
 38846  	//       "format": "int64",
 38847  	//       "location": "query",
 38848  	//       "repeated": true,
 38849  	//       "type": "string"
 38850  	//     },
 38851  	//     "archived": {
 38852  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 38853  	//       "location": "query",
 38854  	//       "type": "boolean"
 38855  	//     },
 38856  	//     "campaignIds": {
 38857  	//       "description": "Select only placement groups that belong to these campaigns.",
 38858  	//       "format": "int64",
 38859  	//       "location": "query",
 38860  	//       "repeated": true,
 38861  	//       "type": "string"
 38862  	//     },
 38863  	//     "contentCategoryIds": {
 38864  	//       "description": "Select only placement groups that are associated with these content categories.",
 38865  	//       "format": "int64",
 38866  	//       "location": "query",
 38867  	//       "repeated": true,
 38868  	//       "type": "string"
 38869  	//     },
 38870  	//     "directorySiteIds": {
 38871  	//       "description": "Select only placement groups that are associated with these directory sites.",
 38872  	//       "format": "int64",
 38873  	//       "location": "query",
 38874  	//       "repeated": true,
 38875  	//       "type": "string"
 38876  	//     },
 38877  	//     "ids": {
 38878  	//       "description": "Select only placement groups with these IDs.",
 38879  	//       "format": "int64",
 38880  	//       "location": "query",
 38881  	//       "repeated": true,
 38882  	//       "type": "string"
 38883  	//     },
 38884  	//     "maxEndDate": {
 38885  	//       "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\".",
 38886  	//       "location": "query",
 38887  	//       "type": "string"
 38888  	//     },
 38889  	//     "maxResults": {
 38890  	//       "default": "800",
 38891  	//       "description": "Maximum number of results to return.",
 38892  	//       "format": "int32",
 38893  	//       "location": "query",
 38894  	//       "maximum": "800",
 38895  	//       "minimum": "0",
 38896  	//       "type": "integer"
 38897  	//     },
 38898  	//     "maxStartDate": {
 38899  	//       "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\".",
 38900  	//       "location": "query",
 38901  	//       "type": "string"
 38902  	//     },
 38903  	//     "minEndDate": {
 38904  	//       "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\".",
 38905  	//       "location": "query",
 38906  	//       "type": "string"
 38907  	//     },
 38908  	//     "minStartDate": {
 38909  	//       "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\".",
 38910  	//       "location": "query",
 38911  	//       "type": "string"
 38912  	//     },
 38913  	//     "pageToken": {
 38914  	//       "description": "Value of the nextPageToken from the previous result page.",
 38915  	//       "location": "query",
 38916  	//       "type": "string"
 38917  	//     },
 38918  	//     "placementGroupType": {
 38919  	//       "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.",
 38920  	//       "enum": [
 38921  	//         "PLACEMENT_PACKAGE",
 38922  	//         "PLACEMENT_ROADBLOCK"
 38923  	//       ],
 38924  	//       "enumDescriptions": [
 38925  	//         "",
 38926  	//         ""
 38927  	//       ],
 38928  	//       "location": "query",
 38929  	//       "type": "string"
 38930  	//     },
 38931  	//     "placementStrategyIds": {
 38932  	//       "description": "Select only placement groups that are associated with these placement strategies.",
 38933  	//       "format": "int64",
 38934  	//       "location": "query",
 38935  	//       "repeated": true,
 38936  	//       "type": "string"
 38937  	//     },
 38938  	//     "pricingTypes": {
 38939  	//       "description": "Select only placement groups with these pricing types.",
 38940  	//       "enum": [
 38941  	//         "PRICING_TYPE_CPA",
 38942  	//         "PRICING_TYPE_CPC",
 38943  	//         "PRICING_TYPE_CPM",
 38944  	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
 38945  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 38946  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 38947  	//       ],
 38948  	//       "enumDescriptions": [
 38949  	//         "",
 38950  	//         "",
 38951  	//         "",
 38952  	//         "",
 38953  	//         "",
 38954  	//         ""
 38955  	//       ],
 38956  	//       "location": "query",
 38957  	//       "repeated": true,
 38958  	//       "type": "string"
 38959  	//     },
 38960  	//     "profileId": {
 38961  	//       "description": "User profile ID associated with this request.",
 38962  	//       "format": "int64",
 38963  	//       "location": "path",
 38964  	//       "required": true,
 38965  	//       "type": "string"
 38966  	//     },
 38967  	//     "searchString": {
 38968  	//       "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\".",
 38969  	//       "location": "query",
 38970  	//       "type": "string"
 38971  	//     },
 38972  	//     "siteIds": {
 38973  	//       "description": "Select only placement groups that are associated with these sites.",
 38974  	//       "format": "int64",
 38975  	//       "location": "query",
 38976  	//       "repeated": true,
 38977  	//       "type": "string"
 38978  	//     },
 38979  	//     "sortField": {
 38980  	//       "default": "ID",
 38981  	//       "description": "Field by which to sort the list.",
 38982  	//       "enum": [
 38983  	//         "ID",
 38984  	//         "NAME"
 38985  	//       ],
 38986  	//       "enumDescriptions": [
 38987  	//         "",
 38988  	//         ""
 38989  	//       ],
 38990  	//       "location": "query",
 38991  	//       "type": "string"
 38992  	//     },
 38993  	//     "sortOrder": {
 38994  	//       "default": "ASCENDING",
 38995  	//       "description": "Order of sorted results.",
 38996  	//       "enum": [
 38997  	//         "ASCENDING",
 38998  	//         "DESCENDING"
 38999  	//       ],
 39000  	//       "enumDescriptions": [
 39001  	//         "",
 39002  	//         ""
 39003  	//       ],
 39004  	//       "location": "query",
 39005  	//       "type": "string"
 39006  	//     }
 39007  	//   },
 39008  	//   "path": "userprofiles/{profileId}/placementGroups",
 39009  	//   "response": {
 39010  	//     "$ref": "PlacementGroupsListResponse"
 39011  	//   },
 39012  	//   "scopes": [
 39013  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39014  	//   ]
 39015  	// }
 39016  
 39017  }
 39018  
 39019  // Pages invokes f for each page of results.
 39020  // A non-nil error returned from f will halt the iteration.
 39021  // The provided context supersedes any context provided to the Context method.
 39022  func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
 39023  	c.ctx_ = ctx
 39024  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 39025  	for {
 39026  		x, err := c.Do()
 39027  		if err != nil {
 39028  			return err
 39029  		}
 39030  		if err := f(x); err != nil {
 39031  			return err
 39032  		}
 39033  		if x.NextPageToken == "" {
 39034  			return nil
 39035  		}
 39036  		c.PageToken(x.NextPageToken)
 39037  	}
 39038  }
 39039  
 39040  // method id "dfareporting.placementGroups.patch":
 39041  
 39042  type PlacementGroupsPatchCall struct {
 39043  	s              *Service
 39044  	profileId      int64
 39045  	placementgroup *PlacementGroup
 39046  	urlParams_     gensupport.URLParams
 39047  	ctx_           context.Context
 39048  	header_        http.Header
 39049  }
 39050  
 39051  // Patch: Updates an existing placement group. This method supports
 39052  // patch semantics.
 39053  func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
 39054  	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39055  	c.profileId = profileId
 39056  	c.urlParams_.Set("id", fmt.Sprint(id))
 39057  	c.placementgroup = placementgroup
 39058  	return c
 39059  }
 39060  
 39061  // Fields allows partial responses to be retrieved. See
 39062  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39063  // for more information.
 39064  func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
 39065  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39066  	return c
 39067  }
 39068  
 39069  // Context sets the context to be used in this call's Do method. Any
 39070  // pending HTTP request will be aborted if the provided context is
 39071  // canceled.
 39072  func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 39073  	c.ctx_ = ctx
 39074  	return c
 39075  }
 39076  
 39077  // Header returns an http.Header that can be modified by the caller to
 39078  // add HTTP headers to the request.
 39079  func (c *PlacementGroupsPatchCall) Header() http.Header {
 39080  	if c.header_ == nil {
 39081  		c.header_ = make(http.Header)
 39082  	}
 39083  	return c.header_
 39084  }
 39085  
 39086  func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 39087  	reqHeaders := make(http.Header)
 39088  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39089  	for k, v := range c.header_ {
 39090  		reqHeaders[k] = v
 39091  	}
 39092  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39093  	var body io.Reader = nil
 39094  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 39095  	if err != nil {
 39096  		return nil, err
 39097  	}
 39098  	reqHeaders.Set("Content-Type", "application/json")
 39099  	c.urlParams_.Set("alt", alt)
 39100  	c.urlParams_.Set("prettyPrint", "false")
 39101  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 39102  	urls += "?" + c.urlParams_.Encode()
 39103  	req, err := http.NewRequest("PATCH", urls, body)
 39104  	if err != nil {
 39105  		return nil, err
 39106  	}
 39107  	req.Header = reqHeaders
 39108  	googleapi.Expand(req.URL, map[string]string{
 39109  		"profileId": strconv.FormatInt(c.profileId, 10),
 39110  	})
 39111  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39112  }
 39113  
 39114  // Do executes the "dfareporting.placementGroups.patch" call.
 39115  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 39116  // status code is an error. Response headers are in either
 39117  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 39118  // at all) in error.(*googleapi.Error).Header. Use
 39119  // googleapi.IsNotModified to check whether the returned error was
 39120  // because http.StatusNotModified was returned.
 39121  func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 39122  	gensupport.SetOptions(c.urlParams_, opts...)
 39123  	res, err := c.doRequest("json")
 39124  	if res != nil && res.StatusCode == http.StatusNotModified {
 39125  		if res.Body != nil {
 39126  			res.Body.Close()
 39127  		}
 39128  		return nil, &googleapi.Error{
 39129  			Code:   res.StatusCode,
 39130  			Header: res.Header,
 39131  		}
 39132  	}
 39133  	if err != nil {
 39134  		return nil, err
 39135  	}
 39136  	defer googleapi.CloseBody(res)
 39137  	if err := googleapi.CheckResponse(res); err != nil {
 39138  		return nil, err
 39139  	}
 39140  	ret := &PlacementGroup{
 39141  		ServerResponse: googleapi.ServerResponse{
 39142  			Header:         res.Header,
 39143  			HTTPStatusCode: res.StatusCode,
 39144  		},
 39145  	}
 39146  	target := &ret
 39147  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39148  		return nil, err
 39149  	}
 39150  	return ret, nil
 39151  	// {
 39152  	//   "description": "Updates an existing placement group. This method supports patch semantics.",
 39153  	//   "httpMethod": "PATCH",
 39154  	//   "id": "dfareporting.placementGroups.patch",
 39155  	//   "parameterOrder": [
 39156  	//     "profileId",
 39157  	//     "id"
 39158  	//   ],
 39159  	//   "parameters": {
 39160  	//     "id": {
 39161  	//       "description": "Placement group ID.",
 39162  	//       "format": "int64",
 39163  	//       "location": "query",
 39164  	//       "required": true,
 39165  	//       "type": "string"
 39166  	//     },
 39167  	//     "profileId": {
 39168  	//       "description": "User profile ID associated with this request.",
 39169  	//       "format": "int64",
 39170  	//       "location": "path",
 39171  	//       "required": true,
 39172  	//       "type": "string"
 39173  	//     }
 39174  	//   },
 39175  	//   "path": "userprofiles/{profileId}/placementGroups",
 39176  	//   "request": {
 39177  	//     "$ref": "PlacementGroup"
 39178  	//   },
 39179  	//   "response": {
 39180  	//     "$ref": "PlacementGroup"
 39181  	//   },
 39182  	//   "scopes": [
 39183  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39184  	//   ]
 39185  	// }
 39186  
 39187  }
 39188  
 39189  // method id "dfareporting.placementGroups.update":
 39190  
 39191  type PlacementGroupsUpdateCall struct {
 39192  	s              *Service
 39193  	profileId      int64
 39194  	placementgroup *PlacementGroup
 39195  	urlParams_     gensupport.URLParams
 39196  	ctx_           context.Context
 39197  	header_        http.Header
 39198  }
 39199  
 39200  // Update: Updates an existing placement group.
 39201  func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
 39202  	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39203  	c.profileId = profileId
 39204  	c.placementgroup = placementgroup
 39205  	return c
 39206  }
 39207  
 39208  // Fields allows partial responses to be retrieved. See
 39209  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39210  // for more information.
 39211  func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
 39212  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 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 *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 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 *PlacementGroupsUpdateCall) Header() http.Header {
 39227  	if c.header_ == nil {
 39228  		c.header_ = make(http.Header)
 39229  	}
 39230  	return c.header_
 39231  }
 39232  
 39233  func (c *PlacementGroupsUpdateCall) 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  	var body io.Reader = nil
 39241  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 39242  	if err != nil {
 39243  		return nil, err
 39244  	}
 39245  	reqHeaders.Set("Content-Type", "application/json")
 39246  	c.urlParams_.Set("alt", alt)
 39247  	c.urlParams_.Set("prettyPrint", "false")
 39248  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 39249  	urls += "?" + c.urlParams_.Encode()
 39250  	req, err := http.NewRequest("PUT", urls, body)
 39251  	if err != nil {
 39252  		return nil, err
 39253  	}
 39254  	req.Header = reqHeaders
 39255  	googleapi.Expand(req.URL, map[string]string{
 39256  		"profileId": strconv.FormatInt(c.profileId, 10),
 39257  	})
 39258  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39259  }
 39260  
 39261  // Do executes the "dfareporting.placementGroups.update" call.
 39262  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 39263  // status code is an error. Response headers are in either
 39264  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 39265  // at all) in error.(*googleapi.Error).Header. Use
 39266  // googleapi.IsNotModified to check whether the returned error was
 39267  // because http.StatusNotModified was returned.
 39268  func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 39269  	gensupport.SetOptions(c.urlParams_, opts...)
 39270  	res, err := c.doRequest("json")
 39271  	if res != nil && res.StatusCode == http.StatusNotModified {
 39272  		if res.Body != nil {
 39273  			res.Body.Close()
 39274  		}
 39275  		return nil, &googleapi.Error{
 39276  			Code:   res.StatusCode,
 39277  			Header: res.Header,
 39278  		}
 39279  	}
 39280  	if err != nil {
 39281  		return nil, err
 39282  	}
 39283  	defer googleapi.CloseBody(res)
 39284  	if err := googleapi.CheckResponse(res); err != nil {
 39285  		return nil, err
 39286  	}
 39287  	ret := &PlacementGroup{
 39288  		ServerResponse: googleapi.ServerResponse{
 39289  			Header:         res.Header,
 39290  			HTTPStatusCode: res.StatusCode,
 39291  		},
 39292  	}
 39293  	target := &ret
 39294  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39295  		return nil, err
 39296  	}
 39297  	return ret, nil
 39298  	// {
 39299  	//   "description": "Updates an existing placement group.",
 39300  	//   "httpMethod": "PUT",
 39301  	//   "id": "dfareporting.placementGroups.update",
 39302  	//   "parameterOrder": [
 39303  	//     "profileId"
 39304  	//   ],
 39305  	//   "parameters": {
 39306  	//     "profileId": {
 39307  	//       "description": "User profile ID associated with this request.",
 39308  	//       "format": "int64",
 39309  	//       "location": "path",
 39310  	//       "required": true,
 39311  	//       "type": "string"
 39312  	//     }
 39313  	//   },
 39314  	//   "path": "userprofiles/{profileId}/placementGroups",
 39315  	//   "request": {
 39316  	//     "$ref": "PlacementGroup"
 39317  	//   },
 39318  	//   "response": {
 39319  	//     "$ref": "PlacementGroup"
 39320  	//   },
 39321  	//   "scopes": [
 39322  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39323  	//   ]
 39324  	// }
 39325  
 39326  }
 39327  
 39328  // method id "dfareporting.placementStrategies.delete":
 39329  
 39330  type PlacementStrategiesDeleteCall struct {
 39331  	s          *Service
 39332  	profileId  int64
 39333  	id         int64
 39334  	urlParams_ gensupport.URLParams
 39335  	ctx_       context.Context
 39336  	header_    http.Header
 39337  }
 39338  
 39339  // Delete: Deletes an existing placement strategy.
 39340  func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
 39341  	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39342  	c.profileId = profileId
 39343  	c.id = id
 39344  	return c
 39345  }
 39346  
 39347  // Fields allows partial responses to be retrieved. See
 39348  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39349  // for more information.
 39350  func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
 39351  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39352  	return c
 39353  }
 39354  
 39355  // Context sets the context to be used in this call's Do method. Any
 39356  // pending HTTP request will be aborted if the provided context is
 39357  // canceled.
 39358  func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 39359  	c.ctx_ = ctx
 39360  	return c
 39361  }
 39362  
 39363  // Header returns an http.Header that can be modified by the caller to
 39364  // add HTTP headers to the request.
 39365  func (c *PlacementStrategiesDeleteCall) Header() http.Header {
 39366  	if c.header_ == nil {
 39367  		c.header_ = make(http.Header)
 39368  	}
 39369  	return c.header_
 39370  }
 39371  
 39372  func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 39373  	reqHeaders := make(http.Header)
 39374  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39375  	for k, v := range c.header_ {
 39376  		reqHeaders[k] = v
 39377  	}
 39378  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39379  	var body io.Reader = nil
 39380  	c.urlParams_.Set("alt", alt)
 39381  	c.urlParams_.Set("prettyPrint", "false")
 39382  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 39383  	urls += "?" + c.urlParams_.Encode()
 39384  	req, err := http.NewRequest("DELETE", urls, body)
 39385  	if err != nil {
 39386  		return nil, err
 39387  	}
 39388  	req.Header = reqHeaders
 39389  	googleapi.Expand(req.URL, map[string]string{
 39390  		"profileId": strconv.FormatInt(c.profileId, 10),
 39391  		"id":        strconv.FormatInt(c.id, 10),
 39392  	})
 39393  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39394  }
 39395  
 39396  // Do executes the "dfareporting.placementStrategies.delete" call.
 39397  func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 39398  	gensupport.SetOptions(c.urlParams_, opts...)
 39399  	res, err := c.doRequest("json")
 39400  	if err != nil {
 39401  		return err
 39402  	}
 39403  	defer googleapi.CloseBody(res)
 39404  	if err := googleapi.CheckResponse(res); err != nil {
 39405  		return err
 39406  	}
 39407  	return nil
 39408  	// {
 39409  	//   "description": "Deletes an existing placement strategy.",
 39410  	//   "httpMethod": "DELETE",
 39411  	//   "id": "dfareporting.placementStrategies.delete",
 39412  	//   "parameterOrder": [
 39413  	//     "profileId",
 39414  	//     "id"
 39415  	//   ],
 39416  	//   "parameters": {
 39417  	//     "id": {
 39418  	//       "description": "Placement strategy ID.",
 39419  	//       "format": "int64",
 39420  	//       "location": "path",
 39421  	//       "required": true,
 39422  	//       "type": "string"
 39423  	//     },
 39424  	//     "profileId": {
 39425  	//       "description": "User profile ID associated with this request.",
 39426  	//       "format": "int64",
 39427  	//       "location": "path",
 39428  	//       "required": true,
 39429  	//       "type": "string"
 39430  	//     }
 39431  	//   },
 39432  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 39433  	//   "scopes": [
 39434  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39435  	//   ]
 39436  	// }
 39437  
 39438  }
 39439  
 39440  // method id "dfareporting.placementStrategies.get":
 39441  
 39442  type PlacementStrategiesGetCall struct {
 39443  	s            *Service
 39444  	profileId    int64
 39445  	id           int64
 39446  	urlParams_   gensupport.URLParams
 39447  	ifNoneMatch_ string
 39448  	ctx_         context.Context
 39449  	header_      http.Header
 39450  }
 39451  
 39452  // Get: Gets one placement strategy by ID.
 39453  func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
 39454  	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39455  	c.profileId = profileId
 39456  	c.id = id
 39457  	return c
 39458  }
 39459  
 39460  // Fields allows partial responses to be retrieved. See
 39461  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39462  // for more information.
 39463  func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
 39464  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39465  	return c
 39466  }
 39467  
 39468  // IfNoneMatch sets the optional parameter which makes the operation
 39469  // fail if the object's ETag matches the given value. This is useful for
 39470  // getting updates only after the object has changed since the last
 39471  // request. Use googleapi.IsNotModified to check whether the response
 39472  // error from Do is the result of In-None-Match.
 39473  func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
 39474  	c.ifNoneMatch_ = entityTag
 39475  	return c
 39476  }
 39477  
 39478  // Context sets the context to be used in this call's Do method. Any
 39479  // pending HTTP request will be aborted if the provided context is
 39480  // canceled.
 39481  func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 39482  	c.ctx_ = ctx
 39483  	return c
 39484  }
 39485  
 39486  // Header returns an http.Header that can be modified by the caller to
 39487  // add HTTP headers to the request.
 39488  func (c *PlacementStrategiesGetCall) Header() http.Header {
 39489  	if c.header_ == nil {
 39490  		c.header_ = make(http.Header)
 39491  	}
 39492  	return c.header_
 39493  }
 39494  
 39495  func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 39496  	reqHeaders := make(http.Header)
 39497  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39498  	for k, v := range c.header_ {
 39499  		reqHeaders[k] = v
 39500  	}
 39501  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39502  	if c.ifNoneMatch_ != "" {
 39503  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39504  	}
 39505  	var body io.Reader = nil
 39506  	c.urlParams_.Set("alt", alt)
 39507  	c.urlParams_.Set("prettyPrint", "false")
 39508  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 39509  	urls += "?" + c.urlParams_.Encode()
 39510  	req, err := http.NewRequest("GET", urls, body)
 39511  	if err != nil {
 39512  		return nil, err
 39513  	}
 39514  	req.Header = reqHeaders
 39515  	googleapi.Expand(req.URL, map[string]string{
 39516  		"profileId": strconv.FormatInt(c.profileId, 10),
 39517  		"id":        strconv.FormatInt(c.id, 10),
 39518  	})
 39519  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39520  }
 39521  
 39522  // Do executes the "dfareporting.placementStrategies.get" call.
 39523  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39524  // non-2xx status code is an error. Response headers are in either
 39525  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39526  // returned at all) in error.(*googleapi.Error).Header. Use
 39527  // googleapi.IsNotModified to check whether the returned error was
 39528  // because http.StatusNotModified was returned.
 39529  func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39530  	gensupport.SetOptions(c.urlParams_, opts...)
 39531  	res, err := c.doRequest("json")
 39532  	if res != nil && res.StatusCode == http.StatusNotModified {
 39533  		if res.Body != nil {
 39534  			res.Body.Close()
 39535  		}
 39536  		return nil, &googleapi.Error{
 39537  			Code:   res.StatusCode,
 39538  			Header: res.Header,
 39539  		}
 39540  	}
 39541  	if err != nil {
 39542  		return nil, err
 39543  	}
 39544  	defer googleapi.CloseBody(res)
 39545  	if err := googleapi.CheckResponse(res); err != nil {
 39546  		return nil, err
 39547  	}
 39548  	ret := &PlacementStrategy{
 39549  		ServerResponse: googleapi.ServerResponse{
 39550  			Header:         res.Header,
 39551  			HTTPStatusCode: res.StatusCode,
 39552  		},
 39553  	}
 39554  	target := &ret
 39555  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39556  		return nil, err
 39557  	}
 39558  	return ret, nil
 39559  	// {
 39560  	//   "description": "Gets one placement strategy by ID.",
 39561  	//   "httpMethod": "GET",
 39562  	//   "id": "dfareporting.placementStrategies.get",
 39563  	//   "parameterOrder": [
 39564  	//     "profileId",
 39565  	//     "id"
 39566  	//   ],
 39567  	//   "parameters": {
 39568  	//     "id": {
 39569  	//       "description": "Placement strategy ID.",
 39570  	//       "format": "int64",
 39571  	//       "location": "path",
 39572  	//       "required": true,
 39573  	//       "type": "string"
 39574  	//     },
 39575  	//     "profileId": {
 39576  	//       "description": "User profile ID associated with this request.",
 39577  	//       "format": "int64",
 39578  	//       "location": "path",
 39579  	//       "required": true,
 39580  	//       "type": "string"
 39581  	//     }
 39582  	//   },
 39583  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 39584  	//   "response": {
 39585  	//     "$ref": "PlacementStrategy"
 39586  	//   },
 39587  	//   "scopes": [
 39588  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39589  	//   ]
 39590  	// }
 39591  
 39592  }
 39593  
 39594  // method id "dfareporting.placementStrategies.insert":
 39595  
 39596  type PlacementStrategiesInsertCall struct {
 39597  	s                 *Service
 39598  	profileId         int64
 39599  	placementstrategy *PlacementStrategy
 39600  	urlParams_        gensupport.URLParams
 39601  	ctx_              context.Context
 39602  	header_           http.Header
 39603  }
 39604  
 39605  // Insert: Inserts a new placement strategy.
 39606  func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
 39607  	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39608  	c.profileId = profileId
 39609  	c.placementstrategy = placementstrategy
 39610  	return c
 39611  }
 39612  
 39613  // Fields allows partial responses to be retrieved. See
 39614  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39615  // for more information.
 39616  func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
 39617  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39618  	return c
 39619  }
 39620  
 39621  // Context sets the context to be used in this call's Do method. Any
 39622  // pending HTTP request will be aborted if the provided context is
 39623  // canceled.
 39624  func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 39625  	c.ctx_ = ctx
 39626  	return c
 39627  }
 39628  
 39629  // Header returns an http.Header that can be modified by the caller to
 39630  // add HTTP headers to the request.
 39631  func (c *PlacementStrategiesInsertCall) Header() http.Header {
 39632  	if c.header_ == nil {
 39633  		c.header_ = make(http.Header)
 39634  	}
 39635  	return c.header_
 39636  }
 39637  
 39638  func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
 39639  	reqHeaders := make(http.Header)
 39640  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39641  	for k, v := range c.header_ {
 39642  		reqHeaders[k] = v
 39643  	}
 39644  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39645  	var body io.Reader = nil
 39646  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39647  	if err != nil {
 39648  		return nil, err
 39649  	}
 39650  	reqHeaders.Set("Content-Type", "application/json")
 39651  	c.urlParams_.Set("alt", alt)
 39652  	c.urlParams_.Set("prettyPrint", "false")
 39653  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39654  	urls += "?" + c.urlParams_.Encode()
 39655  	req, err := http.NewRequest("POST", urls, body)
 39656  	if err != nil {
 39657  		return nil, err
 39658  	}
 39659  	req.Header = reqHeaders
 39660  	googleapi.Expand(req.URL, map[string]string{
 39661  		"profileId": strconv.FormatInt(c.profileId, 10),
 39662  	})
 39663  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39664  }
 39665  
 39666  // Do executes the "dfareporting.placementStrategies.insert" call.
 39667  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39668  // non-2xx status code is an error. Response headers are in either
 39669  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39670  // returned at all) in error.(*googleapi.Error).Header. Use
 39671  // googleapi.IsNotModified to check whether the returned error was
 39672  // because http.StatusNotModified was returned.
 39673  func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39674  	gensupport.SetOptions(c.urlParams_, opts...)
 39675  	res, err := c.doRequest("json")
 39676  	if res != nil && res.StatusCode == http.StatusNotModified {
 39677  		if res.Body != nil {
 39678  			res.Body.Close()
 39679  		}
 39680  		return nil, &googleapi.Error{
 39681  			Code:   res.StatusCode,
 39682  			Header: res.Header,
 39683  		}
 39684  	}
 39685  	if err != nil {
 39686  		return nil, err
 39687  	}
 39688  	defer googleapi.CloseBody(res)
 39689  	if err := googleapi.CheckResponse(res); err != nil {
 39690  		return nil, err
 39691  	}
 39692  	ret := &PlacementStrategy{
 39693  		ServerResponse: googleapi.ServerResponse{
 39694  			Header:         res.Header,
 39695  			HTTPStatusCode: res.StatusCode,
 39696  		},
 39697  	}
 39698  	target := &ret
 39699  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39700  		return nil, err
 39701  	}
 39702  	return ret, nil
 39703  	// {
 39704  	//   "description": "Inserts a new placement strategy.",
 39705  	//   "httpMethod": "POST",
 39706  	//   "id": "dfareporting.placementStrategies.insert",
 39707  	//   "parameterOrder": [
 39708  	//     "profileId"
 39709  	//   ],
 39710  	//   "parameters": {
 39711  	//     "profileId": {
 39712  	//       "description": "User profile ID associated with this request.",
 39713  	//       "format": "int64",
 39714  	//       "location": "path",
 39715  	//       "required": true,
 39716  	//       "type": "string"
 39717  	//     }
 39718  	//   },
 39719  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39720  	//   "request": {
 39721  	//     "$ref": "PlacementStrategy"
 39722  	//   },
 39723  	//   "response": {
 39724  	//     "$ref": "PlacementStrategy"
 39725  	//   },
 39726  	//   "scopes": [
 39727  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39728  	//   ]
 39729  	// }
 39730  
 39731  }
 39732  
 39733  // method id "dfareporting.placementStrategies.list":
 39734  
 39735  type PlacementStrategiesListCall struct {
 39736  	s            *Service
 39737  	profileId    int64
 39738  	urlParams_   gensupport.URLParams
 39739  	ifNoneMatch_ string
 39740  	ctx_         context.Context
 39741  	header_      http.Header
 39742  }
 39743  
 39744  // List: Retrieves a list of placement strategies, possibly filtered.
 39745  // This method supports paging.
 39746  func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
 39747  	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39748  	c.profileId = profileId
 39749  	return c
 39750  }
 39751  
 39752  // Ids sets the optional parameter "ids": Select only placement
 39753  // strategies with these IDs.
 39754  func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
 39755  	var ids_ []string
 39756  	for _, v := range ids {
 39757  		ids_ = append(ids_, fmt.Sprint(v))
 39758  	}
 39759  	c.urlParams_.SetMulti("ids", ids_)
 39760  	return c
 39761  }
 39762  
 39763  // MaxResults sets the optional parameter "maxResults": Maximum number
 39764  // of results to return.
 39765  func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
 39766  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 39767  	return c
 39768  }
 39769  
 39770  // PageToken sets the optional parameter "pageToken": Value of the
 39771  // nextPageToken from the previous result page.
 39772  func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
 39773  	c.urlParams_.Set("pageToken", pageToken)
 39774  	return c
 39775  }
 39776  
 39777  // SearchString sets the optional parameter "searchString": Allows
 39778  // searching for objects by name or ID. Wildcards (*) are allowed. For
 39779  // example, "placementstrategy*2015" will return objects with names like
 39780  // "placementstrategy June 2015", "placementstrategy April 2015", or
 39781  // simply "placementstrategy 2015". Most of the searches also add
 39782  // wildcards implicitly at the start and the end of the search string.
 39783  // For example, a search string of "placementstrategy" will match
 39784  // objects with name "my placementstrategy", "placementstrategy 2015",
 39785  // or simply "placementstrategy".
 39786  func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
 39787  	c.urlParams_.Set("searchString", searchString)
 39788  	return c
 39789  }
 39790  
 39791  // SortField sets the optional parameter "sortField": Field by which to
 39792  // sort the list.
 39793  //
 39794  // Possible values:
 39795  //
 39796  //	"ID" (default)
 39797  //	"NAME"
 39798  func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
 39799  	c.urlParams_.Set("sortField", sortField)
 39800  	return c
 39801  }
 39802  
 39803  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 39804  // results.
 39805  //
 39806  // Possible values:
 39807  //
 39808  //	"ASCENDING" (default)
 39809  //	"DESCENDING"
 39810  func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
 39811  	c.urlParams_.Set("sortOrder", sortOrder)
 39812  	return c
 39813  }
 39814  
 39815  // Fields allows partial responses to be retrieved. See
 39816  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39817  // for more information.
 39818  func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
 39819  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39820  	return c
 39821  }
 39822  
 39823  // IfNoneMatch sets the optional parameter which makes the operation
 39824  // fail if the object's ETag matches the given value. This is useful for
 39825  // getting updates only after the object has changed since the last
 39826  // request. Use googleapi.IsNotModified to check whether the response
 39827  // error from Do is the result of In-None-Match.
 39828  func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
 39829  	c.ifNoneMatch_ = entityTag
 39830  	return c
 39831  }
 39832  
 39833  // Context sets the context to be used in this call's Do method. Any
 39834  // pending HTTP request will be aborted if the provided context is
 39835  // canceled.
 39836  func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 39837  	c.ctx_ = ctx
 39838  	return c
 39839  }
 39840  
 39841  // Header returns an http.Header that can be modified by the caller to
 39842  // add HTTP headers to the request.
 39843  func (c *PlacementStrategiesListCall) Header() http.Header {
 39844  	if c.header_ == nil {
 39845  		c.header_ = make(http.Header)
 39846  	}
 39847  	return c.header_
 39848  }
 39849  
 39850  func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 39851  	reqHeaders := make(http.Header)
 39852  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 39853  	for k, v := range c.header_ {
 39854  		reqHeaders[k] = v
 39855  	}
 39856  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39857  	if c.ifNoneMatch_ != "" {
 39858  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39859  	}
 39860  	var body io.Reader = nil
 39861  	c.urlParams_.Set("alt", alt)
 39862  	c.urlParams_.Set("prettyPrint", "false")
 39863  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39864  	urls += "?" + c.urlParams_.Encode()
 39865  	req, err := http.NewRequest("GET", urls, body)
 39866  	if err != nil {
 39867  		return nil, err
 39868  	}
 39869  	req.Header = reqHeaders
 39870  	googleapi.Expand(req.URL, map[string]string{
 39871  		"profileId": strconv.FormatInt(c.profileId, 10),
 39872  	})
 39873  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39874  }
 39875  
 39876  // Do executes the "dfareporting.placementStrategies.list" call.
 39877  // Exactly one of *PlacementStrategiesListResponse or error will be
 39878  // non-nil. Any non-2xx status code is an error. Response headers are in
 39879  // either *PlacementStrategiesListResponse.ServerResponse.Header or (if
 39880  // a response was returned at all) in error.(*googleapi.Error).Header.
 39881  // Use googleapi.IsNotModified to check whether the returned error was
 39882  // because http.StatusNotModified was returned.
 39883  func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
 39884  	gensupport.SetOptions(c.urlParams_, opts...)
 39885  	res, err := c.doRequest("json")
 39886  	if res != nil && res.StatusCode == http.StatusNotModified {
 39887  		if res.Body != nil {
 39888  			res.Body.Close()
 39889  		}
 39890  		return nil, &googleapi.Error{
 39891  			Code:   res.StatusCode,
 39892  			Header: res.Header,
 39893  		}
 39894  	}
 39895  	if err != nil {
 39896  		return nil, err
 39897  	}
 39898  	defer googleapi.CloseBody(res)
 39899  	if err := googleapi.CheckResponse(res); err != nil {
 39900  		return nil, err
 39901  	}
 39902  	ret := &PlacementStrategiesListResponse{
 39903  		ServerResponse: googleapi.ServerResponse{
 39904  			Header:         res.Header,
 39905  			HTTPStatusCode: res.StatusCode,
 39906  		},
 39907  	}
 39908  	target := &ret
 39909  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39910  		return nil, err
 39911  	}
 39912  	return ret, nil
 39913  	// {
 39914  	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
 39915  	//   "httpMethod": "GET",
 39916  	//   "id": "dfareporting.placementStrategies.list",
 39917  	//   "parameterOrder": [
 39918  	//     "profileId"
 39919  	//   ],
 39920  	//   "parameters": {
 39921  	//     "ids": {
 39922  	//       "description": "Select only placement strategies with these IDs.",
 39923  	//       "format": "int64",
 39924  	//       "location": "query",
 39925  	//       "repeated": true,
 39926  	//       "type": "string"
 39927  	//     },
 39928  	//     "maxResults": {
 39929  	//       "default": "1000",
 39930  	//       "description": "Maximum number of results to return.",
 39931  	//       "format": "int32",
 39932  	//       "location": "query",
 39933  	//       "maximum": "1000",
 39934  	//       "minimum": "0",
 39935  	//       "type": "integer"
 39936  	//     },
 39937  	//     "pageToken": {
 39938  	//       "description": "Value of the nextPageToken from the previous result page.",
 39939  	//       "location": "query",
 39940  	//       "type": "string"
 39941  	//     },
 39942  	//     "profileId": {
 39943  	//       "description": "User profile ID associated with this request.",
 39944  	//       "format": "int64",
 39945  	//       "location": "path",
 39946  	//       "required": true,
 39947  	//       "type": "string"
 39948  	//     },
 39949  	//     "searchString": {
 39950  	//       "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\".",
 39951  	//       "location": "query",
 39952  	//       "type": "string"
 39953  	//     },
 39954  	//     "sortField": {
 39955  	//       "default": "ID",
 39956  	//       "description": "Field by which to sort the list.",
 39957  	//       "enum": [
 39958  	//         "ID",
 39959  	//         "NAME"
 39960  	//       ],
 39961  	//       "enumDescriptions": [
 39962  	//         "",
 39963  	//         ""
 39964  	//       ],
 39965  	//       "location": "query",
 39966  	//       "type": "string"
 39967  	//     },
 39968  	//     "sortOrder": {
 39969  	//       "default": "ASCENDING",
 39970  	//       "description": "Order of sorted results.",
 39971  	//       "enum": [
 39972  	//         "ASCENDING",
 39973  	//         "DESCENDING"
 39974  	//       ],
 39975  	//       "enumDescriptions": [
 39976  	//         "",
 39977  	//         ""
 39978  	//       ],
 39979  	//       "location": "query",
 39980  	//       "type": "string"
 39981  	//     }
 39982  	//   },
 39983  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39984  	//   "response": {
 39985  	//     "$ref": "PlacementStrategiesListResponse"
 39986  	//   },
 39987  	//   "scopes": [
 39988  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39989  	//   ]
 39990  	// }
 39991  
 39992  }
 39993  
 39994  // Pages invokes f for each page of results.
 39995  // A non-nil error returned from f will halt the iteration.
 39996  // The provided context supersedes any context provided to the Context method.
 39997  func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
 39998  	c.ctx_ = ctx
 39999  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 40000  	for {
 40001  		x, err := c.Do()
 40002  		if err != nil {
 40003  			return err
 40004  		}
 40005  		if err := f(x); err != nil {
 40006  			return err
 40007  		}
 40008  		if x.NextPageToken == "" {
 40009  			return nil
 40010  		}
 40011  		c.PageToken(x.NextPageToken)
 40012  	}
 40013  }
 40014  
 40015  // method id "dfareporting.placementStrategies.patch":
 40016  
 40017  type PlacementStrategiesPatchCall struct {
 40018  	s                 *Service
 40019  	profileId         int64
 40020  	placementstrategy *PlacementStrategy
 40021  	urlParams_        gensupport.URLParams
 40022  	ctx_              context.Context
 40023  	header_           http.Header
 40024  }
 40025  
 40026  // Patch: Updates an existing placement strategy. This method supports
 40027  // patch semantics.
 40028  func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
 40029  	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40030  	c.profileId = profileId
 40031  	c.urlParams_.Set("id", fmt.Sprint(id))
 40032  	c.placementstrategy = placementstrategy
 40033  	return c
 40034  }
 40035  
 40036  // Fields allows partial responses to be retrieved. See
 40037  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40038  // for more information.
 40039  func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
 40040  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40041  	return c
 40042  }
 40043  
 40044  // Context sets the context to be used in this call's Do method. Any
 40045  // pending HTTP request will be aborted if the provided context is
 40046  // canceled.
 40047  func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 40048  	c.ctx_ = ctx
 40049  	return c
 40050  }
 40051  
 40052  // Header returns an http.Header that can be modified by the caller to
 40053  // add HTTP headers to the request.
 40054  func (c *PlacementStrategiesPatchCall) Header() http.Header {
 40055  	if c.header_ == nil {
 40056  		c.header_ = make(http.Header)
 40057  	}
 40058  	return c.header_
 40059  }
 40060  
 40061  func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
 40062  	reqHeaders := make(http.Header)
 40063  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40064  	for k, v := range c.header_ {
 40065  		reqHeaders[k] = v
 40066  	}
 40067  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40068  	var body io.Reader = nil
 40069  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 40070  	if err != nil {
 40071  		return nil, err
 40072  	}
 40073  	reqHeaders.Set("Content-Type", "application/json")
 40074  	c.urlParams_.Set("alt", alt)
 40075  	c.urlParams_.Set("prettyPrint", "false")
 40076  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 40077  	urls += "?" + c.urlParams_.Encode()
 40078  	req, err := http.NewRequest("PATCH", urls, body)
 40079  	if err != nil {
 40080  		return nil, err
 40081  	}
 40082  	req.Header = reqHeaders
 40083  	googleapi.Expand(req.URL, map[string]string{
 40084  		"profileId": strconv.FormatInt(c.profileId, 10),
 40085  	})
 40086  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40087  }
 40088  
 40089  // Do executes the "dfareporting.placementStrategies.patch" call.
 40090  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 40091  // non-2xx status code is an error. Response headers are in either
 40092  // *PlacementStrategy.ServerResponse.Header or (if a response was
 40093  // returned at all) in error.(*googleapi.Error).Header. Use
 40094  // googleapi.IsNotModified to check whether the returned error was
 40095  // because http.StatusNotModified was returned.
 40096  func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 40097  	gensupport.SetOptions(c.urlParams_, opts...)
 40098  	res, err := c.doRequest("json")
 40099  	if res != nil && res.StatusCode == http.StatusNotModified {
 40100  		if res.Body != nil {
 40101  			res.Body.Close()
 40102  		}
 40103  		return nil, &googleapi.Error{
 40104  			Code:   res.StatusCode,
 40105  			Header: res.Header,
 40106  		}
 40107  	}
 40108  	if err != nil {
 40109  		return nil, err
 40110  	}
 40111  	defer googleapi.CloseBody(res)
 40112  	if err := googleapi.CheckResponse(res); err != nil {
 40113  		return nil, err
 40114  	}
 40115  	ret := &PlacementStrategy{
 40116  		ServerResponse: googleapi.ServerResponse{
 40117  			Header:         res.Header,
 40118  			HTTPStatusCode: res.StatusCode,
 40119  		},
 40120  	}
 40121  	target := &ret
 40122  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40123  		return nil, err
 40124  	}
 40125  	return ret, nil
 40126  	// {
 40127  	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
 40128  	//   "httpMethod": "PATCH",
 40129  	//   "id": "dfareporting.placementStrategies.patch",
 40130  	//   "parameterOrder": [
 40131  	//     "profileId",
 40132  	//     "id"
 40133  	//   ],
 40134  	//   "parameters": {
 40135  	//     "id": {
 40136  	//       "description": "Placement strategy ID.",
 40137  	//       "format": "int64",
 40138  	//       "location": "query",
 40139  	//       "required": true,
 40140  	//       "type": "string"
 40141  	//     },
 40142  	//     "profileId": {
 40143  	//       "description": "User profile ID associated with this request.",
 40144  	//       "format": "int64",
 40145  	//       "location": "path",
 40146  	//       "required": true,
 40147  	//       "type": "string"
 40148  	//     }
 40149  	//   },
 40150  	//   "path": "userprofiles/{profileId}/placementStrategies",
 40151  	//   "request": {
 40152  	//     "$ref": "PlacementStrategy"
 40153  	//   },
 40154  	//   "response": {
 40155  	//     "$ref": "PlacementStrategy"
 40156  	//   },
 40157  	//   "scopes": [
 40158  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40159  	//   ]
 40160  	// }
 40161  
 40162  }
 40163  
 40164  // method id "dfareporting.placementStrategies.update":
 40165  
 40166  type PlacementStrategiesUpdateCall struct {
 40167  	s                 *Service
 40168  	profileId         int64
 40169  	placementstrategy *PlacementStrategy
 40170  	urlParams_        gensupport.URLParams
 40171  	ctx_              context.Context
 40172  	header_           http.Header
 40173  }
 40174  
 40175  // Update: Updates an existing placement strategy.
 40176  func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
 40177  	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40178  	c.profileId = profileId
 40179  	c.placementstrategy = placementstrategy
 40180  	return c
 40181  }
 40182  
 40183  // Fields allows partial responses to be retrieved. See
 40184  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40185  // for more information.
 40186  func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
 40187  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40188  	return c
 40189  }
 40190  
 40191  // Context sets the context to be used in this call's Do method. Any
 40192  // pending HTTP request will be aborted if the provided context is
 40193  // canceled.
 40194  func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 40195  	c.ctx_ = ctx
 40196  	return c
 40197  }
 40198  
 40199  // Header returns an http.Header that can be modified by the caller to
 40200  // add HTTP headers to the request.
 40201  func (c *PlacementStrategiesUpdateCall) Header() http.Header {
 40202  	if c.header_ == nil {
 40203  		c.header_ = make(http.Header)
 40204  	}
 40205  	return c.header_
 40206  }
 40207  
 40208  func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 40209  	reqHeaders := make(http.Header)
 40210  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40211  	for k, v := range c.header_ {
 40212  		reqHeaders[k] = v
 40213  	}
 40214  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40215  	var body io.Reader = nil
 40216  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 40217  	if err != nil {
 40218  		return nil, err
 40219  	}
 40220  	reqHeaders.Set("Content-Type", "application/json")
 40221  	c.urlParams_.Set("alt", alt)
 40222  	c.urlParams_.Set("prettyPrint", "false")
 40223  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 40224  	urls += "?" + c.urlParams_.Encode()
 40225  	req, err := http.NewRequest("PUT", urls, body)
 40226  	if err != nil {
 40227  		return nil, err
 40228  	}
 40229  	req.Header = reqHeaders
 40230  	googleapi.Expand(req.URL, map[string]string{
 40231  		"profileId": strconv.FormatInt(c.profileId, 10),
 40232  	})
 40233  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40234  }
 40235  
 40236  // Do executes the "dfareporting.placementStrategies.update" call.
 40237  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 40238  // non-2xx status code is an error. Response headers are in either
 40239  // *PlacementStrategy.ServerResponse.Header or (if a response was
 40240  // returned at all) in error.(*googleapi.Error).Header. Use
 40241  // googleapi.IsNotModified to check whether the returned error was
 40242  // because http.StatusNotModified was returned.
 40243  func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 40244  	gensupport.SetOptions(c.urlParams_, opts...)
 40245  	res, err := c.doRequest("json")
 40246  	if res != nil && res.StatusCode == http.StatusNotModified {
 40247  		if res.Body != nil {
 40248  			res.Body.Close()
 40249  		}
 40250  		return nil, &googleapi.Error{
 40251  			Code:   res.StatusCode,
 40252  			Header: res.Header,
 40253  		}
 40254  	}
 40255  	if err != nil {
 40256  		return nil, err
 40257  	}
 40258  	defer googleapi.CloseBody(res)
 40259  	if err := googleapi.CheckResponse(res); err != nil {
 40260  		return nil, err
 40261  	}
 40262  	ret := &PlacementStrategy{
 40263  		ServerResponse: googleapi.ServerResponse{
 40264  			Header:         res.Header,
 40265  			HTTPStatusCode: res.StatusCode,
 40266  		},
 40267  	}
 40268  	target := &ret
 40269  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40270  		return nil, err
 40271  	}
 40272  	return ret, nil
 40273  	// {
 40274  	//   "description": "Updates an existing placement strategy.",
 40275  	//   "httpMethod": "PUT",
 40276  	//   "id": "dfareporting.placementStrategies.update",
 40277  	//   "parameterOrder": [
 40278  	//     "profileId"
 40279  	//   ],
 40280  	//   "parameters": {
 40281  	//     "profileId": {
 40282  	//       "description": "User profile ID associated with this request.",
 40283  	//       "format": "int64",
 40284  	//       "location": "path",
 40285  	//       "required": true,
 40286  	//       "type": "string"
 40287  	//     }
 40288  	//   },
 40289  	//   "path": "userprofiles/{profileId}/placementStrategies",
 40290  	//   "request": {
 40291  	//     "$ref": "PlacementStrategy"
 40292  	//   },
 40293  	//   "response": {
 40294  	//     "$ref": "PlacementStrategy"
 40295  	//   },
 40296  	//   "scopes": [
 40297  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40298  	//   ]
 40299  	// }
 40300  
 40301  }
 40302  
 40303  // method id "dfareporting.placements.generatetags":
 40304  
 40305  type PlacementsGeneratetagsCall struct {
 40306  	s          *Service
 40307  	profileId  int64
 40308  	urlParams_ gensupport.URLParams
 40309  	ctx_       context.Context
 40310  	header_    http.Header
 40311  }
 40312  
 40313  // Generatetags: Generates tags for a placement.
 40314  func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
 40315  	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40316  	c.profileId = profileId
 40317  	return c
 40318  }
 40319  
 40320  // CampaignId sets the optional parameter "campaignId": Generate
 40321  // placements belonging to this campaign. This is a required field.
 40322  func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
 40323  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 40324  	return c
 40325  }
 40326  
 40327  // PlacementIds sets the optional parameter "placementIds": Generate
 40328  // tags for these placements.
 40329  func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
 40330  	var placementIds_ []string
 40331  	for _, v := range placementIds {
 40332  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 40333  	}
 40334  	c.urlParams_.SetMulti("placementIds", placementIds_)
 40335  	return c
 40336  }
 40337  
 40338  // TagFormats sets the optional parameter "tagFormats": Tag formats to
 40339  // generate for these placements.
 40340  //
 40341  // Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1
 40342  // placements.
 40343  //
 40344  // Possible values:
 40345  //
 40346  //	"PLACEMENT_TAG_CLICK_COMMANDS"
 40347  //	"PLACEMENT_TAG_IFRAME_ILAYER"
 40348  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 40349  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 40350  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 40351  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 40352  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 40353  //	"PLACEMENT_TAG_INTERNAL_REDIRECT"
 40354  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 40355  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 40356  //	"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 40357  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 40358  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 40359  //	"PLACEMENT_TAG_JAVASCRIPT"
 40360  //	"PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 40361  //	"PLACEMENT_TAG_STANDARD"
 40362  //	"PLACEMENT_TAG_TRACKING"
 40363  //	"PLACEMENT_TAG_TRACKING_IFRAME"
 40364  //	"PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 40365  func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
 40366  	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
 40367  	return c
 40368  }
 40369  
 40370  // Fields allows partial responses to be retrieved. See
 40371  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40372  // for more information.
 40373  func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
 40374  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40375  	return c
 40376  }
 40377  
 40378  // Context sets the context to be used in this call's Do method. Any
 40379  // pending HTTP request will be aborted if the provided context is
 40380  // canceled.
 40381  func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 40382  	c.ctx_ = ctx
 40383  	return c
 40384  }
 40385  
 40386  // Header returns an http.Header that can be modified by the caller to
 40387  // add HTTP headers to the request.
 40388  func (c *PlacementsGeneratetagsCall) Header() http.Header {
 40389  	if c.header_ == nil {
 40390  		c.header_ = make(http.Header)
 40391  	}
 40392  	return c.header_
 40393  }
 40394  
 40395  func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 40396  	reqHeaders := make(http.Header)
 40397  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40398  	for k, v := range c.header_ {
 40399  		reqHeaders[k] = v
 40400  	}
 40401  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40402  	var body io.Reader = nil
 40403  	c.urlParams_.Set("alt", alt)
 40404  	c.urlParams_.Set("prettyPrint", "false")
 40405  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
 40406  	urls += "?" + c.urlParams_.Encode()
 40407  	req, err := http.NewRequest("POST", urls, body)
 40408  	if err != nil {
 40409  		return nil, err
 40410  	}
 40411  	req.Header = reqHeaders
 40412  	googleapi.Expand(req.URL, map[string]string{
 40413  		"profileId": strconv.FormatInt(c.profileId, 10),
 40414  	})
 40415  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40416  }
 40417  
 40418  // Do executes the "dfareporting.placements.generatetags" call.
 40419  // Exactly one of *PlacementsGenerateTagsResponse or error will be
 40420  // non-nil. Any non-2xx status code is an error. Response headers are in
 40421  // either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
 40422  // response was returned at all) in error.(*googleapi.Error).Header. Use
 40423  // googleapi.IsNotModified to check whether the returned error was
 40424  // because http.StatusNotModified was returned.
 40425  func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
 40426  	gensupport.SetOptions(c.urlParams_, opts...)
 40427  	res, err := c.doRequest("json")
 40428  	if res != nil && res.StatusCode == http.StatusNotModified {
 40429  		if res.Body != nil {
 40430  			res.Body.Close()
 40431  		}
 40432  		return nil, &googleapi.Error{
 40433  			Code:   res.StatusCode,
 40434  			Header: res.Header,
 40435  		}
 40436  	}
 40437  	if err != nil {
 40438  		return nil, err
 40439  	}
 40440  	defer googleapi.CloseBody(res)
 40441  	if err := googleapi.CheckResponse(res); err != nil {
 40442  		return nil, err
 40443  	}
 40444  	ret := &PlacementsGenerateTagsResponse{
 40445  		ServerResponse: googleapi.ServerResponse{
 40446  			Header:         res.Header,
 40447  			HTTPStatusCode: res.StatusCode,
 40448  		},
 40449  	}
 40450  	target := &ret
 40451  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40452  		return nil, err
 40453  	}
 40454  	return ret, nil
 40455  	// {
 40456  	//   "description": "Generates tags for a placement.",
 40457  	//   "httpMethod": "POST",
 40458  	//   "id": "dfareporting.placements.generatetags",
 40459  	//   "parameterOrder": [
 40460  	//     "profileId"
 40461  	//   ],
 40462  	//   "parameters": {
 40463  	//     "campaignId": {
 40464  	//       "description": "Generate placements belonging to this campaign. This is a required field.",
 40465  	//       "format": "int64",
 40466  	//       "location": "query",
 40467  	//       "type": "string"
 40468  	//     },
 40469  	//     "placementIds": {
 40470  	//       "description": "Generate tags for these placements.",
 40471  	//       "format": "int64",
 40472  	//       "location": "query",
 40473  	//       "repeated": true,
 40474  	//       "type": "string"
 40475  	//     },
 40476  	//     "profileId": {
 40477  	//       "description": "User profile ID associated with this request.",
 40478  	//       "format": "int64",
 40479  	//       "location": "path",
 40480  	//       "required": true,
 40481  	//       "type": "string"
 40482  	//     },
 40483  	//     "tagFormats": {
 40484  	//       "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
 40485  	//       "enum": [
 40486  	//         "PLACEMENT_TAG_CLICK_COMMANDS",
 40487  	//         "PLACEMENT_TAG_IFRAME_ILAYER",
 40488  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
 40489  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
 40490  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
 40491  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
 40492  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
 40493  	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
 40494  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
 40495  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
 40496  	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
 40497  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
 40498  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
 40499  	//         "PLACEMENT_TAG_JAVASCRIPT",
 40500  	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
 40501  	//         "PLACEMENT_TAG_STANDARD",
 40502  	//         "PLACEMENT_TAG_TRACKING",
 40503  	//         "PLACEMENT_TAG_TRACKING_IFRAME",
 40504  	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 40505  	//       ],
 40506  	//       "enumDescriptions": [
 40507  	//         "",
 40508  	//         "",
 40509  	//         "",
 40510  	//         "",
 40511  	//         "",
 40512  	//         "",
 40513  	//         "",
 40514  	//         "",
 40515  	//         "",
 40516  	//         "",
 40517  	//         "",
 40518  	//         "",
 40519  	//         "",
 40520  	//         "",
 40521  	//         "",
 40522  	//         "",
 40523  	//         "",
 40524  	//         "",
 40525  	//         ""
 40526  	//       ],
 40527  	//       "location": "query",
 40528  	//       "repeated": true,
 40529  	//       "type": "string"
 40530  	//     }
 40531  	//   },
 40532  	//   "path": "userprofiles/{profileId}/placements/generatetags",
 40533  	//   "response": {
 40534  	//     "$ref": "PlacementsGenerateTagsResponse"
 40535  	//   },
 40536  	//   "scopes": [
 40537  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40538  	//   ]
 40539  	// }
 40540  
 40541  }
 40542  
 40543  // method id "dfareporting.placements.get":
 40544  
 40545  type PlacementsGetCall struct {
 40546  	s            *Service
 40547  	profileId    int64
 40548  	id           int64
 40549  	urlParams_   gensupport.URLParams
 40550  	ifNoneMatch_ string
 40551  	ctx_         context.Context
 40552  	header_      http.Header
 40553  }
 40554  
 40555  // Get: Gets one placement by ID.
 40556  func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
 40557  	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40558  	c.profileId = profileId
 40559  	c.id = id
 40560  	return c
 40561  }
 40562  
 40563  // Fields allows partial responses to be retrieved. See
 40564  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40565  // for more information.
 40566  func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
 40567  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40568  	return c
 40569  }
 40570  
 40571  // IfNoneMatch sets the optional parameter which makes the operation
 40572  // fail if the object's ETag matches the given value. This is useful for
 40573  // getting updates only after the object has changed since the last
 40574  // request. Use googleapi.IsNotModified to check whether the response
 40575  // error from Do is the result of In-None-Match.
 40576  func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
 40577  	c.ifNoneMatch_ = entityTag
 40578  	return c
 40579  }
 40580  
 40581  // Context sets the context to be used in this call's Do method. Any
 40582  // pending HTTP request will be aborted if the provided context is
 40583  // canceled.
 40584  func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 40585  	c.ctx_ = ctx
 40586  	return c
 40587  }
 40588  
 40589  // Header returns an http.Header that can be modified by the caller to
 40590  // add HTTP headers to the request.
 40591  func (c *PlacementsGetCall) Header() http.Header {
 40592  	if c.header_ == nil {
 40593  		c.header_ = make(http.Header)
 40594  	}
 40595  	return c.header_
 40596  }
 40597  
 40598  func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 40599  	reqHeaders := make(http.Header)
 40600  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40601  	for k, v := range c.header_ {
 40602  		reqHeaders[k] = v
 40603  	}
 40604  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40605  	if c.ifNoneMatch_ != "" {
 40606  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40607  	}
 40608  	var body io.Reader = nil
 40609  	c.urlParams_.Set("alt", alt)
 40610  	c.urlParams_.Set("prettyPrint", "false")
 40611  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
 40612  	urls += "?" + c.urlParams_.Encode()
 40613  	req, err := http.NewRequest("GET", urls, body)
 40614  	if err != nil {
 40615  		return nil, err
 40616  	}
 40617  	req.Header = reqHeaders
 40618  	googleapi.Expand(req.URL, map[string]string{
 40619  		"profileId": strconv.FormatInt(c.profileId, 10),
 40620  		"id":        strconv.FormatInt(c.id, 10),
 40621  	})
 40622  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40623  }
 40624  
 40625  // Do executes the "dfareporting.placements.get" call.
 40626  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40627  // status code is an error. Response headers are in either
 40628  // *Placement.ServerResponse.Header or (if a response was returned at
 40629  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40630  // to check whether the returned error was because
 40631  // http.StatusNotModified was returned.
 40632  func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40633  	gensupport.SetOptions(c.urlParams_, opts...)
 40634  	res, err := c.doRequest("json")
 40635  	if res != nil && res.StatusCode == http.StatusNotModified {
 40636  		if res.Body != nil {
 40637  			res.Body.Close()
 40638  		}
 40639  		return nil, &googleapi.Error{
 40640  			Code:   res.StatusCode,
 40641  			Header: res.Header,
 40642  		}
 40643  	}
 40644  	if err != nil {
 40645  		return nil, err
 40646  	}
 40647  	defer googleapi.CloseBody(res)
 40648  	if err := googleapi.CheckResponse(res); err != nil {
 40649  		return nil, err
 40650  	}
 40651  	ret := &Placement{
 40652  		ServerResponse: googleapi.ServerResponse{
 40653  			Header:         res.Header,
 40654  			HTTPStatusCode: res.StatusCode,
 40655  		},
 40656  	}
 40657  	target := &ret
 40658  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40659  		return nil, err
 40660  	}
 40661  	return ret, nil
 40662  	// {
 40663  	//   "description": "Gets one placement by ID.",
 40664  	//   "httpMethod": "GET",
 40665  	//   "id": "dfareporting.placements.get",
 40666  	//   "parameterOrder": [
 40667  	//     "profileId",
 40668  	//     "id"
 40669  	//   ],
 40670  	//   "parameters": {
 40671  	//     "id": {
 40672  	//       "description": "Placement ID.",
 40673  	//       "format": "int64",
 40674  	//       "location": "path",
 40675  	//       "required": true,
 40676  	//       "type": "string"
 40677  	//     },
 40678  	//     "profileId": {
 40679  	//       "description": "User profile ID associated with this request.",
 40680  	//       "format": "int64",
 40681  	//       "location": "path",
 40682  	//       "required": true,
 40683  	//       "type": "string"
 40684  	//     }
 40685  	//   },
 40686  	//   "path": "userprofiles/{profileId}/placements/{id}",
 40687  	//   "response": {
 40688  	//     "$ref": "Placement"
 40689  	//   },
 40690  	//   "scopes": [
 40691  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40692  	//   ]
 40693  	// }
 40694  
 40695  }
 40696  
 40697  // method id "dfareporting.placements.insert":
 40698  
 40699  type PlacementsInsertCall struct {
 40700  	s          *Service
 40701  	profileId  int64
 40702  	placement  *Placement
 40703  	urlParams_ gensupport.URLParams
 40704  	ctx_       context.Context
 40705  	header_    http.Header
 40706  }
 40707  
 40708  // Insert: Inserts a new placement.
 40709  func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
 40710  	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40711  	c.profileId = profileId
 40712  	c.placement = placement
 40713  	return c
 40714  }
 40715  
 40716  // Fields allows partial responses to be retrieved. See
 40717  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40718  // for more information.
 40719  func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
 40720  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40721  	return c
 40722  }
 40723  
 40724  // Context sets the context to be used in this call's Do method. Any
 40725  // pending HTTP request will be aborted if the provided context is
 40726  // canceled.
 40727  func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 40728  	c.ctx_ = ctx
 40729  	return c
 40730  }
 40731  
 40732  // Header returns an http.Header that can be modified by the caller to
 40733  // add HTTP headers to the request.
 40734  func (c *PlacementsInsertCall) Header() http.Header {
 40735  	if c.header_ == nil {
 40736  		c.header_ = make(http.Header)
 40737  	}
 40738  	return c.header_
 40739  }
 40740  
 40741  func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
 40742  	reqHeaders := make(http.Header)
 40743  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 40744  	for k, v := range c.header_ {
 40745  		reqHeaders[k] = v
 40746  	}
 40747  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40748  	var body io.Reader = nil
 40749  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 40750  	if err != nil {
 40751  		return nil, err
 40752  	}
 40753  	reqHeaders.Set("Content-Type", "application/json")
 40754  	c.urlParams_.Set("alt", alt)
 40755  	c.urlParams_.Set("prettyPrint", "false")
 40756  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40757  	urls += "?" + c.urlParams_.Encode()
 40758  	req, err := http.NewRequest("POST", urls, body)
 40759  	if err != nil {
 40760  		return nil, err
 40761  	}
 40762  	req.Header = reqHeaders
 40763  	googleapi.Expand(req.URL, map[string]string{
 40764  		"profileId": strconv.FormatInt(c.profileId, 10),
 40765  	})
 40766  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40767  }
 40768  
 40769  // Do executes the "dfareporting.placements.insert" call.
 40770  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40771  // status code is an error. Response headers are in either
 40772  // *Placement.ServerResponse.Header or (if a response was returned at
 40773  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40774  // to check whether the returned error was because
 40775  // http.StatusNotModified was returned.
 40776  func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40777  	gensupport.SetOptions(c.urlParams_, opts...)
 40778  	res, err := c.doRequest("json")
 40779  	if res != nil && res.StatusCode == http.StatusNotModified {
 40780  		if res.Body != nil {
 40781  			res.Body.Close()
 40782  		}
 40783  		return nil, &googleapi.Error{
 40784  			Code:   res.StatusCode,
 40785  			Header: res.Header,
 40786  		}
 40787  	}
 40788  	if err != nil {
 40789  		return nil, err
 40790  	}
 40791  	defer googleapi.CloseBody(res)
 40792  	if err := googleapi.CheckResponse(res); err != nil {
 40793  		return nil, err
 40794  	}
 40795  	ret := &Placement{
 40796  		ServerResponse: googleapi.ServerResponse{
 40797  			Header:         res.Header,
 40798  			HTTPStatusCode: res.StatusCode,
 40799  		},
 40800  	}
 40801  	target := &ret
 40802  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40803  		return nil, err
 40804  	}
 40805  	return ret, nil
 40806  	// {
 40807  	//   "description": "Inserts a new placement.",
 40808  	//   "httpMethod": "POST",
 40809  	//   "id": "dfareporting.placements.insert",
 40810  	//   "parameterOrder": [
 40811  	//     "profileId"
 40812  	//   ],
 40813  	//   "parameters": {
 40814  	//     "profileId": {
 40815  	//       "description": "User profile ID associated with this request.",
 40816  	//       "format": "int64",
 40817  	//       "location": "path",
 40818  	//       "required": true,
 40819  	//       "type": "string"
 40820  	//     }
 40821  	//   },
 40822  	//   "path": "userprofiles/{profileId}/placements",
 40823  	//   "request": {
 40824  	//     "$ref": "Placement"
 40825  	//   },
 40826  	//   "response": {
 40827  	//     "$ref": "Placement"
 40828  	//   },
 40829  	//   "scopes": [
 40830  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40831  	//   ]
 40832  	// }
 40833  
 40834  }
 40835  
 40836  // method id "dfareporting.placements.list":
 40837  
 40838  type PlacementsListCall struct {
 40839  	s            *Service
 40840  	profileId    int64
 40841  	urlParams_   gensupport.URLParams
 40842  	ifNoneMatch_ string
 40843  	ctx_         context.Context
 40844  	header_      http.Header
 40845  }
 40846  
 40847  // List: Retrieves a list of placements, possibly filtered. This method
 40848  // supports paging.
 40849  func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
 40850  	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40851  	c.profileId = profileId
 40852  	return c
 40853  }
 40854  
 40855  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 40856  // only placements that belong to these advertisers.
 40857  func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
 40858  	var advertiserIds_ []string
 40859  	for _, v := range advertiserIds {
 40860  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 40861  	}
 40862  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 40863  	return c
 40864  }
 40865  
 40866  // Archived sets the optional parameter "archived": Select only archived
 40867  // placements. Don't set this field to select both archived and
 40868  // non-archived placements.
 40869  func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
 40870  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 40871  	return c
 40872  }
 40873  
 40874  // CampaignIds sets the optional parameter "campaignIds": Select only
 40875  // placements that belong to these campaigns.
 40876  func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
 40877  	var campaignIds_ []string
 40878  	for _, v := range campaignIds {
 40879  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 40880  	}
 40881  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 40882  	return c
 40883  }
 40884  
 40885  // Compatibilities sets the optional parameter "compatibilities": Select
 40886  // only placements that are associated with these compatibilities.
 40887  // DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
 40888  // or on mobile devices for regular or interstitial ads respectively.
 40889  // APP and APP_INTERSTITIAL are for rendering in mobile apps.
 40890  // IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
 40891  // with the VAST standard.
 40892  //
 40893  // Possible values:
 40894  //
 40895  //	"APP"
 40896  //	"APP_INTERSTITIAL"
 40897  //	"DISPLAY"
 40898  //	"DISPLAY_INTERSTITIAL"
 40899  //	"IN_STREAM_AUDIO"
 40900  //	"IN_STREAM_VIDEO"
 40901  func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
 40902  	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
 40903  	return c
 40904  }
 40905  
 40906  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 40907  // Select only placements that are associated with these content
 40908  // categories.
 40909  func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
 40910  	var contentCategoryIds_ []string
 40911  	for _, v := range contentCategoryIds {
 40912  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 40913  	}
 40914  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 40915  	return c
 40916  }
 40917  
 40918  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 40919  // Select only placements that are associated with these directory
 40920  // sites.
 40921  func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
 40922  	var directorySiteIds_ []string
 40923  	for _, v := range directorySiteIds {
 40924  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 40925  	}
 40926  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 40927  	return c
 40928  }
 40929  
 40930  // GroupIds sets the optional parameter "groupIds": Select only
 40931  // placements that belong to these placement groups.
 40932  func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
 40933  	var groupIds_ []string
 40934  	for _, v := range groupIds {
 40935  		groupIds_ = append(groupIds_, fmt.Sprint(v))
 40936  	}
 40937  	c.urlParams_.SetMulti("groupIds", groupIds_)
 40938  	return c
 40939  }
 40940  
 40941  // Ids sets the optional parameter "ids": Select only placements with
 40942  // these IDs.
 40943  func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
 40944  	var ids_ []string
 40945  	for _, v := range ids {
 40946  		ids_ = append(ids_, fmt.Sprint(v))
 40947  	}
 40948  	c.urlParams_.SetMulti("ids", ids_)
 40949  	return c
 40950  }
 40951  
 40952  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 40953  // placements or placement groups whose end date is on or before the
 40954  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 40955  func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
 40956  	c.urlParams_.Set("maxEndDate", maxEndDate)
 40957  	return c
 40958  }
 40959  
 40960  // MaxResults sets the optional parameter "maxResults": Maximum number
 40961  // of results to return.
 40962  func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
 40963  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 40964  	return c
 40965  }
 40966  
 40967  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 40968  // placements or placement groups whose start date is on or before the
 40969  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 40970  func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
 40971  	c.urlParams_.Set("maxStartDate", maxStartDate)
 40972  	return c
 40973  }
 40974  
 40975  // MinEndDate sets the optional parameter "minEndDate": Select only
 40976  // placements or placement groups whose end date is on or after the
 40977  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 40978  func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
 40979  	c.urlParams_.Set("minEndDate", minEndDate)
 40980  	return c
 40981  }
 40982  
 40983  // MinStartDate sets the optional parameter "minStartDate": Select only
 40984  // placements or placement groups whose start date is on or after the
 40985  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 40986  func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
 40987  	c.urlParams_.Set("minStartDate", minStartDate)
 40988  	return c
 40989  }
 40990  
 40991  // PageToken sets the optional parameter "pageToken": Value of the
 40992  // nextPageToken from the previous result page.
 40993  func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
 40994  	c.urlParams_.Set("pageToken", pageToken)
 40995  	return c
 40996  }
 40997  
 40998  // PaymentSource sets the optional parameter "paymentSource": Select
 40999  // only placements with this payment source.
 41000  //
 41001  // Possible values:
 41002  //
 41003  //	"PLACEMENT_AGENCY_PAID"
 41004  //	"PLACEMENT_PUBLISHER_PAID"
 41005  func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
 41006  	c.urlParams_.Set("paymentSource", paymentSource)
 41007  	return c
 41008  }
 41009  
 41010  // PlacementStrategyIds sets the optional parameter
 41011  // "placementStrategyIds": Select only placements that are associated
 41012  // with these placement strategies.
 41013  func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
 41014  	var placementStrategyIds_ []string
 41015  	for _, v := range placementStrategyIds {
 41016  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 41017  	}
 41018  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 41019  	return c
 41020  }
 41021  
 41022  // PricingTypes sets the optional parameter "pricingTypes": Select only
 41023  // placements with these pricing types.
 41024  //
 41025  // Possible values:
 41026  //
 41027  //	"PRICING_TYPE_CPA"
 41028  //	"PRICING_TYPE_CPC"
 41029  //	"PRICING_TYPE_CPM"
 41030  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 41031  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 41032  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 41033  func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
 41034  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 41035  	return c
 41036  }
 41037  
 41038  // SearchString sets the optional parameter "searchString": Allows
 41039  // searching for placements by name or ID. Wildcards (*) are allowed.
 41040  // For example, "placement*2015" will return placements with names like
 41041  // "placement June 2015", "placement May 2015", or simply "placements
 41042  // 2015". Most of the searches also add wildcards implicitly at the
 41043  // start and the end of the search string. For example, a search string
 41044  // of "placement" will match placements with name "my placement",
 41045  // "placement 2015", or simply "placement".
 41046  func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
 41047  	c.urlParams_.Set("searchString", searchString)
 41048  	return c
 41049  }
 41050  
 41051  // SiteIds sets the optional parameter "siteIds": Select only placements
 41052  // that are associated with these sites.
 41053  func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
 41054  	var siteIds_ []string
 41055  	for _, v := range siteIds {
 41056  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 41057  	}
 41058  	c.urlParams_.SetMulti("siteIds", siteIds_)
 41059  	return c
 41060  }
 41061  
 41062  // SizeIds sets the optional parameter "sizeIds": Select only placements
 41063  // that are associated with these sizes.
 41064  func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
 41065  	var sizeIds_ []string
 41066  	for _, v := range sizeIds {
 41067  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 41068  	}
 41069  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 41070  	return c
 41071  }
 41072  
 41073  // SortField sets the optional parameter "sortField": Field by which to
 41074  // sort the list.
 41075  //
 41076  // Possible values:
 41077  //
 41078  //	"ID" (default)
 41079  //	"NAME"
 41080  func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
 41081  	c.urlParams_.Set("sortField", sortField)
 41082  	return c
 41083  }
 41084  
 41085  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 41086  // results.
 41087  //
 41088  // Possible values:
 41089  //
 41090  //	"ASCENDING" (default)
 41091  //	"DESCENDING"
 41092  func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
 41093  	c.urlParams_.Set("sortOrder", sortOrder)
 41094  	return c
 41095  }
 41096  
 41097  // Fields allows partial responses to be retrieved. See
 41098  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41099  // for more information.
 41100  func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
 41101  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41102  	return c
 41103  }
 41104  
 41105  // IfNoneMatch sets the optional parameter which makes the operation
 41106  // fail if the object's ETag matches the given value. This is useful for
 41107  // getting updates only after the object has changed since the last
 41108  // request. Use googleapi.IsNotModified to check whether the response
 41109  // error from Do is the result of In-None-Match.
 41110  func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
 41111  	c.ifNoneMatch_ = entityTag
 41112  	return c
 41113  }
 41114  
 41115  // Context sets the context to be used in this call's Do method. Any
 41116  // pending HTTP request will be aborted if the provided context is
 41117  // canceled.
 41118  func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 41119  	c.ctx_ = ctx
 41120  	return c
 41121  }
 41122  
 41123  // Header returns an http.Header that can be modified by the caller to
 41124  // add HTTP headers to the request.
 41125  func (c *PlacementsListCall) Header() http.Header {
 41126  	if c.header_ == nil {
 41127  		c.header_ = make(http.Header)
 41128  	}
 41129  	return c.header_
 41130  }
 41131  
 41132  func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 41133  	reqHeaders := make(http.Header)
 41134  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41135  	for k, v := range c.header_ {
 41136  		reqHeaders[k] = v
 41137  	}
 41138  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41139  	if c.ifNoneMatch_ != "" {
 41140  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41141  	}
 41142  	var body io.Reader = nil
 41143  	c.urlParams_.Set("alt", alt)
 41144  	c.urlParams_.Set("prettyPrint", "false")
 41145  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 41146  	urls += "?" + c.urlParams_.Encode()
 41147  	req, err := http.NewRequest("GET", urls, body)
 41148  	if err != nil {
 41149  		return nil, err
 41150  	}
 41151  	req.Header = reqHeaders
 41152  	googleapi.Expand(req.URL, map[string]string{
 41153  		"profileId": strconv.FormatInt(c.profileId, 10),
 41154  	})
 41155  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41156  }
 41157  
 41158  // Do executes the "dfareporting.placements.list" call.
 41159  // Exactly one of *PlacementsListResponse or error will be non-nil. Any
 41160  // non-2xx status code is an error. Response headers are in either
 41161  // *PlacementsListResponse.ServerResponse.Header or (if a response was
 41162  // returned at all) in error.(*googleapi.Error).Header. Use
 41163  // googleapi.IsNotModified to check whether the returned error was
 41164  // because http.StatusNotModified was returned.
 41165  func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
 41166  	gensupport.SetOptions(c.urlParams_, opts...)
 41167  	res, err := c.doRequest("json")
 41168  	if res != nil && res.StatusCode == http.StatusNotModified {
 41169  		if res.Body != nil {
 41170  			res.Body.Close()
 41171  		}
 41172  		return nil, &googleapi.Error{
 41173  			Code:   res.StatusCode,
 41174  			Header: res.Header,
 41175  		}
 41176  	}
 41177  	if err != nil {
 41178  		return nil, err
 41179  	}
 41180  	defer googleapi.CloseBody(res)
 41181  	if err := googleapi.CheckResponse(res); err != nil {
 41182  		return nil, err
 41183  	}
 41184  	ret := &PlacementsListResponse{
 41185  		ServerResponse: googleapi.ServerResponse{
 41186  			Header:         res.Header,
 41187  			HTTPStatusCode: res.StatusCode,
 41188  		},
 41189  	}
 41190  	target := &ret
 41191  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41192  		return nil, err
 41193  	}
 41194  	return ret, nil
 41195  	// {
 41196  	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
 41197  	//   "httpMethod": "GET",
 41198  	//   "id": "dfareporting.placements.list",
 41199  	//   "parameterOrder": [
 41200  	//     "profileId"
 41201  	//   ],
 41202  	//   "parameters": {
 41203  	//     "advertiserIds": {
 41204  	//       "description": "Select only placements that belong to these advertisers.",
 41205  	//       "format": "int64",
 41206  	//       "location": "query",
 41207  	//       "repeated": true,
 41208  	//       "type": "string"
 41209  	//     },
 41210  	//     "archived": {
 41211  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 41212  	//       "location": "query",
 41213  	//       "type": "boolean"
 41214  	//     },
 41215  	//     "campaignIds": {
 41216  	//       "description": "Select only placements that belong to these campaigns.",
 41217  	//       "format": "int64",
 41218  	//       "location": "query",
 41219  	//       "repeated": true,
 41220  	//       "type": "string"
 41221  	//     },
 41222  	//     "compatibilities": {
 41223  	//       "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.",
 41224  	//       "enum": [
 41225  	//         "APP",
 41226  	//         "APP_INTERSTITIAL",
 41227  	//         "DISPLAY",
 41228  	//         "DISPLAY_INTERSTITIAL",
 41229  	//         "IN_STREAM_AUDIO",
 41230  	//         "IN_STREAM_VIDEO"
 41231  	//       ],
 41232  	//       "enumDescriptions": [
 41233  	//         "",
 41234  	//         "",
 41235  	//         "",
 41236  	//         "",
 41237  	//         "",
 41238  	//         ""
 41239  	//       ],
 41240  	//       "location": "query",
 41241  	//       "repeated": true,
 41242  	//       "type": "string"
 41243  	//     },
 41244  	//     "contentCategoryIds": {
 41245  	//       "description": "Select only placements that are associated with these content categories.",
 41246  	//       "format": "int64",
 41247  	//       "location": "query",
 41248  	//       "repeated": true,
 41249  	//       "type": "string"
 41250  	//     },
 41251  	//     "directorySiteIds": {
 41252  	//       "description": "Select only placements that are associated with these directory sites.",
 41253  	//       "format": "int64",
 41254  	//       "location": "query",
 41255  	//       "repeated": true,
 41256  	//       "type": "string"
 41257  	//     },
 41258  	//     "groupIds": {
 41259  	//       "description": "Select only placements that belong to these placement groups.",
 41260  	//       "format": "int64",
 41261  	//       "location": "query",
 41262  	//       "repeated": true,
 41263  	//       "type": "string"
 41264  	//     },
 41265  	//     "ids": {
 41266  	//       "description": "Select only placements with these IDs.",
 41267  	//       "format": "int64",
 41268  	//       "location": "query",
 41269  	//       "repeated": true,
 41270  	//       "type": "string"
 41271  	//     },
 41272  	//     "maxEndDate": {
 41273  	//       "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\".",
 41274  	//       "location": "query",
 41275  	//       "type": "string"
 41276  	//     },
 41277  	//     "maxResults": {
 41278  	//       "default": "1000",
 41279  	//       "description": "Maximum number of results to return.",
 41280  	//       "format": "int32",
 41281  	//       "location": "query",
 41282  	//       "maximum": "1000",
 41283  	//       "minimum": "0",
 41284  	//       "type": "integer"
 41285  	//     },
 41286  	//     "maxStartDate": {
 41287  	//       "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\".",
 41288  	//       "location": "query",
 41289  	//       "type": "string"
 41290  	//     },
 41291  	//     "minEndDate": {
 41292  	//       "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\".",
 41293  	//       "location": "query",
 41294  	//       "type": "string"
 41295  	//     },
 41296  	//     "minStartDate": {
 41297  	//       "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\".",
 41298  	//       "location": "query",
 41299  	//       "type": "string"
 41300  	//     },
 41301  	//     "pageToken": {
 41302  	//       "description": "Value of the nextPageToken from the previous result page.",
 41303  	//       "location": "query",
 41304  	//       "type": "string"
 41305  	//     },
 41306  	//     "paymentSource": {
 41307  	//       "description": "Select only placements with this payment source.",
 41308  	//       "enum": [
 41309  	//         "PLACEMENT_AGENCY_PAID",
 41310  	//         "PLACEMENT_PUBLISHER_PAID"
 41311  	//       ],
 41312  	//       "enumDescriptions": [
 41313  	//         "",
 41314  	//         ""
 41315  	//       ],
 41316  	//       "location": "query",
 41317  	//       "type": "string"
 41318  	//     },
 41319  	//     "placementStrategyIds": {
 41320  	//       "description": "Select only placements that are associated with these placement strategies.",
 41321  	//       "format": "int64",
 41322  	//       "location": "query",
 41323  	//       "repeated": true,
 41324  	//       "type": "string"
 41325  	//     },
 41326  	//     "pricingTypes": {
 41327  	//       "description": "Select only placements with these pricing types.",
 41328  	//       "enum": [
 41329  	//         "PRICING_TYPE_CPA",
 41330  	//         "PRICING_TYPE_CPC",
 41331  	//         "PRICING_TYPE_CPM",
 41332  	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
 41333  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 41334  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 41335  	//       ],
 41336  	//       "enumDescriptions": [
 41337  	//         "",
 41338  	//         "",
 41339  	//         "",
 41340  	//         "",
 41341  	//         "",
 41342  	//         ""
 41343  	//       ],
 41344  	//       "location": "query",
 41345  	//       "repeated": true,
 41346  	//       "type": "string"
 41347  	//     },
 41348  	//     "profileId": {
 41349  	//       "description": "User profile ID associated with this request.",
 41350  	//       "format": "int64",
 41351  	//       "location": "path",
 41352  	//       "required": true,
 41353  	//       "type": "string"
 41354  	//     },
 41355  	//     "searchString": {
 41356  	//       "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\".",
 41357  	//       "location": "query",
 41358  	//       "type": "string"
 41359  	//     },
 41360  	//     "siteIds": {
 41361  	//       "description": "Select only placements that are associated with these sites.",
 41362  	//       "format": "int64",
 41363  	//       "location": "query",
 41364  	//       "repeated": true,
 41365  	//       "type": "string"
 41366  	//     },
 41367  	//     "sizeIds": {
 41368  	//       "description": "Select only placements that are associated with these sizes.",
 41369  	//       "format": "int64",
 41370  	//       "location": "query",
 41371  	//       "repeated": true,
 41372  	//       "type": "string"
 41373  	//     },
 41374  	//     "sortField": {
 41375  	//       "default": "ID",
 41376  	//       "description": "Field by which to sort the list.",
 41377  	//       "enum": [
 41378  	//         "ID",
 41379  	//         "NAME"
 41380  	//       ],
 41381  	//       "enumDescriptions": [
 41382  	//         "",
 41383  	//         ""
 41384  	//       ],
 41385  	//       "location": "query",
 41386  	//       "type": "string"
 41387  	//     },
 41388  	//     "sortOrder": {
 41389  	//       "default": "ASCENDING",
 41390  	//       "description": "Order of sorted results.",
 41391  	//       "enum": [
 41392  	//         "ASCENDING",
 41393  	//         "DESCENDING"
 41394  	//       ],
 41395  	//       "enumDescriptions": [
 41396  	//         "",
 41397  	//         ""
 41398  	//       ],
 41399  	//       "location": "query",
 41400  	//       "type": "string"
 41401  	//     }
 41402  	//   },
 41403  	//   "path": "userprofiles/{profileId}/placements",
 41404  	//   "response": {
 41405  	//     "$ref": "PlacementsListResponse"
 41406  	//   },
 41407  	//   "scopes": [
 41408  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41409  	//   ]
 41410  	// }
 41411  
 41412  }
 41413  
 41414  // Pages invokes f for each page of results.
 41415  // A non-nil error returned from f will halt the iteration.
 41416  // The provided context supersedes any context provided to the Context method.
 41417  func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
 41418  	c.ctx_ = ctx
 41419  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 41420  	for {
 41421  		x, err := c.Do()
 41422  		if err != nil {
 41423  			return err
 41424  		}
 41425  		if err := f(x); err != nil {
 41426  			return err
 41427  		}
 41428  		if x.NextPageToken == "" {
 41429  			return nil
 41430  		}
 41431  		c.PageToken(x.NextPageToken)
 41432  	}
 41433  }
 41434  
 41435  // method id "dfareporting.placements.patch":
 41436  
 41437  type PlacementsPatchCall struct {
 41438  	s          *Service
 41439  	profileId  int64
 41440  	placement  *Placement
 41441  	urlParams_ gensupport.URLParams
 41442  	ctx_       context.Context
 41443  	header_    http.Header
 41444  }
 41445  
 41446  // Patch: Updates an existing placement. This method supports patch
 41447  // semantics.
 41448  func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
 41449  	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41450  	c.profileId = profileId
 41451  	c.urlParams_.Set("id", fmt.Sprint(id))
 41452  	c.placement = placement
 41453  	return c
 41454  }
 41455  
 41456  // Fields allows partial responses to be retrieved. See
 41457  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41458  // for more information.
 41459  func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
 41460  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41461  	return c
 41462  }
 41463  
 41464  // Context sets the context to be used in this call's Do method. Any
 41465  // pending HTTP request will be aborted if the provided context is
 41466  // canceled.
 41467  func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 41468  	c.ctx_ = ctx
 41469  	return c
 41470  }
 41471  
 41472  // Header returns an http.Header that can be modified by the caller to
 41473  // add HTTP headers to the request.
 41474  func (c *PlacementsPatchCall) Header() http.Header {
 41475  	if c.header_ == nil {
 41476  		c.header_ = make(http.Header)
 41477  	}
 41478  	return c.header_
 41479  }
 41480  
 41481  func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
 41482  	reqHeaders := make(http.Header)
 41483  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41484  	for k, v := range c.header_ {
 41485  		reqHeaders[k] = v
 41486  	}
 41487  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41488  	var body io.Reader = nil
 41489  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 41490  	if err != nil {
 41491  		return nil, err
 41492  	}
 41493  	reqHeaders.Set("Content-Type", "application/json")
 41494  	c.urlParams_.Set("alt", alt)
 41495  	c.urlParams_.Set("prettyPrint", "false")
 41496  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 41497  	urls += "?" + c.urlParams_.Encode()
 41498  	req, err := http.NewRequest("PATCH", urls, body)
 41499  	if err != nil {
 41500  		return nil, err
 41501  	}
 41502  	req.Header = reqHeaders
 41503  	googleapi.Expand(req.URL, map[string]string{
 41504  		"profileId": strconv.FormatInt(c.profileId, 10),
 41505  	})
 41506  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41507  }
 41508  
 41509  // Do executes the "dfareporting.placements.patch" call.
 41510  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 41511  // status code is an error. Response headers are in either
 41512  // *Placement.ServerResponse.Header or (if a response was returned at
 41513  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41514  // to check whether the returned error was because
 41515  // http.StatusNotModified was returned.
 41516  func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 41517  	gensupport.SetOptions(c.urlParams_, opts...)
 41518  	res, err := c.doRequest("json")
 41519  	if res != nil && res.StatusCode == http.StatusNotModified {
 41520  		if res.Body != nil {
 41521  			res.Body.Close()
 41522  		}
 41523  		return nil, &googleapi.Error{
 41524  			Code:   res.StatusCode,
 41525  			Header: res.Header,
 41526  		}
 41527  	}
 41528  	if err != nil {
 41529  		return nil, err
 41530  	}
 41531  	defer googleapi.CloseBody(res)
 41532  	if err := googleapi.CheckResponse(res); err != nil {
 41533  		return nil, err
 41534  	}
 41535  	ret := &Placement{
 41536  		ServerResponse: googleapi.ServerResponse{
 41537  			Header:         res.Header,
 41538  			HTTPStatusCode: res.StatusCode,
 41539  		},
 41540  	}
 41541  	target := &ret
 41542  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41543  		return nil, err
 41544  	}
 41545  	return ret, nil
 41546  	// {
 41547  	//   "description": "Updates an existing placement. This method supports patch semantics.",
 41548  	//   "httpMethod": "PATCH",
 41549  	//   "id": "dfareporting.placements.patch",
 41550  	//   "parameterOrder": [
 41551  	//     "profileId",
 41552  	//     "id"
 41553  	//   ],
 41554  	//   "parameters": {
 41555  	//     "id": {
 41556  	//       "description": "Placement ID.",
 41557  	//       "format": "int64",
 41558  	//       "location": "query",
 41559  	//       "required": true,
 41560  	//       "type": "string"
 41561  	//     },
 41562  	//     "profileId": {
 41563  	//       "description": "User profile ID associated with this request.",
 41564  	//       "format": "int64",
 41565  	//       "location": "path",
 41566  	//       "required": true,
 41567  	//       "type": "string"
 41568  	//     }
 41569  	//   },
 41570  	//   "path": "userprofiles/{profileId}/placements",
 41571  	//   "request": {
 41572  	//     "$ref": "Placement"
 41573  	//   },
 41574  	//   "response": {
 41575  	//     "$ref": "Placement"
 41576  	//   },
 41577  	//   "scopes": [
 41578  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41579  	//   ]
 41580  	// }
 41581  
 41582  }
 41583  
 41584  // method id "dfareporting.placements.update":
 41585  
 41586  type PlacementsUpdateCall struct {
 41587  	s          *Service
 41588  	profileId  int64
 41589  	placement  *Placement
 41590  	urlParams_ gensupport.URLParams
 41591  	ctx_       context.Context
 41592  	header_    http.Header
 41593  }
 41594  
 41595  // Update: Updates an existing placement.
 41596  func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
 41597  	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41598  	c.profileId = profileId
 41599  	c.placement = placement
 41600  	return c
 41601  }
 41602  
 41603  // Fields allows partial responses to be retrieved. See
 41604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41605  // for more information.
 41606  func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
 41607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41608  	return c
 41609  }
 41610  
 41611  // Context sets the context to be used in this call's Do method. Any
 41612  // pending HTTP request will be aborted if the provided context is
 41613  // canceled.
 41614  func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 41615  	c.ctx_ = ctx
 41616  	return c
 41617  }
 41618  
 41619  // Header returns an http.Header that can be modified by the caller to
 41620  // add HTTP headers to the request.
 41621  func (c *PlacementsUpdateCall) Header() http.Header {
 41622  	if c.header_ == nil {
 41623  		c.header_ = make(http.Header)
 41624  	}
 41625  	return c.header_
 41626  }
 41627  
 41628  func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 41629  	reqHeaders := make(http.Header)
 41630  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41631  	for k, v := range c.header_ {
 41632  		reqHeaders[k] = v
 41633  	}
 41634  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41635  	var body io.Reader = nil
 41636  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 41637  	if err != nil {
 41638  		return nil, err
 41639  	}
 41640  	reqHeaders.Set("Content-Type", "application/json")
 41641  	c.urlParams_.Set("alt", alt)
 41642  	c.urlParams_.Set("prettyPrint", "false")
 41643  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 41644  	urls += "?" + c.urlParams_.Encode()
 41645  	req, err := http.NewRequest("PUT", urls, body)
 41646  	if err != nil {
 41647  		return nil, err
 41648  	}
 41649  	req.Header = reqHeaders
 41650  	googleapi.Expand(req.URL, map[string]string{
 41651  		"profileId": strconv.FormatInt(c.profileId, 10),
 41652  	})
 41653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41654  }
 41655  
 41656  // Do executes the "dfareporting.placements.update" call.
 41657  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 41658  // status code is an error. Response headers are in either
 41659  // *Placement.ServerResponse.Header or (if a response was returned at
 41660  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41661  // to check whether the returned error was because
 41662  // http.StatusNotModified was returned.
 41663  func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 41664  	gensupport.SetOptions(c.urlParams_, opts...)
 41665  	res, err := c.doRequest("json")
 41666  	if res != nil && res.StatusCode == http.StatusNotModified {
 41667  		if res.Body != nil {
 41668  			res.Body.Close()
 41669  		}
 41670  		return nil, &googleapi.Error{
 41671  			Code:   res.StatusCode,
 41672  			Header: res.Header,
 41673  		}
 41674  	}
 41675  	if err != nil {
 41676  		return nil, err
 41677  	}
 41678  	defer googleapi.CloseBody(res)
 41679  	if err := googleapi.CheckResponse(res); err != nil {
 41680  		return nil, err
 41681  	}
 41682  	ret := &Placement{
 41683  		ServerResponse: googleapi.ServerResponse{
 41684  			Header:         res.Header,
 41685  			HTTPStatusCode: res.StatusCode,
 41686  		},
 41687  	}
 41688  	target := &ret
 41689  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41690  		return nil, err
 41691  	}
 41692  	return ret, nil
 41693  	// {
 41694  	//   "description": "Updates an existing placement.",
 41695  	//   "httpMethod": "PUT",
 41696  	//   "id": "dfareporting.placements.update",
 41697  	//   "parameterOrder": [
 41698  	//     "profileId"
 41699  	//   ],
 41700  	//   "parameters": {
 41701  	//     "profileId": {
 41702  	//       "description": "User profile ID associated with this request.",
 41703  	//       "format": "int64",
 41704  	//       "location": "path",
 41705  	//       "required": true,
 41706  	//       "type": "string"
 41707  	//     }
 41708  	//   },
 41709  	//   "path": "userprofiles/{profileId}/placements",
 41710  	//   "request": {
 41711  	//     "$ref": "Placement"
 41712  	//   },
 41713  	//   "response": {
 41714  	//     "$ref": "Placement"
 41715  	//   },
 41716  	//   "scopes": [
 41717  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41718  	//   ]
 41719  	// }
 41720  
 41721  }
 41722  
 41723  // method id "dfareporting.platformTypes.get":
 41724  
 41725  type PlatformTypesGetCall struct {
 41726  	s            *Service
 41727  	profileId    int64
 41728  	id           int64
 41729  	urlParams_   gensupport.URLParams
 41730  	ifNoneMatch_ string
 41731  	ctx_         context.Context
 41732  	header_      http.Header
 41733  }
 41734  
 41735  // Get: Gets one platform type by ID.
 41736  func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
 41737  	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41738  	c.profileId = profileId
 41739  	c.id = id
 41740  	return c
 41741  }
 41742  
 41743  // Fields allows partial responses to be retrieved. See
 41744  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41745  // for more information.
 41746  func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
 41747  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41748  	return c
 41749  }
 41750  
 41751  // IfNoneMatch sets the optional parameter which makes the operation
 41752  // fail if the object's ETag matches the given value. This is useful for
 41753  // getting updates only after the object has changed since the last
 41754  // request. Use googleapi.IsNotModified to check whether the response
 41755  // error from Do is the result of In-None-Match.
 41756  func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
 41757  	c.ifNoneMatch_ = entityTag
 41758  	return c
 41759  }
 41760  
 41761  // Context sets the context to be used in this call's Do method. Any
 41762  // pending HTTP request will be aborted if the provided context is
 41763  // canceled.
 41764  func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
 41765  	c.ctx_ = ctx
 41766  	return c
 41767  }
 41768  
 41769  // Header returns an http.Header that can be modified by the caller to
 41770  // add HTTP headers to the request.
 41771  func (c *PlatformTypesGetCall) Header() http.Header {
 41772  	if c.header_ == nil {
 41773  		c.header_ = make(http.Header)
 41774  	}
 41775  	return c.header_
 41776  }
 41777  
 41778  func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 41779  	reqHeaders := make(http.Header)
 41780  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41781  	for k, v := range c.header_ {
 41782  		reqHeaders[k] = v
 41783  	}
 41784  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41785  	if c.ifNoneMatch_ != "" {
 41786  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41787  	}
 41788  	var body io.Reader = nil
 41789  	c.urlParams_.Set("alt", alt)
 41790  	c.urlParams_.Set("prettyPrint", "false")
 41791  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
 41792  	urls += "?" + c.urlParams_.Encode()
 41793  	req, err := http.NewRequest("GET", urls, body)
 41794  	if err != nil {
 41795  		return nil, err
 41796  	}
 41797  	req.Header = reqHeaders
 41798  	googleapi.Expand(req.URL, map[string]string{
 41799  		"profileId": strconv.FormatInt(c.profileId, 10),
 41800  		"id":        strconv.FormatInt(c.id, 10),
 41801  	})
 41802  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41803  }
 41804  
 41805  // Do executes the "dfareporting.platformTypes.get" call.
 41806  // Exactly one of *PlatformType or error will be non-nil. Any non-2xx
 41807  // status code is an error. Response headers are in either
 41808  // *PlatformType.ServerResponse.Header or (if a response was returned at
 41809  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41810  // to check whether the returned error was because
 41811  // http.StatusNotModified was returned.
 41812  func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
 41813  	gensupport.SetOptions(c.urlParams_, opts...)
 41814  	res, err := c.doRequest("json")
 41815  	if res != nil && res.StatusCode == http.StatusNotModified {
 41816  		if res.Body != nil {
 41817  			res.Body.Close()
 41818  		}
 41819  		return nil, &googleapi.Error{
 41820  			Code:   res.StatusCode,
 41821  			Header: res.Header,
 41822  		}
 41823  	}
 41824  	if err != nil {
 41825  		return nil, err
 41826  	}
 41827  	defer googleapi.CloseBody(res)
 41828  	if err := googleapi.CheckResponse(res); err != nil {
 41829  		return nil, err
 41830  	}
 41831  	ret := &PlatformType{
 41832  		ServerResponse: googleapi.ServerResponse{
 41833  			Header:         res.Header,
 41834  			HTTPStatusCode: res.StatusCode,
 41835  		},
 41836  	}
 41837  	target := &ret
 41838  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41839  		return nil, err
 41840  	}
 41841  	return ret, nil
 41842  	// {
 41843  	//   "description": "Gets one platform type by ID.",
 41844  	//   "httpMethod": "GET",
 41845  	//   "id": "dfareporting.platformTypes.get",
 41846  	//   "parameterOrder": [
 41847  	//     "profileId",
 41848  	//     "id"
 41849  	//   ],
 41850  	//   "parameters": {
 41851  	//     "id": {
 41852  	//       "description": "Platform type ID.",
 41853  	//       "format": "int64",
 41854  	//       "location": "path",
 41855  	//       "required": true,
 41856  	//       "type": "string"
 41857  	//     },
 41858  	//     "profileId": {
 41859  	//       "description": "User profile ID associated with this request.",
 41860  	//       "format": "int64",
 41861  	//       "location": "path",
 41862  	//       "required": true,
 41863  	//       "type": "string"
 41864  	//     }
 41865  	//   },
 41866  	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
 41867  	//   "response": {
 41868  	//     "$ref": "PlatformType"
 41869  	//   },
 41870  	//   "scopes": [
 41871  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41872  	//   ]
 41873  	// }
 41874  
 41875  }
 41876  
 41877  // method id "dfareporting.platformTypes.list":
 41878  
 41879  type PlatformTypesListCall struct {
 41880  	s            *Service
 41881  	profileId    int64
 41882  	urlParams_   gensupport.URLParams
 41883  	ifNoneMatch_ string
 41884  	ctx_         context.Context
 41885  	header_      http.Header
 41886  }
 41887  
 41888  // List: Retrieves a list of platform types.
 41889  func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
 41890  	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41891  	c.profileId = profileId
 41892  	return c
 41893  }
 41894  
 41895  // Fields allows partial responses to be retrieved. See
 41896  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41897  // for more information.
 41898  func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
 41899  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41900  	return c
 41901  }
 41902  
 41903  // IfNoneMatch sets the optional parameter which makes the operation
 41904  // fail if the object's ETag matches the given value. This is useful for
 41905  // getting updates only after the object has changed since the last
 41906  // request. Use googleapi.IsNotModified to check whether the response
 41907  // error from Do is the result of In-None-Match.
 41908  func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
 41909  	c.ifNoneMatch_ = entityTag
 41910  	return c
 41911  }
 41912  
 41913  // Context sets the context to be used in this call's Do method. Any
 41914  // pending HTTP request will be aborted if the provided context is
 41915  // canceled.
 41916  func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 41917  	c.ctx_ = ctx
 41918  	return c
 41919  }
 41920  
 41921  // Header returns an http.Header that can be modified by the caller to
 41922  // add HTTP headers to the request.
 41923  func (c *PlatformTypesListCall) Header() http.Header {
 41924  	if c.header_ == nil {
 41925  		c.header_ = make(http.Header)
 41926  	}
 41927  	return c.header_
 41928  }
 41929  
 41930  func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 41931  	reqHeaders := make(http.Header)
 41932  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 41933  	for k, v := range c.header_ {
 41934  		reqHeaders[k] = v
 41935  	}
 41936  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41937  	if c.ifNoneMatch_ != "" {
 41938  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41939  	}
 41940  	var body io.Reader = nil
 41941  	c.urlParams_.Set("alt", alt)
 41942  	c.urlParams_.Set("prettyPrint", "false")
 41943  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
 41944  	urls += "?" + c.urlParams_.Encode()
 41945  	req, err := http.NewRequest("GET", urls, body)
 41946  	if err != nil {
 41947  		return nil, err
 41948  	}
 41949  	req.Header = reqHeaders
 41950  	googleapi.Expand(req.URL, map[string]string{
 41951  		"profileId": strconv.FormatInt(c.profileId, 10),
 41952  	})
 41953  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41954  }
 41955  
 41956  // Do executes the "dfareporting.platformTypes.list" call.
 41957  // Exactly one of *PlatformTypesListResponse or error will be non-nil.
 41958  // Any non-2xx status code is an error. Response headers are in either
 41959  // *PlatformTypesListResponse.ServerResponse.Header or (if a response
 41960  // was returned at all) in error.(*googleapi.Error).Header. Use
 41961  // googleapi.IsNotModified to check whether the returned error was
 41962  // because http.StatusNotModified was returned.
 41963  func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
 41964  	gensupport.SetOptions(c.urlParams_, opts...)
 41965  	res, err := c.doRequest("json")
 41966  	if res != nil && res.StatusCode == http.StatusNotModified {
 41967  		if res.Body != nil {
 41968  			res.Body.Close()
 41969  		}
 41970  		return nil, &googleapi.Error{
 41971  			Code:   res.StatusCode,
 41972  			Header: res.Header,
 41973  		}
 41974  	}
 41975  	if err != nil {
 41976  		return nil, err
 41977  	}
 41978  	defer googleapi.CloseBody(res)
 41979  	if err := googleapi.CheckResponse(res); err != nil {
 41980  		return nil, err
 41981  	}
 41982  	ret := &PlatformTypesListResponse{
 41983  		ServerResponse: googleapi.ServerResponse{
 41984  			Header:         res.Header,
 41985  			HTTPStatusCode: res.StatusCode,
 41986  		},
 41987  	}
 41988  	target := &ret
 41989  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41990  		return nil, err
 41991  	}
 41992  	return ret, nil
 41993  	// {
 41994  	//   "description": "Retrieves a list of platform types.",
 41995  	//   "httpMethod": "GET",
 41996  	//   "id": "dfareporting.platformTypes.list",
 41997  	//   "parameterOrder": [
 41998  	//     "profileId"
 41999  	//   ],
 42000  	//   "parameters": {
 42001  	//     "profileId": {
 42002  	//       "description": "User profile ID associated with this request.",
 42003  	//       "format": "int64",
 42004  	//       "location": "path",
 42005  	//       "required": true,
 42006  	//       "type": "string"
 42007  	//     }
 42008  	//   },
 42009  	//   "path": "userprofiles/{profileId}/platformTypes",
 42010  	//   "response": {
 42011  	//     "$ref": "PlatformTypesListResponse"
 42012  	//   },
 42013  	//   "scopes": [
 42014  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42015  	//   ]
 42016  	// }
 42017  
 42018  }
 42019  
 42020  // method id "dfareporting.postalCodes.get":
 42021  
 42022  type PostalCodesGetCall struct {
 42023  	s            *Service
 42024  	profileId    int64
 42025  	code         string
 42026  	urlParams_   gensupport.URLParams
 42027  	ifNoneMatch_ string
 42028  	ctx_         context.Context
 42029  	header_      http.Header
 42030  }
 42031  
 42032  // Get: Gets one postal code by ID.
 42033  func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
 42034  	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42035  	c.profileId = profileId
 42036  	c.code = code
 42037  	return c
 42038  }
 42039  
 42040  // Fields allows partial responses to be retrieved. See
 42041  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42042  // for more information.
 42043  func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
 42044  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42045  	return c
 42046  }
 42047  
 42048  // IfNoneMatch sets the optional parameter which makes the operation
 42049  // fail if the object's ETag matches the given value. This is useful for
 42050  // getting updates only after the object has changed since the last
 42051  // request. Use googleapi.IsNotModified to check whether the response
 42052  // error from Do is the result of In-None-Match.
 42053  func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
 42054  	c.ifNoneMatch_ = entityTag
 42055  	return c
 42056  }
 42057  
 42058  // Context sets the context to be used in this call's Do method. Any
 42059  // pending HTTP request will be aborted if the provided context is
 42060  // canceled.
 42061  func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
 42062  	c.ctx_ = ctx
 42063  	return c
 42064  }
 42065  
 42066  // Header returns an http.Header that can be modified by the caller to
 42067  // add HTTP headers to the request.
 42068  func (c *PostalCodesGetCall) Header() http.Header {
 42069  	if c.header_ == nil {
 42070  		c.header_ = make(http.Header)
 42071  	}
 42072  	return c.header_
 42073  }
 42074  
 42075  func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 42076  	reqHeaders := make(http.Header)
 42077  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42078  	for k, v := range c.header_ {
 42079  		reqHeaders[k] = v
 42080  	}
 42081  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42082  	if c.ifNoneMatch_ != "" {
 42083  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42084  	}
 42085  	var body io.Reader = nil
 42086  	c.urlParams_.Set("alt", alt)
 42087  	c.urlParams_.Set("prettyPrint", "false")
 42088  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
 42089  	urls += "?" + c.urlParams_.Encode()
 42090  	req, err := http.NewRequest("GET", urls, body)
 42091  	if err != nil {
 42092  		return nil, err
 42093  	}
 42094  	req.Header = reqHeaders
 42095  	googleapi.Expand(req.URL, map[string]string{
 42096  		"profileId": strconv.FormatInt(c.profileId, 10),
 42097  		"code":      c.code,
 42098  	})
 42099  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42100  }
 42101  
 42102  // Do executes the "dfareporting.postalCodes.get" call.
 42103  // Exactly one of *PostalCode or error will be non-nil. Any non-2xx
 42104  // status code is an error. Response headers are in either
 42105  // *PostalCode.ServerResponse.Header or (if a response was returned at
 42106  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 42107  // to check whether the returned error was because
 42108  // http.StatusNotModified was returned.
 42109  func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
 42110  	gensupport.SetOptions(c.urlParams_, opts...)
 42111  	res, err := c.doRequest("json")
 42112  	if res != nil && res.StatusCode == http.StatusNotModified {
 42113  		if res.Body != nil {
 42114  			res.Body.Close()
 42115  		}
 42116  		return nil, &googleapi.Error{
 42117  			Code:   res.StatusCode,
 42118  			Header: res.Header,
 42119  		}
 42120  	}
 42121  	if err != nil {
 42122  		return nil, err
 42123  	}
 42124  	defer googleapi.CloseBody(res)
 42125  	if err := googleapi.CheckResponse(res); err != nil {
 42126  		return nil, err
 42127  	}
 42128  	ret := &PostalCode{
 42129  		ServerResponse: googleapi.ServerResponse{
 42130  			Header:         res.Header,
 42131  			HTTPStatusCode: res.StatusCode,
 42132  		},
 42133  	}
 42134  	target := &ret
 42135  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42136  		return nil, err
 42137  	}
 42138  	return ret, nil
 42139  	// {
 42140  	//   "description": "Gets one postal code by ID.",
 42141  	//   "httpMethod": "GET",
 42142  	//   "id": "dfareporting.postalCodes.get",
 42143  	//   "parameterOrder": [
 42144  	//     "profileId",
 42145  	//     "code"
 42146  	//   ],
 42147  	//   "parameters": {
 42148  	//     "code": {
 42149  	//       "description": "Postal code ID.",
 42150  	//       "location": "path",
 42151  	//       "required": true,
 42152  	//       "type": "string"
 42153  	//     },
 42154  	//     "profileId": {
 42155  	//       "description": "User profile ID associated with this request.",
 42156  	//       "format": "int64",
 42157  	//       "location": "path",
 42158  	//       "required": true,
 42159  	//       "type": "string"
 42160  	//     }
 42161  	//   },
 42162  	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
 42163  	//   "response": {
 42164  	//     "$ref": "PostalCode"
 42165  	//   },
 42166  	//   "scopes": [
 42167  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42168  	//   ]
 42169  	// }
 42170  
 42171  }
 42172  
 42173  // method id "dfareporting.postalCodes.list":
 42174  
 42175  type PostalCodesListCall struct {
 42176  	s            *Service
 42177  	profileId    int64
 42178  	urlParams_   gensupport.URLParams
 42179  	ifNoneMatch_ string
 42180  	ctx_         context.Context
 42181  	header_      http.Header
 42182  }
 42183  
 42184  // List: Retrieves a list of postal codes.
 42185  func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
 42186  	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42187  	c.profileId = profileId
 42188  	return c
 42189  }
 42190  
 42191  // Fields allows partial responses to be retrieved. See
 42192  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42193  // for more information.
 42194  func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
 42195  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42196  	return c
 42197  }
 42198  
 42199  // IfNoneMatch sets the optional parameter which makes the operation
 42200  // fail if the object's ETag matches the given value. This is useful for
 42201  // getting updates only after the object has changed since the last
 42202  // request. Use googleapi.IsNotModified to check whether the response
 42203  // error from Do is the result of In-None-Match.
 42204  func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
 42205  	c.ifNoneMatch_ = entityTag
 42206  	return c
 42207  }
 42208  
 42209  // Context sets the context to be used in this call's Do method. Any
 42210  // pending HTTP request will be aborted if the provided context is
 42211  // canceled.
 42212  func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 42213  	c.ctx_ = ctx
 42214  	return c
 42215  }
 42216  
 42217  // Header returns an http.Header that can be modified by the caller to
 42218  // add HTTP headers to the request.
 42219  func (c *PostalCodesListCall) Header() http.Header {
 42220  	if c.header_ == nil {
 42221  		c.header_ = make(http.Header)
 42222  	}
 42223  	return c.header_
 42224  }
 42225  
 42226  func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 42227  	reqHeaders := make(http.Header)
 42228  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42229  	for k, v := range c.header_ {
 42230  		reqHeaders[k] = v
 42231  	}
 42232  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42233  	if c.ifNoneMatch_ != "" {
 42234  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42235  	}
 42236  	var body io.Reader = nil
 42237  	c.urlParams_.Set("alt", alt)
 42238  	c.urlParams_.Set("prettyPrint", "false")
 42239  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
 42240  	urls += "?" + c.urlParams_.Encode()
 42241  	req, err := http.NewRequest("GET", urls, body)
 42242  	if err != nil {
 42243  		return nil, err
 42244  	}
 42245  	req.Header = reqHeaders
 42246  	googleapi.Expand(req.URL, map[string]string{
 42247  		"profileId": strconv.FormatInt(c.profileId, 10),
 42248  	})
 42249  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42250  }
 42251  
 42252  // Do executes the "dfareporting.postalCodes.list" call.
 42253  // Exactly one of *PostalCodesListResponse or error will be non-nil. Any
 42254  // non-2xx status code is an error. Response headers are in either
 42255  // *PostalCodesListResponse.ServerResponse.Header or (if a response was
 42256  // returned at all) in error.(*googleapi.Error).Header. Use
 42257  // googleapi.IsNotModified to check whether the returned error was
 42258  // because http.StatusNotModified was returned.
 42259  func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
 42260  	gensupport.SetOptions(c.urlParams_, opts...)
 42261  	res, err := c.doRequest("json")
 42262  	if res != nil && res.StatusCode == http.StatusNotModified {
 42263  		if res.Body != nil {
 42264  			res.Body.Close()
 42265  		}
 42266  		return nil, &googleapi.Error{
 42267  			Code:   res.StatusCode,
 42268  			Header: res.Header,
 42269  		}
 42270  	}
 42271  	if err != nil {
 42272  		return nil, err
 42273  	}
 42274  	defer googleapi.CloseBody(res)
 42275  	if err := googleapi.CheckResponse(res); err != nil {
 42276  		return nil, err
 42277  	}
 42278  	ret := &PostalCodesListResponse{
 42279  		ServerResponse: googleapi.ServerResponse{
 42280  			Header:         res.Header,
 42281  			HTTPStatusCode: res.StatusCode,
 42282  		},
 42283  	}
 42284  	target := &ret
 42285  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42286  		return nil, err
 42287  	}
 42288  	return ret, nil
 42289  	// {
 42290  	//   "description": "Retrieves a list of postal codes.",
 42291  	//   "httpMethod": "GET",
 42292  	//   "id": "dfareporting.postalCodes.list",
 42293  	//   "parameterOrder": [
 42294  	//     "profileId"
 42295  	//   ],
 42296  	//   "parameters": {
 42297  	//     "profileId": {
 42298  	//       "description": "User profile ID associated with this request.",
 42299  	//       "format": "int64",
 42300  	//       "location": "path",
 42301  	//       "required": true,
 42302  	//       "type": "string"
 42303  	//     }
 42304  	//   },
 42305  	//   "path": "userprofiles/{profileId}/postalCodes",
 42306  	//   "response": {
 42307  	//     "$ref": "PostalCodesListResponse"
 42308  	//   },
 42309  	//   "scopes": [
 42310  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42311  	//   ]
 42312  	// }
 42313  
 42314  }
 42315  
 42316  // method id "dfareporting.projects.get":
 42317  
 42318  type ProjectsGetCall struct {
 42319  	s            *Service
 42320  	profileId    int64
 42321  	id           int64
 42322  	urlParams_   gensupport.URLParams
 42323  	ifNoneMatch_ string
 42324  	ctx_         context.Context
 42325  	header_      http.Header
 42326  }
 42327  
 42328  // Get: Gets one project by ID.
 42329  func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
 42330  	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42331  	c.profileId = profileId
 42332  	c.id = id
 42333  	return c
 42334  }
 42335  
 42336  // Fields allows partial responses to be retrieved. See
 42337  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42338  // for more information.
 42339  func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
 42340  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42341  	return c
 42342  }
 42343  
 42344  // IfNoneMatch sets the optional parameter which makes the operation
 42345  // fail if the object's ETag matches the given value. This is useful for
 42346  // getting updates only after the object has changed since the last
 42347  // request. Use googleapi.IsNotModified to check whether the response
 42348  // error from Do is the result of In-None-Match.
 42349  func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
 42350  	c.ifNoneMatch_ = entityTag
 42351  	return c
 42352  }
 42353  
 42354  // Context sets the context to be used in this call's Do method. Any
 42355  // pending HTTP request will be aborted if the provided context is
 42356  // canceled.
 42357  func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 42358  	c.ctx_ = ctx
 42359  	return c
 42360  }
 42361  
 42362  // Header returns an http.Header that can be modified by the caller to
 42363  // add HTTP headers to the request.
 42364  func (c *ProjectsGetCall) Header() http.Header {
 42365  	if c.header_ == nil {
 42366  		c.header_ = make(http.Header)
 42367  	}
 42368  	return c.header_
 42369  }
 42370  
 42371  func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 42372  	reqHeaders := make(http.Header)
 42373  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42374  	for k, v := range c.header_ {
 42375  		reqHeaders[k] = v
 42376  	}
 42377  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42378  	if c.ifNoneMatch_ != "" {
 42379  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42380  	}
 42381  	var body io.Reader = nil
 42382  	c.urlParams_.Set("alt", alt)
 42383  	c.urlParams_.Set("prettyPrint", "false")
 42384  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
 42385  	urls += "?" + c.urlParams_.Encode()
 42386  	req, err := http.NewRequest("GET", urls, body)
 42387  	if err != nil {
 42388  		return nil, err
 42389  	}
 42390  	req.Header = reqHeaders
 42391  	googleapi.Expand(req.URL, map[string]string{
 42392  		"profileId": strconv.FormatInt(c.profileId, 10),
 42393  		"id":        strconv.FormatInt(c.id, 10),
 42394  	})
 42395  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42396  }
 42397  
 42398  // Do executes the "dfareporting.projects.get" call.
 42399  // Exactly one of *Project or error will be non-nil. Any non-2xx status
 42400  // code is an error. Response headers are in either
 42401  // *Project.ServerResponse.Header or (if a response was returned at all)
 42402  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 42403  // check whether the returned error was because http.StatusNotModified
 42404  // was returned.
 42405  func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
 42406  	gensupport.SetOptions(c.urlParams_, opts...)
 42407  	res, err := c.doRequest("json")
 42408  	if res != nil && res.StatusCode == http.StatusNotModified {
 42409  		if res.Body != nil {
 42410  			res.Body.Close()
 42411  		}
 42412  		return nil, &googleapi.Error{
 42413  			Code:   res.StatusCode,
 42414  			Header: res.Header,
 42415  		}
 42416  	}
 42417  	if err != nil {
 42418  		return nil, err
 42419  	}
 42420  	defer googleapi.CloseBody(res)
 42421  	if err := googleapi.CheckResponse(res); err != nil {
 42422  		return nil, err
 42423  	}
 42424  	ret := &Project{
 42425  		ServerResponse: googleapi.ServerResponse{
 42426  			Header:         res.Header,
 42427  			HTTPStatusCode: res.StatusCode,
 42428  		},
 42429  	}
 42430  	target := &ret
 42431  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42432  		return nil, err
 42433  	}
 42434  	return ret, nil
 42435  	// {
 42436  	//   "description": "Gets one project by ID.",
 42437  	//   "httpMethod": "GET",
 42438  	//   "id": "dfareporting.projects.get",
 42439  	//   "parameterOrder": [
 42440  	//     "profileId",
 42441  	//     "id"
 42442  	//   ],
 42443  	//   "parameters": {
 42444  	//     "id": {
 42445  	//       "description": "Project ID.",
 42446  	//       "format": "int64",
 42447  	//       "location": "path",
 42448  	//       "required": true,
 42449  	//       "type": "string"
 42450  	//     },
 42451  	//     "profileId": {
 42452  	//       "description": "User profile ID associated with this request.",
 42453  	//       "format": "int64",
 42454  	//       "location": "path",
 42455  	//       "required": true,
 42456  	//       "type": "string"
 42457  	//     }
 42458  	//   },
 42459  	//   "path": "userprofiles/{profileId}/projects/{id}",
 42460  	//   "response": {
 42461  	//     "$ref": "Project"
 42462  	//   },
 42463  	//   "scopes": [
 42464  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42465  	//   ]
 42466  	// }
 42467  
 42468  }
 42469  
 42470  // method id "dfareporting.projects.list":
 42471  
 42472  type ProjectsListCall struct {
 42473  	s            *Service
 42474  	profileId    int64
 42475  	urlParams_   gensupport.URLParams
 42476  	ifNoneMatch_ string
 42477  	ctx_         context.Context
 42478  	header_      http.Header
 42479  }
 42480  
 42481  // List: Retrieves a list of projects, possibly filtered. This method
 42482  // supports paging.
 42483  func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
 42484  	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42485  	c.profileId = profileId
 42486  	return c
 42487  }
 42488  
 42489  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 42490  // only projects with these advertiser IDs.
 42491  func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
 42492  	var advertiserIds_ []string
 42493  	for _, v := range advertiserIds {
 42494  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 42495  	}
 42496  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 42497  	return c
 42498  }
 42499  
 42500  // Ids sets the optional parameter "ids": Select only projects with
 42501  // these IDs.
 42502  func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
 42503  	var ids_ []string
 42504  	for _, v := range ids {
 42505  		ids_ = append(ids_, fmt.Sprint(v))
 42506  	}
 42507  	c.urlParams_.SetMulti("ids", ids_)
 42508  	return c
 42509  }
 42510  
 42511  // MaxResults sets the optional parameter "maxResults": Maximum number
 42512  // of results to return.
 42513  func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
 42514  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 42515  	return c
 42516  }
 42517  
 42518  // PageToken sets the optional parameter "pageToken": Value of the
 42519  // nextPageToken from the previous result page.
 42520  func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
 42521  	c.urlParams_.Set("pageToken", pageToken)
 42522  	return c
 42523  }
 42524  
 42525  // SearchString sets the optional parameter "searchString": Allows
 42526  // searching for projects by name or ID. Wildcards (*) are allowed. For
 42527  // example, "project*2015" will return projects with names like "project
 42528  // June 2015", "project April 2015", or simply "project 2015". Most of
 42529  // the searches also add wildcards implicitly at the start and the end
 42530  // of the search string. For example, a search string of "project" will
 42531  // match projects with name "my project", "project 2015", or simply
 42532  // "project".
 42533  func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
 42534  	c.urlParams_.Set("searchString", searchString)
 42535  	return c
 42536  }
 42537  
 42538  // SortField sets the optional parameter "sortField": Field by which to
 42539  // sort the list.
 42540  //
 42541  // Possible values:
 42542  //
 42543  //	"ID" (default)
 42544  //	"NAME"
 42545  func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
 42546  	c.urlParams_.Set("sortField", sortField)
 42547  	return c
 42548  }
 42549  
 42550  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 42551  // results.
 42552  //
 42553  // Possible values:
 42554  //
 42555  //	"ASCENDING" (default)
 42556  //	"DESCENDING"
 42557  func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
 42558  	c.urlParams_.Set("sortOrder", sortOrder)
 42559  	return c
 42560  }
 42561  
 42562  // Fields allows partial responses to be retrieved. See
 42563  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42564  // for more information.
 42565  func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
 42566  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42567  	return c
 42568  }
 42569  
 42570  // IfNoneMatch sets the optional parameter which makes the operation
 42571  // fail if the object's ETag matches the given value. This is useful for
 42572  // getting updates only after the object has changed since the last
 42573  // request. Use googleapi.IsNotModified to check whether the response
 42574  // error from Do is the result of In-None-Match.
 42575  func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
 42576  	c.ifNoneMatch_ = entityTag
 42577  	return c
 42578  }
 42579  
 42580  // Context sets the context to be used in this call's Do method. Any
 42581  // pending HTTP request will be aborted if the provided context is
 42582  // canceled.
 42583  func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 42584  	c.ctx_ = ctx
 42585  	return c
 42586  }
 42587  
 42588  // Header returns an http.Header that can be modified by the caller to
 42589  // add HTTP headers to the request.
 42590  func (c *ProjectsListCall) Header() http.Header {
 42591  	if c.header_ == nil {
 42592  		c.header_ = make(http.Header)
 42593  	}
 42594  	return c.header_
 42595  }
 42596  
 42597  func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 42598  	reqHeaders := make(http.Header)
 42599  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42600  	for k, v := range c.header_ {
 42601  		reqHeaders[k] = v
 42602  	}
 42603  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42604  	if c.ifNoneMatch_ != "" {
 42605  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42606  	}
 42607  	var body io.Reader = nil
 42608  	c.urlParams_.Set("alt", alt)
 42609  	c.urlParams_.Set("prettyPrint", "false")
 42610  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
 42611  	urls += "?" + c.urlParams_.Encode()
 42612  	req, err := http.NewRequest("GET", urls, body)
 42613  	if err != nil {
 42614  		return nil, err
 42615  	}
 42616  	req.Header = reqHeaders
 42617  	googleapi.Expand(req.URL, map[string]string{
 42618  		"profileId": strconv.FormatInt(c.profileId, 10),
 42619  	})
 42620  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42621  }
 42622  
 42623  // Do executes the "dfareporting.projects.list" call.
 42624  // Exactly one of *ProjectsListResponse or error will be non-nil. Any
 42625  // non-2xx status code is an error. Response headers are in either
 42626  // *ProjectsListResponse.ServerResponse.Header or (if a response was
 42627  // returned at all) in error.(*googleapi.Error).Header. Use
 42628  // googleapi.IsNotModified to check whether the returned error was
 42629  // because http.StatusNotModified was returned.
 42630  func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
 42631  	gensupport.SetOptions(c.urlParams_, opts...)
 42632  	res, err := c.doRequest("json")
 42633  	if res != nil && res.StatusCode == http.StatusNotModified {
 42634  		if res.Body != nil {
 42635  			res.Body.Close()
 42636  		}
 42637  		return nil, &googleapi.Error{
 42638  			Code:   res.StatusCode,
 42639  			Header: res.Header,
 42640  		}
 42641  	}
 42642  	if err != nil {
 42643  		return nil, err
 42644  	}
 42645  	defer googleapi.CloseBody(res)
 42646  	if err := googleapi.CheckResponse(res); err != nil {
 42647  		return nil, err
 42648  	}
 42649  	ret := &ProjectsListResponse{
 42650  		ServerResponse: googleapi.ServerResponse{
 42651  			Header:         res.Header,
 42652  			HTTPStatusCode: res.StatusCode,
 42653  		},
 42654  	}
 42655  	target := &ret
 42656  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42657  		return nil, err
 42658  	}
 42659  	return ret, nil
 42660  	// {
 42661  	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
 42662  	//   "httpMethod": "GET",
 42663  	//   "id": "dfareporting.projects.list",
 42664  	//   "parameterOrder": [
 42665  	//     "profileId"
 42666  	//   ],
 42667  	//   "parameters": {
 42668  	//     "advertiserIds": {
 42669  	//       "description": "Select only projects with these advertiser IDs.",
 42670  	//       "format": "int64",
 42671  	//       "location": "query",
 42672  	//       "repeated": true,
 42673  	//       "type": "string"
 42674  	//     },
 42675  	//     "ids": {
 42676  	//       "description": "Select only projects with these IDs.",
 42677  	//       "format": "int64",
 42678  	//       "location": "query",
 42679  	//       "repeated": true,
 42680  	//       "type": "string"
 42681  	//     },
 42682  	//     "maxResults": {
 42683  	//       "default": "1000",
 42684  	//       "description": "Maximum number of results to return.",
 42685  	//       "format": "int32",
 42686  	//       "location": "query",
 42687  	//       "maximum": "1000",
 42688  	//       "minimum": "0",
 42689  	//       "type": "integer"
 42690  	//     },
 42691  	//     "pageToken": {
 42692  	//       "description": "Value of the nextPageToken from the previous result page.",
 42693  	//       "location": "query",
 42694  	//       "type": "string"
 42695  	//     },
 42696  	//     "profileId": {
 42697  	//       "description": "User profile ID associated with this request.",
 42698  	//       "format": "int64",
 42699  	//       "location": "path",
 42700  	//       "required": true,
 42701  	//       "type": "string"
 42702  	//     },
 42703  	//     "searchString": {
 42704  	//       "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\".",
 42705  	//       "location": "query",
 42706  	//       "type": "string"
 42707  	//     },
 42708  	//     "sortField": {
 42709  	//       "default": "ID",
 42710  	//       "description": "Field by which to sort the list.",
 42711  	//       "enum": [
 42712  	//         "ID",
 42713  	//         "NAME"
 42714  	//       ],
 42715  	//       "enumDescriptions": [
 42716  	//         "",
 42717  	//         ""
 42718  	//       ],
 42719  	//       "location": "query",
 42720  	//       "type": "string"
 42721  	//     },
 42722  	//     "sortOrder": {
 42723  	//       "default": "ASCENDING",
 42724  	//       "description": "Order of sorted results.",
 42725  	//       "enum": [
 42726  	//         "ASCENDING",
 42727  	//         "DESCENDING"
 42728  	//       ],
 42729  	//       "enumDescriptions": [
 42730  	//         "",
 42731  	//         ""
 42732  	//       ],
 42733  	//       "location": "query",
 42734  	//       "type": "string"
 42735  	//     }
 42736  	//   },
 42737  	//   "path": "userprofiles/{profileId}/projects",
 42738  	//   "response": {
 42739  	//     "$ref": "ProjectsListResponse"
 42740  	//   },
 42741  	//   "scopes": [
 42742  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42743  	//   ]
 42744  	// }
 42745  
 42746  }
 42747  
 42748  // Pages invokes f for each page of results.
 42749  // A non-nil error returned from f will halt the iteration.
 42750  // The provided context supersedes any context provided to the Context method.
 42751  func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
 42752  	c.ctx_ = ctx
 42753  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 42754  	for {
 42755  		x, err := c.Do()
 42756  		if err != nil {
 42757  			return err
 42758  		}
 42759  		if err := f(x); err != nil {
 42760  			return err
 42761  		}
 42762  		if x.NextPageToken == "" {
 42763  			return nil
 42764  		}
 42765  		c.PageToken(x.NextPageToken)
 42766  	}
 42767  }
 42768  
 42769  // method id "dfareporting.regions.list":
 42770  
 42771  type RegionsListCall struct {
 42772  	s            *Service
 42773  	profileId    int64
 42774  	urlParams_   gensupport.URLParams
 42775  	ifNoneMatch_ string
 42776  	ctx_         context.Context
 42777  	header_      http.Header
 42778  }
 42779  
 42780  // List: Retrieves a list of regions.
 42781  func (r *RegionsService) List(profileId int64) *RegionsListCall {
 42782  	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42783  	c.profileId = profileId
 42784  	return c
 42785  }
 42786  
 42787  // Fields allows partial responses to be retrieved. See
 42788  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42789  // for more information.
 42790  func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
 42791  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42792  	return c
 42793  }
 42794  
 42795  // IfNoneMatch sets the optional parameter which makes the operation
 42796  // fail if the object's ETag matches the given value. This is useful for
 42797  // getting updates only after the object has changed since the last
 42798  // request. Use googleapi.IsNotModified to check whether the response
 42799  // error from Do is the result of In-None-Match.
 42800  func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
 42801  	c.ifNoneMatch_ = entityTag
 42802  	return c
 42803  }
 42804  
 42805  // Context sets the context to be used in this call's Do method. Any
 42806  // pending HTTP request will be aborted if the provided context is
 42807  // canceled.
 42808  func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 42809  	c.ctx_ = ctx
 42810  	return c
 42811  }
 42812  
 42813  // Header returns an http.Header that can be modified by the caller to
 42814  // add HTTP headers to the request.
 42815  func (c *RegionsListCall) Header() http.Header {
 42816  	if c.header_ == nil {
 42817  		c.header_ = make(http.Header)
 42818  	}
 42819  	return c.header_
 42820  }
 42821  
 42822  func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 42823  	reqHeaders := make(http.Header)
 42824  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42825  	for k, v := range c.header_ {
 42826  		reqHeaders[k] = v
 42827  	}
 42828  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42829  	if c.ifNoneMatch_ != "" {
 42830  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42831  	}
 42832  	var body io.Reader = nil
 42833  	c.urlParams_.Set("alt", alt)
 42834  	c.urlParams_.Set("prettyPrint", "false")
 42835  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
 42836  	urls += "?" + c.urlParams_.Encode()
 42837  	req, err := http.NewRequest("GET", urls, body)
 42838  	if err != nil {
 42839  		return nil, err
 42840  	}
 42841  	req.Header = reqHeaders
 42842  	googleapi.Expand(req.URL, map[string]string{
 42843  		"profileId": strconv.FormatInt(c.profileId, 10),
 42844  	})
 42845  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42846  }
 42847  
 42848  // Do executes the "dfareporting.regions.list" call.
 42849  // Exactly one of *RegionsListResponse or error will be non-nil. Any
 42850  // non-2xx status code is an error. Response headers are in either
 42851  // *RegionsListResponse.ServerResponse.Header or (if a response was
 42852  // returned at all) in error.(*googleapi.Error).Header. Use
 42853  // googleapi.IsNotModified to check whether the returned error was
 42854  // because http.StatusNotModified was returned.
 42855  func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
 42856  	gensupport.SetOptions(c.urlParams_, opts...)
 42857  	res, err := c.doRequest("json")
 42858  	if res != nil && res.StatusCode == http.StatusNotModified {
 42859  		if res.Body != nil {
 42860  			res.Body.Close()
 42861  		}
 42862  		return nil, &googleapi.Error{
 42863  			Code:   res.StatusCode,
 42864  			Header: res.Header,
 42865  		}
 42866  	}
 42867  	if err != nil {
 42868  		return nil, err
 42869  	}
 42870  	defer googleapi.CloseBody(res)
 42871  	if err := googleapi.CheckResponse(res); err != nil {
 42872  		return nil, err
 42873  	}
 42874  	ret := &RegionsListResponse{
 42875  		ServerResponse: googleapi.ServerResponse{
 42876  			Header:         res.Header,
 42877  			HTTPStatusCode: res.StatusCode,
 42878  		},
 42879  	}
 42880  	target := &ret
 42881  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42882  		return nil, err
 42883  	}
 42884  	return ret, nil
 42885  	// {
 42886  	//   "description": "Retrieves a list of regions.",
 42887  	//   "httpMethod": "GET",
 42888  	//   "id": "dfareporting.regions.list",
 42889  	//   "parameterOrder": [
 42890  	//     "profileId"
 42891  	//   ],
 42892  	//   "parameters": {
 42893  	//     "profileId": {
 42894  	//       "description": "User profile ID associated with this request.",
 42895  	//       "format": "int64",
 42896  	//       "location": "path",
 42897  	//       "required": true,
 42898  	//       "type": "string"
 42899  	//     }
 42900  	//   },
 42901  	//   "path": "userprofiles/{profileId}/regions",
 42902  	//   "response": {
 42903  	//     "$ref": "RegionsListResponse"
 42904  	//   },
 42905  	//   "scopes": [
 42906  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42907  	//   ]
 42908  	// }
 42909  
 42910  }
 42911  
 42912  // method id "dfareporting.remarketingListShares.get":
 42913  
 42914  type RemarketingListSharesGetCall struct {
 42915  	s                 *Service
 42916  	profileId         int64
 42917  	remarketingListId int64
 42918  	urlParams_        gensupport.URLParams
 42919  	ifNoneMatch_      string
 42920  	ctx_              context.Context
 42921  	header_           http.Header
 42922  }
 42923  
 42924  // Get: Gets one remarketing list share by remarketing list ID.
 42925  func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
 42926  	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42927  	c.profileId = profileId
 42928  	c.remarketingListId = remarketingListId
 42929  	return c
 42930  }
 42931  
 42932  // Fields allows partial responses to be retrieved. See
 42933  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42934  // for more information.
 42935  func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
 42936  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42937  	return c
 42938  }
 42939  
 42940  // IfNoneMatch sets the optional parameter which makes the operation
 42941  // fail if the object's ETag matches the given value. This is useful for
 42942  // getting updates only after the object has changed since the last
 42943  // request. Use googleapi.IsNotModified to check whether the response
 42944  // error from Do is the result of In-None-Match.
 42945  func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
 42946  	c.ifNoneMatch_ = entityTag
 42947  	return c
 42948  }
 42949  
 42950  // Context sets the context to be used in this call's Do method. Any
 42951  // pending HTTP request will be aborted if the provided context is
 42952  // canceled.
 42953  func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
 42954  	c.ctx_ = ctx
 42955  	return c
 42956  }
 42957  
 42958  // Header returns an http.Header that can be modified by the caller to
 42959  // add HTTP headers to the request.
 42960  func (c *RemarketingListSharesGetCall) Header() http.Header {
 42961  	if c.header_ == nil {
 42962  		c.header_ = make(http.Header)
 42963  	}
 42964  	return c.header_
 42965  }
 42966  
 42967  func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 42968  	reqHeaders := make(http.Header)
 42969  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 42970  	for k, v := range c.header_ {
 42971  		reqHeaders[k] = v
 42972  	}
 42973  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42974  	if c.ifNoneMatch_ != "" {
 42975  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42976  	}
 42977  	var body io.Reader = nil
 42978  	c.urlParams_.Set("alt", alt)
 42979  	c.urlParams_.Set("prettyPrint", "false")
 42980  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
 42981  	urls += "?" + c.urlParams_.Encode()
 42982  	req, err := http.NewRequest("GET", urls, body)
 42983  	if err != nil {
 42984  		return nil, err
 42985  	}
 42986  	req.Header = reqHeaders
 42987  	googleapi.Expand(req.URL, map[string]string{
 42988  		"profileId":         strconv.FormatInt(c.profileId, 10),
 42989  		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 42990  	})
 42991  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42992  }
 42993  
 42994  // Do executes the "dfareporting.remarketingListShares.get" call.
 42995  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42996  // non-2xx status code is an error. Response headers are in either
 42997  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42998  // returned at all) in error.(*googleapi.Error).Header. Use
 42999  // googleapi.IsNotModified to check whether the returned error was
 43000  // because http.StatusNotModified was returned.
 43001  func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 43002  	gensupport.SetOptions(c.urlParams_, opts...)
 43003  	res, err := c.doRequest("json")
 43004  	if res != nil && res.StatusCode == http.StatusNotModified {
 43005  		if res.Body != nil {
 43006  			res.Body.Close()
 43007  		}
 43008  		return nil, &googleapi.Error{
 43009  			Code:   res.StatusCode,
 43010  			Header: res.Header,
 43011  		}
 43012  	}
 43013  	if err != nil {
 43014  		return nil, err
 43015  	}
 43016  	defer googleapi.CloseBody(res)
 43017  	if err := googleapi.CheckResponse(res); err != nil {
 43018  		return nil, err
 43019  	}
 43020  	ret := &RemarketingListShare{
 43021  		ServerResponse: googleapi.ServerResponse{
 43022  			Header:         res.Header,
 43023  			HTTPStatusCode: res.StatusCode,
 43024  		},
 43025  	}
 43026  	target := &ret
 43027  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43028  		return nil, err
 43029  	}
 43030  	return ret, nil
 43031  	// {
 43032  	//   "description": "Gets one remarketing list share by remarketing list ID.",
 43033  	//   "httpMethod": "GET",
 43034  	//   "id": "dfareporting.remarketingListShares.get",
 43035  	//   "parameterOrder": [
 43036  	//     "profileId",
 43037  	//     "remarketingListId"
 43038  	//   ],
 43039  	//   "parameters": {
 43040  	//     "profileId": {
 43041  	//       "description": "User profile ID associated with this request.",
 43042  	//       "format": "int64",
 43043  	//       "location": "path",
 43044  	//       "required": true,
 43045  	//       "type": "string"
 43046  	//     },
 43047  	//     "remarketingListId": {
 43048  	//       "description": "Remarketing list ID.",
 43049  	//       "format": "int64",
 43050  	//       "location": "path",
 43051  	//       "required": true,
 43052  	//       "type": "string"
 43053  	//     }
 43054  	//   },
 43055  	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 43056  	//   "response": {
 43057  	//     "$ref": "RemarketingListShare"
 43058  	//   },
 43059  	//   "scopes": [
 43060  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43061  	//   ]
 43062  	// }
 43063  
 43064  }
 43065  
 43066  // method id "dfareporting.remarketingListShares.patch":
 43067  
 43068  type RemarketingListSharesPatchCall struct {
 43069  	s                    *Service
 43070  	profileId            int64
 43071  	remarketinglistshare *RemarketingListShare
 43072  	urlParams_           gensupport.URLParams
 43073  	ctx_                 context.Context
 43074  	header_              http.Header
 43075  }
 43076  
 43077  // Patch: Updates an existing remarketing list share. This method
 43078  // supports patch semantics.
 43079  func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
 43080  	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43081  	c.profileId = profileId
 43082  	c.urlParams_.Set("remarketingListId", fmt.Sprint(remarketingListId))
 43083  	c.remarketinglistshare = remarketinglistshare
 43084  	return c
 43085  }
 43086  
 43087  // Fields allows partial responses to be retrieved. See
 43088  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43089  // for more information.
 43090  func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
 43091  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43092  	return c
 43093  }
 43094  
 43095  // Context sets the context to be used in this call's Do method. Any
 43096  // pending HTTP request will be aborted if the provided context is
 43097  // canceled.
 43098  func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
 43099  	c.ctx_ = ctx
 43100  	return c
 43101  }
 43102  
 43103  // Header returns an http.Header that can be modified by the caller to
 43104  // add HTTP headers to the request.
 43105  func (c *RemarketingListSharesPatchCall) Header() http.Header {
 43106  	if c.header_ == nil {
 43107  		c.header_ = make(http.Header)
 43108  	}
 43109  	return c.header_
 43110  }
 43111  
 43112  func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
 43113  	reqHeaders := make(http.Header)
 43114  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43115  	for k, v := range c.header_ {
 43116  		reqHeaders[k] = v
 43117  	}
 43118  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43119  	var body io.Reader = nil
 43120  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 43121  	if err != nil {
 43122  		return nil, err
 43123  	}
 43124  	reqHeaders.Set("Content-Type", "application/json")
 43125  	c.urlParams_.Set("alt", alt)
 43126  	c.urlParams_.Set("prettyPrint", "false")
 43127  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 43128  	urls += "?" + c.urlParams_.Encode()
 43129  	req, err := http.NewRequest("PATCH", urls, body)
 43130  	if err != nil {
 43131  		return nil, err
 43132  	}
 43133  	req.Header = reqHeaders
 43134  	googleapi.Expand(req.URL, map[string]string{
 43135  		"profileId": strconv.FormatInt(c.profileId, 10),
 43136  	})
 43137  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43138  }
 43139  
 43140  // Do executes the "dfareporting.remarketingListShares.patch" call.
 43141  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 43142  // non-2xx status code is an error. Response headers are in either
 43143  // *RemarketingListShare.ServerResponse.Header or (if a response was
 43144  // returned at all) in error.(*googleapi.Error).Header. Use
 43145  // googleapi.IsNotModified to check whether the returned error was
 43146  // because http.StatusNotModified was returned.
 43147  func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 43148  	gensupport.SetOptions(c.urlParams_, opts...)
 43149  	res, err := c.doRequest("json")
 43150  	if res != nil && res.StatusCode == http.StatusNotModified {
 43151  		if res.Body != nil {
 43152  			res.Body.Close()
 43153  		}
 43154  		return nil, &googleapi.Error{
 43155  			Code:   res.StatusCode,
 43156  			Header: res.Header,
 43157  		}
 43158  	}
 43159  	if err != nil {
 43160  		return nil, err
 43161  	}
 43162  	defer googleapi.CloseBody(res)
 43163  	if err := googleapi.CheckResponse(res); err != nil {
 43164  		return nil, err
 43165  	}
 43166  	ret := &RemarketingListShare{
 43167  		ServerResponse: googleapi.ServerResponse{
 43168  			Header:         res.Header,
 43169  			HTTPStatusCode: res.StatusCode,
 43170  		},
 43171  	}
 43172  	target := &ret
 43173  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43174  		return nil, err
 43175  	}
 43176  	return ret, nil
 43177  	// {
 43178  	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
 43179  	//   "httpMethod": "PATCH",
 43180  	//   "id": "dfareporting.remarketingListShares.patch",
 43181  	//   "parameterOrder": [
 43182  	//     "profileId",
 43183  	//     "remarketingListId"
 43184  	//   ],
 43185  	//   "parameters": {
 43186  	//     "profileId": {
 43187  	//       "description": "User profile ID associated with this request.",
 43188  	//       "format": "int64",
 43189  	//       "location": "path",
 43190  	//       "required": true,
 43191  	//       "type": "string"
 43192  	//     },
 43193  	//     "remarketingListId": {
 43194  	//       "description": "Remarketing list ID.",
 43195  	//       "format": "int64",
 43196  	//       "location": "query",
 43197  	//       "required": true,
 43198  	//       "type": "string"
 43199  	//     }
 43200  	//   },
 43201  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 43202  	//   "request": {
 43203  	//     "$ref": "RemarketingListShare"
 43204  	//   },
 43205  	//   "response": {
 43206  	//     "$ref": "RemarketingListShare"
 43207  	//   },
 43208  	//   "scopes": [
 43209  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43210  	//   ]
 43211  	// }
 43212  
 43213  }
 43214  
 43215  // method id "dfareporting.remarketingListShares.update":
 43216  
 43217  type RemarketingListSharesUpdateCall struct {
 43218  	s                    *Service
 43219  	profileId            int64
 43220  	remarketinglistshare *RemarketingListShare
 43221  	urlParams_           gensupport.URLParams
 43222  	ctx_                 context.Context
 43223  	header_              http.Header
 43224  }
 43225  
 43226  // Update: Updates an existing remarketing list share.
 43227  func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
 43228  	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43229  	c.profileId = profileId
 43230  	c.remarketinglistshare = remarketinglistshare
 43231  	return c
 43232  }
 43233  
 43234  // Fields allows partial responses to be retrieved. See
 43235  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43236  // for more information.
 43237  func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
 43238  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43239  	return c
 43240  }
 43241  
 43242  // Context sets the context to be used in this call's Do method. Any
 43243  // pending HTTP request will be aborted if the provided context is
 43244  // canceled.
 43245  func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
 43246  	c.ctx_ = ctx
 43247  	return c
 43248  }
 43249  
 43250  // Header returns an http.Header that can be modified by the caller to
 43251  // add HTTP headers to the request.
 43252  func (c *RemarketingListSharesUpdateCall) Header() http.Header {
 43253  	if c.header_ == nil {
 43254  		c.header_ = make(http.Header)
 43255  	}
 43256  	return c.header_
 43257  }
 43258  
 43259  func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
 43260  	reqHeaders := make(http.Header)
 43261  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43262  	for k, v := range c.header_ {
 43263  		reqHeaders[k] = v
 43264  	}
 43265  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43266  	var body io.Reader = nil
 43267  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 43268  	if err != nil {
 43269  		return nil, err
 43270  	}
 43271  	reqHeaders.Set("Content-Type", "application/json")
 43272  	c.urlParams_.Set("alt", alt)
 43273  	c.urlParams_.Set("prettyPrint", "false")
 43274  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 43275  	urls += "?" + c.urlParams_.Encode()
 43276  	req, err := http.NewRequest("PUT", urls, body)
 43277  	if err != nil {
 43278  		return nil, err
 43279  	}
 43280  	req.Header = reqHeaders
 43281  	googleapi.Expand(req.URL, map[string]string{
 43282  		"profileId": strconv.FormatInt(c.profileId, 10),
 43283  	})
 43284  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43285  }
 43286  
 43287  // Do executes the "dfareporting.remarketingListShares.update" call.
 43288  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 43289  // non-2xx status code is an error. Response headers are in either
 43290  // *RemarketingListShare.ServerResponse.Header or (if a response was
 43291  // returned at all) in error.(*googleapi.Error).Header. Use
 43292  // googleapi.IsNotModified to check whether the returned error was
 43293  // because http.StatusNotModified was returned.
 43294  func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 43295  	gensupport.SetOptions(c.urlParams_, opts...)
 43296  	res, err := c.doRequest("json")
 43297  	if res != nil && res.StatusCode == http.StatusNotModified {
 43298  		if res.Body != nil {
 43299  			res.Body.Close()
 43300  		}
 43301  		return nil, &googleapi.Error{
 43302  			Code:   res.StatusCode,
 43303  			Header: res.Header,
 43304  		}
 43305  	}
 43306  	if err != nil {
 43307  		return nil, err
 43308  	}
 43309  	defer googleapi.CloseBody(res)
 43310  	if err := googleapi.CheckResponse(res); err != nil {
 43311  		return nil, err
 43312  	}
 43313  	ret := &RemarketingListShare{
 43314  		ServerResponse: googleapi.ServerResponse{
 43315  			Header:         res.Header,
 43316  			HTTPStatusCode: res.StatusCode,
 43317  		},
 43318  	}
 43319  	target := &ret
 43320  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43321  		return nil, err
 43322  	}
 43323  	return ret, nil
 43324  	// {
 43325  	//   "description": "Updates an existing remarketing list share.",
 43326  	//   "httpMethod": "PUT",
 43327  	//   "id": "dfareporting.remarketingListShares.update",
 43328  	//   "parameterOrder": [
 43329  	//     "profileId"
 43330  	//   ],
 43331  	//   "parameters": {
 43332  	//     "profileId": {
 43333  	//       "description": "User profile ID associated with this request.",
 43334  	//       "format": "int64",
 43335  	//       "location": "path",
 43336  	//       "required": true,
 43337  	//       "type": "string"
 43338  	//     }
 43339  	//   },
 43340  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 43341  	//   "request": {
 43342  	//     "$ref": "RemarketingListShare"
 43343  	//   },
 43344  	//   "response": {
 43345  	//     "$ref": "RemarketingListShare"
 43346  	//   },
 43347  	//   "scopes": [
 43348  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43349  	//   ]
 43350  	// }
 43351  
 43352  }
 43353  
 43354  // method id "dfareporting.remarketingLists.get":
 43355  
 43356  type RemarketingListsGetCall struct {
 43357  	s            *Service
 43358  	profileId    int64
 43359  	id           int64
 43360  	urlParams_   gensupport.URLParams
 43361  	ifNoneMatch_ string
 43362  	ctx_         context.Context
 43363  	header_      http.Header
 43364  }
 43365  
 43366  // Get: Gets one remarketing list by ID.
 43367  func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
 43368  	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43369  	c.profileId = profileId
 43370  	c.id = id
 43371  	return c
 43372  }
 43373  
 43374  // Fields allows partial responses to be retrieved. See
 43375  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43376  // for more information.
 43377  func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
 43378  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43379  	return c
 43380  }
 43381  
 43382  // IfNoneMatch sets the optional parameter which makes the operation
 43383  // fail if the object's ETag matches the given value. This is useful for
 43384  // getting updates only after the object has changed since the last
 43385  // request. Use googleapi.IsNotModified to check whether the response
 43386  // error from Do is the result of In-None-Match.
 43387  func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
 43388  	c.ifNoneMatch_ = entityTag
 43389  	return c
 43390  }
 43391  
 43392  // Context sets the context to be used in this call's Do method. Any
 43393  // pending HTTP request will be aborted if the provided context is
 43394  // canceled.
 43395  func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
 43396  	c.ctx_ = ctx
 43397  	return c
 43398  }
 43399  
 43400  // Header returns an http.Header that can be modified by the caller to
 43401  // add HTTP headers to the request.
 43402  func (c *RemarketingListsGetCall) Header() http.Header {
 43403  	if c.header_ == nil {
 43404  		c.header_ = make(http.Header)
 43405  	}
 43406  	return c.header_
 43407  }
 43408  
 43409  func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 43410  	reqHeaders := make(http.Header)
 43411  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43412  	for k, v := range c.header_ {
 43413  		reqHeaders[k] = v
 43414  	}
 43415  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43416  	if c.ifNoneMatch_ != "" {
 43417  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43418  	}
 43419  	var body io.Reader = nil
 43420  	c.urlParams_.Set("alt", alt)
 43421  	c.urlParams_.Set("prettyPrint", "false")
 43422  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
 43423  	urls += "?" + c.urlParams_.Encode()
 43424  	req, err := http.NewRequest("GET", urls, body)
 43425  	if err != nil {
 43426  		return nil, err
 43427  	}
 43428  	req.Header = reqHeaders
 43429  	googleapi.Expand(req.URL, map[string]string{
 43430  		"profileId": strconv.FormatInt(c.profileId, 10),
 43431  		"id":        strconv.FormatInt(c.id, 10),
 43432  	})
 43433  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43434  }
 43435  
 43436  // Do executes the "dfareporting.remarketingLists.get" call.
 43437  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43438  // status code is an error. Response headers are in either
 43439  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43440  // at all) in error.(*googleapi.Error).Header. Use
 43441  // googleapi.IsNotModified to check whether the returned error was
 43442  // because http.StatusNotModified was returned.
 43443  func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43444  	gensupport.SetOptions(c.urlParams_, opts...)
 43445  	res, err := c.doRequest("json")
 43446  	if res != nil && res.StatusCode == http.StatusNotModified {
 43447  		if res.Body != nil {
 43448  			res.Body.Close()
 43449  		}
 43450  		return nil, &googleapi.Error{
 43451  			Code:   res.StatusCode,
 43452  			Header: res.Header,
 43453  		}
 43454  	}
 43455  	if err != nil {
 43456  		return nil, err
 43457  	}
 43458  	defer googleapi.CloseBody(res)
 43459  	if err := googleapi.CheckResponse(res); err != nil {
 43460  		return nil, err
 43461  	}
 43462  	ret := &RemarketingList{
 43463  		ServerResponse: googleapi.ServerResponse{
 43464  			Header:         res.Header,
 43465  			HTTPStatusCode: res.StatusCode,
 43466  		},
 43467  	}
 43468  	target := &ret
 43469  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43470  		return nil, err
 43471  	}
 43472  	return ret, nil
 43473  	// {
 43474  	//   "description": "Gets one remarketing list by ID.",
 43475  	//   "httpMethod": "GET",
 43476  	//   "id": "dfareporting.remarketingLists.get",
 43477  	//   "parameterOrder": [
 43478  	//     "profileId",
 43479  	//     "id"
 43480  	//   ],
 43481  	//   "parameters": {
 43482  	//     "id": {
 43483  	//       "description": "Remarketing list ID.",
 43484  	//       "format": "int64",
 43485  	//       "location": "path",
 43486  	//       "required": true,
 43487  	//       "type": "string"
 43488  	//     },
 43489  	//     "profileId": {
 43490  	//       "description": "User profile ID associated with this request.",
 43491  	//       "format": "int64",
 43492  	//       "location": "path",
 43493  	//       "required": true,
 43494  	//       "type": "string"
 43495  	//     }
 43496  	//   },
 43497  	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
 43498  	//   "response": {
 43499  	//     "$ref": "RemarketingList"
 43500  	//   },
 43501  	//   "scopes": [
 43502  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43503  	//   ]
 43504  	// }
 43505  
 43506  }
 43507  
 43508  // method id "dfareporting.remarketingLists.insert":
 43509  
 43510  type RemarketingListsInsertCall struct {
 43511  	s               *Service
 43512  	profileId       int64
 43513  	remarketinglist *RemarketingList
 43514  	urlParams_      gensupport.URLParams
 43515  	ctx_            context.Context
 43516  	header_         http.Header
 43517  }
 43518  
 43519  // Insert: Inserts a new remarketing list.
 43520  func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
 43521  	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43522  	c.profileId = profileId
 43523  	c.remarketinglist = remarketinglist
 43524  	return c
 43525  }
 43526  
 43527  // Fields allows partial responses to be retrieved. See
 43528  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43529  // for more information.
 43530  func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
 43531  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43532  	return c
 43533  }
 43534  
 43535  // Context sets the context to be used in this call's Do method. Any
 43536  // pending HTTP request will be aborted if the provided context is
 43537  // canceled.
 43538  func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
 43539  	c.ctx_ = ctx
 43540  	return c
 43541  }
 43542  
 43543  // Header returns an http.Header that can be modified by the caller to
 43544  // add HTTP headers to the request.
 43545  func (c *RemarketingListsInsertCall) Header() http.Header {
 43546  	if c.header_ == nil {
 43547  		c.header_ = make(http.Header)
 43548  	}
 43549  	return c.header_
 43550  }
 43551  
 43552  func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
 43553  	reqHeaders := make(http.Header)
 43554  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43555  	for k, v := range c.header_ {
 43556  		reqHeaders[k] = v
 43557  	}
 43558  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43559  	var body io.Reader = nil
 43560  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 43561  	if err != nil {
 43562  		return nil, err
 43563  	}
 43564  	reqHeaders.Set("Content-Type", "application/json")
 43565  	c.urlParams_.Set("alt", alt)
 43566  	c.urlParams_.Set("prettyPrint", "false")
 43567  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43568  	urls += "?" + c.urlParams_.Encode()
 43569  	req, err := http.NewRequest("POST", urls, body)
 43570  	if err != nil {
 43571  		return nil, err
 43572  	}
 43573  	req.Header = reqHeaders
 43574  	googleapi.Expand(req.URL, map[string]string{
 43575  		"profileId": strconv.FormatInt(c.profileId, 10),
 43576  	})
 43577  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43578  }
 43579  
 43580  // Do executes the "dfareporting.remarketingLists.insert" call.
 43581  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43582  // status code is an error. Response headers are in either
 43583  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43584  // at all) in error.(*googleapi.Error).Header. Use
 43585  // googleapi.IsNotModified to check whether the returned error was
 43586  // because http.StatusNotModified was returned.
 43587  func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43588  	gensupport.SetOptions(c.urlParams_, opts...)
 43589  	res, err := c.doRequest("json")
 43590  	if res != nil && res.StatusCode == http.StatusNotModified {
 43591  		if res.Body != nil {
 43592  			res.Body.Close()
 43593  		}
 43594  		return nil, &googleapi.Error{
 43595  			Code:   res.StatusCode,
 43596  			Header: res.Header,
 43597  		}
 43598  	}
 43599  	if err != nil {
 43600  		return nil, err
 43601  	}
 43602  	defer googleapi.CloseBody(res)
 43603  	if err := googleapi.CheckResponse(res); err != nil {
 43604  		return nil, err
 43605  	}
 43606  	ret := &RemarketingList{
 43607  		ServerResponse: googleapi.ServerResponse{
 43608  			Header:         res.Header,
 43609  			HTTPStatusCode: res.StatusCode,
 43610  		},
 43611  	}
 43612  	target := &ret
 43613  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43614  		return nil, err
 43615  	}
 43616  	return ret, nil
 43617  	// {
 43618  	//   "description": "Inserts a new remarketing list.",
 43619  	//   "httpMethod": "POST",
 43620  	//   "id": "dfareporting.remarketingLists.insert",
 43621  	//   "parameterOrder": [
 43622  	//     "profileId"
 43623  	//   ],
 43624  	//   "parameters": {
 43625  	//     "profileId": {
 43626  	//       "description": "User profile ID associated with this request.",
 43627  	//       "format": "int64",
 43628  	//       "location": "path",
 43629  	//       "required": true,
 43630  	//       "type": "string"
 43631  	//     }
 43632  	//   },
 43633  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43634  	//   "request": {
 43635  	//     "$ref": "RemarketingList"
 43636  	//   },
 43637  	//   "response": {
 43638  	//     "$ref": "RemarketingList"
 43639  	//   },
 43640  	//   "scopes": [
 43641  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43642  	//   ]
 43643  	// }
 43644  
 43645  }
 43646  
 43647  // method id "dfareporting.remarketingLists.list":
 43648  
 43649  type RemarketingListsListCall struct {
 43650  	s            *Service
 43651  	profileId    int64
 43652  	urlParams_   gensupport.URLParams
 43653  	ifNoneMatch_ string
 43654  	ctx_         context.Context
 43655  	header_      http.Header
 43656  }
 43657  
 43658  // List: Retrieves a list of remarketing lists, possibly filtered. This
 43659  // method supports paging.
 43660  func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
 43661  	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43662  	c.profileId = profileId
 43663  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 43664  	return c
 43665  }
 43666  
 43667  // Active sets the optional parameter "active": Select only active or
 43668  // only inactive remarketing lists.
 43669  func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
 43670  	c.urlParams_.Set("active", fmt.Sprint(active))
 43671  	return c
 43672  }
 43673  
 43674  // FloodlightActivityId sets the optional parameter
 43675  // "floodlightActivityId": Select only remarketing lists that have this
 43676  // floodlight activity ID.
 43677  func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
 43678  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 43679  	return c
 43680  }
 43681  
 43682  // MaxResults sets the optional parameter "maxResults": Maximum number
 43683  // of results to return.
 43684  func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
 43685  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 43686  	return c
 43687  }
 43688  
 43689  // Name sets the optional parameter "name": Allows searching for objects
 43690  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 43691  // list*2015" will return objects with names like "remarketing list June
 43692  // 2015", "remarketing list April 2015", or simply "remarketing list
 43693  // 2015". Most of the searches also add wildcards implicitly at the
 43694  // start and the end of the search string. For example, a search string
 43695  // of "remarketing list" will match objects with name "my remarketing
 43696  // list", "remarketing list 2015", or simply "remarketing list".
 43697  func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
 43698  	c.urlParams_.Set("name", name)
 43699  	return c
 43700  }
 43701  
 43702  // PageToken sets the optional parameter "pageToken": Value of the
 43703  // nextPageToken from the previous result page.
 43704  func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
 43705  	c.urlParams_.Set("pageToken", pageToken)
 43706  	return c
 43707  }
 43708  
 43709  // SortField sets the optional parameter "sortField": Field by which to
 43710  // sort the list.
 43711  //
 43712  // Possible values:
 43713  //
 43714  //	"ID" (default)
 43715  //	"NAME"
 43716  func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
 43717  	c.urlParams_.Set("sortField", sortField)
 43718  	return c
 43719  }
 43720  
 43721  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 43722  // results.
 43723  //
 43724  // Possible values:
 43725  //
 43726  //	"ASCENDING" (default)
 43727  //	"DESCENDING"
 43728  func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
 43729  	c.urlParams_.Set("sortOrder", sortOrder)
 43730  	return c
 43731  }
 43732  
 43733  // Fields allows partial responses to be retrieved. See
 43734  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43735  // for more information.
 43736  func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
 43737  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43738  	return c
 43739  }
 43740  
 43741  // IfNoneMatch sets the optional parameter which makes the operation
 43742  // fail if the object's ETag matches the given value. This is useful for
 43743  // getting updates only after the object has changed since the last
 43744  // request. Use googleapi.IsNotModified to check whether the response
 43745  // error from Do is the result of In-None-Match.
 43746  func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
 43747  	c.ifNoneMatch_ = entityTag
 43748  	return c
 43749  }
 43750  
 43751  // Context sets the context to be used in this call's Do method. Any
 43752  // pending HTTP request will be aborted if the provided context is
 43753  // canceled.
 43754  func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
 43755  	c.ctx_ = ctx
 43756  	return c
 43757  }
 43758  
 43759  // Header returns an http.Header that can be modified by the caller to
 43760  // add HTTP headers to the request.
 43761  func (c *RemarketingListsListCall) Header() http.Header {
 43762  	if c.header_ == nil {
 43763  		c.header_ = make(http.Header)
 43764  	}
 43765  	return c.header_
 43766  }
 43767  
 43768  func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 43769  	reqHeaders := make(http.Header)
 43770  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43771  	for k, v := range c.header_ {
 43772  		reqHeaders[k] = v
 43773  	}
 43774  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43775  	if c.ifNoneMatch_ != "" {
 43776  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43777  	}
 43778  	var body io.Reader = nil
 43779  	c.urlParams_.Set("alt", alt)
 43780  	c.urlParams_.Set("prettyPrint", "false")
 43781  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43782  	urls += "?" + c.urlParams_.Encode()
 43783  	req, err := http.NewRequest("GET", urls, body)
 43784  	if err != nil {
 43785  		return nil, err
 43786  	}
 43787  	req.Header = reqHeaders
 43788  	googleapi.Expand(req.URL, map[string]string{
 43789  		"profileId": strconv.FormatInt(c.profileId, 10),
 43790  	})
 43791  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43792  }
 43793  
 43794  // Do executes the "dfareporting.remarketingLists.list" call.
 43795  // Exactly one of *RemarketingListsListResponse or error will be
 43796  // non-nil. Any non-2xx status code is an error. Response headers are in
 43797  // either *RemarketingListsListResponse.ServerResponse.Header or (if a
 43798  // response was returned at all) in error.(*googleapi.Error).Header. Use
 43799  // googleapi.IsNotModified to check whether the returned error was
 43800  // because http.StatusNotModified was returned.
 43801  func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
 43802  	gensupport.SetOptions(c.urlParams_, opts...)
 43803  	res, err := c.doRequest("json")
 43804  	if res != nil && res.StatusCode == http.StatusNotModified {
 43805  		if res.Body != nil {
 43806  			res.Body.Close()
 43807  		}
 43808  		return nil, &googleapi.Error{
 43809  			Code:   res.StatusCode,
 43810  			Header: res.Header,
 43811  		}
 43812  	}
 43813  	if err != nil {
 43814  		return nil, err
 43815  	}
 43816  	defer googleapi.CloseBody(res)
 43817  	if err := googleapi.CheckResponse(res); err != nil {
 43818  		return nil, err
 43819  	}
 43820  	ret := &RemarketingListsListResponse{
 43821  		ServerResponse: googleapi.ServerResponse{
 43822  			Header:         res.Header,
 43823  			HTTPStatusCode: res.StatusCode,
 43824  		},
 43825  	}
 43826  	target := &ret
 43827  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43828  		return nil, err
 43829  	}
 43830  	return ret, nil
 43831  	// {
 43832  	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
 43833  	//   "httpMethod": "GET",
 43834  	//   "id": "dfareporting.remarketingLists.list",
 43835  	//   "parameterOrder": [
 43836  	//     "profileId",
 43837  	//     "advertiserId"
 43838  	//   ],
 43839  	//   "parameters": {
 43840  	//     "active": {
 43841  	//       "description": "Select only active or only inactive remarketing lists.",
 43842  	//       "location": "query",
 43843  	//       "type": "boolean"
 43844  	//     },
 43845  	//     "advertiserId": {
 43846  	//       "description": "Select only remarketing lists owned by this advertiser.",
 43847  	//       "format": "int64",
 43848  	//       "location": "query",
 43849  	//       "required": true,
 43850  	//       "type": "string"
 43851  	//     },
 43852  	//     "floodlightActivityId": {
 43853  	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
 43854  	//       "format": "int64",
 43855  	//       "location": "query",
 43856  	//       "type": "string"
 43857  	//     },
 43858  	//     "maxResults": {
 43859  	//       "default": "1000",
 43860  	//       "description": "Maximum number of results to return.",
 43861  	//       "format": "int32",
 43862  	//       "location": "query",
 43863  	//       "maximum": "1000",
 43864  	//       "minimum": "0",
 43865  	//       "type": "integer"
 43866  	//     },
 43867  	//     "name": {
 43868  	//       "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\".",
 43869  	//       "location": "query",
 43870  	//       "type": "string"
 43871  	//     },
 43872  	//     "pageToken": {
 43873  	//       "description": "Value of the nextPageToken from the previous result page.",
 43874  	//       "location": "query",
 43875  	//       "type": "string"
 43876  	//     },
 43877  	//     "profileId": {
 43878  	//       "description": "User profile ID associated with this request.",
 43879  	//       "format": "int64",
 43880  	//       "location": "path",
 43881  	//       "required": true,
 43882  	//       "type": "string"
 43883  	//     },
 43884  	//     "sortField": {
 43885  	//       "default": "ID",
 43886  	//       "description": "Field by which to sort the list.",
 43887  	//       "enum": [
 43888  	//         "ID",
 43889  	//         "NAME"
 43890  	//       ],
 43891  	//       "enumDescriptions": [
 43892  	//         "",
 43893  	//         ""
 43894  	//       ],
 43895  	//       "location": "query",
 43896  	//       "type": "string"
 43897  	//     },
 43898  	//     "sortOrder": {
 43899  	//       "default": "ASCENDING",
 43900  	//       "description": "Order of sorted results.",
 43901  	//       "enum": [
 43902  	//         "ASCENDING",
 43903  	//         "DESCENDING"
 43904  	//       ],
 43905  	//       "enumDescriptions": [
 43906  	//         "",
 43907  	//         ""
 43908  	//       ],
 43909  	//       "location": "query",
 43910  	//       "type": "string"
 43911  	//     }
 43912  	//   },
 43913  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43914  	//   "response": {
 43915  	//     "$ref": "RemarketingListsListResponse"
 43916  	//   },
 43917  	//   "scopes": [
 43918  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43919  	//   ]
 43920  	// }
 43921  
 43922  }
 43923  
 43924  // Pages invokes f for each page of results.
 43925  // A non-nil error returned from f will halt the iteration.
 43926  // The provided context supersedes any context provided to the Context method.
 43927  func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
 43928  	c.ctx_ = ctx
 43929  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 43930  	for {
 43931  		x, err := c.Do()
 43932  		if err != nil {
 43933  			return err
 43934  		}
 43935  		if err := f(x); err != nil {
 43936  			return err
 43937  		}
 43938  		if x.NextPageToken == "" {
 43939  			return nil
 43940  		}
 43941  		c.PageToken(x.NextPageToken)
 43942  	}
 43943  }
 43944  
 43945  // method id "dfareporting.remarketingLists.patch":
 43946  
 43947  type RemarketingListsPatchCall struct {
 43948  	s               *Service
 43949  	profileId       int64
 43950  	remarketinglist *RemarketingList
 43951  	urlParams_      gensupport.URLParams
 43952  	ctx_            context.Context
 43953  	header_         http.Header
 43954  }
 43955  
 43956  // Patch: Updates an existing remarketing list. This method supports
 43957  // patch semantics.
 43958  func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
 43959  	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43960  	c.profileId = profileId
 43961  	c.urlParams_.Set("id", fmt.Sprint(id))
 43962  	c.remarketinglist = remarketinglist
 43963  	return c
 43964  }
 43965  
 43966  // Fields allows partial responses to be retrieved. See
 43967  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43968  // for more information.
 43969  func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
 43970  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43971  	return c
 43972  }
 43973  
 43974  // Context sets the context to be used in this call's Do method. Any
 43975  // pending HTTP request will be aborted if the provided context is
 43976  // canceled.
 43977  func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
 43978  	c.ctx_ = ctx
 43979  	return c
 43980  }
 43981  
 43982  // Header returns an http.Header that can be modified by the caller to
 43983  // add HTTP headers to the request.
 43984  func (c *RemarketingListsPatchCall) Header() http.Header {
 43985  	if c.header_ == nil {
 43986  		c.header_ = make(http.Header)
 43987  	}
 43988  	return c.header_
 43989  }
 43990  
 43991  func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
 43992  	reqHeaders := make(http.Header)
 43993  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 43994  	for k, v := range c.header_ {
 43995  		reqHeaders[k] = v
 43996  	}
 43997  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43998  	var body io.Reader = nil
 43999  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 44000  	if err != nil {
 44001  		return nil, err
 44002  	}
 44003  	reqHeaders.Set("Content-Type", "application/json")
 44004  	c.urlParams_.Set("alt", alt)
 44005  	c.urlParams_.Set("prettyPrint", "false")
 44006  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 44007  	urls += "?" + c.urlParams_.Encode()
 44008  	req, err := http.NewRequest("PATCH", urls, body)
 44009  	if err != nil {
 44010  		return nil, err
 44011  	}
 44012  	req.Header = reqHeaders
 44013  	googleapi.Expand(req.URL, map[string]string{
 44014  		"profileId": strconv.FormatInt(c.profileId, 10),
 44015  	})
 44016  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44017  }
 44018  
 44019  // Do executes the "dfareporting.remarketingLists.patch" call.
 44020  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 44021  // status code is an error. Response headers are in either
 44022  // *RemarketingList.ServerResponse.Header or (if a response was returned
 44023  // at all) in error.(*googleapi.Error).Header. Use
 44024  // googleapi.IsNotModified to check whether the returned error was
 44025  // because http.StatusNotModified was returned.
 44026  func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 44027  	gensupport.SetOptions(c.urlParams_, opts...)
 44028  	res, err := c.doRequest("json")
 44029  	if res != nil && res.StatusCode == http.StatusNotModified {
 44030  		if res.Body != nil {
 44031  			res.Body.Close()
 44032  		}
 44033  		return nil, &googleapi.Error{
 44034  			Code:   res.StatusCode,
 44035  			Header: res.Header,
 44036  		}
 44037  	}
 44038  	if err != nil {
 44039  		return nil, err
 44040  	}
 44041  	defer googleapi.CloseBody(res)
 44042  	if err := googleapi.CheckResponse(res); err != nil {
 44043  		return nil, err
 44044  	}
 44045  	ret := &RemarketingList{
 44046  		ServerResponse: googleapi.ServerResponse{
 44047  			Header:         res.Header,
 44048  			HTTPStatusCode: res.StatusCode,
 44049  		},
 44050  	}
 44051  	target := &ret
 44052  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44053  		return nil, err
 44054  	}
 44055  	return ret, nil
 44056  	// {
 44057  	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
 44058  	//   "httpMethod": "PATCH",
 44059  	//   "id": "dfareporting.remarketingLists.patch",
 44060  	//   "parameterOrder": [
 44061  	//     "profileId",
 44062  	//     "id"
 44063  	//   ],
 44064  	//   "parameters": {
 44065  	//     "id": {
 44066  	//       "description": "Remarketing list ID.",
 44067  	//       "format": "int64",
 44068  	//       "location": "query",
 44069  	//       "required": true,
 44070  	//       "type": "string"
 44071  	//     },
 44072  	//     "profileId": {
 44073  	//       "description": "User profile ID associated with this request.",
 44074  	//       "format": "int64",
 44075  	//       "location": "path",
 44076  	//       "required": true,
 44077  	//       "type": "string"
 44078  	//     }
 44079  	//   },
 44080  	//   "path": "userprofiles/{profileId}/remarketingLists",
 44081  	//   "request": {
 44082  	//     "$ref": "RemarketingList"
 44083  	//   },
 44084  	//   "response": {
 44085  	//     "$ref": "RemarketingList"
 44086  	//   },
 44087  	//   "scopes": [
 44088  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44089  	//   ]
 44090  	// }
 44091  
 44092  }
 44093  
 44094  // method id "dfareporting.remarketingLists.update":
 44095  
 44096  type RemarketingListsUpdateCall struct {
 44097  	s               *Service
 44098  	profileId       int64
 44099  	remarketinglist *RemarketingList
 44100  	urlParams_      gensupport.URLParams
 44101  	ctx_            context.Context
 44102  	header_         http.Header
 44103  }
 44104  
 44105  // Update: Updates an existing remarketing list.
 44106  func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
 44107  	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44108  	c.profileId = profileId
 44109  	c.remarketinglist = remarketinglist
 44110  	return c
 44111  }
 44112  
 44113  // Fields allows partial responses to be retrieved. See
 44114  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44115  // for more information.
 44116  func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
 44117  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44118  	return c
 44119  }
 44120  
 44121  // Context sets the context to be used in this call's Do method. Any
 44122  // pending HTTP request will be aborted if the provided context is
 44123  // canceled.
 44124  func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
 44125  	c.ctx_ = ctx
 44126  	return c
 44127  }
 44128  
 44129  // Header returns an http.Header that can be modified by the caller to
 44130  // add HTTP headers to the request.
 44131  func (c *RemarketingListsUpdateCall) Header() http.Header {
 44132  	if c.header_ == nil {
 44133  		c.header_ = make(http.Header)
 44134  	}
 44135  	return c.header_
 44136  }
 44137  
 44138  func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 44139  	reqHeaders := make(http.Header)
 44140  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44141  	for k, v := range c.header_ {
 44142  		reqHeaders[k] = v
 44143  	}
 44144  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44145  	var body io.Reader = nil
 44146  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 44147  	if err != nil {
 44148  		return nil, err
 44149  	}
 44150  	reqHeaders.Set("Content-Type", "application/json")
 44151  	c.urlParams_.Set("alt", alt)
 44152  	c.urlParams_.Set("prettyPrint", "false")
 44153  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 44154  	urls += "?" + c.urlParams_.Encode()
 44155  	req, err := http.NewRequest("PUT", urls, body)
 44156  	if err != nil {
 44157  		return nil, err
 44158  	}
 44159  	req.Header = reqHeaders
 44160  	googleapi.Expand(req.URL, map[string]string{
 44161  		"profileId": strconv.FormatInt(c.profileId, 10),
 44162  	})
 44163  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44164  }
 44165  
 44166  // Do executes the "dfareporting.remarketingLists.update" call.
 44167  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 44168  // status code is an error. Response headers are in either
 44169  // *RemarketingList.ServerResponse.Header or (if a response was returned
 44170  // at all) in error.(*googleapi.Error).Header. Use
 44171  // googleapi.IsNotModified to check whether the returned error was
 44172  // because http.StatusNotModified was returned.
 44173  func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 44174  	gensupport.SetOptions(c.urlParams_, opts...)
 44175  	res, err := c.doRequest("json")
 44176  	if res != nil && res.StatusCode == http.StatusNotModified {
 44177  		if res.Body != nil {
 44178  			res.Body.Close()
 44179  		}
 44180  		return nil, &googleapi.Error{
 44181  			Code:   res.StatusCode,
 44182  			Header: res.Header,
 44183  		}
 44184  	}
 44185  	if err != nil {
 44186  		return nil, err
 44187  	}
 44188  	defer googleapi.CloseBody(res)
 44189  	if err := googleapi.CheckResponse(res); err != nil {
 44190  		return nil, err
 44191  	}
 44192  	ret := &RemarketingList{
 44193  		ServerResponse: googleapi.ServerResponse{
 44194  			Header:         res.Header,
 44195  			HTTPStatusCode: res.StatusCode,
 44196  		},
 44197  	}
 44198  	target := &ret
 44199  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44200  		return nil, err
 44201  	}
 44202  	return ret, nil
 44203  	// {
 44204  	//   "description": "Updates an existing remarketing list.",
 44205  	//   "httpMethod": "PUT",
 44206  	//   "id": "dfareporting.remarketingLists.update",
 44207  	//   "parameterOrder": [
 44208  	//     "profileId"
 44209  	//   ],
 44210  	//   "parameters": {
 44211  	//     "profileId": {
 44212  	//       "description": "User profile ID associated with this request.",
 44213  	//       "format": "int64",
 44214  	//       "location": "path",
 44215  	//       "required": true,
 44216  	//       "type": "string"
 44217  	//     }
 44218  	//   },
 44219  	//   "path": "userprofiles/{profileId}/remarketingLists",
 44220  	//   "request": {
 44221  	//     "$ref": "RemarketingList"
 44222  	//   },
 44223  	//   "response": {
 44224  	//     "$ref": "RemarketingList"
 44225  	//   },
 44226  	//   "scopes": [
 44227  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44228  	//   ]
 44229  	// }
 44230  
 44231  }
 44232  
 44233  // method id "dfareporting.reports.delete":
 44234  
 44235  type ReportsDeleteCall struct {
 44236  	s          *Service
 44237  	profileId  int64
 44238  	reportId   int64
 44239  	urlParams_ gensupport.URLParams
 44240  	ctx_       context.Context
 44241  	header_    http.Header
 44242  }
 44243  
 44244  // Delete: Deletes a report by its ID.
 44245  func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
 44246  	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44247  	c.profileId = profileId
 44248  	c.reportId = reportId
 44249  	return c
 44250  }
 44251  
 44252  // Fields allows partial responses to be retrieved. See
 44253  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44254  // for more information.
 44255  func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
 44256  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44257  	return c
 44258  }
 44259  
 44260  // Context sets the context to be used in this call's Do method. Any
 44261  // pending HTTP request will be aborted if the provided context is
 44262  // canceled.
 44263  func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 44264  	c.ctx_ = ctx
 44265  	return c
 44266  }
 44267  
 44268  // Header returns an http.Header that can be modified by the caller to
 44269  // add HTTP headers to the request.
 44270  func (c *ReportsDeleteCall) Header() http.Header {
 44271  	if c.header_ == nil {
 44272  		c.header_ = make(http.Header)
 44273  	}
 44274  	return c.header_
 44275  }
 44276  
 44277  func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 44278  	reqHeaders := make(http.Header)
 44279  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44280  	for k, v := range c.header_ {
 44281  		reqHeaders[k] = v
 44282  	}
 44283  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44284  	var body io.Reader = nil
 44285  	c.urlParams_.Set("alt", alt)
 44286  	c.urlParams_.Set("prettyPrint", "false")
 44287  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44288  	urls += "?" + c.urlParams_.Encode()
 44289  	req, err := http.NewRequest("DELETE", urls, body)
 44290  	if err != nil {
 44291  		return nil, err
 44292  	}
 44293  	req.Header = reqHeaders
 44294  	googleapi.Expand(req.URL, map[string]string{
 44295  		"profileId": strconv.FormatInt(c.profileId, 10),
 44296  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44297  	})
 44298  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44299  }
 44300  
 44301  // Do executes the "dfareporting.reports.delete" call.
 44302  func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
 44303  	gensupport.SetOptions(c.urlParams_, opts...)
 44304  	res, err := c.doRequest("json")
 44305  	if err != nil {
 44306  		return err
 44307  	}
 44308  	defer googleapi.CloseBody(res)
 44309  	if err := googleapi.CheckResponse(res); err != nil {
 44310  		return err
 44311  	}
 44312  	return nil
 44313  	// {
 44314  	//   "description": "Deletes a report by its ID.",
 44315  	//   "httpMethod": "DELETE",
 44316  	//   "id": "dfareporting.reports.delete",
 44317  	//   "parameterOrder": [
 44318  	//     "profileId",
 44319  	//     "reportId"
 44320  	//   ],
 44321  	//   "parameters": {
 44322  	//     "profileId": {
 44323  	//       "description": "The DFA user profile ID.",
 44324  	//       "format": "int64",
 44325  	//       "location": "path",
 44326  	//       "required": true,
 44327  	//       "type": "string"
 44328  	//     },
 44329  	//     "reportId": {
 44330  	//       "description": "The ID of the report.",
 44331  	//       "format": "int64",
 44332  	//       "location": "path",
 44333  	//       "required": true,
 44334  	//       "type": "string"
 44335  	//     }
 44336  	//   },
 44337  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44338  	//   "scopes": [
 44339  	//     "https://www.googleapis.com/auth/dfareporting"
 44340  	//   ]
 44341  	// }
 44342  
 44343  }
 44344  
 44345  // method id "dfareporting.reports.get":
 44346  
 44347  type ReportsGetCall struct {
 44348  	s            *Service
 44349  	profileId    int64
 44350  	reportId     int64
 44351  	urlParams_   gensupport.URLParams
 44352  	ifNoneMatch_ string
 44353  	ctx_         context.Context
 44354  	header_      http.Header
 44355  }
 44356  
 44357  // Get: Retrieves a report by its ID.
 44358  func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
 44359  	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44360  	c.profileId = profileId
 44361  	c.reportId = reportId
 44362  	return c
 44363  }
 44364  
 44365  // Fields allows partial responses to be retrieved. See
 44366  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44367  // for more information.
 44368  func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
 44369  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44370  	return c
 44371  }
 44372  
 44373  // IfNoneMatch sets the optional parameter which makes the operation
 44374  // fail if the object's ETag matches the given value. This is useful for
 44375  // getting updates only after the object has changed since the last
 44376  // request. Use googleapi.IsNotModified to check whether the response
 44377  // error from Do is the result of In-None-Match.
 44378  func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
 44379  	c.ifNoneMatch_ = entityTag
 44380  	return c
 44381  }
 44382  
 44383  // Context sets the context to be used in this call's Do method. Any
 44384  // pending HTTP request will be aborted if the provided context is
 44385  // canceled.
 44386  func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 44387  	c.ctx_ = ctx
 44388  	return c
 44389  }
 44390  
 44391  // Header returns an http.Header that can be modified by the caller to
 44392  // add HTTP headers to the request.
 44393  func (c *ReportsGetCall) Header() http.Header {
 44394  	if c.header_ == nil {
 44395  		c.header_ = make(http.Header)
 44396  	}
 44397  	return c.header_
 44398  }
 44399  
 44400  func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 44401  	reqHeaders := make(http.Header)
 44402  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44403  	for k, v := range c.header_ {
 44404  		reqHeaders[k] = v
 44405  	}
 44406  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44407  	if c.ifNoneMatch_ != "" {
 44408  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44409  	}
 44410  	var body io.Reader = nil
 44411  	c.urlParams_.Set("alt", alt)
 44412  	c.urlParams_.Set("prettyPrint", "false")
 44413  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44414  	urls += "?" + c.urlParams_.Encode()
 44415  	req, err := http.NewRequest("GET", urls, body)
 44416  	if err != nil {
 44417  		return nil, err
 44418  	}
 44419  	req.Header = reqHeaders
 44420  	googleapi.Expand(req.URL, map[string]string{
 44421  		"profileId": strconv.FormatInt(c.profileId, 10),
 44422  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44423  	})
 44424  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44425  }
 44426  
 44427  // Do executes the "dfareporting.reports.get" call.
 44428  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44429  // code is an error. Response headers are in either
 44430  // *Report.ServerResponse.Header or (if a response was returned at all)
 44431  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44432  // check whether the returned error was because http.StatusNotModified
 44433  // was returned.
 44434  func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44435  	gensupport.SetOptions(c.urlParams_, opts...)
 44436  	res, err := c.doRequest("json")
 44437  	if res != nil && res.StatusCode == http.StatusNotModified {
 44438  		if res.Body != nil {
 44439  			res.Body.Close()
 44440  		}
 44441  		return nil, &googleapi.Error{
 44442  			Code:   res.StatusCode,
 44443  			Header: res.Header,
 44444  		}
 44445  	}
 44446  	if err != nil {
 44447  		return nil, err
 44448  	}
 44449  	defer googleapi.CloseBody(res)
 44450  	if err := googleapi.CheckResponse(res); err != nil {
 44451  		return nil, err
 44452  	}
 44453  	ret := &Report{
 44454  		ServerResponse: googleapi.ServerResponse{
 44455  			Header:         res.Header,
 44456  			HTTPStatusCode: res.StatusCode,
 44457  		},
 44458  	}
 44459  	target := &ret
 44460  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44461  		return nil, err
 44462  	}
 44463  	return ret, nil
 44464  	// {
 44465  	//   "description": "Retrieves a report by its ID.",
 44466  	//   "httpMethod": "GET",
 44467  	//   "id": "dfareporting.reports.get",
 44468  	//   "parameterOrder": [
 44469  	//     "profileId",
 44470  	//     "reportId"
 44471  	//   ],
 44472  	//   "parameters": {
 44473  	//     "profileId": {
 44474  	//       "description": "The DFA user profile ID.",
 44475  	//       "format": "int64",
 44476  	//       "location": "path",
 44477  	//       "required": true,
 44478  	//       "type": "string"
 44479  	//     },
 44480  	//     "reportId": {
 44481  	//       "description": "The ID of the report.",
 44482  	//       "format": "int64",
 44483  	//       "location": "path",
 44484  	//       "required": true,
 44485  	//       "type": "string"
 44486  	//     }
 44487  	//   },
 44488  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44489  	//   "response": {
 44490  	//     "$ref": "Report"
 44491  	//   },
 44492  	//   "scopes": [
 44493  	//     "https://www.googleapis.com/auth/dfareporting"
 44494  	//   ]
 44495  	// }
 44496  
 44497  }
 44498  
 44499  // method id "dfareporting.reports.insert":
 44500  
 44501  type ReportsInsertCall struct {
 44502  	s          *Service
 44503  	profileId  int64
 44504  	report     *Report
 44505  	urlParams_ gensupport.URLParams
 44506  	ctx_       context.Context
 44507  	header_    http.Header
 44508  }
 44509  
 44510  // Insert: Creates a report.
 44511  func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
 44512  	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44513  	c.profileId = profileId
 44514  	c.report = report
 44515  	return c
 44516  }
 44517  
 44518  // Fields allows partial responses to be retrieved. See
 44519  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44520  // for more information.
 44521  func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
 44522  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44523  	return c
 44524  }
 44525  
 44526  // Context sets the context to be used in this call's Do method. Any
 44527  // pending HTTP request will be aborted if the provided context is
 44528  // canceled.
 44529  func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 44530  	c.ctx_ = ctx
 44531  	return c
 44532  }
 44533  
 44534  // Header returns an http.Header that can be modified by the caller to
 44535  // add HTTP headers to the request.
 44536  func (c *ReportsInsertCall) Header() http.Header {
 44537  	if c.header_ == nil {
 44538  		c.header_ = make(http.Header)
 44539  	}
 44540  	return c.header_
 44541  }
 44542  
 44543  func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 44544  	reqHeaders := make(http.Header)
 44545  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44546  	for k, v := range c.header_ {
 44547  		reqHeaders[k] = v
 44548  	}
 44549  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44550  	var body io.Reader = nil
 44551  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44552  	if err != nil {
 44553  		return nil, err
 44554  	}
 44555  	reqHeaders.Set("Content-Type", "application/json")
 44556  	c.urlParams_.Set("alt", alt)
 44557  	c.urlParams_.Set("prettyPrint", "false")
 44558  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 44559  	urls += "?" + c.urlParams_.Encode()
 44560  	req, err := http.NewRequest("POST", urls, body)
 44561  	if err != nil {
 44562  		return nil, err
 44563  	}
 44564  	req.Header = reqHeaders
 44565  	googleapi.Expand(req.URL, map[string]string{
 44566  		"profileId": strconv.FormatInt(c.profileId, 10),
 44567  	})
 44568  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44569  }
 44570  
 44571  // Do executes the "dfareporting.reports.insert" call.
 44572  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44573  // code is an error. Response headers are in either
 44574  // *Report.ServerResponse.Header or (if a response was returned at all)
 44575  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44576  // check whether the returned error was because http.StatusNotModified
 44577  // was returned.
 44578  func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44579  	gensupport.SetOptions(c.urlParams_, opts...)
 44580  	res, err := c.doRequest("json")
 44581  	if res != nil && res.StatusCode == http.StatusNotModified {
 44582  		if res.Body != nil {
 44583  			res.Body.Close()
 44584  		}
 44585  		return nil, &googleapi.Error{
 44586  			Code:   res.StatusCode,
 44587  			Header: res.Header,
 44588  		}
 44589  	}
 44590  	if err != nil {
 44591  		return nil, err
 44592  	}
 44593  	defer googleapi.CloseBody(res)
 44594  	if err := googleapi.CheckResponse(res); err != nil {
 44595  		return nil, err
 44596  	}
 44597  	ret := &Report{
 44598  		ServerResponse: googleapi.ServerResponse{
 44599  			Header:         res.Header,
 44600  			HTTPStatusCode: res.StatusCode,
 44601  		},
 44602  	}
 44603  	target := &ret
 44604  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44605  		return nil, err
 44606  	}
 44607  	return ret, nil
 44608  	// {
 44609  	//   "description": "Creates a report.",
 44610  	//   "httpMethod": "POST",
 44611  	//   "id": "dfareporting.reports.insert",
 44612  	//   "parameterOrder": [
 44613  	//     "profileId"
 44614  	//   ],
 44615  	//   "parameters": {
 44616  	//     "profileId": {
 44617  	//       "description": "The DFA user profile ID.",
 44618  	//       "format": "int64",
 44619  	//       "location": "path",
 44620  	//       "required": true,
 44621  	//       "type": "string"
 44622  	//     }
 44623  	//   },
 44624  	//   "path": "userprofiles/{profileId}/reports",
 44625  	//   "request": {
 44626  	//     "$ref": "Report"
 44627  	//   },
 44628  	//   "response": {
 44629  	//     "$ref": "Report"
 44630  	//   },
 44631  	//   "scopes": [
 44632  	//     "https://www.googleapis.com/auth/dfareporting"
 44633  	//   ]
 44634  	// }
 44635  
 44636  }
 44637  
 44638  // method id "dfareporting.reports.list":
 44639  
 44640  type ReportsListCall struct {
 44641  	s            *Service
 44642  	profileId    int64
 44643  	urlParams_   gensupport.URLParams
 44644  	ifNoneMatch_ string
 44645  	ctx_         context.Context
 44646  	header_      http.Header
 44647  }
 44648  
 44649  // List: Retrieves list of reports.
 44650  func (r *ReportsService) List(profileId int64) *ReportsListCall {
 44651  	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44652  	c.profileId = profileId
 44653  	return c
 44654  }
 44655  
 44656  // MaxResults sets the optional parameter "maxResults": Maximum number
 44657  // of results to return.
 44658  func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
 44659  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 44660  	return c
 44661  }
 44662  
 44663  // PageToken sets the optional parameter "pageToken": The value of the
 44664  // nextToken from the previous result page.
 44665  func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
 44666  	c.urlParams_.Set("pageToken", pageToken)
 44667  	return c
 44668  }
 44669  
 44670  // Scope sets the optional parameter "scope": The scope that defines
 44671  // which results are returned.
 44672  //
 44673  // Possible values:
 44674  //
 44675  //	"ALL" - All reports in account.
 44676  //	"MINE" (default) - My reports.
 44677  func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
 44678  	c.urlParams_.Set("scope", scope)
 44679  	return c
 44680  }
 44681  
 44682  // SortField sets the optional parameter "sortField": The field by which
 44683  // to sort the list.
 44684  //
 44685  // Possible values:
 44686  //
 44687  //	"ID" - Sort by report ID.
 44688  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 44689  //	"NAME" - Sort by name of reports.
 44690  func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
 44691  	c.urlParams_.Set("sortField", sortField)
 44692  	return c
 44693  }
 44694  
 44695  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 44696  // results.
 44697  //
 44698  // Possible values:
 44699  //
 44700  //	"ASCENDING" - Ascending order.
 44701  //	"DESCENDING" (default) - Descending order.
 44702  func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
 44703  	c.urlParams_.Set("sortOrder", sortOrder)
 44704  	return c
 44705  }
 44706  
 44707  // Fields allows partial responses to be retrieved. See
 44708  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44709  // for more information.
 44710  func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
 44711  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44712  	return c
 44713  }
 44714  
 44715  // IfNoneMatch sets the optional parameter which makes the operation
 44716  // fail if the object's ETag matches the given value. This is useful for
 44717  // getting updates only after the object has changed since the last
 44718  // request. Use googleapi.IsNotModified to check whether the response
 44719  // error from Do is the result of In-None-Match.
 44720  func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
 44721  	c.ifNoneMatch_ = entityTag
 44722  	return c
 44723  }
 44724  
 44725  // Context sets the context to be used in this call's Do method. Any
 44726  // pending HTTP request will be aborted if the provided context is
 44727  // canceled.
 44728  func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 44729  	c.ctx_ = ctx
 44730  	return c
 44731  }
 44732  
 44733  // Header returns an http.Header that can be modified by the caller to
 44734  // add HTTP headers to the request.
 44735  func (c *ReportsListCall) Header() http.Header {
 44736  	if c.header_ == nil {
 44737  		c.header_ = make(http.Header)
 44738  	}
 44739  	return c.header_
 44740  }
 44741  
 44742  func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 44743  	reqHeaders := make(http.Header)
 44744  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44745  	for k, v := range c.header_ {
 44746  		reqHeaders[k] = v
 44747  	}
 44748  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44749  	if c.ifNoneMatch_ != "" {
 44750  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44751  	}
 44752  	var body io.Reader = nil
 44753  	c.urlParams_.Set("alt", alt)
 44754  	c.urlParams_.Set("prettyPrint", "false")
 44755  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 44756  	urls += "?" + c.urlParams_.Encode()
 44757  	req, err := http.NewRequest("GET", urls, body)
 44758  	if err != nil {
 44759  		return nil, err
 44760  	}
 44761  	req.Header = reqHeaders
 44762  	googleapi.Expand(req.URL, map[string]string{
 44763  		"profileId": strconv.FormatInt(c.profileId, 10),
 44764  	})
 44765  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44766  }
 44767  
 44768  // Do executes the "dfareporting.reports.list" call.
 44769  // Exactly one of *ReportList or error will be non-nil. Any non-2xx
 44770  // status code is an error. Response headers are in either
 44771  // *ReportList.ServerResponse.Header or (if a response was returned at
 44772  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 44773  // to check whether the returned error was because
 44774  // http.StatusNotModified was returned.
 44775  func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
 44776  	gensupport.SetOptions(c.urlParams_, opts...)
 44777  	res, err := c.doRequest("json")
 44778  	if res != nil && res.StatusCode == http.StatusNotModified {
 44779  		if res.Body != nil {
 44780  			res.Body.Close()
 44781  		}
 44782  		return nil, &googleapi.Error{
 44783  			Code:   res.StatusCode,
 44784  			Header: res.Header,
 44785  		}
 44786  	}
 44787  	if err != nil {
 44788  		return nil, err
 44789  	}
 44790  	defer googleapi.CloseBody(res)
 44791  	if err := googleapi.CheckResponse(res); err != nil {
 44792  		return nil, err
 44793  	}
 44794  	ret := &ReportList{
 44795  		ServerResponse: googleapi.ServerResponse{
 44796  			Header:         res.Header,
 44797  			HTTPStatusCode: res.StatusCode,
 44798  		},
 44799  	}
 44800  	target := &ret
 44801  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44802  		return nil, err
 44803  	}
 44804  	return ret, nil
 44805  	// {
 44806  	//   "description": "Retrieves list of reports.",
 44807  	//   "httpMethod": "GET",
 44808  	//   "id": "dfareporting.reports.list",
 44809  	//   "parameterOrder": [
 44810  	//     "profileId"
 44811  	//   ],
 44812  	//   "parameters": {
 44813  	//     "maxResults": {
 44814  	//       "default": "10",
 44815  	//       "description": "Maximum number of results to return.",
 44816  	//       "format": "int32",
 44817  	//       "location": "query",
 44818  	//       "maximum": "10",
 44819  	//       "minimum": "0",
 44820  	//       "type": "integer"
 44821  	//     },
 44822  	//     "pageToken": {
 44823  	//       "description": "The value of the nextToken from the previous result page.",
 44824  	//       "location": "query",
 44825  	//       "type": "string"
 44826  	//     },
 44827  	//     "profileId": {
 44828  	//       "description": "The DFA user profile ID.",
 44829  	//       "format": "int64",
 44830  	//       "location": "path",
 44831  	//       "required": true,
 44832  	//       "type": "string"
 44833  	//     },
 44834  	//     "scope": {
 44835  	//       "default": "MINE",
 44836  	//       "description": "The scope that defines which results are returned.",
 44837  	//       "enum": [
 44838  	//         "ALL",
 44839  	//         "MINE"
 44840  	//       ],
 44841  	//       "enumDescriptions": [
 44842  	//         "All reports in account.",
 44843  	//         "My reports."
 44844  	//       ],
 44845  	//       "location": "query",
 44846  	//       "type": "string"
 44847  	//     },
 44848  	//     "sortField": {
 44849  	//       "default": "LAST_MODIFIED_TIME",
 44850  	//       "description": "The field by which to sort the list.",
 44851  	//       "enum": [
 44852  	//         "ID",
 44853  	//         "LAST_MODIFIED_TIME",
 44854  	//         "NAME"
 44855  	//       ],
 44856  	//       "enumDescriptions": [
 44857  	//         "Sort by report ID.",
 44858  	//         "Sort by 'lastModifiedTime' field.",
 44859  	//         "Sort by name of reports."
 44860  	//       ],
 44861  	//       "location": "query",
 44862  	//       "type": "string"
 44863  	//     },
 44864  	//     "sortOrder": {
 44865  	//       "default": "DESCENDING",
 44866  	//       "description": "Order of sorted results.",
 44867  	//       "enum": [
 44868  	//         "ASCENDING",
 44869  	//         "DESCENDING"
 44870  	//       ],
 44871  	//       "enumDescriptions": [
 44872  	//         "Ascending order.",
 44873  	//         "Descending order."
 44874  	//       ],
 44875  	//       "location": "query",
 44876  	//       "type": "string"
 44877  	//     }
 44878  	//   },
 44879  	//   "path": "userprofiles/{profileId}/reports",
 44880  	//   "response": {
 44881  	//     "$ref": "ReportList"
 44882  	//   },
 44883  	//   "scopes": [
 44884  	//     "https://www.googleapis.com/auth/dfareporting"
 44885  	//   ]
 44886  	// }
 44887  
 44888  }
 44889  
 44890  // Pages invokes f for each page of results.
 44891  // A non-nil error returned from f will halt the iteration.
 44892  // The provided context supersedes any context provided to the Context method.
 44893  func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
 44894  	c.ctx_ = ctx
 44895  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 44896  	for {
 44897  		x, err := c.Do()
 44898  		if err != nil {
 44899  			return err
 44900  		}
 44901  		if err := f(x); err != nil {
 44902  			return err
 44903  		}
 44904  		if x.NextPageToken == "" {
 44905  			return nil
 44906  		}
 44907  		c.PageToken(x.NextPageToken)
 44908  	}
 44909  }
 44910  
 44911  // method id "dfareporting.reports.patch":
 44912  
 44913  type ReportsPatchCall struct {
 44914  	s          *Service
 44915  	profileId  int64
 44916  	reportId   int64
 44917  	report     *Report
 44918  	urlParams_ gensupport.URLParams
 44919  	ctx_       context.Context
 44920  	header_    http.Header
 44921  }
 44922  
 44923  // Patch: Updates a report. This method supports patch semantics.
 44924  func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
 44925  	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44926  	c.profileId = profileId
 44927  	c.reportId = reportId
 44928  	c.report = report
 44929  	return c
 44930  }
 44931  
 44932  // Fields allows partial responses to be retrieved. See
 44933  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44934  // for more information.
 44935  func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
 44936  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44937  	return c
 44938  }
 44939  
 44940  // Context sets the context to be used in this call's Do method. Any
 44941  // pending HTTP request will be aborted if the provided context is
 44942  // canceled.
 44943  func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 44944  	c.ctx_ = ctx
 44945  	return c
 44946  }
 44947  
 44948  // Header returns an http.Header that can be modified by the caller to
 44949  // add HTTP headers to the request.
 44950  func (c *ReportsPatchCall) Header() http.Header {
 44951  	if c.header_ == nil {
 44952  		c.header_ = make(http.Header)
 44953  	}
 44954  	return c.header_
 44955  }
 44956  
 44957  func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
 44958  	reqHeaders := make(http.Header)
 44959  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 44960  	for k, v := range c.header_ {
 44961  		reqHeaders[k] = v
 44962  	}
 44963  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44964  	var body io.Reader = nil
 44965  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44966  	if err != nil {
 44967  		return nil, err
 44968  	}
 44969  	reqHeaders.Set("Content-Type", "application/json")
 44970  	c.urlParams_.Set("alt", alt)
 44971  	c.urlParams_.Set("prettyPrint", "false")
 44972  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44973  	urls += "?" + c.urlParams_.Encode()
 44974  	req, err := http.NewRequest("PATCH", urls, body)
 44975  	if err != nil {
 44976  		return nil, err
 44977  	}
 44978  	req.Header = reqHeaders
 44979  	googleapi.Expand(req.URL, map[string]string{
 44980  		"profileId": strconv.FormatInt(c.profileId, 10),
 44981  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44982  	})
 44983  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44984  }
 44985  
 44986  // Do executes the "dfareporting.reports.patch" call.
 44987  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44988  // code is an error. Response headers are in either
 44989  // *Report.ServerResponse.Header or (if a response was returned at all)
 44990  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44991  // check whether the returned error was because http.StatusNotModified
 44992  // was returned.
 44993  func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44994  	gensupport.SetOptions(c.urlParams_, opts...)
 44995  	res, err := c.doRequest("json")
 44996  	if res != nil && res.StatusCode == http.StatusNotModified {
 44997  		if res.Body != nil {
 44998  			res.Body.Close()
 44999  		}
 45000  		return nil, &googleapi.Error{
 45001  			Code:   res.StatusCode,
 45002  			Header: res.Header,
 45003  		}
 45004  	}
 45005  	if err != nil {
 45006  		return nil, err
 45007  	}
 45008  	defer googleapi.CloseBody(res)
 45009  	if err := googleapi.CheckResponse(res); err != nil {
 45010  		return nil, err
 45011  	}
 45012  	ret := &Report{
 45013  		ServerResponse: googleapi.ServerResponse{
 45014  			Header:         res.Header,
 45015  			HTTPStatusCode: res.StatusCode,
 45016  		},
 45017  	}
 45018  	target := &ret
 45019  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45020  		return nil, err
 45021  	}
 45022  	return ret, nil
 45023  	// {
 45024  	//   "description": "Updates a report. This method supports patch semantics.",
 45025  	//   "httpMethod": "PATCH",
 45026  	//   "id": "dfareporting.reports.patch",
 45027  	//   "parameterOrder": [
 45028  	//     "profileId",
 45029  	//     "reportId"
 45030  	//   ],
 45031  	//   "parameters": {
 45032  	//     "profileId": {
 45033  	//       "description": "The DFA user profile ID.",
 45034  	//       "format": "int64",
 45035  	//       "location": "path",
 45036  	//       "required": true,
 45037  	//       "type": "string"
 45038  	//     },
 45039  	//     "reportId": {
 45040  	//       "description": "The ID of the report.",
 45041  	//       "format": "int64",
 45042  	//       "location": "path",
 45043  	//       "required": true,
 45044  	//       "type": "string"
 45045  	//     }
 45046  	//   },
 45047  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 45048  	//   "request": {
 45049  	//     "$ref": "Report"
 45050  	//   },
 45051  	//   "response": {
 45052  	//     "$ref": "Report"
 45053  	//   },
 45054  	//   "scopes": [
 45055  	//     "https://www.googleapis.com/auth/dfareporting"
 45056  	//   ]
 45057  	// }
 45058  
 45059  }
 45060  
 45061  // method id "dfareporting.reports.run":
 45062  
 45063  type ReportsRunCall struct {
 45064  	s          *Service
 45065  	profileId  int64
 45066  	reportId   int64
 45067  	urlParams_ gensupport.URLParams
 45068  	ctx_       context.Context
 45069  	header_    http.Header
 45070  }
 45071  
 45072  // Run: Runs a report.
 45073  func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
 45074  	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45075  	c.profileId = profileId
 45076  	c.reportId = reportId
 45077  	return c
 45078  }
 45079  
 45080  // Synchronous sets the optional parameter "synchronous": If set and
 45081  // true, tries to run the report synchronously.
 45082  func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
 45083  	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
 45084  	return c
 45085  }
 45086  
 45087  // Fields allows partial responses to be retrieved. See
 45088  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45089  // for more information.
 45090  func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
 45091  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45092  	return c
 45093  }
 45094  
 45095  // Context sets the context to be used in this call's Do method. Any
 45096  // pending HTTP request will be aborted if the provided context is
 45097  // canceled.
 45098  func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 45099  	c.ctx_ = ctx
 45100  	return c
 45101  }
 45102  
 45103  // Header returns an http.Header that can be modified by the caller to
 45104  // add HTTP headers to the request.
 45105  func (c *ReportsRunCall) Header() http.Header {
 45106  	if c.header_ == nil {
 45107  		c.header_ = make(http.Header)
 45108  	}
 45109  	return c.header_
 45110  }
 45111  
 45112  func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 45113  	reqHeaders := make(http.Header)
 45114  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45115  	for k, v := range c.header_ {
 45116  		reqHeaders[k] = v
 45117  	}
 45118  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45119  	var body io.Reader = nil
 45120  	c.urlParams_.Set("alt", alt)
 45121  	c.urlParams_.Set("prettyPrint", "false")
 45122  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
 45123  	urls += "?" + c.urlParams_.Encode()
 45124  	req, err := http.NewRequest("POST", urls, body)
 45125  	if err != nil {
 45126  		return nil, err
 45127  	}
 45128  	req.Header = reqHeaders
 45129  	googleapi.Expand(req.URL, map[string]string{
 45130  		"profileId": strconv.FormatInt(c.profileId, 10),
 45131  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45132  	})
 45133  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45134  }
 45135  
 45136  // Do executes the "dfareporting.reports.run" call.
 45137  // Exactly one of *File or error will be non-nil. Any non-2xx status
 45138  // code is an error. Response headers are in either
 45139  // *File.ServerResponse.Header or (if a response was returned at all) in
 45140  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45141  // whether the returned error was because http.StatusNotModified was
 45142  // returned.
 45143  func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
 45144  	gensupport.SetOptions(c.urlParams_, opts...)
 45145  	res, err := c.doRequest("json")
 45146  	if res != nil && res.StatusCode == http.StatusNotModified {
 45147  		if res.Body != nil {
 45148  			res.Body.Close()
 45149  		}
 45150  		return nil, &googleapi.Error{
 45151  			Code:   res.StatusCode,
 45152  			Header: res.Header,
 45153  		}
 45154  	}
 45155  	if err != nil {
 45156  		return nil, err
 45157  	}
 45158  	defer googleapi.CloseBody(res)
 45159  	if err := googleapi.CheckResponse(res); err != nil {
 45160  		return nil, err
 45161  	}
 45162  	ret := &File{
 45163  		ServerResponse: googleapi.ServerResponse{
 45164  			Header:         res.Header,
 45165  			HTTPStatusCode: res.StatusCode,
 45166  		},
 45167  	}
 45168  	target := &ret
 45169  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45170  		return nil, err
 45171  	}
 45172  	return ret, nil
 45173  	// {
 45174  	//   "description": "Runs a report.",
 45175  	//   "httpMethod": "POST",
 45176  	//   "id": "dfareporting.reports.run",
 45177  	//   "parameterOrder": [
 45178  	//     "profileId",
 45179  	//     "reportId"
 45180  	//   ],
 45181  	//   "parameters": {
 45182  	//     "profileId": {
 45183  	//       "description": "The DFA profile ID.",
 45184  	//       "format": "int64",
 45185  	//       "location": "path",
 45186  	//       "required": true,
 45187  	//       "type": "string"
 45188  	//     },
 45189  	//     "reportId": {
 45190  	//       "description": "The ID of the report.",
 45191  	//       "format": "int64",
 45192  	//       "location": "path",
 45193  	//       "required": true,
 45194  	//       "type": "string"
 45195  	//     },
 45196  	//     "synchronous": {
 45197  	//       "default": "false",
 45198  	//       "description": "If set and true, tries to run the report synchronously.",
 45199  	//       "location": "query",
 45200  	//       "type": "boolean"
 45201  	//     }
 45202  	//   },
 45203  	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
 45204  	//   "response": {
 45205  	//     "$ref": "File"
 45206  	//   },
 45207  	//   "scopes": [
 45208  	//     "https://www.googleapis.com/auth/dfareporting"
 45209  	//   ]
 45210  	// }
 45211  
 45212  }
 45213  
 45214  // method id "dfareporting.reports.update":
 45215  
 45216  type ReportsUpdateCall struct {
 45217  	s          *Service
 45218  	profileId  int64
 45219  	reportId   int64
 45220  	report     *Report
 45221  	urlParams_ gensupport.URLParams
 45222  	ctx_       context.Context
 45223  	header_    http.Header
 45224  }
 45225  
 45226  // Update: Updates a report.
 45227  func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
 45228  	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45229  	c.profileId = profileId
 45230  	c.reportId = reportId
 45231  	c.report = report
 45232  	return c
 45233  }
 45234  
 45235  // Fields allows partial responses to be retrieved. See
 45236  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45237  // for more information.
 45238  func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
 45239  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45240  	return c
 45241  }
 45242  
 45243  // Context sets the context to be used in this call's Do method. Any
 45244  // pending HTTP request will be aborted if the provided context is
 45245  // canceled.
 45246  func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 45247  	c.ctx_ = ctx
 45248  	return c
 45249  }
 45250  
 45251  // Header returns an http.Header that can be modified by the caller to
 45252  // add HTTP headers to the request.
 45253  func (c *ReportsUpdateCall) Header() http.Header {
 45254  	if c.header_ == nil {
 45255  		c.header_ = make(http.Header)
 45256  	}
 45257  	return c.header_
 45258  }
 45259  
 45260  func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 45261  	reqHeaders := make(http.Header)
 45262  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45263  	for k, v := range c.header_ {
 45264  		reqHeaders[k] = v
 45265  	}
 45266  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45267  	var body io.Reader = nil
 45268  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 45269  	if err != nil {
 45270  		return nil, err
 45271  	}
 45272  	reqHeaders.Set("Content-Type", "application/json")
 45273  	c.urlParams_.Set("alt", alt)
 45274  	c.urlParams_.Set("prettyPrint", "false")
 45275  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 45276  	urls += "?" + c.urlParams_.Encode()
 45277  	req, err := http.NewRequest("PUT", urls, body)
 45278  	if err != nil {
 45279  		return nil, err
 45280  	}
 45281  	req.Header = reqHeaders
 45282  	googleapi.Expand(req.URL, map[string]string{
 45283  		"profileId": strconv.FormatInt(c.profileId, 10),
 45284  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45285  	})
 45286  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45287  }
 45288  
 45289  // Do executes the "dfareporting.reports.update" call.
 45290  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 45291  // code is an error. Response headers are in either
 45292  // *Report.ServerResponse.Header or (if a response was returned at all)
 45293  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 45294  // check whether the returned error was because http.StatusNotModified
 45295  // was returned.
 45296  func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 45297  	gensupport.SetOptions(c.urlParams_, opts...)
 45298  	res, err := c.doRequest("json")
 45299  	if res != nil && res.StatusCode == http.StatusNotModified {
 45300  		if res.Body != nil {
 45301  			res.Body.Close()
 45302  		}
 45303  		return nil, &googleapi.Error{
 45304  			Code:   res.StatusCode,
 45305  			Header: res.Header,
 45306  		}
 45307  	}
 45308  	if err != nil {
 45309  		return nil, err
 45310  	}
 45311  	defer googleapi.CloseBody(res)
 45312  	if err := googleapi.CheckResponse(res); err != nil {
 45313  		return nil, err
 45314  	}
 45315  	ret := &Report{
 45316  		ServerResponse: googleapi.ServerResponse{
 45317  			Header:         res.Header,
 45318  			HTTPStatusCode: res.StatusCode,
 45319  		},
 45320  	}
 45321  	target := &ret
 45322  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45323  		return nil, err
 45324  	}
 45325  	return ret, nil
 45326  	// {
 45327  	//   "description": "Updates a report.",
 45328  	//   "httpMethod": "PUT",
 45329  	//   "id": "dfareporting.reports.update",
 45330  	//   "parameterOrder": [
 45331  	//     "profileId",
 45332  	//     "reportId"
 45333  	//   ],
 45334  	//   "parameters": {
 45335  	//     "profileId": {
 45336  	//       "description": "The DFA user profile ID.",
 45337  	//       "format": "int64",
 45338  	//       "location": "path",
 45339  	//       "required": true,
 45340  	//       "type": "string"
 45341  	//     },
 45342  	//     "reportId": {
 45343  	//       "description": "The ID of the report.",
 45344  	//       "format": "int64",
 45345  	//       "location": "path",
 45346  	//       "required": true,
 45347  	//       "type": "string"
 45348  	//     }
 45349  	//   },
 45350  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 45351  	//   "request": {
 45352  	//     "$ref": "Report"
 45353  	//   },
 45354  	//   "response": {
 45355  	//     "$ref": "Report"
 45356  	//   },
 45357  	//   "scopes": [
 45358  	//     "https://www.googleapis.com/auth/dfareporting"
 45359  	//   ]
 45360  	// }
 45361  
 45362  }
 45363  
 45364  // method id "dfareporting.reports.compatibleFields.query":
 45365  
 45366  type ReportsCompatibleFieldsQueryCall struct {
 45367  	s          *Service
 45368  	profileId  int64
 45369  	report     *Report
 45370  	urlParams_ gensupport.URLParams
 45371  	ctx_       context.Context
 45372  	header_    http.Header
 45373  }
 45374  
 45375  // Query: Returns the fields that are compatible to be selected in the
 45376  // respective sections of a report criteria, given the fields already
 45377  // selected in the input report and user permissions.
 45378  func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
 45379  	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45380  	c.profileId = profileId
 45381  	c.report = report
 45382  	return c
 45383  }
 45384  
 45385  // Fields allows partial responses to be retrieved. See
 45386  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45387  // for more information.
 45388  func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
 45389  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45390  	return c
 45391  }
 45392  
 45393  // Context sets the context to be used in this call's Do method. Any
 45394  // pending HTTP request will be aborted if the provided context is
 45395  // canceled.
 45396  func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 45397  	c.ctx_ = ctx
 45398  	return c
 45399  }
 45400  
 45401  // Header returns an http.Header that can be modified by the caller to
 45402  // add HTTP headers to the request.
 45403  func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
 45404  	if c.header_ == nil {
 45405  		c.header_ = make(http.Header)
 45406  	}
 45407  	return c.header_
 45408  }
 45409  
 45410  func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
 45411  	reqHeaders := make(http.Header)
 45412  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45413  	for k, v := range c.header_ {
 45414  		reqHeaders[k] = v
 45415  	}
 45416  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45417  	var body io.Reader = nil
 45418  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 45419  	if err != nil {
 45420  		return nil, err
 45421  	}
 45422  	reqHeaders.Set("Content-Type", "application/json")
 45423  	c.urlParams_.Set("alt", alt)
 45424  	c.urlParams_.Set("prettyPrint", "false")
 45425  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
 45426  	urls += "?" + c.urlParams_.Encode()
 45427  	req, err := http.NewRequest("POST", urls, body)
 45428  	if err != nil {
 45429  		return nil, err
 45430  	}
 45431  	req.Header = reqHeaders
 45432  	googleapi.Expand(req.URL, map[string]string{
 45433  		"profileId": strconv.FormatInt(c.profileId, 10),
 45434  	})
 45435  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45436  }
 45437  
 45438  // Do executes the "dfareporting.reports.compatibleFields.query" call.
 45439  // Exactly one of *CompatibleFields or error will be non-nil. Any
 45440  // non-2xx status code is an error. Response headers are in either
 45441  // *CompatibleFields.ServerResponse.Header or (if a response was
 45442  // returned at all) in error.(*googleapi.Error).Header. Use
 45443  // googleapi.IsNotModified to check whether the returned error was
 45444  // because http.StatusNotModified was returned.
 45445  func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
 45446  	gensupport.SetOptions(c.urlParams_, opts...)
 45447  	res, err := c.doRequest("json")
 45448  	if res != nil && res.StatusCode == http.StatusNotModified {
 45449  		if res.Body != nil {
 45450  			res.Body.Close()
 45451  		}
 45452  		return nil, &googleapi.Error{
 45453  			Code:   res.StatusCode,
 45454  			Header: res.Header,
 45455  		}
 45456  	}
 45457  	if err != nil {
 45458  		return nil, err
 45459  	}
 45460  	defer googleapi.CloseBody(res)
 45461  	if err := googleapi.CheckResponse(res); err != nil {
 45462  		return nil, err
 45463  	}
 45464  	ret := &CompatibleFields{
 45465  		ServerResponse: googleapi.ServerResponse{
 45466  			Header:         res.Header,
 45467  			HTTPStatusCode: res.StatusCode,
 45468  		},
 45469  	}
 45470  	target := &ret
 45471  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45472  		return nil, err
 45473  	}
 45474  	return ret, nil
 45475  	// {
 45476  	//   "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.",
 45477  	//   "httpMethod": "POST",
 45478  	//   "id": "dfareporting.reports.compatibleFields.query",
 45479  	//   "parameterOrder": [
 45480  	//     "profileId"
 45481  	//   ],
 45482  	//   "parameters": {
 45483  	//     "profileId": {
 45484  	//       "description": "The DFA user profile ID.",
 45485  	//       "format": "int64",
 45486  	//       "location": "path",
 45487  	//       "required": true,
 45488  	//       "type": "string"
 45489  	//     }
 45490  	//   },
 45491  	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
 45492  	//   "request": {
 45493  	//     "$ref": "Report"
 45494  	//   },
 45495  	//   "response": {
 45496  	//     "$ref": "CompatibleFields"
 45497  	//   },
 45498  	//   "scopes": [
 45499  	//     "https://www.googleapis.com/auth/dfareporting"
 45500  	//   ]
 45501  	// }
 45502  
 45503  }
 45504  
 45505  // method id "dfareporting.reports.files.get":
 45506  
 45507  type ReportsFilesGetCall struct {
 45508  	s            *Service
 45509  	profileId    int64
 45510  	reportId     int64
 45511  	fileId       int64
 45512  	urlParams_   gensupport.URLParams
 45513  	ifNoneMatch_ string
 45514  	ctx_         context.Context
 45515  	header_      http.Header
 45516  }
 45517  
 45518  // Get: Retrieves a report file. This method supports media download.
 45519  func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
 45520  	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45521  	c.profileId = profileId
 45522  	c.reportId = reportId
 45523  	c.fileId = fileId
 45524  	return c
 45525  }
 45526  
 45527  // Fields allows partial responses to be retrieved. See
 45528  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45529  // for more information.
 45530  func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
 45531  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45532  	return c
 45533  }
 45534  
 45535  // IfNoneMatch sets the optional parameter which makes the operation
 45536  // fail if the object's ETag matches the given value. This is useful for
 45537  // getting updates only after the object has changed since the last
 45538  // request. Use googleapi.IsNotModified to check whether the response
 45539  // error from Do is the result of In-None-Match.
 45540  func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
 45541  	c.ifNoneMatch_ = entityTag
 45542  	return c
 45543  }
 45544  
 45545  // Context sets the context to be used in this call's Do and Download
 45546  // methods. Any pending HTTP request will be aborted if the provided
 45547  // context is canceled.
 45548  func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 45549  	c.ctx_ = ctx
 45550  	return c
 45551  }
 45552  
 45553  // Header returns an http.Header that can be modified by the caller to
 45554  // add HTTP headers to the request.
 45555  func (c *ReportsFilesGetCall) Header() http.Header {
 45556  	if c.header_ == nil {
 45557  		c.header_ = make(http.Header)
 45558  	}
 45559  	return c.header_
 45560  }
 45561  
 45562  func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 45563  	reqHeaders := make(http.Header)
 45564  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45565  	for k, v := range c.header_ {
 45566  		reqHeaders[k] = v
 45567  	}
 45568  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45569  	if c.ifNoneMatch_ != "" {
 45570  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45571  	}
 45572  	var body io.Reader = nil
 45573  	c.urlParams_.Set("alt", alt)
 45574  	c.urlParams_.Set("prettyPrint", "false")
 45575  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
 45576  	urls += "?" + c.urlParams_.Encode()
 45577  	req, err := http.NewRequest("GET", urls, body)
 45578  	if err != nil {
 45579  		return nil, err
 45580  	}
 45581  	req.Header = reqHeaders
 45582  	googleapi.Expand(req.URL, map[string]string{
 45583  		"profileId": strconv.FormatInt(c.profileId, 10),
 45584  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45585  		"fileId":    strconv.FormatInt(c.fileId, 10),
 45586  	})
 45587  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45588  }
 45589  
 45590  // Download fetches the API endpoint's "media" value, instead of the normal
 45591  // API response value. If the returned error is nil, the Response is guaranteed to
 45592  // have a 2xx status code. Callers must close the Response.Body as usual.
 45593  func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 45594  	gensupport.SetOptions(c.urlParams_, opts...)
 45595  	res, err := c.doRequest("media")
 45596  	if err != nil {
 45597  		return nil, err
 45598  	}
 45599  	if err := googleapi.CheckMediaResponse(res); err != nil {
 45600  		res.Body.Close()
 45601  		return nil, err
 45602  	}
 45603  	return res, nil
 45604  }
 45605  
 45606  // Do executes the "dfareporting.reports.files.get" call.
 45607  // Exactly one of *File or error will be non-nil. Any non-2xx status
 45608  // code is an error. Response headers are in either
 45609  // *File.ServerResponse.Header or (if a response was returned at all) in
 45610  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45611  // whether the returned error was because http.StatusNotModified was
 45612  // returned.
 45613  func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 45614  	gensupport.SetOptions(c.urlParams_, opts...)
 45615  	res, err := c.doRequest("json")
 45616  	if res != nil && res.StatusCode == http.StatusNotModified {
 45617  		if res.Body != nil {
 45618  			res.Body.Close()
 45619  		}
 45620  		return nil, &googleapi.Error{
 45621  			Code:   res.StatusCode,
 45622  			Header: res.Header,
 45623  		}
 45624  	}
 45625  	if err != nil {
 45626  		return nil, err
 45627  	}
 45628  	defer googleapi.CloseBody(res)
 45629  	if err := googleapi.CheckResponse(res); err != nil {
 45630  		return nil, err
 45631  	}
 45632  	ret := &File{
 45633  		ServerResponse: googleapi.ServerResponse{
 45634  			Header:         res.Header,
 45635  			HTTPStatusCode: res.StatusCode,
 45636  		},
 45637  	}
 45638  	target := &ret
 45639  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45640  		return nil, err
 45641  	}
 45642  	return ret, nil
 45643  	// {
 45644  	//   "description": "Retrieves a report file. This method supports media download.",
 45645  	//   "httpMethod": "GET",
 45646  	//   "id": "dfareporting.reports.files.get",
 45647  	//   "parameterOrder": [
 45648  	//     "profileId",
 45649  	//     "reportId",
 45650  	//     "fileId"
 45651  	//   ],
 45652  	//   "parameters": {
 45653  	//     "fileId": {
 45654  	//       "description": "The ID of the report file.",
 45655  	//       "format": "int64",
 45656  	//       "location": "path",
 45657  	//       "required": true,
 45658  	//       "type": "string"
 45659  	//     },
 45660  	//     "profileId": {
 45661  	//       "description": "The DFA profile ID.",
 45662  	//       "format": "int64",
 45663  	//       "location": "path",
 45664  	//       "required": true,
 45665  	//       "type": "string"
 45666  	//     },
 45667  	//     "reportId": {
 45668  	//       "description": "The ID of the report.",
 45669  	//       "format": "int64",
 45670  	//       "location": "path",
 45671  	//       "required": true,
 45672  	//       "type": "string"
 45673  	//     }
 45674  	//   },
 45675  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 45676  	//   "response": {
 45677  	//     "$ref": "File"
 45678  	//   },
 45679  	//   "scopes": [
 45680  	//     "https://www.googleapis.com/auth/dfareporting"
 45681  	//   ],
 45682  	//   "supportsMediaDownload": true
 45683  	// }
 45684  
 45685  }
 45686  
 45687  // method id "dfareporting.reports.files.list":
 45688  
 45689  type ReportsFilesListCall struct {
 45690  	s            *Service
 45691  	profileId    int64
 45692  	reportId     int64
 45693  	urlParams_   gensupport.URLParams
 45694  	ifNoneMatch_ string
 45695  	ctx_         context.Context
 45696  	header_      http.Header
 45697  }
 45698  
 45699  // List: Lists files for a report.
 45700  func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
 45701  	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45702  	c.profileId = profileId
 45703  	c.reportId = reportId
 45704  	return c
 45705  }
 45706  
 45707  // MaxResults sets the optional parameter "maxResults": Maximum number
 45708  // of results to return.
 45709  func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
 45710  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 45711  	return c
 45712  }
 45713  
 45714  // PageToken sets the optional parameter "pageToken": The value of the
 45715  // nextToken from the previous result page.
 45716  func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
 45717  	c.urlParams_.Set("pageToken", pageToken)
 45718  	return c
 45719  }
 45720  
 45721  // SortField sets the optional parameter "sortField": The field by which
 45722  // to sort the list.
 45723  //
 45724  // Possible values:
 45725  //
 45726  //	"ID" - Sort by file ID.
 45727  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 45728  func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
 45729  	c.urlParams_.Set("sortField", sortField)
 45730  	return c
 45731  }
 45732  
 45733  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 45734  // results.
 45735  //
 45736  // Possible values:
 45737  //
 45738  //	"ASCENDING" - Ascending order.
 45739  //	"DESCENDING" (default) - Descending order.
 45740  func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
 45741  	c.urlParams_.Set("sortOrder", sortOrder)
 45742  	return c
 45743  }
 45744  
 45745  // Fields allows partial responses to be retrieved. See
 45746  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45747  // for more information.
 45748  func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
 45749  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45750  	return c
 45751  }
 45752  
 45753  // IfNoneMatch sets the optional parameter which makes the operation
 45754  // fail if the object's ETag matches the given value. This is useful for
 45755  // getting updates only after the object has changed since the last
 45756  // request. Use googleapi.IsNotModified to check whether the response
 45757  // error from Do is the result of In-None-Match.
 45758  func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
 45759  	c.ifNoneMatch_ = entityTag
 45760  	return c
 45761  }
 45762  
 45763  // Context sets the context to be used in this call's Do method. Any
 45764  // pending HTTP request will be aborted if the provided context is
 45765  // canceled.
 45766  func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 45767  	c.ctx_ = ctx
 45768  	return c
 45769  }
 45770  
 45771  // Header returns an http.Header that can be modified by the caller to
 45772  // add HTTP headers to the request.
 45773  func (c *ReportsFilesListCall) Header() http.Header {
 45774  	if c.header_ == nil {
 45775  		c.header_ = make(http.Header)
 45776  	}
 45777  	return c.header_
 45778  }
 45779  
 45780  func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 45781  	reqHeaders := make(http.Header)
 45782  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 45783  	for k, v := range c.header_ {
 45784  		reqHeaders[k] = v
 45785  	}
 45786  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45787  	if c.ifNoneMatch_ != "" {
 45788  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45789  	}
 45790  	var body io.Reader = nil
 45791  	c.urlParams_.Set("alt", alt)
 45792  	c.urlParams_.Set("prettyPrint", "false")
 45793  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
 45794  	urls += "?" + c.urlParams_.Encode()
 45795  	req, err := http.NewRequest("GET", urls, body)
 45796  	if err != nil {
 45797  		return nil, err
 45798  	}
 45799  	req.Header = reqHeaders
 45800  	googleapi.Expand(req.URL, map[string]string{
 45801  		"profileId": strconv.FormatInt(c.profileId, 10),
 45802  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45803  	})
 45804  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45805  }
 45806  
 45807  // Do executes the "dfareporting.reports.files.list" call.
 45808  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 45809  // code is an error. Response headers are in either
 45810  // *FileList.ServerResponse.Header or (if a response was returned at
 45811  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 45812  // to check whether the returned error was because
 45813  // http.StatusNotModified was returned.
 45814  func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 45815  	gensupport.SetOptions(c.urlParams_, opts...)
 45816  	res, err := c.doRequest("json")
 45817  	if res != nil && res.StatusCode == http.StatusNotModified {
 45818  		if res.Body != nil {
 45819  			res.Body.Close()
 45820  		}
 45821  		return nil, &googleapi.Error{
 45822  			Code:   res.StatusCode,
 45823  			Header: res.Header,
 45824  		}
 45825  	}
 45826  	if err != nil {
 45827  		return nil, err
 45828  	}
 45829  	defer googleapi.CloseBody(res)
 45830  	if err := googleapi.CheckResponse(res); err != nil {
 45831  		return nil, err
 45832  	}
 45833  	ret := &FileList{
 45834  		ServerResponse: googleapi.ServerResponse{
 45835  			Header:         res.Header,
 45836  			HTTPStatusCode: res.StatusCode,
 45837  		},
 45838  	}
 45839  	target := &ret
 45840  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45841  		return nil, err
 45842  	}
 45843  	return ret, nil
 45844  	// {
 45845  	//   "description": "Lists files for a report.",
 45846  	//   "httpMethod": "GET",
 45847  	//   "id": "dfareporting.reports.files.list",
 45848  	//   "parameterOrder": [
 45849  	//     "profileId",
 45850  	//     "reportId"
 45851  	//   ],
 45852  	//   "parameters": {
 45853  	//     "maxResults": {
 45854  	//       "default": "10",
 45855  	//       "description": "Maximum number of results to return.",
 45856  	//       "format": "int32",
 45857  	//       "location": "query",
 45858  	//       "maximum": "10",
 45859  	//       "minimum": "0",
 45860  	//       "type": "integer"
 45861  	//     },
 45862  	//     "pageToken": {
 45863  	//       "description": "The value of the nextToken from the previous result page.",
 45864  	//       "location": "query",
 45865  	//       "type": "string"
 45866  	//     },
 45867  	//     "profileId": {
 45868  	//       "description": "The DFA profile ID.",
 45869  	//       "format": "int64",
 45870  	//       "location": "path",
 45871  	//       "required": true,
 45872  	//       "type": "string"
 45873  	//     },
 45874  	//     "reportId": {
 45875  	//       "description": "The ID of the parent report.",
 45876  	//       "format": "int64",
 45877  	//       "location": "path",
 45878  	//       "required": true,
 45879  	//       "type": "string"
 45880  	//     },
 45881  	//     "sortField": {
 45882  	//       "default": "LAST_MODIFIED_TIME",
 45883  	//       "description": "The field by which to sort the list.",
 45884  	//       "enum": [
 45885  	//         "ID",
 45886  	//         "LAST_MODIFIED_TIME"
 45887  	//       ],
 45888  	//       "enumDescriptions": [
 45889  	//         "Sort by file ID.",
 45890  	//         "Sort by 'lastmodifiedAt' field."
 45891  	//       ],
 45892  	//       "location": "query",
 45893  	//       "type": "string"
 45894  	//     },
 45895  	//     "sortOrder": {
 45896  	//       "default": "DESCENDING",
 45897  	//       "description": "Order of sorted results.",
 45898  	//       "enum": [
 45899  	//         "ASCENDING",
 45900  	//         "DESCENDING"
 45901  	//       ],
 45902  	//       "enumDescriptions": [
 45903  	//         "Ascending order.",
 45904  	//         "Descending order."
 45905  	//       ],
 45906  	//       "location": "query",
 45907  	//       "type": "string"
 45908  	//     }
 45909  	//   },
 45910  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
 45911  	//   "response": {
 45912  	//     "$ref": "FileList"
 45913  	//   },
 45914  	//   "scopes": [
 45915  	//     "https://www.googleapis.com/auth/dfareporting"
 45916  	//   ]
 45917  	// }
 45918  
 45919  }
 45920  
 45921  // Pages invokes f for each page of results.
 45922  // A non-nil error returned from f will halt the iteration.
 45923  // The provided context supersedes any context provided to the Context method.
 45924  func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 45925  	c.ctx_ = ctx
 45926  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 45927  	for {
 45928  		x, err := c.Do()
 45929  		if err != nil {
 45930  			return err
 45931  		}
 45932  		if err := f(x); err != nil {
 45933  			return err
 45934  		}
 45935  		if x.NextPageToken == "" {
 45936  			return nil
 45937  		}
 45938  		c.PageToken(x.NextPageToken)
 45939  	}
 45940  }
 45941  
 45942  // method id "dfareporting.sites.get":
 45943  
 45944  type SitesGetCall struct {
 45945  	s            *Service
 45946  	profileId    int64
 45947  	id           int64
 45948  	urlParams_   gensupport.URLParams
 45949  	ifNoneMatch_ string
 45950  	ctx_         context.Context
 45951  	header_      http.Header
 45952  }
 45953  
 45954  // Get: Gets one site by ID.
 45955  func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
 45956  	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45957  	c.profileId = profileId
 45958  	c.id = id
 45959  	return c
 45960  }
 45961  
 45962  // Fields allows partial responses to be retrieved. See
 45963  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45964  // for more information.
 45965  func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
 45966  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45967  	return c
 45968  }
 45969  
 45970  // IfNoneMatch sets the optional parameter which makes the operation
 45971  // fail if the object's ETag matches the given value. This is useful for
 45972  // getting updates only after the object has changed since the last
 45973  // request. Use googleapi.IsNotModified to check whether the response
 45974  // error from Do is the result of In-None-Match.
 45975  func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
 45976  	c.ifNoneMatch_ = entityTag
 45977  	return c
 45978  }
 45979  
 45980  // Context sets the context to be used in this call's Do method. Any
 45981  // pending HTTP request will be aborted if the provided context is
 45982  // canceled.
 45983  func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 45984  	c.ctx_ = ctx
 45985  	return c
 45986  }
 45987  
 45988  // Header returns an http.Header that can be modified by the caller to
 45989  // add HTTP headers to the request.
 45990  func (c *SitesGetCall) Header() http.Header {
 45991  	if c.header_ == nil {
 45992  		c.header_ = make(http.Header)
 45993  	}
 45994  	return c.header_
 45995  }
 45996  
 45997  func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 45998  	reqHeaders := make(http.Header)
 45999  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46000  	for k, v := range c.header_ {
 46001  		reqHeaders[k] = v
 46002  	}
 46003  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46004  	if c.ifNoneMatch_ != "" {
 46005  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46006  	}
 46007  	var body io.Reader = nil
 46008  	c.urlParams_.Set("alt", alt)
 46009  	c.urlParams_.Set("prettyPrint", "false")
 46010  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
 46011  	urls += "?" + c.urlParams_.Encode()
 46012  	req, err := http.NewRequest("GET", urls, body)
 46013  	if err != nil {
 46014  		return nil, err
 46015  	}
 46016  	req.Header = reqHeaders
 46017  	googleapi.Expand(req.URL, map[string]string{
 46018  		"profileId": strconv.FormatInt(c.profileId, 10),
 46019  		"id":        strconv.FormatInt(c.id, 10),
 46020  	})
 46021  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46022  }
 46023  
 46024  // Do executes the "dfareporting.sites.get" call.
 46025  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46026  // code is an error. Response headers are in either
 46027  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46028  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46029  // whether the returned error was because http.StatusNotModified was
 46030  // returned.
 46031  func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46032  	gensupport.SetOptions(c.urlParams_, opts...)
 46033  	res, err := c.doRequest("json")
 46034  	if res != nil && res.StatusCode == http.StatusNotModified {
 46035  		if res.Body != nil {
 46036  			res.Body.Close()
 46037  		}
 46038  		return nil, &googleapi.Error{
 46039  			Code:   res.StatusCode,
 46040  			Header: res.Header,
 46041  		}
 46042  	}
 46043  	if err != nil {
 46044  		return nil, err
 46045  	}
 46046  	defer googleapi.CloseBody(res)
 46047  	if err := googleapi.CheckResponse(res); err != nil {
 46048  		return nil, err
 46049  	}
 46050  	ret := &Site{
 46051  		ServerResponse: googleapi.ServerResponse{
 46052  			Header:         res.Header,
 46053  			HTTPStatusCode: res.StatusCode,
 46054  		},
 46055  	}
 46056  	target := &ret
 46057  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46058  		return nil, err
 46059  	}
 46060  	return ret, nil
 46061  	// {
 46062  	//   "description": "Gets one site by ID.",
 46063  	//   "httpMethod": "GET",
 46064  	//   "id": "dfareporting.sites.get",
 46065  	//   "parameterOrder": [
 46066  	//     "profileId",
 46067  	//     "id"
 46068  	//   ],
 46069  	//   "parameters": {
 46070  	//     "id": {
 46071  	//       "description": "Site ID.",
 46072  	//       "format": "int64",
 46073  	//       "location": "path",
 46074  	//       "required": true,
 46075  	//       "type": "string"
 46076  	//     },
 46077  	//     "profileId": {
 46078  	//       "description": "User profile ID associated with this request.",
 46079  	//       "format": "int64",
 46080  	//       "location": "path",
 46081  	//       "required": true,
 46082  	//       "type": "string"
 46083  	//     }
 46084  	//   },
 46085  	//   "path": "userprofiles/{profileId}/sites/{id}",
 46086  	//   "response": {
 46087  	//     "$ref": "Site"
 46088  	//   },
 46089  	//   "scopes": [
 46090  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46091  	//   ]
 46092  	// }
 46093  
 46094  }
 46095  
 46096  // method id "dfareporting.sites.insert":
 46097  
 46098  type SitesInsertCall struct {
 46099  	s          *Service
 46100  	profileId  int64
 46101  	site       *Site
 46102  	urlParams_ gensupport.URLParams
 46103  	ctx_       context.Context
 46104  	header_    http.Header
 46105  }
 46106  
 46107  // Insert: Inserts a new site.
 46108  func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
 46109  	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46110  	c.profileId = profileId
 46111  	c.site = site
 46112  	return c
 46113  }
 46114  
 46115  // Fields allows partial responses to be retrieved. See
 46116  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46117  // for more information.
 46118  func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
 46119  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46120  	return c
 46121  }
 46122  
 46123  // Context sets the context to be used in this call's Do method. Any
 46124  // pending HTTP request will be aborted if the provided context is
 46125  // canceled.
 46126  func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 46127  	c.ctx_ = ctx
 46128  	return c
 46129  }
 46130  
 46131  // Header returns an http.Header that can be modified by the caller to
 46132  // add HTTP headers to the request.
 46133  func (c *SitesInsertCall) Header() http.Header {
 46134  	if c.header_ == nil {
 46135  		c.header_ = make(http.Header)
 46136  	}
 46137  	return c.header_
 46138  }
 46139  
 46140  func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
 46141  	reqHeaders := make(http.Header)
 46142  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46143  	for k, v := range c.header_ {
 46144  		reqHeaders[k] = v
 46145  	}
 46146  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46147  	var body io.Reader = nil
 46148  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46149  	if err != nil {
 46150  		return nil, err
 46151  	}
 46152  	reqHeaders.Set("Content-Type", "application/json")
 46153  	c.urlParams_.Set("alt", alt)
 46154  	c.urlParams_.Set("prettyPrint", "false")
 46155  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46156  	urls += "?" + c.urlParams_.Encode()
 46157  	req, err := http.NewRequest("POST", urls, body)
 46158  	if err != nil {
 46159  		return nil, err
 46160  	}
 46161  	req.Header = reqHeaders
 46162  	googleapi.Expand(req.URL, map[string]string{
 46163  		"profileId": strconv.FormatInt(c.profileId, 10),
 46164  	})
 46165  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46166  }
 46167  
 46168  // Do executes the "dfareporting.sites.insert" call.
 46169  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46170  // code is an error. Response headers are in either
 46171  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46172  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46173  // whether the returned error was because http.StatusNotModified was
 46174  // returned.
 46175  func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46176  	gensupport.SetOptions(c.urlParams_, opts...)
 46177  	res, err := c.doRequest("json")
 46178  	if res != nil && res.StatusCode == http.StatusNotModified {
 46179  		if res.Body != nil {
 46180  			res.Body.Close()
 46181  		}
 46182  		return nil, &googleapi.Error{
 46183  			Code:   res.StatusCode,
 46184  			Header: res.Header,
 46185  		}
 46186  	}
 46187  	if err != nil {
 46188  		return nil, err
 46189  	}
 46190  	defer googleapi.CloseBody(res)
 46191  	if err := googleapi.CheckResponse(res); err != nil {
 46192  		return nil, err
 46193  	}
 46194  	ret := &Site{
 46195  		ServerResponse: googleapi.ServerResponse{
 46196  			Header:         res.Header,
 46197  			HTTPStatusCode: res.StatusCode,
 46198  		},
 46199  	}
 46200  	target := &ret
 46201  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46202  		return nil, err
 46203  	}
 46204  	return ret, nil
 46205  	// {
 46206  	//   "description": "Inserts a new site.",
 46207  	//   "httpMethod": "POST",
 46208  	//   "id": "dfareporting.sites.insert",
 46209  	//   "parameterOrder": [
 46210  	//     "profileId"
 46211  	//   ],
 46212  	//   "parameters": {
 46213  	//     "profileId": {
 46214  	//       "description": "User profile ID associated with this request.",
 46215  	//       "format": "int64",
 46216  	//       "location": "path",
 46217  	//       "required": true,
 46218  	//       "type": "string"
 46219  	//     }
 46220  	//   },
 46221  	//   "path": "userprofiles/{profileId}/sites",
 46222  	//   "request": {
 46223  	//     "$ref": "Site"
 46224  	//   },
 46225  	//   "response": {
 46226  	//     "$ref": "Site"
 46227  	//   },
 46228  	//   "scopes": [
 46229  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46230  	//   ]
 46231  	// }
 46232  
 46233  }
 46234  
 46235  // method id "dfareporting.sites.list":
 46236  
 46237  type SitesListCall struct {
 46238  	s            *Service
 46239  	profileId    int64
 46240  	urlParams_   gensupport.URLParams
 46241  	ifNoneMatch_ string
 46242  	ctx_         context.Context
 46243  	header_      http.Header
 46244  }
 46245  
 46246  // List: Retrieves a list of sites, possibly filtered. This method
 46247  // supports paging.
 46248  func (r *SitesService) List(profileId int64) *SitesListCall {
 46249  	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46250  	c.profileId = profileId
 46251  	return c
 46252  }
 46253  
 46254  // AcceptsInStreamVideoPlacements sets the optional parameter
 46255  // "acceptsInStreamVideoPlacements": This search filter is no longer
 46256  // supported and will have no effect on the results returned.
 46257  func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
 46258  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 46259  	return c
 46260  }
 46261  
 46262  // AcceptsInterstitialPlacements sets the optional parameter
 46263  // "acceptsInterstitialPlacements": This search filter is no longer
 46264  // supported and will have no effect on the results returned.
 46265  func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
 46266  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 46267  	return c
 46268  }
 46269  
 46270  // AcceptsPublisherPaidPlacements sets the optional parameter
 46271  // "acceptsPublisherPaidPlacements": Select only sites that accept
 46272  // publisher paid placements.
 46273  func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
 46274  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 46275  	return c
 46276  }
 46277  
 46278  // AdWordsSite sets the optional parameter "adWordsSite": Select only
 46279  // AdWords sites.
 46280  func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
 46281  	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
 46282  	return c
 46283  }
 46284  
 46285  // Approved sets the optional parameter "approved": Select only approved
 46286  // sites.
 46287  func (c *SitesListCall) Approved(approved bool) *SitesListCall {
 46288  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 46289  	return c
 46290  }
 46291  
 46292  // CampaignIds sets the optional parameter "campaignIds": Select only
 46293  // sites with these campaign IDs.
 46294  func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
 46295  	var campaignIds_ []string
 46296  	for _, v := range campaignIds {
 46297  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 46298  	}
 46299  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 46300  	return c
 46301  }
 46302  
 46303  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 46304  // Select only sites with these directory site IDs.
 46305  func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
 46306  	var directorySiteIds_ []string
 46307  	for _, v := range directorySiteIds {
 46308  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 46309  	}
 46310  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 46311  	return c
 46312  }
 46313  
 46314  // Ids sets the optional parameter "ids": Select only sites with these
 46315  // IDs.
 46316  func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
 46317  	var ids_ []string
 46318  	for _, v := range ids {
 46319  		ids_ = append(ids_, fmt.Sprint(v))
 46320  	}
 46321  	c.urlParams_.SetMulti("ids", ids_)
 46322  	return c
 46323  }
 46324  
 46325  // MaxResults sets the optional parameter "maxResults": Maximum number
 46326  // of results to return.
 46327  func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
 46328  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 46329  	return c
 46330  }
 46331  
 46332  // PageToken sets the optional parameter "pageToken": Value of the
 46333  // nextPageToken from the previous result page.
 46334  func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
 46335  	c.urlParams_.Set("pageToken", pageToken)
 46336  	return c
 46337  }
 46338  
 46339  // SearchString sets the optional parameter "searchString": Allows
 46340  // searching for objects by name, ID or keyName. Wildcards (*) are
 46341  // allowed. For example, "site*2015" will return objects with names like
 46342  // "site June 2015", "site April 2015", or simply "site 2015". Most of
 46343  // the searches also add wildcards implicitly at the start and the end
 46344  // of the search string. For example, a search string of "site" will
 46345  // match objects with name "my site", "site 2015", or simply "site".
 46346  func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
 46347  	c.urlParams_.Set("searchString", searchString)
 46348  	return c
 46349  }
 46350  
 46351  // SortField sets the optional parameter "sortField": Field by which to
 46352  // sort the list.
 46353  //
 46354  // Possible values:
 46355  //
 46356  //	"ID" (default)
 46357  //	"NAME"
 46358  func (c *SitesListCall) SortField(sortField string) *SitesListCall {
 46359  	c.urlParams_.Set("sortField", sortField)
 46360  	return c
 46361  }
 46362  
 46363  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 46364  // results.
 46365  //
 46366  // Possible values:
 46367  //
 46368  //	"ASCENDING" (default)
 46369  //	"DESCENDING"
 46370  func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
 46371  	c.urlParams_.Set("sortOrder", sortOrder)
 46372  	return c
 46373  }
 46374  
 46375  // SubaccountId sets the optional parameter "subaccountId": Select only
 46376  // sites with this subaccount ID.
 46377  func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
 46378  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 46379  	return c
 46380  }
 46381  
 46382  // UnmappedSite sets the optional parameter "unmappedSite": Select only
 46383  // sites that have not been mapped to a directory site.
 46384  func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
 46385  	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
 46386  	return c
 46387  }
 46388  
 46389  // Fields allows partial responses to be retrieved. See
 46390  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46391  // for more information.
 46392  func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
 46393  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46394  	return c
 46395  }
 46396  
 46397  // IfNoneMatch sets the optional parameter which makes the operation
 46398  // fail if the object's ETag matches the given value. This is useful for
 46399  // getting updates only after the object has changed since the last
 46400  // request. Use googleapi.IsNotModified to check whether the response
 46401  // error from Do is the result of In-None-Match.
 46402  func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
 46403  	c.ifNoneMatch_ = entityTag
 46404  	return c
 46405  }
 46406  
 46407  // Context sets the context to be used in this call's Do method. Any
 46408  // pending HTTP request will be aborted if the provided context is
 46409  // canceled.
 46410  func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 46411  	c.ctx_ = ctx
 46412  	return c
 46413  }
 46414  
 46415  // Header returns an http.Header that can be modified by the caller to
 46416  // add HTTP headers to the request.
 46417  func (c *SitesListCall) Header() http.Header {
 46418  	if c.header_ == nil {
 46419  		c.header_ = make(http.Header)
 46420  	}
 46421  	return c.header_
 46422  }
 46423  
 46424  func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 46425  	reqHeaders := make(http.Header)
 46426  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46427  	for k, v := range c.header_ {
 46428  		reqHeaders[k] = v
 46429  	}
 46430  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46431  	if c.ifNoneMatch_ != "" {
 46432  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46433  	}
 46434  	var body io.Reader = nil
 46435  	c.urlParams_.Set("alt", alt)
 46436  	c.urlParams_.Set("prettyPrint", "false")
 46437  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46438  	urls += "?" + c.urlParams_.Encode()
 46439  	req, err := http.NewRequest("GET", urls, body)
 46440  	if err != nil {
 46441  		return nil, err
 46442  	}
 46443  	req.Header = reqHeaders
 46444  	googleapi.Expand(req.URL, map[string]string{
 46445  		"profileId": strconv.FormatInt(c.profileId, 10),
 46446  	})
 46447  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46448  }
 46449  
 46450  // Do executes the "dfareporting.sites.list" call.
 46451  // Exactly one of *SitesListResponse or error will be non-nil. Any
 46452  // non-2xx status code is an error. Response headers are in either
 46453  // *SitesListResponse.ServerResponse.Header or (if a response was
 46454  // returned at all) in error.(*googleapi.Error).Header. Use
 46455  // googleapi.IsNotModified to check whether the returned error was
 46456  // because http.StatusNotModified was returned.
 46457  func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
 46458  	gensupport.SetOptions(c.urlParams_, opts...)
 46459  	res, err := c.doRequest("json")
 46460  	if res != nil && res.StatusCode == http.StatusNotModified {
 46461  		if res.Body != nil {
 46462  			res.Body.Close()
 46463  		}
 46464  		return nil, &googleapi.Error{
 46465  			Code:   res.StatusCode,
 46466  			Header: res.Header,
 46467  		}
 46468  	}
 46469  	if err != nil {
 46470  		return nil, err
 46471  	}
 46472  	defer googleapi.CloseBody(res)
 46473  	if err := googleapi.CheckResponse(res); err != nil {
 46474  		return nil, err
 46475  	}
 46476  	ret := &SitesListResponse{
 46477  		ServerResponse: googleapi.ServerResponse{
 46478  			Header:         res.Header,
 46479  			HTTPStatusCode: res.StatusCode,
 46480  		},
 46481  	}
 46482  	target := &ret
 46483  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46484  		return nil, err
 46485  	}
 46486  	return ret, nil
 46487  	// {
 46488  	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
 46489  	//   "httpMethod": "GET",
 46490  	//   "id": "dfareporting.sites.list",
 46491  	//   "parameterOrder": [
 46492  	//     "profileId"
 46493  	//   ],
 46494  	//   "parameters": {
 46495  	//     "acceptsInStreamVideoPlacements": {
 46496  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 46497  	//       "location": "query",
 46498  	//       "type": "boolean"
 46499  	//     },
 46500  	//     "acceptsInterstitialPlacements": {
 46501  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 46502  	//       "location": "query",
 46503  	//       "type": "boolean"
 46504  	//     },
 46505  	//     "acceptsPublisherPaidPlacements": {
 46506  	//       "description": "Select only sites that accept publisher paid placements.",
 46507  	//       "location": "query",
 46508  	//       "type": "boolean"
 46509  	//     },
 46510  	//     "adWordsSite": {
 46511  	//       "description": "Select only AdWords sites.",
 46512  	//       "location": "query",
 46513  	//       "type": "boolean"
 46514  	//     },
 46515  	//     "approved": {
 46516  	//       "description": "Select only approved sites.",
 46517  	//       "location": "query",
 46518  	//       "type": "boolean"
 46519  	//     },
 46520  	//     "campaignIds": {
 46521  	//       "description": "Select only sites with these campaign IDs.",
 46522  	//       "format": "int64",
 46523  	//       "location": "query",
 46524  	//       "repeated": true,
 46525  	//       "type": "string"
 46526  	//     },
 46527  	//     "directorySiteIds": {
 46528  	//       "description": "Select only sites with these directory site IDs.",
 46529  	//       "format": "int64",
 46530  	//       "location": "query",
 46531  	//       "repeated": true,
 46532  	//       "type": "string"
 46533  	//     },
 46534  	//     "ids": {
 46535  	//       "description": "Select only sites with these IDs.",
 46536  	//       "format": "int64",
 46537  	//       "location": "query",
 46538  	//       "repeated": true,
 46539  	//       "type": "string"
 46540  	//     },
 46541  	//     "maxResults": {
 46542  	//       "default": "1000",
 46543  	//       "description": "Maximum number of results to return.",
 46544  	//       "format": "int32",
 46545  	//       "location": "query",
 46546  	//       "maximum": "1000",
 46547  	//       "minimum": "0",
 46548  	//       "type": "integer"
 46549  	//     },
 46550  	//     "pageToken": {
 46551  	//       "description": "Value of the nextPageToken from the previous result page.",
 46552  	//       "location": "query",
 46553  	//       "type": "string"
 46554  	//     },
 46555  	//     "profileId": {
 46556  	//       "description": "User profile ID associated with this request.",
 46557  	//       "format": "int64",
 46558  	//       "location": "path",
 46559  	//       "required": true,
 46560  	//       "type": "string"
 46561  	//     },
 46562  	//     "searchString": {
 46563  	//       "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\".",
 46564  	//       "location": "query",
 46565  	//       "type": "string"
 46566  	//     },
 46567  	//     "sortField": {
 46568  	//       "default": "ID",
 46569  	//       "description": "Field by which to sort the list.",
 46570  	//       "enum": [
 46571  	//         "ID",
 46572  	//         "NAME"
 46573  	//       ],
 46574  	//       "enumDescriptions": [
 46575  	//         "",
 46576  	//         ""
 46577  	//       ],
 46578  	//       "location": "query",
 46579  	//       "type": "string"
 46580  	//     },
 46581  	//     "sortOrder": {
 46582  	//       "default": "ASCENDING",
 46583  	//       "description": "Order of sorted results.",
 46584  	//       "enum": [
 46585  	//         "ASCENDING",
 46586  	//         "DESCENDING"
 46587  	//       ],
 46588  	//       "enumDescriptions": [
 46589  	//         "",
 46590  	//         ""
 46591  	//       ],
 46592  	//       "location": "query",
 46593  	//       "type": "string"
 46594  	//     },
 46595  	//     "subaccountId": {
 46596  	//       "description": "Select only sites with this subaccount ID.",
 46597  	//       "format": "int64",
 46598  	//       "location": "query",
 46599  	//       "type": "string"
 46600  	//     },
 46601  	//     "unmappedSite": {
 46602  	//       "description": "Select only sites that have not been mapped to a directory site.",
 46603  	//       "location": "query",
 46604  	//       "type": "boolean"
 46605  	//     }
 46606  	//   },
 46607  	//   "path": "userprofiles/{profileId}/sites",
 46608  	//   "response": {
 46609  	//     "$ref": "SitesListResponse"
 46610  	//   },
 46611  	//   "scopes": [
 46612  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46613  	//   ]
 46614  	// }
 46615  
 46616  }
 46617  
 46618  // Pages invokes f for each page of results.
 46619  // A non-nil error returned from f will halt the iteration.
 46620  // The provided context supersedes any context provided to the Context method.
 46621  func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
 46622  	c.ctx_ = ctx
 46623  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 46624  	for {
 46625  		x, err := c.Do()
 46626  		if err != nil {
 46627  			return err
 46628  		}
 46629  		if err := f(x); err != nil {
 46630  			return err
 46631  		}
 46632  		if x.NextPageToken == "" {
 46633  			return nil
 46634  		}
 46635  		c.PageToken(x.NextPageToken)
 46636  	}
 46637  }
 46638  
 46639  // method id "dfareporting.sites.patch":
 46640  
 46641  type SitesPatchCall struct {
 46642  	s          *Service
 46643  	profileId  int64
 46644  	site       *Site
 46645  	urlParams_ gensupport.URLParams
 46646  	ctx_       context.Context
 46647  	header_    http.Header
 46648  }
 46649  
 46650  // Patch: Updates an existing site. This method supports patch
 46651  // semantics.
 46652  func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
 46653  	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46654  	c.profileId = profileId
 46655  	c.urlParams_.Set("id", fmt.Sprint(id))
 46656  	c.site = site
 46657  	return c
 46658  }
 46659  
 46660  // Fields allows partial responses to be retrieved. See
 46661  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46662  // for more information.
 46663  func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
 46664  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46665  	return c
 46666  }
 46667  
 46668  // Context sets the context to be used in this call's Do method. Any
 46669  // pending HTTP request will be aborted if the provided context is
 46670  // canceled.
 46671  func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 46672  	c.ctx_ = ctx
 46673  	return c
 46674  }
 46675  
 46676  // Header returns an http.Header that can be modified by the caller to
 46677  // add HTTP headers to the request.
 46678  func (c *SitesPatchCall) Header() http.Header {
 46679  	if c.header_ == nil {
 46680  		c.header_ = make(http.Header)
 46681  	}
 46682  	return c.header_
 46683  }
 46684  
 46685  func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
 46686  	reqHeaders := make(http.Header)
 46687  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46688  	for k, v := range c.header_ {
 46689  		reqHeaders[k] = v
 46690  	}
 46691  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46692  	var body io.Reader = nil
 46693  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46694  	if err != nil {
 46695  		return nil, err
 46696  	}
 46697  	reqHeaders.Set("Content-Type", "application/json")
 46698  	c.urlParams_.Set("alt", alt)
 46699  	c.urlParams_.Set("prettyPrint", "false")
 46700  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46701  	urls += "?" + c.urlParams_.Encode()
 46702  	req, err := http.NewRequest("PATCH", urls, body)
 46703  	if err != nil {
 46704  		return nil, err
 46705  	}
 46706  	req.Header = reqHeaders
 46707  	googleapi.Expand(req.URL, map[string]string{
 46708  		"profileId": strconv.FormatInt(c.profileId, 10),
 46709  	})
 46710  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46711  }
 46712  
 46713  // Do executes the "dfareporting.sites.patch" call.
 46714  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46715  // code is an error. Response headers are in either
 46716  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46717  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46718  // whether the returned error was because http.StatusNotModified was
 46719  // returned.
 46720  func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46721  	gensupport.SetOptions(c.urlParams_, opts...)
 46722  	res, err := c.doRequest("json")
 46723  	if res != nil && res.StatusCode == http.StatusNotModified {
 46724  		if res.Body != nil {
 46725  			res.Body.Close()
 46726  		}
 46727  		return nil, &googleapi.Error{
 46728  			Code:   res.StatusCode,
 46729  			Header: res.Header,
 46730  		}
 46731  	}
 46732  	if err != nil {
 46733  		return nil, err
 46734  	}
 46735  	defer googleapi.CloseBody(res)
 46736  	if err := googleapi.CheckResponse(res); err != nil {
 46737  		return nil, err
 46738  	}
 46739  	ret := &Site{
 46740  		ServerResponse: googleapi.ServerResponse{
 46741  			Header:         res.Header,
 46742  			HTTPStatusCode: res.StatusCode,
 46743  		},
 46744  	}
 46745  	target := &ret
 46746  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46747  		return nil, err
 46748  	}
 46749  	return ret, nil
 46750  	// {
 46751  	//   "description": "Updates an existing site. This method supports patch semantics.",
 46752  	//   "httpMethod": "PATCH",
 46753  	//   "id": "dfareporting.sites.patch",
 46754  	//   "parameterOrder": [
 46755  	//     "profileId",
 46756  	//     "id"
 46757  	//   ],
 46758  	//   "parameters": {
 46759  	//     "id": {
 46760  	//       "description": "Site ID.",
 46761  	//       "format": "int64",
 46762  	//       "location": "query",
 46763  	//       "required": true,
 46764  	//       "type": "string"
 46765  	//     },
 46766  	//     "profileId": {
 46767  	//       "description": "User profile ID associated with this request.",
 46768  	//       "format": "int64",
 46769  	//       "location": "path",
 46770  	//       "required": true,
 46771  	//       "type": "string"
 46772  	//     }
 46773  	//   },
 46774  	//   "path": "userprofiles/{profileId}/sites",
 46775  	//   "request": {
 46776  	//     "$ref": "Site"
 46777  	//   },
 46778  	//   "response": {
 46779  	//     "$ref": "Site"
 46780  	//   },
 46781  	//   "scopes": [
 46782  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46783  	//   ]
 46784  	// }
 46785  
 46786  }
 46787  
 46788  // method id "dfareporting.sites.update":
 46789  
 46790  type SitesUpdateCall struct {
 46791  	s          *Service
 46792  	profileId  int64
 46793  	site       *Site
 46794  	urlParams_ gensupport.URLParams
 46795  	ctx_       context.Context
 46796  	header_    http.Header
 46797  }
 46798  
 46799  // Update: Updates an existing site.
 46800  func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
 46801  	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46802  	c.profileId = profileId
 46803  	c.site = site
 46804  	return c
 46805  }
 46806  
 46807  // Fields allows partial responses to be retrieved. See
 46808  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46809  // for more information.
 46810  func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
 46811  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46812  	return c
 46813  }
 46814  
 46815  // Context sets the context to be used in this call's Do method. Any
 46816  // pending HTTP request will be aborted if the provided context is
 46817  // canceled.
 46818  func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 46819  	c.ctx_ = ctx
 46820  	return c
 46821  }
 46822  
 46823  // Header returns an http.Header that can be modified by the caller to
 46824  // add HTTP headers to the request.
 46825  func (c *SitesUpdateCall) Header() http.Header {
 46826  	if c.header_ == nil {
 46827  		c.header_ = make(http.Header)
 46828  	}
 46829  	return c.header_
 46830  }
 46831  
 46832  func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
 46833  	reqHeaders := make(http.Header)
 46834  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46835  	for k, v := range c.header_ {
 46836  		reqHeaders[k] = v
 46837  	}
 46838  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46839  	var body io.Reader = nil
 46840  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46841  	if err != nil {
 46842  		return nil, err
 46843  	}
 46844  	reqHeaders.Set("Content-Type", "application/json")
 46845  	c.urlParams_.Set("alt", alt)
 46846  	c.urlParams_.Set("prettyPrint", "false")
 46847  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46848  	urls += "?" + c.urlParams_.Encode()
 46849  	req, err := http.NewRequest("PUT", urls, body)
 46850  	if err != nil {
 46851  		return nil, err
 46852  	}
 46853  	req.Header = reqHeaders
 46854  	googleapi.Expand(req.URL, map[string]string{
 46855  		"profileId": strconv.FormatInt(c.profileId, 10),
 46856  	})
 46857  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46858  }
 46859  
 46860  // Do executes the "dfareporting.sites.update" call.
 46861  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46862  // code is an error. Response headers are in either
 46863  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46864  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46865  // whether the returned error was because http.StatusNotModified was
 46866  // returned.
 46867  func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46868  	gensupport.SetOptions(c.urlParams_, opts...)
 46869  	res, err := c.doRequest("json")
 46870  	if res != nil && res.StatusCode == http.StatusNotModified {
 46871  		if res.Body != nil {
 46872  			res.Body.Close()
 46873  		}
 46874  		return nil, &googleapi.Error{
 46875  			Code:   res.StatusCode,
 46876  			Header: res.Header,
 46877  		}
 46878  	}
 46879  	if err != nil {
 46880  		return nil, err
 46881  	}
 46882  	defer googleapi.CloseBody(res)
 46883  	if err := googleapi.CheckResponse(res); err != nil {
 46884  		return nil, err
 46885  	}
 46886  	ret := &Site{
 46887  		ServerResponse: googleapi.ServerResponse{
 46888  			Header:         res.Header,
 46889  			HTTPStatusCode: res.StatusCode,
 46890  		},
 46891  	}
 46892  	target := &ret
 46893  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46894  		return nil, err
 46895  	}
 46896  	return ret, nil
 46897  	// {
 46898  	//   "description": "Updates an existing site.",
 46899  	//   "httpMethod": "PUT",
 46900  	//   "id": "dfareporting.sites.update",
 46901  	//   "parameterOrder": [
 46902  	//     "profileId"
 46903  	//   ],
 46904  	//   "parameters": {
 46905  	//     "profileId": {
 46906  	//       "description": "User profile ID associated with this request.",
 46907  	//       "format": "int64",
 46908  	//       "location": "path",
 46909  	//       "required": true,
 46910  	//       "type": "string"
 46911  	//     }
 46912  	//   },
 46913  	//   "path": "userprofiles/{profileId}/sites",
 46914  	//   "request": {
 46915  	//     "$ref": "Site"
 46916  	//   },
 46917  	//   "response": {
 46918  	//     "$ref": "Site"
 46919  	//   },
 46920  	//   "scopes": [
 46921  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46922  	//   ]
 46923  	// }
 46924  
 46925  }
 46926  
 46927  // method id "dfareporting.sizes.get":
 46928  
 46929  type SizesGetCall struct {
 46930  	s            *Service
 46931  	profileId    int64
 46932  	id           int64
 46933  	urlParams_   gensupport.URLParams
 46934  	ifNoneMatch_ string
 46935  	ctx_         context.Context
 46936  	header_      http.Header
 46937  }
 46938  
 46939  // Get: Gets one size by ID.
 46940  func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
 46941  	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46942  	c.profileId = profileId
 46943  	c.id = id
 46944  	return c
 46945  }
 46946  
 46947  // Fields allows partial responses to be retrieved. See
 46948  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46949  // for more information.
 46950  func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
 46951  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46952  	return c
 46953  }
 46954  
 46955  // IfNoneMatch sets the optional parameter which makes the operation
 46956  // fail if the object's ETag matches the given value. This is useful for
 46957  // getting updates only after the object has changed since the last
 46958  // request. Use googleapi.IsNotModified to check whether the response
 46959  // error from Do is the result of In-None-Match.
 46960  func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
 46961  	c.ifNoneMatch_ = entityTag
 46962  	return c
 46963  }
 46964  
 46965  // Context sets the context to be used in this call's Do method. Any
 46966  // pending HTTP request will be aborted if the provided context is
 46967  // canceled.
 46968  func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 46969  	c.ctx_ = ctx
 46970  	return c
 46971  }
 46972  
 46973  // Header returns an http.Header that can be modified by the caller to
 46974  // add HTTP headers to the request.
 46975  func (c *SizesGetCall) Header() http.Header {
 46976  	if c.header_ == nil {
 46977  		c.header_ = make(http.Header)
 46978  	}
 46979  	return c.header_
 46980  }
 46981  
 46982  func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 46983  	reqHeaders := make(http.Header)
 46984  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 46985  	for k, v := range c.header_ {
 46986  		reqHeaders[k] = v
 46987  	}
 46988  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46989  	if c.ifNoneMatch_ != "" {
 46990  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46991  	}
 46992  	var body io.Reader = nil
 46993  	c.urlParams_.Set("alt", alt)
 46994  	c.urlParams_.Set("prettyPrint", "false")
 46995  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
 46996  	urls += "?" + c.urlParams_.Encode()
 46997  	req, err := http.NewRequest("GET", urls, body)
 46998  	if err != nil {
 46999  		return nil, err
 47000  	}
 47001  	req.Header = reqHeaders
 47002  	googleapi.Expand(req.URL, map[string]string{
 47003  		"profileId": strconv.FormatInt(c.profileId, 10),
 47004  		"id":        strconv.FormatInt(c.id, 10),
 47005  	})
 47006  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47007  }
 47008  
 47009  // Do executes the "dfareporting.sizes.get" call.
 47010  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 47011  // code is an error. Response headers are in either
 47012  // *Size.ServerResponse.Header or (if a response was returned at all) in
 47013  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 47014  // whether the returned error was because http.StatusNotModified was
 47015  // returned.
 47016  func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 47017  	gensupport.SetOptions(c.urlParams_, opts...)
 47018  	res, err := c.doRequest("json")
 47019  	if res != nil && res.StatusCode == http.StatusNotModified {
 47020  		if res.Body != nil {
 47021  			res.Body.Close()
 47022  		}
 47023  		return nil, &googleapi.Error{
 47024  			Code:   res.StatusCode,
 47025  			Header: res.Header,
 47026  		}
 47027  	}
 47028  	if err != nil {
 47029  		return nil, err
 47030  	}
 47031  	defer googleapi.CloseBody(res)
 47032  	if err := googleapi.CheckResponse(res); err != nil {
 47033  		return nil, err
 47034  	}
 47035  	ret := &Size{
 47036  		ServerResponse: googleapi.ServerResponse{
 47037  			Header:         res.Header,
 47038  			HTTPStatusCode: res.StatusCode,
 47039  		},
 47040  	}
 47041  	target := &ret
 47042  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47043  		return nil, err
 47044  	}
 47045  	return ret, nil
 47046  	// {
 47047  	//   "description": "Gets one size by ID.",
 47048  	//   "httpMethod": "GET",
 47049  	//   "id": "dfareporting.sizes.get",
 47050  	//   "parameterOrder": [
 47051  	//     "profileId",
 47052  	//     "id"
 47053  	//   ],
 47054  	//   "parameters": {
 47055  	//     "id": {
 47056  	//       "description": "Size ID.",
 47057  	//       "format": "int64",
 47058  	//       "location": "path",
 47059  	//       "required": true,
 47060  	//       "type": "string"
 47061  	//     },
 47062  	//     "profileId": {
 47063  	//       "description": "User profile ID associated with this request.",
 47064  	//       "format": "int64",
 47065  	//       "location": "path",
 47066  	//       "required": true,
 47067  	//       "type": "string"
 47068  	//     }
 47069  	//   },
 47070  	//   "path": "userprofiles/{profileId}/sizes/{id}",
 47071  	//   "response": {
 47072  	//     "$ref": "Size"
 47073  	//   },
 47074  	//   "scopes": [
 47075  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47076  	//   ]
 47077  	// }
 47078  
 47079  }
 47080  
 47081  // method id "dfareporting.sizes.insert":
 47082  
 47083  type SizesInsertCall struct {
 47084  	s          *Service
 47085  	profileId  int64
 47086  	size       *Size
 47087  	urlParams_ gensupport.URLParams
 47088  	ctx_       context.Context
 47089  	header_    http.Header
 47090  }
 47091  
 47092  // Insert: Inserts a new size.
 47093  func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
 47094  	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47095  	c.profileId = profileId
 47096  	c.size = size
 47097  	return c
 47098  }
 47099  
 47100  // Fields allows partial responses to be retrieved. See
 47101  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47102  // for more information.
 47103  func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
 47104  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47105  	return c
 47106  }
 47107  
 47108  // Context sets the context to be used in this call's Do method. Any
 47109  // pending HTTP request will be aborted if the provided context is
 47110  // canceled.
 47111  func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 47112  	c.ctx_ = ctx
 47113  	return c
 47114  }
 47115  
 47116  // Header returns an http.Header that can be modified by the caller to
 47117  // add HTTP headers to the request.
 47118  func (c *SizesInsertCall) Header() http.Header {
 47119  	if c.header_ == nil {
 47120  		c.header_ = make(http.Header)
 47121  	}
 47122  	return c.header_
 47123  }
 47124  
 47125  func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
 47126  	reqHeaders := make(http.Header)
 47127  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47128  	for k, v := range c.header_ {
 47129  		reqHeaders[k] = v
 47130  	}
 47131  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47132  	var body io.Reader = nil
 47133  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
 47134  	if err != nil {
 47135  		return nil, err
 47136  	}
 47137  	reqHeaders.Set("Content-Type", "application/json")
 47138  	c.urlParams_.Set("alt", alt)
 47139  	c.urlParams_.Set("prettyPrint", "false")
 47140  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 47141  	urls += "?" + c.urlParams_.Encode()
 47142  	req, err := http.NewRequest("POST", urls, body)
 47143  	if err != nil {
 47144  		return nil, err
 47145  	}
 47146  	req.Header = reqHeaders
 47147  	googleapi.Expand(req.URL, map[string]string{
 47148  		"profileId": strconv.FormatInt(c.profileId, 10),
 47149  	})
 47150  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47151  }
 47152  
 47153  // Do executes the "dfareporting.sizes.insert" call.
 47154  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 47155  // code is an error. Response headers are in either
 47156  // *Size.ServerResponse.Header or (if a response was returned at all) in
 47157  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 47158  // whether the returned error was because http.StatusNotModified was
 47159  // returned.
 47160  func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 47161  	gensupport.SetOptions(c.urlParams_, opts...)
 47162  	res, err := c.doRequest("json")
 47163  	if res != nil && res.StatusCode == http.StatusNotModified {
 47164  		if res.Body != nil {
 47165  			res.Body.Close()
 47166  		}
 47167  		return nil, &googleapi.Error{
 47168  			Code:   res.StatusCode,
 47169  			Header: res.Header,
 47170  		}
 47171  	}
 47172  	if err != nil {
 47173  		return nil, err
 47174  	}
 47175  	defer googleapi.CloseBody(res)
 47176  	if err := googleapi.CheckResponse(res); err != nil {
 47177  		return nil, err
 47178  	}
 47179  	ret := &Size{
 47180  		ServerResponse: googleapi.ServerResponse{
 47181  			Header:         res.Header,
 47182  			HTTPStatusCode: res.StatusCode,
 47183  		},
 47184  	}
 47185  	target := &ret
 47186  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47187  		return nil, err
 47188  	}
 47189  	return ret, nil
 47190  	// {
 47191  	//   "description": "Inserts a new size.",
 47192  	//   "httpMethod": "POST",
 47193  	//   "id": "dfareporting.sizes.insert",
 47194  	//   "parameterOrder": [
 47195  	//     "profileId"
 47196  	//   ],
 47197  	//   "parameters": {
 47198  	//     "profileId": {
 47199  	//       "description": "User profile ID associated with this request.",
 47200  	//       "format": "int64",
 47201  	//       "location": "path",
 47202  	//       "required": true,
 47203  	//       "type": "string"
 47204  	//     }
 47205  	//   },
 47206  	//   "path": "userprofiles/{profileId}/sizes",
 47207  	//   "request": {
 47208  	//     "$ref": "Size"
 47209  	//   },
 47210  	//   "response": {
 47211  	//     "$ref": "Size"
 47212  	//   },
 47213  	//   "scopes": [
 47214  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47215  	//   ]
 47216  	// }
 47217  
 47218  }
 47219  
 47220  // method id "dfareporting.sizes.list":
 47221  
 47222  type SizesListCall struct {
 47223  	s            *Service
 47224  	profileId    int64
 47225  	urlParams_   gensupport.URLParams
 47226  	ifNoneMatch_ string
 47227  	ctx_         context.Context
 47228  	header_      http.Header
 47229  }
 47230  
 47231  // List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
 47232  // are globally unique and may include values not currently in use by
 47233  // your account. Due to this, the list of sizes returned by this method
 47234  // may differ from the list seen in the Trafficking UI.
 47235  func (r *SizesService) List(profileId int64) *SizesListCall {
 47236  	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47237  	c.profileId = profileId
 47238  	return c
 47239  }
 47240  
 47241  // Height sets the optional parameter "height": Select only sizes with
 47242  // this height.
 47243  func (c *SizesListCall) Height(height int64) *SizesListCall {
 47244  	c.urlParams_.Set("height", fmt.Sprint(height))
 47245  	return c
 47246  }
 47247  
 47248  // IabStandard sets the optional parameter "iabStandard": Select only
 47249  // IAB standard sizes.
 47250  func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
 47251  	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
 47252  	return c
 47253  }
 47254  
 47255  // Ids sets the optional parameter "ids": Select only sizes with these
 47256  // IDs.
 47257  func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
 47258  	var ids_ []string
 47259  	for _, v := range ids {
 47260  		ids_ = append(ids_, fmt.Sprint(v))
 47261  	}
 47262  	c.urlParams_.SetMulti("ids", ids_)
 47263  	return c
 47264  }
 47265  
 47266  // Width sets the optional parameter "width": Select only sizes with
 47267  // this width.
 47268  func (c *SizesListCall) Width(width int64) *SizesListCall {
 47269  	c.urlParams_.Set("width", fmt.Sprint(width))
 47270  	return c
 47271  }
 47272  
 47273  // Fields allows partial responses to be retrieved. See
 47274  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47275  // for more information.
 47276  func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
 47277  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47278  	return c
 47279  }
 47280  
 47281  // IfNoneMatch sets the optional parameter which makes the operation
 47282  // fail if the object's ETag matches the given value. This is useful for
 47283  // getting updates only after the object has changed since the last
 47284  // request. Use googleapi.IsNotModified to check whether the response
 47285  // error from Do is the result of In-None-Match.
 47286  func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
 47287  	c.ifNoneMatch_ = entityTag
 47288  	return c
 47289  }
 47290  
 47291  // Context sets the context to be used in this call's Do method. Any
 47292  // pending HTTP request will be aborted if the provided context is
 47293  // canceled.
 47294  func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 47295  	c.ctx_ = ctx
 47296  	return c
 47297  }
 47298  
 47299  // Header returns an http.Header that can be modified by the caller to
 47300  // add HTTP headers to the request.
 47301  func (c *SizesListCall) Header() http.Header {
 47302  	if c.header_ == nil {
 47303  		c.header_ = make(http.Header)
 47304  	}
 47305  	return c.header_
 47306  }
 47307  
 47308  func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 47309  	reqHeaders := make(http.Header)
 47310  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47311  	for k, v := range c.header_ {
 47312  		reqHeaders[k] = v
 47313  	}
 47314  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47315  	if c.ifNoneMatch_ != "" {
 47316  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47317  	}
 47318  	var body io.Reader = nil
 47319  	c.urlParams_.Set("alt", alt)
 47320  	c.urlParams_.Set("prettyPrint", "false")
 47321  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 47322  	urls += "?" + c.urlParams_.Encode()
 47323  	req, err := http.NewRequest("GET", urls, body)
 47324  	if err != nil {
 47325  		return nil, err
 47326  	}
 47327  	req.Header = reqHeaders
 47328  	googleapi.Expand(req.URL, map[string]string{
 47329  		"profileId": strconv.FormatInt(c.profileId, 10),
 47330  	})
 47331  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47332  }
 47333  
 47334  // Do executes the "dfareporting.sizes.list" call.
 47335  // Exactly one of *SizesListResponse or error will be non-nil. Any
 47336  // non-2xx status code is an error. Response headers are in either
 47337  // *SizesListResponse.ServerResponse.Header or (if a response was
 47338  // returned at all) in error.(*googleapi.Error).Header. Use
 47339  // googleapi.IsNotModified to check whether the returned error was
 47340  // because http.StatusNotModified was returned.
 47341  func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
 47342  	gensupport.SetOptions(c.urlParams_, opts...)
 47343  	res, err := c.doRequest("json")
 47344  	if res != nil && res.StatusCode == http.StatusNotModified {
 47345  		if res.Body != nil {
 47346  			res.Body.Close()
 47347  		}
 47348  		return nil, &googleapi.Error{
 47349  			Code:   res.StatusCode,
 47350  			Header: res.Header,
 47351  		}
 47352  	}
 47353  	if err != nil {
 47354  		return nil, err
 47355  	}
 47356  	defer googleapi.CloseBody(res)
 47357  	if err := googleapi.CheckResponse(res); err != nil {
 47358  		return nil, err
 47359  	}
 47360  	ret := &SizesListResponse{
 47361  		ServerResponse: googleapi.ServerResponse{
 47362  			Header:         res.Header,
 47363  			HTTPStatusCode: res.StatusCode,
 47364  		},
 47365  	}
 47366  	target := &ret
 47367  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47368  		return nil, err
 47369  	}
 47370  	return ret, nil
 47371  	// {
 47372  	//   "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.",
 47373  	//   "httpMethod": "GET",
 47374  	//   "id": "dfareporting.sizes.list",
 47375  	//   "parameterOrder": [
 47376  	//     "profileId"
 47377  	//   ],
 47378  	//   "parameters": {
 47379  	//     "height": {
 47380  	//       "description": "Select only sizes with this height.",
 47381  	//       "format": "int32",
 47382  	//       "location": "query",
 47383  	//       "maximum": "32767",
 47384  	//       "minimum": "0",
 47385  	//       "type": "integer"
 47386  	//     },
 47387  	//     "iabStandard": {
 47388  	//       "description": "Select only IAB standard sizes.",
 47389  	//       "location": "query",
 47390  	//       "type": "boolean"
 47391  	//     },
 47392  	//     "ids": {
 47393  	//       "description": "Select only sizes with these IDs.",
 47394  	//       "format": "int64",
 47395  	//       "location": "query",
 47396  	//       "repeated": true,
 47397  	//       "type": "string"
 47398  	//     },
 47399  	//     "profileId": {
 47400  	//       "description": "User profile ID associated with this request.",
 47401  	//       "format": "int64",
 47402  	//       "location": "path",
 47403  	//       "required": true,
 47404  	//       "type": "string"
 47405  	//     },
 47406  	//     "width": {
 47407  	//       "description": "Select only sizes with this width.",
 47408  	//       "format": "int32",
 47409  	//       "location": "query",
 47410  	//       "maximum": "32767",
 47411  	//       "minimum": "0",
 47412  	//       "type": "integer"
 47413  	//     }
 47414  	//   },
 47415  	//   "path": "userprofiles/{profileId}/sizes",
 47416  	//   "response": {
 47417  	//     "$ref": "SizesListResponse"
 47418  	//   },
 47419  	//   "scopes": [
 47420  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47421  	//   ]
 47422  	// }
 47423  
 47424  }
 47425  
 47426  // method id "dfareporting.subaccounts.get":
 47427  
 47428  type SubaccountsGetCall struct {
 47429  	s            *Service
 47430  	profileId    int64
 47431  	id           int64
 47432  	urlParams_   gensupport.URLParams
 47433  	ifNoneMatch_ string
 47434  	ctx_         context.Context
 47435  	header_      http.Header
 47436  }
 47437  
 47438  // Get: Gets one subaccount by ID.
 47439  func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
 47440  	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47441  	c.profileId = profileId
 47442  	c.id = id
 47443  	return c
 47444  }
 47445  
 47446  // Fields allows partial responses to be retrieved. See
 47447  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47448  // for more information.
 47449  func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
 47450  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47451  	return c
 47452  }
 47453  
 47454  // IfNoneMatch sets the optional parameter which makes the operation
 47455  // fail if the object's ETag matches the given value. This is useful for
 47456  // getting updates only after the object has changed since the last
 47457  // request. Use googleapi.IsNotModified to check whether the response
 47458  // error from Do is the result of In-None-Match.
 47459  func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
 47460  	c.ifNoneMatch_ = entityTag
 47461  	return c
 47462  }
 47463  
 47464  // Context sets the context to be used in this call's Do method. Any
 47465  // pending HTTP request will be aborted if the provided context is
 47466  // canceled.
 47467  func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 47468  	c.ctx_ = ctx
 47469  	return c
 47470  }
 47471  
 47472  // Header returns an http.Header that can be modified by the caller to
 47473  // add HTTP headers to the request.
 47474  func (c *SubaccountsGetCall) Header() http.Header {
 47475  	if c.header_ == nil {
 47476  		c.header_ = make(http.Header)
 47477  	}
 47478  	return c.header_
 47479  }
 47480  
 47481  func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 47482  	reqHeaders := make(http.Header)
 47483  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47484  	for k, v := range c.header_ {
 47485  		reqHeaders[k] = v
 47486  	}
 47487  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47488  	if c.ifNoneMatch_ != "" {
 47489  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47490  	}
 47491  	var body io.Reader = nil
 47492  	c.urlParams_.Set("alt", alt)
 47493  	c.urlParams_.Set("prettyPrint", "false")
 47494  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
 47495  	urls += "?" + c.urlParams_.Encode()
 47496  	req, err := http.NewRequest("GET", urls, body)
 47497  	if err != nil {
 47498  		return nil, err
 47499  	}
 47500  	req.Header = reqHeaders
 47501  	googleapi.Expand(req.URL, map[string]string{
 47502  		"profileId": strconv.FormatInt(c.profileId, 10),
 47503  		"id":        strconv.FormatInt(c.id, 10),
 47504  	})
 47505  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47506  }
 47507  
 47508  // Do executes the "dfareporting.subaccounts.get" call.
 47509  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47510  // status code is an error. Response headers are in either
 47511  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47512  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47513  // to check whether the returned error was because
 47514  // http.StatusNotModified was returned.
 47515  func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47516  	gensupport.SetOptions(c.urlParams_, opts...)
 47517  	res, err := c.doRequest("json")
 47518  	if res != nil && res.StatusCode == http.StatusNotModified {
 47519  		if res.Body != nil {
 47520  			res.Body.Close()
 47521  		}
 47522  		return nil, &googleapi.Error{
 47523  			Code:   res.StatusCode,
 47524  			Header: res.Header,
 47525  		}
 47526  	}
 47527  	if err != nil {
 47528  		return nil, err
 47529  	}
 47530  	defer googleapi.CloseBody(res)
 47531  	if err := googleapi.CheckResponse(res); err != nil {
 47532  		return nil, err
 47533  	}
 47534  	ret := &Subaccount{
 47535  		ServerResponse: googleapi.ServerResponse{
 47536  			Header:         res.Header,
 47537  			HTTPStatusCode: res.StatusCode,
 47538  		},
 47539  	}
 47540  	target := &ret
 47541  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47542  		return nil, err
 47543  	}
 47544  	return ret, nil
 47545  	// {
 47546  	//   "description": "Gets one subaccount by ID.",
 47547  	//   "httpMethod": "GET",
 47548  	//   "id": "dfareporting.subaccounts.get",
 47549  	//   "parameterOrder": [
 47550  	//     "profileId",
 47551  	//     "id"
 47552  	//   ],
 47553  	//   "parameters": {
 47554  	//     "id": {
 47555  	//       "description": "Subaccount ID.",
 47556  	//       "format": "int64",
 47557  	//       "location": "path",
 47558  	//       "required": true,
 47559  	//       "type": "string"
 47560  	//     },
 47561  	//     "profileId": {
 47562  	//       "description": "User profile ID associated with this request.",
 47563  	//       "format": "int64",
 47564  	//       "location": "path",
 47565  	//       "required": true,
 47566  	//       "type": "string"
 47567  	//     }
 47568  	//   },
 47569  	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
 47570  	//   "response": {
 47571  	//     "$ref": "Subaccount"
 47572  	//   },
 47573  	//   "scopes": [
 47574  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47575  	//   ]
 47576  	// }
 47577  
 47578  }
 47579  
 47580  // method id "dfareporting.subaccounts.insert":
 47581  
 47582  type SubaccountsInsertCall struct {
 47583  	s          *Service
 47584  	profileId  int64
 47585  	subaccount *Subaccount
 47586  	urlParams_ gensupport.URLParams
 47587  	ctx_       context.Context
 47588  	header_    http.Header
 47589  }
 47590  
 47591  // Insert: Inserts a new subaccount.
 47592  func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
 47593  	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47594  	c.profileId = profileId
 47595  	c.subaccount = subaccount
 47596  	return c
 47597  }
 47598  
 47599  // Fields allows partial responses to be retrieved. See
 47600  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47601  // for more information.
 47602  func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
 47603  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47604  	return c
 47605  }
 47606  
 47607  // Context sets the context to be used in this call's Do method. Any
 47608  // pending HTTP request will be aborted if the provided context is
 47609  // canceled.
 47610  func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 47611  	c.ctx_ = ctx
 47612  	return c
 47613  }
 47614  
 47615  // Header returns an http.Header that can be modified by the caller to
 47616  // add HTTP headers to the request.
 47617  func (c *SubaccountsInsertCall) Header() http.Header {
 47618  	if c.header_ == nil {
 47619  		c.header_ = make(http.Header)
 47620  	}
 47621  	return c.header_
 47622  }
 47623  
 47624  func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 47625  	reqHeaders := make(http.Header)
 47626  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47627  	for k, v := range c.header_ {
 47628  		reqHeaders[k] = v
 47629  	}
 47630  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47631  	var body io.Reader = nil
 47632  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47633  	if err != nil {
 47634  		return nil, err
 47635  	}
 47636  	reqHeaders.Set("Content-Type", "application/json")
 47637  	c.urlParams_.Set("alt", alt)
 47638  	c.urlParams_.Set("prettyPrint", "false")
 47639  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47640  	urls += "?" + c.urlParams_.Encode()
 47641  	req, err := http.NewRequest("POST", urls, body)
 47642  	if err != nil {
 47643  		return nil, err
 47644  	}
 47645  	req.Header = reqHeaders
 47646  	googleapi.Expand(req.URL, map[string]string{
 47647  		"profileId": strconv.FormatInt(c.profileId, 10),
 47648  	})
 47649  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47650  }
 47651  
 47652  // Do executes the "dfareporting.subaccounts.insert" call.
 47653  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47654  // status code is an error. Response headers are in either
 47655  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47656  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47657  // to check whether the returned error was because
 47658  // http.StatusNotModified was returned.
 47659  func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47660  	gensupport.SetOptions(c.urlParams_, opts...)
 47661  	res, err := c.doRequest("json")
 47662  	if res != nil && res.StatusCode == http.StatusNotModified {
 47663  		if res.Body != nil {
 47664  			res.Body.Close()
 47665  		}
 47666  		return nil, &googleapi.Error{
 47667  			Code:   res.StatusCode,
 47668  			Header: res.Header,
 47669  		}
 47670  	}
 47671  	if err != nil {
 47672  		return nil, err
 47673  	}
 47674  	defer googleapi.CloseBody(res)
 47675  	if err := googleapi.CheckResponse(res); err != nil {
 47676  		return nil, err
 47677  	}
 47678  	ret := &Subaccount{
 47679  		ServerResponse: googleapi.ServerResponse{
 47680  			Header:         res.Header,
 47681  			HTTPStatusCode: res.StatusCode,
 47682  		},
 47683  	}
 47684  	target := &ret
 47685  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47686  		return nil, err
 47687  	}
 47688  	return ret, nil
 47689  	// {
 47690  	//   "description": "Inserts a new subaccount.",
 47691  	//   "httpMethod": "POST",
 47692  	//   "id": "dfareporting.subaccounts.insert",
 47693  	//   "parameterOrder": [
 47694  	//     "profileId"
 47695  	//   ],
 47696  	//   "parameters": {
 47697  	//     "profileId": {
 47698  	//       "description": "User profile ID associated with this request.",
 47699  	//       "format": "int64",
 47700  	//       "location": "path",
 47701  	//       "required": true,
 47702  	//       "type": "string"
 47703  	//     }
 47704  	//   },
 47705  	//   "path": "userprofiles/{profileId}/subaccounts",
 47706  	//   "request": {
 47707  	//     "$ref": "Subaccount"
 47708  	//   },
 47709  	//   "response": {
 47710  	//     "$ref": "Subaccount"
 47711  	//   },
 47712  	//   "scopes": [
 47713  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47714  	//   ]
 47715  	// }
 47716  
 47717  }
 47718  
 47719  // method id "dfareporting.subaccounts.list":
 47720  
 47721  type SubaccountsListCall struct {
 47722  	s            *Service
 47723  	profileId    int64
 47724  	urlParams_   gensupport.URLParams
 47725  	ifNoneMatch_ string
 47726  	ctx_         context.Context
 47727  	header_      http.Header
 47728  }
 47729  
 47730  // List: Gets a list of subaccounts, possibly filtered. This method
 47731  // supports paging.
 47732  func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
 47733  	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47734  	c.profileId = profileId
 47735  	return c
 47736  }
 47737  
 47738  // Ids sets the optional parameter "ids": Select only subaccounts with
 47739  // these IDs.
 47740  func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
 47741  	var ids_ []string
 47742  	for _, v := range ids {
 47743  		ids_ = append(ids_, fmt.Sprint(v))
 47744  	}
 47745  	c.urlParams_.SetMulti("ids", ids_)
 47746  	return c
 47747  }
 47748  
 47749  // MaxResults sets the optional parameter "maxResults": Maximum number
 47750  // of results to return.
 47751  func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
 47752  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 47753  	return c
 47754  }
 47755  
 47756  // PageToken sets the optional parameter "pageToken": Value of the
 47757  // nextPageToken from the previous result page.
 47758  func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
 47759  	c.urlParams_.Set("pageToken", pageToken)
 47760  	return c
 47761  }
 47762  
 47763  // SearchString sets the optional parameter "searchString": Allows
 47764  // searching for objects by name or ID. Wildcards (*) are allowed. For
 47765  // example, "subaccount*2015" will return objects with names like
 47766  // "subaccount June 2015", "subaccount April 2015", or simply
 47767  // "subaccount 2015". Most of the searches also add wildcards implicitly
 47768  // at the start and the end of the search string. For example, a search
 47769  // string of "subaccount" will match objects with name "my subaccount",
 47770  // "subaccount 2015", or simply "subaccount".
 47771  func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
 47772  	c.urlParams_.Set("searchString", searchString)
 47773  	return c
 47774  }
 47775  
 47776  // SortField sets the optional parameter "sortField": Field by which to
 47777  // sort the list.
 47778  //
 47779  // Possible values:
 47780  //
 47781  //	"ID" (default)
 47782  //	"NAME"
 47783  func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
 47784  	c.urlParams_.Set("sortField", sortField)
 47785  	return c
 47786  }
 47787  
 47788  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 47789  // results.
 47790  //
 47791  // Possible values:
 47792  //
 47793  //	"ASCENDING" (default)
 47794  //	"DESCENDING"
 47795  func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
 47796  	c.urlParams_.Set("sortOrder", sortOrder)
 47797  	return c
 47798  }
 47799  
 47800  // Fields allows partial responses to be retrieved. See
 47801  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47802  // for more information.
 47803  func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
 47804  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47805  	return c
 47806  }
 47807  
 47808  // IfNoneMatch sets the optional parameter which makes the operation
 47809  // fail if the object's ETag matches the given value. This is useful for
 47810  // getting updates only after the object has changed since the last
 47811  // request. Use googleapi.IsNotModified to check whether the response
 47812  // error from Do is the result of In-None-Match.
 47813  func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
 47814  	c.ifNoneMatch_ = entityTag
 47815  	return c
 47816  }
 47817  
 47818  // Context sets the context to be used in this call's Do method. Any
 47819  // pending HTTP request will be aborted if the provided context is
 47820  // canceled.
 47821  func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 47822  	c.ctx_ = ctx
 47823  	return c
 47824  }
 47825  
 47826  // Header returns an http.Header that can be modified by the caller to
 47827  // add HTTP headers to the request.
 47828  func (c *SubaccountsListCall) Header() http.Header {
 47829  	if c.header_ == nil {
 47830  		c.header_ = make(http.Header)
 47831  	}
 47832  	return c.header_
 47833  }
 47834  
 47835  func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 47836  	reqHeaders := make(http.Header)
 47837  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 47838  	for k, v := range c.header_ {
 47839  		reqHeaders[k] = v
 47840  	}
 47841  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47842  	if c.ifNoneMatch_ != "" {
 47843  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47844  	}
 47845  	var body io.Reader = nil
 47846  	c.urlParams_.Set("alt", alt)
 47847  	c.urlParams_.Set("prettyPrint", "false")
 47848  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47849  	urls += "?" + c.urlParams_.Encode()
 47850  	req, err := http.NewRequest("GET", urls, body)
 47851  	if err != nil {
 47852  		return nil, err
 47853  	}
 47854  	req.Header = reqHeaders
 47855  	googleapi.Expand(req.URL, map[string]string{
 47856  		"profileId": strconv.FormatInt(c.profileId, 10),
 47857  	})
 47858  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47859  }
 47860  
 47861  // Do executes the "dfareporting.subaccounts.list" call.
 47862  // Exactly one of *SubaccountsListResponse or error will be non-nil. Any
 47863  // non-2xx status code is an error. Response headers are in either
 47864  // *SubaccountsListResponse.ServerResponse.Header or (if a response was
 47865  // returned at all) in error.(*googleapi.Error).Header. Use
 47866  // googleapi.IsNotModified to check whether the returned error was
 47867  // because http.StatusNotModified was returned.
 47868  func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
 47869  	gensupport.SetOptions(c.urlParams_, opts...)
 47870  	res, err := c.doRequest("json")
 47871  	if res != nil && res.StatusCode == http.StatusNotModified {
 47872  		if res.Body != nil {
 47873  			res.Body.Close()
 47874  		}
 47875  		return nil, &googleapi.Error{
 47876  			Code:   res.StatusCode,
 47877  			Header: res.Header,
 47878  		}
 47879  	}
 47880  	if err != nil {
 47881  		return nil, err
 47882  	}
 47883  	defer googleapi.CloseBody(res)
 47884  	if err := googleapi.CheckResponse(res); err != nil {
 47885  		return nil, err
 47886  	}
 47887  	ret := &SubaccountsListResponse{
 47888  		ServerResponse: googleapi.ServerResponse{
 47889  			Header:         res.Header,
 47890  			HTTPStatusCode: res.StatusCode,
 47891  		},
 47892  	}
 47893  	target := &ret
 47894  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47895  		return nil, err
 47896  	}
 47897  	return ret, nil
 47898  	// {
 47899  	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
 47900  	//   "httpMethod": "GET",
 47901  	//   "id": "dfareporting.subaccounts.list",
 47902  	//   "parameterOrder": [
 47903  	//     "profileId"
 47904  	//   ],
 47905  	//   "parameters": {
 47906  	//     "ids": {
 47907  	//       "description": "Select only subaccounts with these IDs.",
 47908  	//       "format": "int64",
 47909  	//       "location": "query",
 47910  	//       "repeated": true,
 47911  	//       "type": "string"
 47912  	//     },
 47913  	//     "maxResults": {
 47914  	//       "default": "1000",
 47915  	//       "description": "Maximum number of results to return.",
 47916  	//       "format": "int32",
 47917  	//       "location": "query",
 47918  	//       "maximum": "1000",
 47919  	//       "minimum": "0",
 47920  	//       "type": "integer"
 47921  	//     },
 47922  	//     "pageToken": {
 47923  	//       "description": "Value of the nextPageToken from the previous result page.",
 47924  	//       "location": "query",
 47925  	//       "type": "string"
 47926  	//     },
 47927  	//     "profileId": {
 47928  	//       "description": "User profile ID associated with this request.",
 47929  	//       "format": "int64",
 47930  	//       "location": "path",
 47931  	//       "required": true,
 47932  	//       "type": "string"
 47933  	//     },
 47934  	//     "searchString": {
 47935  	//       "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\".",
 47936  	//       "location": "query",
 47937  	//       "type": "string"
 47938  	//     },
 47939  	//     "sortField": {
 47940  	//       "default": "ID",
 47941  	//       "description": "Field by which to sort the list.",
 47942  	//       "enum": [
 47943  	//         "ID",
 47944  	//         "NAME"
 47945  	//       ],
 47946  	//       "enumDescriptions": [
 47947  	//         "",
 47948  	//         ""
 47949  	//       ],
 47950  	//       "location": "query",
 47951  	//       "type": "string"
 47952  	//     },
 47953  	//     "sortOrder": {
 47954  	//       "default": "ASCENDING",
 47955  	//       "description": "Order of sorted results.",
 47956  	//       "enum": [
 47957  	//         "ASCENDING",
 47958  	//         "DESCENDING"
 47959  	//       ],
 47960  	//       "enumDescriptions": [
 47961  	//         "",
 47962  	//         ""
 47963  	//       ],
 47964  	//       "location": "query",
 47965  	//       "type": "string"
 47966  	//     }
 47967  	//   },
 47968  	//   "path": "userprofiles/{profileId}/subaccounts",
 47969  	//   "response": {
 47970  	//     "$ref": "SubaccountsListResponse"
 47971  	//   },
 47972  	//   "scopes": [
 47973  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47974  	//   ]
 47975  	// }
 47976  
 47977  }
 47978  
 47979  // Pages invokes f for each page of results.
 47980  // A non-nil error returned from f will halt the iteration.
 47981  // The provided context supersedes any context provided to the Context method.
 47982  func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
 47983  	c.ctx_ = ctx
 47984  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 47985  	for {
 47986  		x, err := c.Do()
 47987  		if err != nil {
 47988  			return err
 47989  		}
 47990  		if err := f(x); err != nil {
 47991  			return err
 47992  		}
 47993  		if x.NextPageToken == "" {
 47994  			return nil
 47995  		}
 47996  		c.PageToken(x.NextPageToken)
 47997  	}
 47998  }
 47999  
 48000  // method id "dfareporting.subaccounts.patch":
 48001  
 48002  type SubaccountsPatchCall struct {
 48003  	s          *Service
 48004  	profileId  int64
 48005  	subaccount *Subaccount
 48006  	urlParams_ gensupport.URLParams
 48007  	ctx_       context.Context
 48008  	header_    http.Header
 48009  }
 48010  
 48011  // Patch: Updates an existing subaccount. This method supports patch
 48012  // semantics.
 48013  func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
 48014  	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48015  	c.profileId = profileId
 48016  	c.urlParams_.Set("id", fmt.Sprint(id))
 48017  	c.subaccount = subaccount
 48018  	return c
 48019  }
 48020  
 48021  // Fields allows partial responses to be retrieved. See
 48022  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48023  // for more information.
 48024  func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
 48025  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48026  	return c
 48027  }
 48028  
 48029  // Context sets the context to be used in this call's Do method. Any
 48030  // pending HTTP request will be aborted if the provided context is
 48031  // canceled.
 48032  func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 48033  	c.ctx_ = ctx
 48034  	return c
 48035  }
 48036  
 48037  // Header returns an http.Header that can be modified by the caller to
 48038  // add HTTP headers to the request.
 48039  func (c *SubaccountsPatchCall) Header() http.Header {
 48040  	if c.header_ == nil {
 48041  		c.header_ = make(http.Header)
 48042  	}
 48043  	return c.header_
 48044  }
 48045  
 48046  func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 48047  	reqHeaders := make(http.Header)
 48048  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48049  	for k, v := range c.header_ {
 48050  		reqHeaders[k] = v
 48051  	}
 48052  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48053  	var body io.Reader = nil
 48054  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 48055  	if err != nil {
 48056  		return nil, err
 48057  	}
 48058  	reqHeaders.Set("Content-Type", "application/json")
 48059  	c.urlParams_.Set("alt", alt)
 48060  	c.urlParams_.Set("prettyPrint", "false")
 48061  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 48062  	urls += "?" + c.urlParams_.Encode()
 48063  	req, err := http.NewRequest("PATCH", urls, body)
 48064  	if err != nil {
 48065  		return nil, err
 48066  	}
 48067  	req.Header = reqHeaders
 48068  	googleapi.Expand(req.URL, map[string]string{
 48069  		"profileId": strconv.FormatInt(c.profileId, 10),
 48070  	})
 48071  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48072  }
 48073  
 48074  // Do executes the "dfareporting.subaccounts.patch" call.
 48075  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 48076  // status code is an error. Response headers are in either
 48077  // *Subaccount.ServerResponse.Header or (if a response was returned at
 48078  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 48079  // to check whether the returned error was because
 48080  // http.StatusNotModified was returned.
 48081  func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 48082  	gensupport.SetOptions(c.urlParams_, opts...)
 48083  	res, err := c.doRequest("json")
 48084  	if res != nil && res.StatusCode == http.StatusNotModified {
 48085  		if res.Body != nil {
 48086  			res.Body.Close()
 48087  		}
 48088  		return nil, &googleapi.Error{
 48089  			Code:   res.StatusCode,
 48090  			Header: res.Header,
 48091  		}
 48092  	}
 48093  	if err != nil {
 48094  		return nil, err
 48095  	}
 48096  	defer googleapi.CloseBody(res)
 48097  	if err := googleapi.CheckResponse(res); err != nil {
 48098  		return nil, err
 48099  	}
 48100  	ret := &Subaccount{
 48101  		ServerResponse: googleapi.ServerResponse{
 48102  			Header:         res.Header,
 48103  			HTTPStatusCode: res.StatusCode,
 48104  		},
 48105  	}
 48106  	target := &ret
 48107  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48108  		return nil, err
 48109  	}
 48110  	return ret, nil
 48111  	// {
 48112  	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
 48113  	//   "httpMethod": "PATCH",
 48114  	//   "id": "dfareporting.subaccounts.patch",
 48115  	//   "parameterOrder": [
 48116  	//     "profileId",
 48117  	//     "id"
 48118  	//   ],
 48119  	//   "parameters": {
 48120  	//     "id": {
 48121  	//       "description": "Subaccount ID.",
 48122  	//       "format": "int64",
 48123  	//       "location": "query",
 48124  	//       "required": true,
 48125  	//       "type": "string"
 48126  	//     },
 48127  	//     "profileId": {
 48128  	//       "description": "User profile ID associated with this request.",
 48129  	//       "format": "int64",
 48130  	//       "location": "path",
 48131  	//       "required": true,
 48132  	//       "type": "string"
 48133  	//     }
 48134  	//   },
 48135  	//   "path": "userprofiles/{profileId}/subaccounts",
 48136  	//   "request": {
 48137  	//     "$ref": "Subaccount"
 48138  	//   },
 48139  	//   "response": {
 48140  	//     "$ref": "Subaccount"
 48141  	//   },
 48142  	//   "scopes": [
 48143  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48144  	//   ]
 48145  	// }
 48146  
 48147  }
 48148  
 48149  // method id "dfareporting.subaccounts.update":
 48150  
 48151  type SubaccountsUpdateCall struct {
 48152  	s          *Service
 48153  	profileId  int64
 48154  	subaccount *Subaccount
 48155  	urlParams_ gensupport.URLParams
 48156  	ctx_       context.Context
 48157  	header_    http.Header
 48158  }
 48159  
 48160  // Update: Updates an existing subaccount.
 48161  func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
 48162  	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48163  	c.profileId = profileId
 48164  	c.subaccount = subaccount
 48165  	return c
 48166  }
 48167  
 48168  // Fields allows partial responses to be retrieved. See
 48169  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48170  // for more information.
 48171  func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
 48172  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48173  	return c
 48174  }
 48175  
 48176  // Context sets the context to be used in this call's Do method. Any
 48177  // pending HTTP request will be aborted if the provided context is
 48178  // canceled.
 48179  func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 48180  	c.ctx_ = ctx
 48181  	return c
 48182  }
 48183  
 48184  // Header returns an http.Header that can be modified by the caller to
 48185  // add HTTP headers to the request.
 48186  func (c *SubaccountsUpdateCall) Header() http.Header {
 48187  	if c.header_ == nil {
 48188  		c.header_ = make(http.Header)
 48189  	}
 48190  	return c.header_
 48191  }
 48192  
 48193  func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 48194  	reqHeaders := make(http.Header)
 48195  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48196  	for k, v := range c.header_ {
 48197  		reqHeaders[k] = v
 48198  	}
 48199  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48200  	var body io.Reader = nil
 48201  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 48202  	if err != nil {
 48203  		return nil, err
 48204  	}
 48205  	reqHeaders.Set("Content-Type", "application/json")
 48206  	c.urlParams_.Set("alt", alt)
 48207  	c.urlParams_.Set("prettyPrint", "false")
 48208  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 48209  	urls += "?" + c.urlParams_.Encode()
 48210  	req, err := http.NewRequest("PUT", urls, body)
 48211  	if err != nil {
 48212  		return nil, err
 48213  	}
 48214  	req.Header = reqHeaders
 48215  	googleapi.Expand(req.URL, map[string]string{
 48216  		"profileId": strconv.FormatInt(c.profileId, 10),
 48217  	})
 48218  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48219  }
 48220  
 48221  // Do executes the "dfareporting.subaccounts.update" call.
 48222  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 48223  // status code is an error. Response headers are in either
 48224  // *Subaccount.ServerResponse.Header or (if a response was returned at
 48225  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 48226  // to check whether the returned error was because
 48227  // http.StatusNotModified was returned.
 48228  func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 48229  	gensupport.SetOptions(c.urlParams_, opts...)
 48230  	res, err := c.doRequest("json")
 48231  	if res != nil && res.StatusCode == http.StatusNotModified {
 48232  		if res.Body != nil {
 48233  			res.Body.Close()
 48234  		}
 48235  		return nil, &googleapi.Error{
 48236  			Code:   res.StatusCode,
 48237  			Header: res.Header,
 48238  		}
 48239  	}
 48240  	if err != nil {
 48241  		return nil, err
 48242  	}
 48243  	defer googleapi.CloseBody(res)
 48244  	if err := googleapi.CheckResponse(res); err != nil {
 48245  		return nil, err
 48246  	}
 48247  	ret := &Subaccount{
 48248  		ServerResponse: googleapi.ServerResponse{
 48249  			Header:         res.Header,
 48250  			HTTPStatusCode: res.StatusCode,
 48251  		},
 48252  	}
 48253  	target := &ret
 48254  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48255  		return nil, err
 48256  	}
 48257  	return ret, nil
 48258  	// {
 48259  	//   "description": "Updates an existing subaccount.",
 48260  	//   "httpMethod": "PUT",
 48261  	//   "id": "dfareporting.subaccounts.update",
 48262  	//   "parameterOrder": [
 48263  	//     "profileId"
 48264  	//   ],
 48265  	//   "parameters": {
 48266  	//     "profileId": {
 48267  	//       "description": "User profile ID associated with this request.",
 48268  	//       "format": "int64",
 48269  	//       "location": "path",
 48270  	//       "required": true,
 48271  	//       "type": "string"
 48272  	//     }
 48273  	//   },
 48274  	//   "path": "userprofiles/{profileId}/subaccounts",
 48275  	//   "request": {
 48276  	//     "$ref": "Subaccount"
 48277  	//   },
 48278  	//   "response": {
 48279  	//     "$ref": "Subaccount"
 48280  	//   },
 48281  	//   "scopes": [
 48282  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48283  	//   ]
 48284  	// }
 48285  
 48286  }
 48287  
 48288  // method id "dfareporting.targetableRemarketingLists.get":
 48289  
 48290  type TargetableRemarketingListsGetCall struct {
 48291  	s            *Service
 48292  	profileId    int64
 48293  	id           int64
 48294  	urlParams_   gensupport.URLParams
 48295  	ifNoneMatch_ string
 48296  	ctx_         context.Context
 48297  	header_      http.Header
 48298  }
 48299  
 48300  // Get: Gets one remarketing list by ID.
 48301  func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
 48302  	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48303  	c.profileId = profileId
 48304  	c.id = id
 48305  	return c
 48306  }
 48307  
 48308  // Fields allows partial responses to be retrieved. See
 48309  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48310  // for more information.
 48311  func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
 48312  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48313  	return c
 48314  }
 48315  
 48316  // IfNoneMatch sets the optional parameter which makes the operation
 48317  // fail if the object's ETag matches the given value. This is useful for
 48318  // getting updates only after the object has changed since the last
 48319  // request. Use googleapi.IsNotModified to check whether the response
 48320  // error from Do is the result of In-None-Match.
 48321  func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
 48322  	c.ifNoneMatch_ = entityTag
 48323  	return c
 48324  }
 48325  
 48326  // Context sets the context to be used in this call's Do method. Any
 48327  // pending HTTP request will be aborted if the provided context is
 48328  // canceled.
 48329  func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
 48330  	c.ctx_ = ctx
 48331  	return c
 48332  }
 48333  
 48334  // Header returns an http.Header that can be modified by the caller to
 48335  // add HTTP headers to the request.
 48336  func (c *TargetableRemarketingListsGetCall) Header() http.Header {
 48337  	if c.header_ == nil {
 48338  		c.header_ = make(http.Header)
 48339  	}
 48340  	return c.header_
 48341  }
 48342  
 48343  func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 48344  	reqHeaders := make(http.Header)
 48345  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48346  	for k, v := range c.header_ {
 48347  		reqHeaders[k] = v
 48348  	}
 48349  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48350  	if c.ifNoneMatch_ != "" {
 48351  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48352  	}
 48353  	var body io.Reader = nil
 48354  	c.urlParams_.Set("alt", alt)
 48355  	c.urlParams_.Set("prettyPrint", "false")
 48356  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
 48357  	urls += "?" + c.urlParams_.Encode()
 48358  	req, err := http.NewRequest("GET", urls, body)
 48359  	if err != nil {
 48360  		return nil, err
 48361  	}
 48362  	req.Header = reqHeaders
 48363  	googleapi.Expand(req.URL, map[string]string{
 48364  		"profileId": strconv.FormatInt(c.profileId, 10),
 48365  		"id":        strconv.FormatInt(c.id, 10),
 48366  	})
 48367  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48368  }
 48369  
 48370  // Do executes the "dfareporting.targetableRemarketingLists.get" call.
 48371  // Exactly one of *TargetableRemarketingList or error will be non-nil.
 48372  // Any non-2xx status code is an error. Response headers are in either
 48373  // *TargetableRemarketingList.ServerResponse.Header or (if a response
 48374  // was returned at all) in error.(*googleapi.Error).Header. Use
 48375  // googleapi.IsNotModified to check whether the returned error was
 48376  // because http.StatusNotModified was returned.
 48377  func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
 48378  	gensupport.SetOptions(c.urlParams_, opts...)
 48379  	res, err := c.doRequest("json")
 48380  	if res != nil && res.StatusCode == http.StatusNotModified {
 48381  		if res.Body != nil {
 48382  			res.Body.Close()
 48383  		}
 48384  		return nil, &googleapi.Error{
 48385  			Code:   res.StatusCode,
 48386  			Header: res.Header,
 48387  		}
 48388  	}
 48389  	if err != nil {
 48390  		return nil, err
 48391  	}
 48392  	defer googleapi.CloseBody(res)
 48393  	if err := googleapi.CheckResponse(res); err != nil {
 48394  		return nil, err
 48395  	}
 48396  	ret := &TargetableRemarketingList{
 48397  		ServerResponse: googleapi.ServerResponse{
 48398  			Header:         res.Header,
 48399  			HTTPStatusCode: res.StatusCode,
 48400  		},
 48401  	}
 48402  	target := &ret
 48403  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48404  		return nil, err
 48405  	}
 48406  	return ret, nil
 48407  	// {
 48408  	//   "description": "Gets one remarketing list by ID.",
 48409  	//   "httpMethod": "GET",
 48410  	//   "id": "dfareporting.targetableRemarketingLists.get",
 48411  	//   "parameterOrder": [
 48412  	//     "profileId",
 48413  	//     "id"
 48414  	//   ],
 48415  	//   "parameters": {
 48416  	//     "id": {
 48417  	//       "description": "Remarketing list ID.",
 48418  	//       "format": "int64",
 48419  	//       "location": "path",
 48420  	//       "required": true,
 48421  	//       "type": "string"
 48422  	//     },
 48423  	//     "profileId": {
 48424  	//       "description": "User profile ID associated with this request.",
 48425  	//       "format": "int64",
 48426  	//       "location": "path",
 48427  	//       "required": true,
 48428  	//       "type": "string"
 48429  	//     }
 48430  	//   },
 48431  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 48432  	//   "response": {
 48433  	//     "$ref": "TargetableRemarketingList"
 48434  	//   },
 48435  	//   "scopes": [
 48436  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48437  	//   ]
 48438  	// }
 48439  
 48440  }
 48441  
 48442  // method id "dfareporting.targetableRemarketingLists.list":
 48443  
 48444  type TargetableRemarketingListsListCall struct {
 48445  	s            *Service
 48446  	profileId    int64
 48447  	urlParams_   gensupport.URLParams
 48448  	ifNoneMatch_ string
 48449  	ctx_         context.Context
 48450  	header_      http.Header
 48451  }
 48452  
 48453  // List: Retrieves a list of targetable remarketing lists, possibly
 48454  // filtered. This method supports paging.
 48455  func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
 48456  	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48457  	c.profileId = profileId
 48458  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 48459  	return c
 48460  }
 48461  
 48462  // Active sets the optional parameter "active": Select only active or
 48463  // only inactive targetable remarketing lists.
 48464  func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
 48465  	c.urlParams_.Set("active", fmt.Sprint(active))
 48466  	return c
 48467  }
 48468  
 48469  // MaxResults sets the optional parameter "maxResults": Maximum number
 48470  // of results to return.
 48471  func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
 48472  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 48473  	return c
 48474  }
 48475  
 48476  // Name sets the optional parameter "name": Allows searching for objects
 48477  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 48478  // list*2015" will return objects with names like "remarketing list June
 48479  // 2015", "remarketing list April 2015", or simply "remarketing list
 48480  // 2015". Most of the searches also add wildcards implicitly at the
 48481  // start and the end of the search string. For example, a search string
 48482  // of "remarketing list" will match objects with name "my remarketing
 48483  // list", "remarketing list 2015", or simply "remarketing list".
 48484  func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
 48485  	c.urlParams_.Set("name", name)
 48486  	return c
 48487  }
 48488  
 48489  // PageToken sets the optional parameter "pageToken": Value of the
 48490  // nextPageToken from the previous result page.
 48491  func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
 48492  	c.urlParams_.Set("pageToken", pageToken)
 48493  	return c
 48494  }
 48495  
 48496  // SortField sets the optional parameter "sortField": Field by which to
 48497  // sort the list.
 48498  //
 48499  // Possible values:
 48500  //
 48501  //	"ID" (default)
 48502  //	"NAME"
 48503  func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
 48504  	c.urlParams_.Set("sortField", sortField)
 48505  	return c
 48506  }
 48507  
 48508  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 48509  // results.
 48510  //
 48511  // Possible values:
 48512  //
 48513  //	"ASCENDING" (default)
 48514  //	"DESCENDING"
 48515  func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
 48516  	c.urlParams_.Set("sortOrder", sortOrder)
 48517  	return c
 48518  }
 48519  
 48520  // Fields allows partial responses to be retrieved. See
 48521  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48522  // for more information.
 48523  func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
 48524  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48525  	return c
 48526  }
 48527  
 48528  // IfNoneMatch sets the optional parameter which makes the operation
 48529  // fail if the object's ETag matches the given value. This is useful for
 48530  // getting updates only after the object has changed since the last
 48531  // request. Use googleapi.IsNotModified to check whether the response
 48532  // error from Do is the result of In-None-Match.
 48533  func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
 48534  	c.ifNoneMatch_ = entityTag
 48535  	return c
 48536  }
 48537  
 48538  // Context sets the context to be used in this call's Do method. Any
 48539  // pending HTTP request will be aborted if the provided context is
 48540  // canceled.
 48541  func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
 48542  	c.ctx_ = ctx
 48543  	return c
 48544  }
 48545  
 48546  // Header returns an http.Header that can be modified by the caller to
 48547  // add HTTP headers to the request.
 48548  func (c *TargetableRemarketingListsListCall) Header() http.Header {
 48549  	if c.header_ == nil {
 48550  		c.header_ = make(http.Header)
 48551  	}
 48552  	return c.header_
 48553  }
 48554  
 48555  func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 48556  	reqHeaders := make(http.Header)
 48557  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48558  	for k, v := range c.header_ {
 48559  		reqHeaders[k] = v
 48560  	}
 48561  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48562  	if c.ifNoneMatch_ != "" {
 48563  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48564  	}
 48565  	var body io.Reader = nil
 48566  	c.urlParams_.Set("alt", alt)
 48567  	c.urlParams_.Set("prettyPrint", "false")
 48568  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
 48569  	urls += "?" + c.urlParams_.Encode()
 48570  	req, err := http.NewRequest("GET", urls, body)
 48571  	if err != nil {
 48572  		return nil, err
 48573  	}
 48574  	req.Header = reqHeaders
 48575  	googleapi.Expand(req.URL, map[string]string{
 48576  		"profileId": strconv.FormatInt(c.profileId, 10),
 48577  	})
 48578  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48579  }
 48580  
 48581  // Do executes the "dfareporting.targetableRemarketingLists.list" call.
 48582  // Exactly one of *TargetableRemarketingListsListResponse or error will
 48583  // be non-nil. Any non-2xx status code is an error. Response headers are
 48584  // in either
 48585  // *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
 48586  // a response was returned at all) in error.(*googleapi.Error).Header.
 48587  // Use googleapi.IsNotModified to check whether the returned error was
 48588  // because http.StatusNotModified was returned.
 48589  func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
 48590  	gensupport.SetOptions(c.urlParams_, opts...)
 48591  	res, err := c.doRequest("json")
 48592  	if res != nil && res.StatusCode == http.StatusNotModified {
 48593  		if res.Body != nil {
 48594  			res.Body.Close()
 48595  		}
 48596  		return nil, &googleapi.Error{
 48597  			Code:   res.StatusCode,
 48598  			Header: res.Header,
 48599  		}
 48600  	}
 48601  	if err != nil {
 48602  		return nil, err
 48603  	}
 48604  	defer googleapi.CloseBody(res)
 48605  	if err := googleapi.CheckResponse(res); err != nil {
 48606  		return nil, err
 48607  	}
 48608  	ret := &TargetableRemarketingListsListResponse{
 48609  		ServerResponse: googleapi.ServerResponse{
 48610  			Header:         res.Header,
 48611  			HTTPStatusCode: res.StatusCode,
 48612  		},
 48613  	}
 48614  	target := &ret
 48615  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48616  		return nil, err
 48617  	}
 48618  	return ret, nil
 48619  	// {
 48620  	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
 48621  	//   "httpMethod": "GET",
 48622  	//   "id": "dfareporting.targetableRemarketingLists.list",
 48623  	//   "parameterOrder": [
 48624  	//     "profileId",
 48625  	//     "advertiserId"
 48626  	//   ],
 48627  	//   "parameters": {
 48628  	//     "active": {
 48629  	//       "description": "Select only active or only inactive targetable remarketing lists.",
 48630  	//       "location": "query",
 48631  	//       "type": "boolean"
 48632  	//     },
 48633  	//     "advertiserId": {
 48634  	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
 48635  	//       "format": "int64",
 48636  	//       "location": "query",
 48637  	//       "required": true,
 48638  	//       "type": "string"
 48639  	//     },
 48640  	//     "maxResults": {
 48641  	//       "default": "1000",
 48642  	//       "description": "Maximum number of results to return.",
 48643  	//       "format": "int32",
 48644  	//       "location": "query",
 48645  	//       "maximum": "1000",
 48646  	//       "minimum": "0",
 48647  	//       "type": "integer"
 48648  	//     },
 48649  	//     "name": {
 48650  	//       "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\".",
 48651  	//       "location": "query",
 48652  	//       "type": "string"
 48653  	//     },
 48654  	//     "pageToken": {
 48655  	//       "description": "Value of the nextPageToken from the previous result page.",
 48656  	//       "location": "query",
 48657  	//       "type": "string"
 48658  	//     },
 48659  	//     "profileId": {
 48660  	//       "description": "User profile ID associated with this request.",
 48661  	//       "format": "int64",
 48662  	//       "location": "path",
 48663  	//       "required": true,
 48664  	//       "type": "string"
 48665  	//     },
 48666  	//     "sortField": {
 48667  	//       "default": "ID",
 48668  	//       "description": "Field by which to sort the list.",
 48669  	//       "enum": [
 48670  	//         "ID",
 48671  	//         "NAME"
 48672  	//       ],
 48673  	//       "enumDescriptions": [
 48674  	//         "",
 48675  	//         ""
 48676  	//       ],
 48677  	//       "location": "query",
 48678  	//       "type": "string"
 48679  	//     },
 48680  	//     "sortOrder": {
 48681  	//       "default": "ASCENDING",
 48682  	//       "description": "Order of sorted results.",
 48683  	//       "enum": [
 48684  	//         "ASCENDING",
 48685  	//         "DESCENDING"
 48686  	//       ],
 48687  	//       "enumDescriptions": [
 48688  	//         "",
 48689  	//         ""
 48690  	//       ],
 48691  	//       "location": "query",
 48692  	//       "type": "string"
 48693  	//     }
 48694  	//   },
 48695  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
 48696  	//   "response": {
 48697  	//     "$ref": "TargetableRemarketingListsListResponse"
 48698  	//   },
 48699  	//   "scopes": [
 48700  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48701  	//   ]
 48702  	// }
 48703  
 48704  }
 48705  
 48706  // Pages invokes f for each page of results.
 48707  // A non-nil error returned from f will halt the iteration.
 48708  // The provided context supersedes any context provided to the Context method.
 48709  func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
 48710  	c.ctx_ = ctx
 48711  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 48712  	for {
 48713  		x, err := c.Do()
 48714  		if err != nil {
 48715  			return err
 48716  		}
 48717  		if err := f(x); err != nil {
 48718  			return err
 48719  		}
 48720  		if x.NextPageToken == "" {
 48721  			return nil
 48722  		}
 48723  		c.PageToken(x.NextPageToken)
 48724  	}
 48725  }
 48726  
 48727  // method id "dfareporting.targetingTemplates.get":
 48728  
 48729  type TargetingTemplatesGetCall struct {
 48730  	s            *Service
 48731  	profileId    int64
 48732  	id           int64
 48733  	urlParams_   gensupport.URLParams
 48734  	ifNoneMatch_ string
 48735  	ctx_         context.Context
 48736  	header_      http.Header
 48737  }
 48738  
 48739  // Get: Gets one targeting template by ID.
 48740  func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
 48741  	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48742  	c.profileId = profileId
 48743  	c.id = id
 48744  	return c
 48745  }
 48746  
 48747  // Fields allows partial responses to be retrieved. See
 48748  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48749  // for more information.
 48750  func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
 48751  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48752  	return c
 48753  }
 48754  
 48755  // IfNoneMatch sets the optional parameter which makes the operation
 48756  // fail if the object's ETag matches the given value. This is useful for
 48757  // getting updates only after the object has changed since the last
 48758  // request. Use googleapi.IsNotModified to check whether the response
 48759  // error from Do is the result of In-None-Match.
 48760  func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
 48761  	c.ifNoneMatch_ = entityTag
 48762  	return c
 48763  }
 48764  
 48765  // Context sets the context to be used in this call's Do method. Any
 48766  // pending HTTP request will be aborted if the provided context is
 48767  // canceled.
 48768  func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
 48769  	c.ctx_ = ctx
 48770  	return c
 48771  }
 48772  
 48773  // Header returns an http.Header that can be modified by the caller to
 48774  // add HTTP headers to the request.
 48775  func (c *TargetingTemplatesGetCall) Header() http.Header {
 48776  	if c.header_ == nil {
 48777  		c.header_ = make(http.Header)
 48778  	}
 48779  	return c.header_
 48780  }
 48781  
 48782  func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 48783  	reqHeaders := make(http.Header)
 48784  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48785  	for k, v := range c.header_ {
 48786  		reqHeaders[k] = v
 48787  	}
 48788  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48789  	if c.ifNoneMatch_ != "" {
 48790  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48791  	}
 48792  	var body io.Reader = nil
 48793  	c.urlParams_.Set("alt", alt)
 48794  	c.urlParams_.Set("prettyPrint", "false")
 48795  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
 48796  	urls += "?" + c.urlParams_.Encode()
 48797  	req, err := http.NewRequest("GET", urls, body)
 48798  	if err != nil {
 48799  		return nil, err
 48800  	}
 48801  	req.Header = reqHeaders
 48802  	googleapi.Expand(req.URL, map[string]string{
 48803  		"profileId": strconv.FormatInt(c.profileId, 10),
 48804  		"id":        strconv.FormatInt(c.id, 10),
 48805  	})
 48806  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48807  }
 48808  
 48809  // Do executes the "dfareporting.targetingTemplates.get" call.
 48810  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48811  // non-2xx status code is an error. Response headers are in either
 48812  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48813  // returned at all) in error.(*googleapi.Error).Header. Use
 48814  // googleapi.IsNotModified to check whether the returned error was
 48815  // because http.StatusNotModified was returned.
 48816  func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48817  	gensupport.SetOptions(c.urlParams_, opts...)
 48818  	res, err := c.doRequest("json")
 48819  	if res != nil && res.StatusCode == http.StatusNotModified {
 48820  		if res.Body != nil {
 48821  			res.Body.Close()
 48822  		}
 48823  		return nil, &googleapi.Error{
 48824  			Code:   res.StatusCode,
 48825  			Header: res.Header,
 48826  		}
 48827  	}
 48828  	if err != nil {
 48829  		return nil, err
 48830  	}
 48831  	defer googleapi.CloseBody(res)
 48832  	if err := googleapi.CheckResponse(res); err != nil {
 48833  		return nil, err
 48834  	}
 48835  	ret := &TargetingTemplate{
 48836  		ServerResponse: googleapi.ServerResponse{
 48837  			Header:         res.Header,
 48838  			HTTPStatusCode: res.StatusCode,
 48839  		},
 48840  	}
 48841  	target := &ret
 48842  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48843  		return nil, err
 48844  	}
 48845  	return ret, nil
 48846  	// {
 48847  	//   "description": "Gets one targeting template by ID.",
 48848  	//   "httpMethod": "GET",
 48849  	//   "id": "dfareporting.targetingTemplates.get",
 48850  	//   "parameterOrder": [
 48851  	//     "profileId",
 48852  	//     "id"
 48853  	//   ],
 48854  	//   "parameters": {
 48855  	//     "id": {
 48856  	//       "description": "Targeting template ID.",
 48857  	//       "format": "int64",
 48858  	//       "location": "path",
 48859  	//       "required": true,
 48860  	//       "type": "string"
 48861  	//     },
 48862  	//     "profileId": {
 48863  	//       "description": "User profile ID associated with this request.",
 48864  	//       "format": "int64",
 48865  	//       "location": "path",
 48866  	//       "required": true,
 48867  	//       "type": "string"
 48868  	//     }
 48869  	//   },
 48870  	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
 48871  	//   "response": {
 48872  	//     "$ref": "TargetingTemplate"
 48873  	//   },
 48874  	//   "scopes": [
 48875  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48876  	//   ]
 48877  	// }
 48878  
 48879  }
 48880  
 48881  // method id "dfareporting.targetingTemplates.insert":
 48882  
 48883  type TargetingTemplatesInsertCall struct {
 48884  	s                 *Service
 48885  	profileId         int64
 48886  	targetingtemplate *TargetingTemplate
 48887  	urlParams_        gensupport.URLParams
 48888  	ctx_              context.Context
 48889  	header_           http.Header
 48890  }
 48891  
 48892  // Insert: Inserts a new targeting template.
 48893  func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
 48894  	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48895  	c.profileId = profileId
 48896  	c.targetingtemplate = targetingtemplate
 48897  	return c
 48898  }
 48899  
 48900  // Fields allows partial responses to be retrieved. See
 48901  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48902  // for more information.
 48903  func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
 48904  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48905  	return c
 48906  }
 48907  
 48908  // Context sets the context to be used in this call's Do method. Any
 48909  // pending HTTP request will be aborted if the provided context is
 48910  // canceled.
 48911  func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
 48912  	c.ctx_ = ctx
 48913  	return c
 48914  }
 48915  
 48916  // Header returns an http.Header that can be modified by the caller to
 48917  // add HTTP headers to the request.
 48918  func (c *TargetingTemplatesInsertCall) Header() http.Header {
 48919  	if c.header_ == nil {
 48920  		c.header_ = make(http.Header)
 48921  	}
 48922  	return c.header_
 48923  }
 48924  
 48925  func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
 48926  	reqHeaders := make(http.Header)
 48927  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 48928  	for k, v := range c.header_ {
 48929  		reqHeaders[k] = v
 48930  	}
 48931  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48932  	var body io.Reader = nil
 48933  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 48934  	if err != nil {
 48935  		return nil, err
 48936  	}
 48937  	reqHeaders.Set("Content-Type", "application/json")
 48938  	c.urlParams_.Set("alt", alt)
 48939  	c.urlParams_.Set("prettyPrint", "false")
 48940  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 48941  	urls += "?" + c.urlParams_.Encode()
 48942  	req, err := http.NewRequest("POST", urls, body)
 48943  	if err != nil {
 48944  		return nil, err
 48945  	}
 48946  	req.Header = reqHeaders
 48947  	googleapi.Expand(req.URL, map[string]string{
 48948  		"profileId": strconv.FormatInt(c.profileId, 10),
 48949  	})
 48950  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48951  }
 48952  
 48953  // Do executes the "dfareporting.targetingTemplates.insert" call.
 48954  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48955  // non-2xx status code is an error. Response headers are in either
 48956  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48957  // returned at all) in error.(*googleapi.Error).Header. Use
 48958  // googleapi.IsNotModified to check whether the returned error was
 48959  // because http.StatusNotModified was returned.
 48960  func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48961  	gensupport.SetOptions(c.urlParams_, opts...)
 48962  	res, err := c.doRequest("json")
 48963  	if res != nil && res.StatusCode == http.StatusNotModified {
 48964  		if res.Body != nil {
 48965  			res.Body.Close()
 48966  		}
 48967  		return nil, &googleapi.Error{
 48968  			Code:   res.StatusCode,
 48969  			Header: res.Header,
 48970  		}
 48971  	}
 48972  	if err != nil {
 48973  		return nil, err
 48974  	}
 48975  	defer googleapi.CloseBody(res)
 48976  	if err := googleapi.CheckResponse(res); err != nil {
 48977  		return nil, err
 48978  	}
 48979  	ret := &TargetingTemplate{
 48980  		ServerResponse: googleapi.ServerResponse{
 48981  			Header:         res.Header,
 48982  			HTTPStatusCode: res.StatusCode,
 48983  		},
 48984  	}
 48985  	target := &ret
 48986  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48987  		return nil, err
 48988  	}
 48989  	return ret, nil
 48990  	// {
 48991  	//   "description": "Inserts a new targeting template.",
 48992  	//   "httpMethod": "POST",
 48993  	//   "id": "dfareporting.targetingTemplates.insert",
 48994  	//   "parameterOrder": [
 48995  	//     "profileId"
 48996  	//   ],
 48997  	//   "parameters": {
 48998  	//     "profileId": {
 48999  	//       "description": "User profile ID associated with this request.",
 49000  	//       "format": "int64",
 49001  	//       "location": "path",
 49002  	//       "required": true,
 49003  	//       "type": "string"
 49004  	//     }
 49005  	//   },
 49006  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 49007  	//   "request": {
 49008  	//     "$ref": "TargetingTemplate"
 49009  	//   },
 49010  	//   "response": {
 49011  	//     "$ref": "TargetingTemplate"
 49012  	//   },
 49013  	//   "scopes": [
 49014  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49015  	//   ]
 49016  	// }
 49017  
 49018  }
 49019  
 49020  // method id "dfareporting.targetingTemplates.list":
 49021  
 49022  type TargetingTemplatesListCall struct {
 49023  	s            *Service
 49024  	profileId    int64
 49025  	urlParams_   gensupport.URLParams
 49026  	ifNoneMatch_ string
 49027  	ctx_         context.Context
 49028  	header_      http.Header
 49029  }
 49030  
 49031  // List: Retrieves a list of targeting templates, optionally filtered.
 49032  // This method supports paging.
 49033  func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
 49034  	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49035  	c.profileId = profileId
 49036  	return c
 49037  }
 49038  
 49039  // AdvertiserId sets the optional parameter "advertiserId": Select only
 49040  // targeting templates with this advertiser ID.
 49041  func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
 49042  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 49043  	return c
 49044  }
 49045  
 49046  // Ids sets the optional parameter "ids": Select only targeting
 49047  // templates with these IDs.
 49048  func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
 49049  	var ids_ []string
 49050  	for _, v := range ids {
 49051  		ids_ = append(ids_, fmt.Sprint(v))
 49052  	}
 49053  	c.urlParams_.SetMulti("ids", ids_)
 49054  	return c
 49055  }
 49056  
 49057  // MaxResults sets the optional parameter "maxResults": Maximum number
 49058  // of results to return.
 49059  func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
 49060  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 49061  	return c
 49062  }
 49063  
 49064  // PageToken sets the optional parameter "pageToken": Value of the
 49065  // nextPageToken from the previous result page.
 49066  func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
 49067  	c.urlParams_.Set("pageToken", pageToken)
 49068  	return c
 49069  }
 49070  
 49071  // SearchString sets the optional parameter "searchString": Allows
 49072  // searching for objects by name or ID. Wildcards (*) are allowed. For
 49073  // example, "template*2015" will return objects with names like
 49074  // "template June 2015", "template April 2015", or simply "template
 49075  // 2015". Most of the searches also add wildcards implicitly at the
 49076  // start and the end of the search string. For example, a search string
 49077  // of "template" will match objects with name "my template", "template
 49078  // 2015", or simply "template".
 49079  func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
 49080  	c.urlParams_.Set("searchString", searchString)
 49081  	return c
 49082  }
 49083  
 49084  // SortField sets the optional parameter "sortField": Field by which to
 49085  // sort the list.
 49086  //
 49087  // Possible values:
 49088  //
 49089  //	"ID" (default)
 49090  //	"NAME"
 49091  func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
 49092  	c.urlParams_.Set("sortField", sortField)
 49093  	return c
 49094  }
 49095  
 49096  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 49097  // results.
 49098  //
 49099  // Possible values:
 49100  //
 49101  //	"ASCENDING" (default)
 49102  //	"DESCENDING"
 49103  func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
 49104  	c.urlParams_.Set("sortOrder", sortOrder)
 49105  	return c
 49106  }
 49107  
 49108  // Fields allows partial responses to be retrieved. See
 49109  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49110  // for more information.
 49111  func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
 49112  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49113  	return c
 49114  }
 49115  
 49116  // IfNoneMatch sets the optional parameter which makes the operation
 49117  // fail if the object's ETag matches the given value. This is useful for
 49118  // getting updates only after the object has changed since the last
 49119  // request. Use googleapi.IsNotModified to check whether the response
 49120  // error from Do is the result of In-None-Match.
 49121  func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
 49122  	c.ifNoneMatch_ = entityTag
 49123  	return c
 49124  }
 49125  
 49126  // Context sets the context to be used in this call's Do method. Any
 49127  // pending HTTP request will be aborted if the provided context is
 49128  // canceled.
 49129  func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
 49130  	c.ctx_ = ctx
 49131  	return c
 49132  }
 49133  
 49134  // Header returns an http.Header that can be modified by the caller to
 49135  // add HTTP headers to the request.
 49136  func (c *TargetingTemplatesListCall) Header() http.Header {
 49137  	if c.header_ == nil {
 49138  		c.header_ = make(http.Header)
 49139  	}
 49140  	return c.header_
 49141  }
 49142  
 49143  func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 49144  	reqHeaders := make(http.Header)
 49145  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49146  	for k, v := range c.header_ {
 49147  		reqHeaders[k] = v
 49148  	}
 49149  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49150  	if c.ifNoneMatch_ != "" {
 49151  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49152  	}
 49153  	var body io.Reader = nil
 49154  	c.urlParams_.Set("alt", alt)
 49155  	c.urlParams_.Set("prettyPrint", "false")
 49156  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 49157  	urls += "?" + c.urlParams_.Encode()
 49158  	req, err := http.NewRequest("GET", urls, body)
 49159  	if err != nil {
 49160  		return nil, err
 49161  	}
 49162  	req.Header = reqHeaders
 49163  	googleapi.Expand(req.URL, map[string]string{
 49164  		"profileId": strconv.FormatInt(c.profileId, 10),
 49165  	})
 49166  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49167  }
 49168  
 49169  // Do executes the "dfareporting.targetingTemplates.list" call.
 49170  // Exactly one of *TargetingTemplatesListResponse or error will be
 49171  // non-nil. Any non-2xx status code is an error. Response headers are in
 49172  // either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
 49173  // response was returned at all) in error.(*googleapi.Error).Header. Use
 49174  // googleapi.IsNotModified to check whether the returned error was
 49175  // because http.StatusNotModified was returned.
 49176  func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
 49177  	gensupport.SetOptions(c.urlParams_, opts...)
 49178  	res, err := c.doRequest("json")
 49179  	if res != nil && res.StatusCode == http.StatusNotModified {
 49180  		if res.Body != nil {
 49181  			res.Body.Close()
 49182  		}
 49183  		return nil, &googleapi.Error{
 49184  			Code:   res.StatusCode,
 49185  			Header: res.Header,
 49186  		}
 49187  	}
 49188  	if err != nil {
 49189  		return nil, err
 49190  	}
 49191  	defer googleapi.CloseBody(res)
 49192  	if err := googleapi.CheckResponse(res); err != nil {
 49193  		return nil, err
 49194  	}
 49195  	ret := &TargetingTemplatesListResponse{
 49196  		ServerResponse: googleapi.ServerResponse{
 49197  			Header:         res.Header,
 49198  			HTTPStatusCode: res.StatusCode,
 49199  		},
 49200  	}
 49201  	target := &ret
 49202  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49203  		return nil, err
 49204  	}
 49205  	return ret, nil
 49206  	// {
 49207  	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
 49208  	//   "httpMethod": "GET",
 49209  	//   "id": "dfareporting.targetingTemplates.list",
 49210  	//   "parameterOrder": [
 49211  	//     "profileId"
 49212  	//   ],
 49213  	//   "parameters": {
 49214  	//     "advertiserId": {
 49215  	//       "description": "Select only targeting templates with this advertiser ID.",
 49216  	//       "format": "int64",
 49217  	//       "location": "query",
 49218  	//       "type": "string"
 49219  	//     },
 49220  	//     "ids": {
 49221  	//       "description": "Select only targeting templates with these IDs.",
 49222  	//       "format": "int64",
 49223  	//       "location": "query",
 49224  	//       "repeated": true,
 49225  	//       "type": "string"
 49226  	//     },
 49227  	//     "maxResults": {
 49228  	//       "default": "1000",
 49229  	//       "description": "Maximum number of results to return.",
 49230  	//       "format": "int32",
 49231  	//       "location": "query",
 49232  	//       "maximum": "1000",
 49233  	//       "minimum": "0",
 49234  	//       "type": "integer"
 49235  	//     },
 49236  	//     "pageToken": {
 49237  	//       "description": "Value of the nextPageToken from the previous result page.",
 49238  	//       "location": "query",
 49239  	//       "type": "string"
 49240  	//     },
 49241  	//     "profileId": {
 49242  	//       "description": "User profile ID associated with this request.",
 49243  	//       "format": "int64",
 49244  	//       "location": "path",
 49245  	//       "required": true,
 49246  	//       "type": "string"
 49247  	//     },
 49248  	//     "searchString": {
 49249  	//       "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\".",
 49250  	//       "location": "query",
 49251  	//       "type": "string"
 49252  	//     },
 49253  	//     "sortField": {
 49254  	//       "default": "ID",
 49255  	//       "description": "Field by which to sort the list.",
 49256  	//       "enum": [
 49257  	//         "ID",
 49258  	//         "NAME"
 49259  	//       ],
 49260  	//       "enumDescriptions": [
 49261  	//         "",
 49262  	//         ""
 49263  	//       ],
 49264  	//       "location": "query",
 49265  	//       "type": "string"
 49266  	//     },
 49267  	//     "sortOrder": {
 49268  	//       "default": "ASCENDING",
 49269  	//       "description": "Order of sorted results.",
 49270  	//       "enum": [
 49271  	//         "ASCENDING",
 49272  	//         "DESCENDING"
 49273  	//       ],
 49274  	//       "enumDescriptions": [
 49275  	//         "",
 49276  	//         ""
 49277  	//       ],
 49278  	//       "location": "query",
 49279  	//       "type": "string"
 49280  	//     }
 49281  	//   },
 49282  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 49283  	//   "response": {
 49284  	//     "$ref": "TargetingTemplatesListResponse"
 49285  	//   },
 49286  	//   "scopes": [
 49287  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49288  	//   ]
 49289  	// }
 49290  
 49291  }
 49292  
 49293  // Pages invokes f for each page of results.
 49294  // A non-nil error returned from f will halt the iteration.
 49295  // The provided context supersedes any context provided to the Context method.
 49296  func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
 49297  	c.ctx_ = ctx
 49298  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 49299  	for {
 49300  		x, err := c.Do()
 49301  		if err != nil {
 49302  			return err
 49303  		}
 49304  		if err := f(x); err != nil {
 49305  			return err
 49306  		}
 49307  		if x.NextPageToken == "" {
 49308  			return nil
 49309  		}
 49310  		c.PageToken(x.NextPageToken)
 49311  	}
 49312  }
 49313  
 49314  // method id "dfareporting.targetingTemplates.patch":
 49315  
 49316  type TargetingTemplatesPatchCall struct {
 49317  	s                 *Service
 49318  	profileId         int64
 49319  	targetingtemplate *TargetingTemplate
 49320  	urlParams_        gensupport.URLParams
 49321  	ctx_              context.Context
 49322  	header_           http.Header
 49323  }
 49324  
 49325  // Patch: Updates an existing targeting template. This method supports
 49326  // patch semantics.
 49327  func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
 49328  	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49329  	c.profileId = profileId
 49330  	c.urlParams_.Set("id", fmt.Sprint(id))
 49331  	c.targetingtemplate = targetingtemplate
 49332  	return c
 49333  }
 49334  
 49335  // Fields allows partial responses to be retrieved. See
 49336  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49337  // for more information.
 49338  func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
 49339  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49340  	return c
 49341  }
 49342  
 49343  // Context sets the context to be used in this call's Do method. Any
 49344  // pending HTTP request will be aborted if the provided context is
 49345  // canceled.
 49346  func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
 49347  	c.ctx_ = ctx
 49348  	return c
 49349  }
 49350  
 49351  // Header returns an http.Header that can be modified by the caller to
 49352  // add HTTP headers to the request.
 49353  func (c *TargetingTemplatesPatchCall) Header() http.Header {
 49354  	if c.header_ == nil {
 49355  		c.header_ = make(http.Header)
 49356  	}
 49357  	return c.header_
 49358  }
 49359  
 49360  func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 49361  	reqHeaders := make(http.Header)
 49362  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49363  	for k, v := range c.header_ {
 49364  		reqHeaders[k] = v
 49365  	}
 49366  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49367  	var body io.Reader = nil
 49368  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 49369  	if err != nil {
 49370  		return nil, err
 49371  	}
 49372  	reqHeaders.Set("Content-Type", "application/json")
 49373  	c.urlParams_.Set("alt", alt)
 49374  	c.urlParams_.Set("prettyPrint", "false")
 49375  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 49376  	urls += "?" + c.urlParams_.Encode()
 49377  	req, err := http.NewRequest("PATCH", urls, body)
 49378  	if err != nil {
 49379  		return nil, err
 49380  	}
 49381  	req.Header = reqHeaders
 49382  	googleapi.Expand(req.URL, map[string]string{
 49383  		"profileId": strconv.FormatInt(c.profileId, 10),
 49384  	})
 49385  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49386  }
 49387  
 49388  // Do executes the "dfareporting.targetingTemplates.patch" call.
 49389  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 49390  // non-2xx status code is an error. Response headers are in either
 49391  // *TargetingTemplate.ServerResponse.Header or (if a response was
 49392  // returned at all) in error.(*googleapi.Error).Header. Use
 49393  // googleapi.IsNotModified to check whether the returned error was
 49394  // because http.StatusNotModified was returned.
 49395  func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 49396  	gensupport.SetOptions(c.urlParams_, opts...)
 49397  	res, err := c.doRequest("json")
 49398  	if res != nil && res.StatusCode == http.StatusNotModified {
 49399  		if res.Body != nil {
 49400  			res.Body.Close()
 49401  		}
 49402  		return nil, &googleapi.Error{
 49403  			Code:   res.StatusCode,
 49404  			Header: res.Header,
 49405  		}
 49406  	}
 49407  	if err != nil {
 49408  		return nil, err
 49409  	}
 49410  	defer googleapi.CloseBody(res)
 49411  	if err := googleapi.CheckResponse(res); err != nil {
 49412  		return nil, err
 49413  	}
 49414  	ret := &TargetingTemplate{
 49415  		ServerResponse: googleapi.ServerResponse{
 49416  			Header:         res.Header,
 49417  			HTTPStatusCode: res.StatusCode,
 49418  		},
 49419  	}
 49420  	target := &ret
 49421  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49422  		return nil, err
 49423  	}
 49424  	return ret, nil
 49425  	// {
 49426  	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
 49427  	//   "httpMethod": "PATCH",
 49428  	//   "id": "dfareporting.targetingTemplates.patch",
 49429  	//   "parameterOrder": [
 49430  	//     "profileId",
 49431  	//     "id"
 49432  	//   ],
 49433  	//   "parameters": {
 49434  	//     "id": {
 49435  	//       "description": "Targeting template ID.",
 49436  	//       "format": "int64",
 49437  	//       "location": "query",
 49438  	//       "required": true,
 49439  	//       "type": "string"
 49440  	//     },
 49441  	//     "profileId": {
 49442  	//       "description": "User profile ID associated with this request.",
 49443  	//       "format": "int64",
 49444  	//       "location": "path",
 49445  	//       "required": true,
 49446  	//       "type": "string"
 49447  	//     }
 49448  	//   },
 49449  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 49450  	//   "request": {
 49451  	//     "$ref": "TargetingTemplate"
 49452  	//   },
 49453  	//   "response": {
 49454  	//     "$ref": "TargetingTemplate"
 49455  	//   },
 49456  	//   "scopes": [
 49457  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49458  	//   ]
 49459  	// }
 49460  
 49461  }
 49462  
 49463  // method id "dfareporting.targetingTemplates.update":
 49464  
 49465  type TargetingTemplatesUpdateCall struct {
 49466  	s                 *Service
 49467  	profileId         int64
 49468  	targetingtemplate *TargetingTemplate
 49469  	urlParams_        gensupport.URLParams
 49470  	ctx_              context.Context
 49471  	header_           http.Header
 49472  }
 49473  
 49474  // Update: Updates an existing targeting template.
 49475  func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
 49476  	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49477  	c.profileId = profileId
 49478  	c.targetingtemplate = targetingtemplate
 49479  	return c
 49480  }
 49481  
 49482  // Fields allows partial responses to be retrieved. See
 49483  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49484  // for more information.
 49485  func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
 49486  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49487  	return c
 49488  }
 49489  
 49490  // Context sets the context to be used in this call's Do method. Any
 49491  // pending HTTP request will be aborted if the provided context is
 49492  // canceled.
 49493  func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
 49494  	c.ctx_ = ctx
 49495  	return c
 49496  }
 49497  
 49498  // Header returns an http.Header that can be modified by the caller to
 49499  // add HTTP headers to the request.
 49500  func (c *TargetingTemplatesUpdateCall) Header() http.Header {
 49501  	if c.header_ == nil {
 49502  		c.header_ = make(http.Header)
 49503  	}
 49504  	return c.header_
 49505  }
 49506  
 49507  func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 49508  	reqHeaders := make(http.Header)
 49509  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49510  	for k, v := range c.header_ {
 49511  		reqHeaders[k] = v
 49512  	}
 49513  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49514  	var body io.Reader = nil
 49515  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 49516  	if err != nil {
 49517  		return nil, err
 49518  	}
 49519  	reqHeaders.Set("Content-Type", "application/json")
 49520  	c.urlParams_.Set("alt", alt)
 49521  	c.urlParams_.Set("prettyPrint", "false")
 49522  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 49523  	urls += "?" + c.urlParams_.Encode()
 49524  	req, err := http.NewRequest("PUT", urls, body)
 49525  	if err != nil {
 49526  		return nil, err
 49527  	}
 49528  	req.Header = reqHeaders
 49529  	googleapi.Expand(req.URL, map[string]string{
 49530  		"profileId": strconv.FormatInt(c.profileId, 10),
 49531  	})
 49532  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49533  }
 49534  
 49535  // Do executes the "dfareporting.targetingTemplates.update" call.
 49536  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 49537  // non-2xx status code is an error. Response headers are in either
 49538  // *TargetingTemplate.ServerResponse.Header or (if a response was
 49539  // returned at all) in error.(*googleapi.Error).Header. Use
 49540  // googleapi.IsNotModified to check whether the returned error was
 49541  // because http.StatusNotModified was returned.
 49542  func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 49543  	gensupport.SetOptions(c.urlParams_, opts...)
 49544  	res, err := c.doRequest("json")
 49545  	if res != nil && res.StatusCode == http.StatusNotModified {
 49546  		if res.Body != nil {
 49547  			res.Body.Close()
 49548  		}
 49549  		return nil, &googleapi.Error{
 49550  			Code:   res.StatusCode,
 49551  			Header: res.Header,
 49552  		}
 49553  	}
 49554  	if err != nil {
 49555  		return nil, err
 49556  	}
 49557  	defer googleapi.CloseBody(res)
 49558  	if err := googleapi.CheckResponse(res); err != nil {
 49559  		return nil, err
 49560  	}
 49561  	ret := &TargetingTemplate{
 49562  		ServerResponse: googleapi.ServerResponse{
 49563  			Header:         res.Header,
 49564  			HTTPStatusCode: res.StatusCode,
 49565  		},
 49566  	}
 49567  	target := &ret
 49568  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49569  		return nil, err
 49570  	}
 49571  	return ret, nil
 49572  	// {
 49573  	//   "description": "Updates an existing targeting template.",
 49574  	//   "httpMethod": "PUT",
 49575  	//   "id": "dfareporting.targetingTemplates.update",
 49576  	//   "parameterOrder": [
 49577  	//     "profileId"
 49578  	//   ],
 49579  	//   "parameters": {
 49580  	//     "profileId": {
 49581  	//       "description": "User profile ID associated with this request.",
 49582  	//       "format": "int64",
 49583  	//       "location": "path",
 49584  	//       "required": true,
 49585  	//       "type": "string"
 49586  	//     }
 49587  	//   },
 49588  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 49589  	//   "request": {
 49590  	//     "$ref": "TargetingTemplate"
 49591  	//   },
 49592  	//   "response": {
 49593  	//     "$ref": "TargetingTemplate"
 49594  	//   },
 49595  	//   "scopes": [
 49596  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49597  	//   ]
 49598  	// }
 49599  
 49600  }
 49601  
 49602  // method id "dfareporting.userProfiles.get":
 49603  
 49604  type UserProfilesGetCall struct {
 49605  	s            *Service
 49606  	profileId    int64
 49607  	urlParams_   gensupport.URLParams
 49608  	ifNoneMatch_ string
 49609  	ctx_         context.Context
 49610  	header_      http.Header
 49611  }
 49612  
 49613  // Get: Gets one user profile by ID.
 49614  func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
 49615  	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49616  	c.profileId = profileId
 49617  	return c
 49618  }
 49619  
 49620  // Fields allows partial responses to be retrieved. See
 49621  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49622  // for more information.
 49623  func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
 49624  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49625  	return c
 49626  }
 49627  
 49628  // IfNoneMatch sets the optional parameter which makes the operation
 49629  // fail if the object's ETag matches the given value. This is useful for
 49630  // getting updates only after the object has changed since the last
 49631  // request. Use googleapi.IsNotModified to check whether the response
 49632  // error from Do is the result of In-None-Match.
 49633  func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
 49634  	c.ifNoneMatch_ = entityTag
 49635  	return c
 49636  }
 49637  
 49638  // Context sets the context to be used in this call's Do method. Any
 49639  // pending HTTP request will be aborted if the provided context is
 49640  // canceled.
 49641  func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 49642  	c.ctx_ = ctx
 49643  	return c
 49644  }
 49645  
 49646  // Header returns an http.Header that can be modified by the caller to
 49647  // add HTTP headers to the request.
 49648  func (c *UserProfilesGetCall) Header() http.Header {
 49649  	if c.header_ == nil {
 49650  		c.header_ = make(http.Header)
 49651  	}
 49652  	return c.header_
 49653  }
 49654  
 49655  func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 49656  	reqHeaders := make(http.Header)
 49657  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49658  	for k, v := range c.header_ {
 49659  		reqHeaders[k] = v
 49660  	}
 49661  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49662  	if c.ifNoneMatch_ != "" {
 49663  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49664  	}
 49665  	var body io.Reader = nil
 49666  	c.urlParams_.Set("alt", alt)
 49667  	c.urlParams_.Set("prettyPrint", "false")
 49668  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
 49669  	urls += "?" + c.urlParams_.Encode()
 49670  	req, err := http.NewRequest("GET", urls, body)
 49671  	if err != nil {
 49672  		return nil, err
 49673  	}
 49674  	req.Header = reqHeaders
 49675  	googleapi.Expand(req.URL, map[string]string{
 49676  		"profileId": strconv.FormatInt(c.profileId, 10),
 49677  	})
 49678  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49679  }
 49680  
 49681  // Do executes the "dfareporting.userProfiles.get" call.
 49682  // Exactly one of *UserProfile or error will be non-nil. Any non-2xx
 49683  // status code is an error. Response headers are in either
 49684  // *UserProfile.ServerResponse.Header or (if a response was returned at
 49685  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 49686  // to check whether the returned error was because
 49687  // http.StatusNotModified was returned.
 49688  func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
 49689  	gensupport.SetOptions(c.urlParams_, opts...)
 49690  	res, err := c.doRequest("json")
 49691  	if res != nil && res.StatusCode == http.StatusNotModified {
 49692  		if res.Body != nil {
 49693  			res.Body.Close()
 49694  		}
 49695  		return nil, &googleapi.Error{
 49696  			Code:   res.StatusCode,
 49697  			Header: res.Header,
 49698  		}
 49699  	}
 49700  	if err != nil {
 49701  		return nil, err
 49702  	}
 49703  	defer googleapi.CloseBody(res)
 49704  	if err := googleapi.CheckResponse(res); err != nil {
 49705  		return nil, err
 49706  	}
 49707  	ret := &UserProfile{
 49708  		ServerResponse: googleapi.ServerResponse{
 49709  			Header:         res.Header,
 49710  			HTTPStatusCode: res.StatusCode,
 49711  		},
 49712  	}
 49713  	target := &ret
 49714  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49715  		return nil, err
 49716  	}
 49717  	return ret, nil
 49718  	// {
 49719  	//   "description": "Gets one user profile by ID.",
 49720  	//   "httpMethod": "GET",
 49721  	//   "id": "dfareporting.userProfiles.get",
 49722  	//   "parameterOrder": [
 49723  	//     "profileId"
 49724  	//   ],
 49725  	//   "parameters": {
 49726  	//     "profileId": {
 49727  	//       "description": "The user profile ID.",
 49728  	//       "format": "int64",
 49729  	//       "location": "path",
 49730  	//       "required": true,
 49731  	//       "type": "string"
 49732  	//     }
 49733  	//   },
 49734  	//   "path": "userprofiles/{profileId}",
 49735  	//   "response": {
 49736  	//     "$ref": "UserProfile"
 49737  	//   },
 49738  	//   "scopes": [
 49739  	//     "https://www.googleapis.com/auth/dfareporting",
 49740  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49741  	//   ]
 49742  	// }
 49743  
 49744  }
 49745  
 49746  // method id "dfareporting.userProfiles.list":
 49747  
 49748  type UserProfilesListCall struct {
 49749  	s            *Service
 49750  	urlParams_   gensupport.URLParams
 49751  	ifNoneMatch_ string
 49752  	ctx_         context.Context
 49753  	header_      http.Header
 49754  }
 49755  
 49756  // List: Retrieves list of user profiles for a user.
 49757  func (r *UserProfilesService) List() *UserProfilesListCall {
 49758  	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49759  	return c
 49760  }
 49761  
 49762  // Fields allows partial responses to be retrieved. See
 49763  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49764  // for more information.
 49765  func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
 49766  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49767  	return c
 49768  }
 49769  
 49770  // IfNoneMatch sets the optional parameter which makes the operation
 49771  // fail if the object's ETag matches the given value. This is useful for
 49772  // getting updates only after the object has changed since the last
 49773  // request. Use googleapi.IsNotModified to check whether the response
 49774  // error from Do is the result of In-None-Match.
 49775  func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
 49776  	c.ifNoneMatch_ = entityTag
 49777  	return c
 49778  }
 49779  
 49780  // Context sets the context to be used in this call's Do method. Any
 49781  // pending HTTP request will be aborted if the provided context is
 49782  // canceled.
 49783  func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 49784  	c.ctx_ = ctx
 49785  	return c
 49786  }
 49787  
 49788  // Header returns an http.Header that can be modified by the caller to
 49789  // add HTTP headers to the request.
 49790  func (c *UserProfilesListCall) Header() http.Header {
 49791  	if c.header_ == nil {
 49792  		c.header_ = make(http.Header)
 49793  	}
 49794  	return c.header_
 49795  }
 49796  
 49797  func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 49798  	reqHeaders := make(http.Header)
 49799  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49800  	for k, v := range c.header_ {
 49801  		reqHeaders[k] = v
 49802  	}
 49803  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49804  	if c.ifNoneMatch_ != "" {
 49805  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49806  	}
 49807  	var body io.Reader = nil
 49808  	c.urlParams_.Set("alt", alt)
 49809  	c.urlParams_.Set("prettyPrint", "false")
 49810  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
 49811  	urls += "?" + c.urlParams_.Encode()
 49812  	req, err := http.NewRequest("GET", urls, body)
 49813  	if err != nil {
 49814  		return nil, err
 49815  	}
 49816  	req.Header = reqHeaders
 49817  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49818  }
 49819  
 49820  // Do executes the "dfareporting.userProfiles.list" call.
 49821  // Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
 49822  // status code is an error. Response headers are in either
 49823  // *UserProfileList.ServerResponse.Header or (if a response was returned
 49824  // at all) in error.(*googleapi.Error).Header. Use
 49825  // googleapi.IsNotModified to check whether the returned error was
 49826  // because http.StatusNotModified was returned.
 49827  func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
 49828  	gensupport.SetOptions(c.urlParams_, opts...)
 49829  	res, err := c.doRequest("json")
 49830  	if res != nil && res.StatusCode == http.StatusNotModified {
 49831  		if res.Body != nil {
 49832  			res.Body.Close()
 49833  		}
 49834  		return nil, &googleapi.Error{
 49835  			Code:   res.StatusCode,
 49836  			Header: res.Header,
 49837  		}
 49838  	}
 49839  	if err != nil {
 49840  		return nil, err
 49841  	}
 49842  	defer googleapi.CloseBody(res)
 49843  	if err := googleapi.CheckResponse(res); err != nil {
 49844  		return nil, err
 49845  	}
 49846  	ret := &UserProfileList{
 49847  		ServerResponse: googleapi.ServerResponse{
 49848  			Header:         res.Header,
 49849  			HTTPStatusCode: res.StatusCode,
 49850  		},
 49851  	}
 49852  	target := &ret
 49853  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49854  		return nil, err
 49855  	}
 49856  	return ret, nil
 49857  	// {
 49858  	//   "description": "Retrieves list of user profiles for a user.",
 49859  	//   "httpMethod": "GET",
 49860  	//   "id": "dfareporting.userProfiles.list",
 49861  	//   "path": "userprofiles",
 49862  	//   "response": {
 49863  	//     "$ref": "UserProfileList"
 49864  	//   },
 49865  	//   "scopes": [
 49866  	//     "https://www.googleapis.com/auth/dfareporting",
 49867  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49868  	//   ]
 49869  	// }
 49870  
 49871  }
 49872  
 49873  // method id "dfareporting.userRolePermissionGroups.get":
 49874  
 49875  type UserRolePermissionGroupsGetCall struct {
 49876  	s            *Service
 49877  	profileId    int64
 49878  	id           int64
 49879  	urlParams_   gensupport.URLParams
 49880  	ifNoneMatch_ string
 49881  	ctx_         context.Context
 49882  	header_      http.Header
 49883  }
 49884  
 49885  // Get: Gets one user role permission group by ID.
 49886  func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
 49887  	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49888  	c.profileId = profileId
 49889  	c.id = id
 49890  	return c
 49891  }
 49892  
 49893  // Fields allows partial responses to be retrieved. See
 49894  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49895  // for more information.
 49896  func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
 49897  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49898  	return c
 49899  }
 49900  
 49901  // IfNoneMatch sets the optional parameter which makes the operation
 49902  // fail if the object's ETag matches the given value. This is useful for
 49903  // getting updates only after the object has changed since the last
 49904  // request. Use googleapi.IsNotModified to check whether the response
 49905  // error from Do is the result of In-None-Match.
 49906  func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
 49907  	c.ifNoneMatch_ = entityTag
 49908  	return c
 49909  }
 49910  
 49911  // Context sets the context to be used in this call's Do method. Any
 49912  // pending HTTP request will be aborted if the provided context is
 49913  // canceled.
 49914  func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 49915  	c.ctx_ = ctx
 49916  	return c
 49917  }
 49918  
 49919  // Header returns an http.Header that can be modified by the caller to
 49920  // add HTTP headers to the request.
 49921  func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
 49922  	if c.header_ == nil {
 49923  		c.header_ = make(http.Header)
 49924  	}
 49925  	return c.header_
 49926  }
 49927  
 49928  func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 49929  	reqHeaders := make(http.Header)
 49930  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 49931  	for k, v := range c.header_ {
 49932  		reqHeaders[k] = v
 49933  	}
 49934  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49935  	if c.ifNoneMatch_ != "" {
 49936  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49937  	}
 49938  	var body io.Reader = nil
 49939  	c.urlParams_.Set("alt", alt)
 49940  	c.urlParams_.Set("prettyPrint", "false")
 49941  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
 49942  	urls += "?" + c.urlParams_.Encode()
 49943  	req, err := http.NewRequest("GET", urls, body)
 49944  	if err != nil {
 49945  		return nil, err
 49946  	}
 49947  	req.Header = reqHeaders
 49948  	googleapi.Expand(req.URL, map[string]string{
 49949  		"profileId": strconv.FormatInt(c.profileId, 10),
 49950  		"id":        strconv.FormatInt(c.id, 10),
 49951  	})
 49952  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49953  }
 49954  
 49955  // Do executes the "dfareporting.userRolePermissionGroups.get" call.
 49956  // Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
 49957  // non-2xx status code is an error. Response headers are in either
 49958  // *UserRolePermissionGroup.ServerResponse.Header or (if a response was
 49959  // returned at all) in error.(*googleapi.Error).Header. Use
 49960  // googleapi.IsNotModified to check whether the returned error was
 49961  // because http.StatusNotModified was returned.
 49962  func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
 49963  	gensupport.SetOptions(c.urlParams_, opts...)
 49964  	res, err := c.doRequest("json")
 49965  	if res != nil && res.StatusCode == http.StatusNotModified {
 49966  		if res.Body != nil {
 49967  			res.Body.Close()
 49968  		}
 49969  		return nil, &googleapi.Error{
 49970  			Code:   res.StatusCode,
 49971  			Header: res.Header,
 49972  		}
 49973  	}
 49974  	if err != nil {
 49975  		return nil, err
 49976  	}
 49977  	defer googleapi.CloseBody(res)
 49978  	if err := googleapi.CheckResponse(res); err != nil {
 49979  		return nil, err
 49980  	}
 49981  	ret := &UserRolePermissionGroup{
 49982  		ServerResponse: googleapi.ServerResponse{
 49983  			Header:         res.Header,
 49984  			HTTPStatusCode: res.StatusCode,
 49985  		},
 49986  	}
 49987  	target := &ret
 49988  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49989  		return nil, err
 49990  	}
 49991  	return ret, nil
 49992  	// {
 49993  	//   "description": "Gets one user role permission group by ID.",
 49994  	//   "httpMethod": "GET",
 49995  	//   "id": "dfareporting.userRolePermissionGroups.get",
 49996  	//   "parameterOrder": [
 49997  	//     "profileId",
 49998  	//     "id"
 49999  	//   ],
 50000  	//   "parameters": {
 50001  	//     "id": {
 50002  	//       "description": "User role permission group ID.",
 50003  	//       "format": "int64",
 50004  	//       "location": "path",
 50005  	//       "required": true,
 50006  	//       "type": "string"
 50007  	//     },
 50008  	//     "profileId": {
 50009  	//       "description": "User profile ID associated with this request.",
 50010  	//       "format": "int64",
 50011  	//       "location": "path",
 50012  	//       "required": true,
 50013  	//       "type": "string"
 50014  	//     }
 50015  	//   },
 50016  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 50017  	//   "response": {
 50018  	//     "$ref": "UserRolePermissionGroup"
 50019  	//   },
 50020  	//   "scopes": [
 50021  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50022  	//   ]
 50023  	// }
 50024  
 50025  }
 50026  
 50027  // method id "dfareporting.userRolePermissionGroups.list":
 50028  
 50029  type UserRolePermissionGroupsListCall struct {
 50030  	s            *Service
 50031  	profileId    int64
 50032  	urlParams_   gensupport.URLParams
 50033  	ifNoneMatch_ string
 50034  	ctx_         context.Context
 50035  	header_      http.Header
 50036  }
 50037  
 50038  // List: Gets a list of all supported user role permission groups.
 50039  func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
 50040  	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50041  	c.profileId = profileId
 50042  	return c
 50043  }
 50044  
 50045  // Fields allows partial responses to be retrieved. See
 50046  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50047  // for more information.
 50048  func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
 50049  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50050  	return c
 50051  }
 50052  
 50053  // IfNoneMatch sets the optional parameter which makes the operation
 50054  // fail if the object's ETag matches the given value. This is useful for
 50055  // getting updates only after the object has changed since the last
 50056  // request. Use googleapi.IsNotModified to check whether the response
 50057  // error from Do is the result of In-None-Match.
 50058  func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
 50059  	c.ifNoneMatch_ = entityTag
 50060  	return c
 50061  }
 50062  
 50063  // Context sets the context to be used in this call's Do method. Any
 50064  // pending HTTP request will be aborted if the provided context is
 50065  // canceled.
 50066  func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 50067  	c.ctx_ = ctx
 50068  	return c
 50069  }
 50070  
 50071  // Header returns an http.Header that can be modified by the caller to
 50072  // add HTTP headers to the request.
 50073  func (c *UserRolePermissionGroupsListCall) Header() http.Header {
 50074  	if c.header_ == nil {
 50075  		c.header_ = make(http.Header)
 50076  	}
 50077  	return c.header_
 50078  }
 50079  
 50080  func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 50081  	reqHeaders := make(http.Header)
 50082  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50083  	for k, v := range c.header_ {
 50084  		reqHeaders[k] = v
 50085  	}
 50086  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50087  	if c.ifNoneMatch_ != "" {
 50088  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50089  	}
 50090  	var body io.Reader = nil
 50091  	c.urlParams_.Set("alt", alt)
 50092  	c.urlParams_.Set("prettyPrint", "false")
 50093  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
 50094  	urls += "?" + c.urlParams_.Encode()
 50095  	req, err := http.NewRequest("GET", urls, body)
 50096  	if err != nil {
 50097  		return nil, err
 50098  	}
 50099  	req.Header = reqHeaders
 50100  	googleapi.Expand(req.URL, map[string]string{
 50101  		"profileId": strconv.FormatInt(c.profileId, 10),
 50102  	})
 50103  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50104  }
 50105  
 50106  // Do executes the "dfareporting.userRolePermissionGroups.list" call.
 50107  // Exactly one of *UserRolePermissionGroupsListResponse or error will be
 50108  // non-nil. Any non-2xx status code is an error. Response headers are in
 50109  // either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
 50110  // (if a response was returned at all) in
 50111  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 50112  // whether the returned error was because http.StatusNotModified was
 50113  // returned.
 50114  func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
 50115  	gensupport.SetOptions(c.urlParams_, opts...)
 50116  	res, err := c.doRequest("json")
 50117  	if res != nil && res.StatusCode == http.StatusNotModified {
 50118  		if res.Body != nil {
 50119  			res.Body.Close()
 50120  		}
 50121  		return nil, &googleapi.Error{
 50122  			Code:   res.StatusCode,
 50123  			Header: res.Header,
 50124  		}
 50125  	}
 50126  	if err != nil {
 50127  		return nil, err
 50128  	}
 50129  	defer googleapi.CloseBody(res)
 50130  	if err := googleapi.CheckResponse(res); err != nil {
 50131  		return nil, err
 50132  	}
 50133  	ret := &UserRolePermissionGroupsListResponse{
 50134  		ServerResponse: googleapi.ServerResponse{
 50135  			Header:         res.Header,
 50136  			HTTPStatusCode: res.StatusCode,
 50137  		},
 50138  	}
 50139  	target := &ret
 50140  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50141  		return nil, err
 50142  	}
 50143  	return ret, nil
 50144  	// {
 50145  	//   "description": "Gets a list of all supported user role permission groups.",
 50146  	//   "httpMethod": "GET",
 50147  	//   "id": "dfareporting.userRolePermissionGroups.list",
 50148  	//   "parameterOrder": [
 50149  	//     "profileId"
 50150  	//   ],
 50151  	//   "parameters": {
 50152  	//     "profileId": {
 50153  	//       "description": "User profile ID associated with this request.",
 50154  	//       "format": "int64",
 50155  	//       "location": "path",
 50156  	//       "required": true,
 50157  	//       "type": "string"
 50158  	//     }
 50159  	//   },
 50160  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
 50161  	//   "response": {
 50162  	//     "$ref": "UserRolePermissionGroupsListResponse"
 50163  	//   },
 50164  	//   "scopes": [
 50165  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50166  	//   ]
 50167  	// }
 50168  
 50169  }
 50170  
 50171  // method id "dfareporting.userRolePermissions.get":
 50172  
 50173  type UserRolePermissionsGetCall struct {
 50174  	s            *Service
 50175  	profileId    int64
 50176  	id           int64
 50177  	urlParams_   gensupport.URLParams
 50178  	ifNoneMatch_ string
 50179  	ctx_         context.Context
 50180  	header_      http.Header
 50181  }
 50182  
 50183  // Get: Gets one user role permission by ID.
 50184  func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
 50185  	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50186  	c.profileId = profileId
 50187  	c.id = id
 50188  	return c
 50189  }
 50190  
 50191  // Fields allows partial responses to be retrieved. See
 50192  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50193  // for more information.
 50194  func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
 50195  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50196  	return c
 50197  }
 50198  
 50199  // IfNoneMatch sets the optional parameter which makes the operation
 50200  // fail if the object's ETag matches the given value. This is useful for
 50201  // getting updates only after the object has changed since the last
 50202  // request. Use googleapi.IsNotModified to check whether the response
 50203  // error from Do is the result of In-None-Match.
 50204  func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
 50205  	c.ifNoneMatch_ = entityTag
 50206  	return c
 50207  }
 50208  
 50209  // Context sets the context to be used in this call's Do method. Any
 50210  // pending HTTP request will be aborted if the provided context is
 50211  // canceled.
 50212  func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 50213  	c.ctx_ = ctx
 50214  	return c
 50215  }
 50216  
 50217  // Header returns an http.Header that can be modified by the caller to
 50218  // add HTTP headers to the request.
 50219  func (c *UserRolePermissionsGetCall) Header() http.Header {
 50220  	if c.header_ == nil {
 50221  		c.header_ = make(http.Header)
 50222  	}
 50223  	return c.header_
 50224  }
 50225  
 50226  func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 50227  	reqHeaders := make(http.Header)
 50228  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50229  	for k, v := range c.header_ {
 50230  		reqHeaders[k] = v
 50231  	}
 50232  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50233  	if c.ifNoneMatch_ != "" {
 50234  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50235  	}
 50236  	var body io.Reader = nil
 50237  	c.urlParams_.Set("alt", alt)
 50238  	c.urlParams_.Set("prettyPrint", "false")
 50239  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
 50240  	urls += "?" + c.urlParams_.Encode()
 50241  	req, err := http.NewRequest("GET", urls, body)
 50242  	if err != nil {
 50243  		return nil, err
 50244  	}
 50245  	req.Header = reqHeaders
 50246  	googleapi.Expand(req.URL, map[string]string{
 50247  		"profileId": strconv.FormatInt(c.profileId, 10),
 50248  		"id":        strconv.FormatInt(c.id, 10),
 50249  	})
 50250  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50251  }
 50252  
 50253  // Do executes the "dfareporting.userRolePermissions.get" call.
 50254  // Exactly one of *UserRolePermission or error will be non-nil. Any
 50255  // non-2xx status code is an error. Response headers are in either
 50256  // *UserRolePermission.ServerResponse.Header or (if a response was
 50257  // returned at all) in error.(*googleapi.Error).Header. Use
 50258  // googleapi.IsNotModified to check whether the returned error was
 50259  // because http.StatusNotModified was returned.
 50260  func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
 50261  	gensupport.SetOptions(c.urlParams_, opts...)
 50262  	res, err := c.doRequest("json")
 50263  	if res != nil && res.StatusCode == http.StatusNotModified {
 50264  		if res.Body != nil {
 50265  			res.Body.Close()
 50266  		}
 50267  		return nil, &googleapi.Error{
 50268  			Code:   res.StatusCode,
 50269  			Header: res.Header,
 50270  		}
 50271  	}
 50272  	if err != nil {
 50273  		return nil, err
 50274  	}
 50275  	defer googleapi.CloseBody(res)
 50276  	if err := googleapi.CheckResponse(res); err != nil {
 50277  		return nil, err
 50278  	}
 50279  	ret := &UserRolePermission{
 50280  		ServerResponse: googleapi.ServerResponse{
 50281  			Header:         res.Header,
 50282  			HTTPStatusCode: res.StatusCode,
 50283  		},
 50284  	}
 50285  	target := &ret
 50286  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50287  		return nil, err
 50288  	}
 50289  	return ret, nil
 50290  	// {
 50291  	//   "description": "Gets one user role permission by ID.",
 50292  	//   "httpMethod": "GET",
 50293  	//   "id": "dfareporting.userRolePermissions.get",
 50294  	//   "parameterOrder": [
 50295  	//     "profileId",
 50296  	//     "id"
 50297  	//   ],
 50298  	//   "parameters": {
 50299  	//     "id": {
 50300  	//       "description": "User role permission ID.",
 50301  	//       "format": "int64",
 50302  	//       "location": "path",
 50303  	//       "required": true,
 50304  	//       "type": "string"
 50305  	//     },
 50306  	//     "profileId": {
 50307  	//       "description": "User profile ID associated with this request.",
 50308  	//       "format": "int64",
 50309  	//       "location": "path",
 50310  	//       "required": true,
 50311  	//       "type": "string"
 50312  	//     }
 50313  	//   },
 50314  	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
 50315  	//   "response": {
 50316  	//     "$ref": "UserRolePermission"
 50317  	//   },
 50318  	//   "scopes": [
 50319  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50320  	//   ]
 50321  	// }
 50322  
 50323  }
 50324  
 50325  // method id "dfareporting.userRolePermissions.list":
 50326  
 50327  type UserRolePermissionsListCall struct {
 50328  	s            *Service
 50329  	profileId    int64
 50330  	urlParams_   gensupport.URLParams
 50331  	ifNoneMatch_ string
 50332  	ctx_         context.Context
 50333  	header_      http.Header
 50334  }
 50335  
 50336  // List: Gets a list of user role permissions, possibly filtered.
 50337  func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
 50338  	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50339  	c.profileId = profileId
 50340  	return c
 50341  }
 50342  
 50343  // Ids sets the optional parameter "ids": Select only user role
 50344  // permissions with these IDs.
 50345  func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
 50346  	var ids_ []string
 50347  	for _, v := range ids {
 50348  		ids_ = append(ids_, fmt.Sprint(v))
 50349  	}
 50350  	c.urlParams_.SetMulti("ids", ids_)
 50351  	return c
 50352  }
 50353  
 50354  // Fields allows partial responses to be retrieved. See
 50355  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50356  // for more information.
 50357  func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
 50358  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50359  	return c
 50360  }
 50361  
 50362  // IfNoneMatch sets the optional parameter which makes the operation
 50363  // fail if the object's ETag matches the given value. This is useful for
 50364  // getting updates only after the object has changed since the last
 50365  // request. Use googleapi.IsNotModified to check whether the response
 50366  // error from Do is the result of In-None-Match.
 50367  func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
 50368  	c.ifNoneMatch_ = entityTag
 50369  	return c
 50370  }
 50371  
 50372  // Context sets the context to be used in this call's Do method. Any
 50373  // pending HTTP request will be aborted if the provided context is
 50374  // canceled.
 50375  func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 50376  	c.ctx_ = ctx
 50377  	return c
 50378  }
 50379  
 50380  // Header returns an http.Header that can be modified by the caller to
 50381  // add HTTP headers to the request.
 50382  func (c *UserRolePermissionsListCall) Header() http.Header {
 50383  	if c.header_ == nil {
 50384  		c.header_ = make(http.Header)
 50385  	}
 50386  	return c.header_
 50387  }
 50388  
 50389  func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 50390  	reqHeaders := make(http.Header)
 50391  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50392  	for k, v := range c.header_ {
 50393  		reqHeaders[k] = v
 50394  	}
 50395  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50396  	if c.ifNoneMatch_ != "" {
 50397  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50398  	}
 50399  	var body io.Reader = nil
 50400  	c.urlParams_.Set("alt", alt)
 50401  	c.urlParams_.Set("prettyPrint", "false")
 50402  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
 50403  	urls += "?" + c.urlParams_.Encode()
 50404  	req, err := http.NewRequest("GET", urls, body)
 50405  	if err != nil {
 50406  		return nil, err
 50407  	}
 50408  	req.Header = reqHeaders
 50409  	googleapi.Expand(req.URL, map[string]string{
 50410  		"profileId": strconv.FormatInt(c.profileId, 10),
 50411  	})
 50412  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50413  }
 50414  
 50415  // Do executes the "dfareporting.userRolePermissions.list" call.
 50416  // Exactly one of *UserRolePermissionsListResponse or error will be
 50417  // non-nil. Any non-2xx status code is an error. Response headers are in
 50418  // either *UserRolePermissionsListResponse.ServerResponse.Header or (if
 50419  // a response was returned at all) in error.(*googleapi.Error).Header.
 50420  // Use googleapi.IsNotModified to check whether the returned error was
 50421  // because http.StatusNotModified was returned.
 50422  func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
 50423  	gensupport.SetOptions(c.urlParams_, opts...)
 50424  	res, err := c.doRequest("json")
 50425  	if res != nil && res.StatusCode == http.StatusNotModified {
 50426  		if res.Body != nil {
 50427  			res.Body.Close()
 50428  		}
 50429  		return nil, &googleapi.Error{
 50430  			Code:   res.StatusCode,
 50431  			Header: res.Header,
 50432  		}
 50433  	}
 50434  	if err != nil {
 50435  		return nil, err
 50436  	}
 50437  	defer googleapi.CloseBody(res)
 50438  	if err := googleapi.CheckResponse(res); err != nil {
 50439  		return nil, err
 50440  	}
 50441  	ret := &UserRolePermissionsListResponse{
 50442  		ServerResponse: googleapi.ServerResponse{
 50443  			Header:         res.Header,
 50444  			HTTPStatusCode: res.StatusCode,
 50445  		},
 50446  	}
 50447  	target := &ret
 50448  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50449  		return nil, err
 50450  	}
 50451  	return ret, nil
 50452  	// {
 50453  	//   "description": "Gets a list of user role permissions, possibly filtered.",
 50454  	//   "httpMethod": "GET",
 50455  	//   "id": "dfareporting.userRolePermissions.list",
 50456  	//   "parameterOrder": [
 50457  	//     "profileId"
 50458  	//   ],
 50459  	//   "parameters": {
 50460  	//     "ids": {
 50461  	//       "description": "Select only user role permissions with these IDs.",
 50462  	//       "format": "int64",
 50463  	//       "location": "query",
 50464  	//       "repeated": true,
 50465  	//       "type": "string"
 50466  	//     },
 50467  	//     "profileId": {
 50468  	//       "description": "User profile ID associated with this request.",
 50469  	//       "format": "int64",
 50470  	//       "location": "path",
 50471  	//       "required": true,
 50472  	//       "type": "string"
 50473  	//     }
 50474  	//   },
 50475  	//   "path": "userprofiles/{profileId}/userRolePermissions",
 50476  	//   "response": {
 50477  	//     "$ref": "UserRolePermissionsListResponse"
 50478  	//   },
 50479  	//   "scopes": [
 50480  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50481  	//   ]
 50482  	// }
 50483  
 50484  }
 50485  
 50486  // method id "dfareporting.userRoles.delete":
 50487  
 50488  type UserRolesDeleteCall struct {
 50489  	s          *Service
 50490  	profileId  int64
 50491  	id         int64
 50492  	urlParams_ gensupport.URLParams
 50493  	ctx_       context.Context
 50494  	header_    http.Header
 50495  }
 50496  
 50497  // Delete: Deletes an existing user role.
 50498  func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
 50499  	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50500  	c.profileId = profileId
 50501  	c.id = id
 50502  	return c
 50503  }
 50504  
 50505  // Fields allows partial responses to be retrieved. See
 50506  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50507  // for more information.
 50508  func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
 50509  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50510  	return c
 50511  }
 50512  
 50513  // Context sets the context to be used in this call's Do method. Any
 50514  // pending HTTP request will be aborted if the provided context is
 50515  // canceled.
 50516  func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 50517  	c.ctx_ = ctx
 50518  	return c
 50519  }
 50520  
 50521  // Header returns an http.Header that can be modified by the caller to
 50522  // add HTTP headers to the request.
 50523  func (c *UserRolesDeleteCall) Header() http.Header {
 50524  	if c.header_ == nil {
 50525  		c.header_ = make(http.Header)
 50526  	}
 50527  	return c.header_
 50528  }
 50529  
 50530  func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 50531  	reqHeaders := make(http.Header)
 50532  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50533  	for k, v := range c.header_ {
 50534  		reqHeaders[k] = v
 50535  	}
 50536  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50537  	var body io.Reader = nil
 50538  	c.urlParams_.Set("alt", alt)
 50539  	c.urlParams_.Set("prettyPrint", "false")
 50540  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 50541  	urls += "?" + c.urlParams_.Encode()
 50542  	req, err := http.NewRequest("DELETE", urls, body)
 50543  	if err != nil {
 50544  		return nil, err
 50545  	}
 50546  	req.Header = reqHeaders
 50547  	googleapi.Expand(req.URL, map[string]string{
 50548  		"profileId": strconv.FormatInt(c.profileId, 10),
 50549  		"id":        strconv.FormatInt(c.id, 10),
 50550  	})
 50551  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50552  }
 50553  
 50554  // Do executes the "dfareporting.userRoles.delete" call.
 50555  func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
 50556  	gensupport.SetOptions(c.urlParams_, opts...)
 50557  	res, err := c.doRequest("json")
 50558  	if err != nil {
 50559  		return err
 50560  	}
 50561  	defer googleapi.CloseBody(res)
 50562  	if err := googleapi.CheckResponse(res); err != nil {
 50563  		return err
 50564  	}
 50565  	return nil
 50566  	// {
 50567  	//   "description": "Deletes an existing user role.",
 50568  	//   "httpMethod": "DELETE",
 50569  	//   "id": "dfareporting.userRoles.delete",
 50570  	//   "parameterOrder": [
 50571  	//     "profileId",
 50572  	//     "id"
 50573  	//   ],
 50574  	//   "parameters": {
 50575  	//     "id": {
 50576  	//       "description": "User role ID.",
 50577  	//       "format": "int64",
 50578  	//       "location": "path",
 50579  	//       "required": true,
 50580  	//       "type": "string"
 50581  	//     },
 50582  	//     "profileId": {
 50583  	//       "description": "User profile ID associated with this request.",
 50584  	//       "format": "int64",
 50585  	//       "location": "path",
 50586  	//       "required": true,
 50587  	//       "type": "string"
 50588  	//     }
 50589  	//   },
 50590  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 50591  	//   "scopes": [
 50592  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50593  	//   ]
 50594  	// }
 50595  
 50596  }
 50597  
 50598  // method id "dfareporting.userRoles.get":
 50599  
 50600  type UserRolesGetCall struct {
 50601  	s            *Service
 50602  	profileId    int64
 50603  	id           int64
 50604  	urlParams_   gensupport.URLParams
 50605  	ifNoneMatch_ string
 50606  	ctx_         context.Context
 50607  	header_      http.Header
 50608  }
 50609  
 50610  // Get: Gets one user role by ID.
 50611  func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
 50612  	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50613  	c.profileId = profileId
 50614  	c.id = id
 50615  	return c
 50616  }
 50617  
 50618  // Fields allows partial responses to be retrieved. See
 50619  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50620  // for more information.
 50621  func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
 50622  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50623  	return c
 50624  }
 50625  
 50626  // IfNoneMatch sets the optional parameter which makes the operation
 50627  // fail if the object's ETag matches the given value. This is useful for
 50628  // getting updates only after the object has changed since the last
 50629  // request. Use googleapi.IsNotModified to check whether the response
 50630  // error from Do is the result of In-None-Match.
 50631  func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
 50632  	c.ifNoneMatch_ = entityTag
 50633  	return c
 50634  }
 50635  
 50636  // Context sets the context to be used in this call's Do method. Any
 50637  // pending HTTP request will be aborted if the provided context is
 50638  // canceled.
 50639  func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 50640  	c.ctx_ = ctx
 50641  	return c
 50642  }
 50643  
 50644  // Header returns an http.Header that can be modified by the caller to
 50645  // add HTTP headers to the request.
 50646  func (c *UserRolesGetCall) Header() http.Header {
 50647  	if c.header_ == nil {
 50648  		c.header_ = make(http.Header)
 50649  	}
 50650  	return c.header_
 50651  }
 50652  
 50653  func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 50654  	reqHeaders := make(http.Header)
 50655  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50656  	for k, v := range c.header_ {
 50657  		reqHeaders[k] = v
 50658  	}
 50659  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50660  	if c.ifNoneMatch_ != "" {
 50661  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50662  	}
 50663  	var body io.Reader = nil
 50664  	c.urlParams_.Set("alt", alt)
 50665  	c.urlParams_.Set("prettyPrint", "false")
 50666  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 50667  	urls += "?" + c.urlParams_.Encode()
 50668  	req, err := http.NewRequest("GET", urls, body)
 50669  	if err != nil {
 50670  		return nil, err
 50671  	}
 50672  	req.Header = reqHeaders
 50673  	googleapi.Expand(req.URL, map[string]string{
 50674  		"profileId": strconv.FormatInt(c.profileId, 10),
 50675  		"id":        strconv.FormatInt(c.id, 10),
 50676  	})
 50677  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50678  }
 50679  
 50680  // Do executes the "dfareporting.userRoles.get" call.
 50681  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50682  // code is an error. Response headers are in either
 50683  // *UserRole.ServerResponse.Header or (if a response was returned at
 50684  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50685  // to check whether the returned error was because
 50686  // http.StatusNotModified was returned.
 50687  func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50688  	gensupport.SetOptions(c.urlParams_, opts...)
 50689  	res, err := c.doRequest("json")
 50690  	if res != nil && res.StatusCode == http.StatusNotModified {
 50691  		if res.Body != nil {
 50692  			res.Body.Close()
 50693  		}
 50694  		return nil, &googleapi.Error{
 50695  			Code:   res.StatusCode,
 50696  			Header: res.Header,
 50697  		}
 50698  	}
 50699  	if err != nil {
 50700  		return nil, err
 50701  	}
 50702  	defer googleapi.CloseBody(res)
 50703  	if err := googleapi.CheckResponse(res); err != nil {
 50704  		return nil, err
 50705  	}
 50706  	ret := &UserRole{
 50707  		ServerResponse: googleapi.ServerResponse{
 50708  			Header:         res.Header,
 50709  			HTTPStatusCode: res.StatusCode,
 50710  		},
 50711  	}
 50712  	target := &ret
 50713  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50714  		return nil, err
 50715  	}
 50716  	return ret, nil
 50717  	// {
 50718  	//   "description": "Gets one user role by ID.",
 50719  	//   "httpMethod": "GET",
 50720  	//   "id": "dfareporting.userRoles.get",
 50721  	//   "parameterOrder": [
 50722  	//     "profileId",
 50723  	//     "id"
 50724  	//   ],
 50725  	//   "parameters": {
 50726  	//     "id": {
 50727  	//       "description": "User role ID.",
 50728  	//       "format": "int64",
 50729  	//       "location": "path",
 50730  	//       "required": true,
 50731  	//       "type": "string"
 50732  	//     },
 50733  	//     "profileId": {
 50734  	//       "description": "User profile ID associated with this request.",
 50735  	//       "format": "int64",
 50736  	//       "location": "path",
 50737  	//       "required": true,
 50738  	//       "type": "string"
 50739  	//     }
 50740  	//   },
 50741  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 50742  	//   "response": {
 50743  	//     "$ref": "UserRole"
 50744  	//   },
 50745  	//   "scopes": [
 50746  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50747  	//   ]
 50748  	// }
 50749  
 50750  }
 50751  
 50752  // method id "dfareporting.userRoles.insert":
 50753  
 50754  type UserRolesInsertCall struct {
 50755  	s          *Service
 50756  	profileId  int64
 50757  	userrole   *UserRole
 50758  	urlParams_ gensupport.URLParams
 50759  	ctx_       context.Context
 50760  	header_    http.Header
 50761  }
 50762  
 50763  // Insert: Inserts a new user role.
 50764  func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
 50765  	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50766  	c.profileId = profileId
 50767  	c.userrole = userrole
 50768  	return c
 50769  }
 50770  
 50771  // Fields allows partial responses to be retrieved. See
 50772  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50773  // for more information.
 50774  func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
 50775  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50776  	return c
 50777  }
 50778  
 50779  // Context sets the context to be used in this call's Do method. Any
 50780  // pending HTTP request will be aborted if the provided context is
 50781  // canceled.
 50782  func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 50783  	c.ctx_ = ctx
 50784  	return c
 50785  }
 50786  
 50787  // Header returns an http.Header that can be modified by the caller to
 50788  // add HTTP headers to the request.
 50789  func (c *UserRolesInsertCall) Header() http.Header {
 50790  	if c.header_ == nil {
 50791  		c.header_ = make(http.Header)
 50792  	}
 50793  	return c.header_
 50794  }
 50795  
 50796  func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
 50797  	reqHeaders := make(http.Header)
 50798  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 50799  	for k, v := range c.header_ {
 50800  		reqHeaders[k] = v
 50801  	}
 50802  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50803  	var body io.Reader = nil
 50804  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50805  	if err != nil {
 50806  		return nil, err
 50807  	}
 50808  	reqHeaders.Set("Content-Type", "application/json")
 50809  	c.urlParams_.Set("alt", alt)
 50810  	c.urlParams_.Set("prettyPrint", "false")
 50811  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50812  	urls += "?" + c.urlParams_.Encode()
 50813  	req, err := http.NewRequest("POST", urls, body)
 50814  	if err != nil {
 50815  		return nil, err
 50816  	}
 50817  	req.Header = reqHeaders
 50818  	googleapi.Expand(req.URL, map[string]string{
 50819  		"profileId": strconv.FormatInt(c.profileId, 10),
 50820  	})
 50821  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50822  }
 50823  
 50824  // Do executes the "dfareporting.userRoles.insert" call.
 50825  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50826  // code is an error. Response headers are in either
 50827  // *UserRole.ServerResponse.Header or (if a response was returned at
 50828  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50829  // to check whether the returned error was because
 50830  // http.StatusNotModified was returned.
 50831  func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50832  	gensupport.SetOptions(c.urlParams_, opts...)
 50833  	res, err := c.doRequest("json")
 50834  	if res != nil && res.StatusCode == http.StatusNotModified {
 50835  		if res.Body != nil {
 50836  			res.Body.Close()
 50837  		}
 50838  		return nil, &googleapi.Error{
 50839  			Code:   res.StatusCode,
 50840  			Header: res.Header,
 50841  		}
 50842  	}
 50843  	if err != nil {
 50844  		return nil, err
 50845  	}
 50846  	defer googleapi.CloseBody(res)
 50847  	if err := googleapi.CheckResponse(res); err != nil {
 50848  		return nil, err
 50849  	}
 50850  	ret := &UserRole{
 50851  		ServerResponse: googleapi.ServerResponse{
 50852  			Header:         res.Header,
 50853  			HTTPStatusCode: res.StatusCode,
 50854  		},
 50855  	}
 50856  	target := &ret
 50857  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50858  		return nil, err
 50859  	}
 50860  	return ret, nil
 50861  	// {
 50862  	//   "description": "Inserts a new user role.",
 50863  	//   "httpMethod": "POST",
 50864  	//   "id": "dfareporting.userRoles.insert",
 50865  	//   "parameterOrder": [
 50866  	//     "profileId"
 50867  	//   ],
 50868  	//   "parameters": {
 50869  	//     "profileId": {
 50870  	//       "description": "User profile ID associated with this request.",
 50871  	//       "format": "int64",
 50872  	//       "location": "path",
 50873  	//       "required": true,
 50874  	//       "type": "string"
 50875  	//     }
 50876  	//   },
 50877  	//   "path": "userprofiles/{profileId}/userRoles",
 50878  	//   "request": {
 50879  	//     "$ref": "UserRole"
 50880  	//   },
 50881  	//   "response": {
 50882  	//     "$ref": "UserRole"
 50883  	//   },
 50884  	//   "scopes": [
 50885  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50886  	//   ]
 50887  	// }
 50888  
 50889  }
 50890  
 50891  // method id "dfareporting.userRoles.list":
 50892  
 50893  type UserRolesListCall struct {
 50894  	s            *Service
 50895  	profileId    int64
 50896  	urlParams_   gensupport.URLParams
 50897  	ifNoneMatch_ string
 50898  	ctx_         context.Context
 50899  	header_      http.Header
 50900  }
 50901  
 50902  // List: Retrieves a list of user roles, possibly filtered. This method
 50903  // supports paging.
 50904  func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
 50905  	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50906  	c.profileId = profileId
 50907  	return c
 50908  }
 50909  
 50910  // AccountUserRoleOnly sets the optional parameter
 50911  // "accountUserRoleOnly": Select only account level user roles not
 50912  // associated with any specific subaccount.
 50913  func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
 50914  	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
 50915  	return c
 50916  }
 50917  
 50918  // Ids sets the optional parameter "ids": Select only user roles with
 50919  // the specified IDs.
 50920  func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
 50921  	var ids_ []string
 50922  	for _, v := range ids {
 50923  		ids_ = append(ids_, fmt.Sprint(v))
 50924  	}
 50925  	c.urlParams_.SetMulti("ids", ids_)
 50926  	return c
 50927  }
 50928  
 50929  // MaxResults sets the optional parameter "maxResults": Maximum number
 50930  // of results to return.
 50931  func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
 50932  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 50933  	return c
 50934  }
 50935  
 50936  // PageToken sets the optional parameter "pageToken": Value of the
 50937  // nextPageToken from the previous result page.
 50938  func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
 50939  	c.urlParams_.Set("pageToken", pageToken)
 50940  	return c
 50941  }
 50942  
 50943  // SearchString sets the optional parameter "searchString": Allows
 50944  // searching for objects by name or ID. Wildcards (*) are allowed. For
 50945  // example, "userrole*2015" will return objects with names like
 50946  // "userrole June 2015", "userrole April 2015", or simply "userrole
 50947  // 2015". Most of the searches also add wildcards implicitly at the
 50948  // start and the end of the search string. For example, a search string
 50949  // of "userrole" will match objects with name "my userrole", "userrole
 50950  // 2015", or simply "userrole".
 50951  func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
 50952  	c.urlParams_.Set("searchString", searchString)
 50953  	return c
 50954  }
 50955  
 50956  // SortField sets the optional parameter "sortField": Field by which to
 50957  // sort the list.
 50958  //
 50959  // Possible values:
 50960  //
 50961  //	"ID" (default)
 50962  //	"NAME"
 50963  func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
 50964  	c.urlParams_.Set("sortField", sortField)
 50965  	return c
 50966  }
 50967  
 50968  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 50969  // results.
 50970  //
 50971  // Possible values:
 50972  //
 50973  //	"ASCENDING" (default)
 50974  //	"DESCENDING"
 50975  func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
 50976  	c.urlParams_.Set("sortOrder", sortOrder)
 50977  	return c
 50978  }
 50979  
 50980  // SubaccountId sets the optional parameter "subaccountId": Select only
 50981  // user roles that belong to this subaccount.
 50982  func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
 50983  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 50984  	return c
 50985  }
 50986  
 50987  // Fields allows partial responses to be retrieved. See
 50988  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50989  // for more information.
 50990  func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
 50991  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50992  	return c
 50993  }
 50994  
 50995  // IfNoneMatch sets the optional parameter which makes the operation
 50996  // fail if the object's ETag matches the given value. This is useful for
 50997  // getting updates only after the object has changed since the last
 50998  // request. Use googleapi.IsNotModified to check whether the response
 50999  // error from Do is the result of In-None-Match.
 51000  func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
 51001  	c.ifNoneMatch_ = entityTag
 51002  	return c
 51003  }
 51004  
 51005  // Context sets the context to be used in this call's Do method. Any
 51006  // pending HTTP request will be aborted if the provided context is
 51007  // canceled.
 51008  func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 51009  	c.ctx_ = ctx
 51010  	return c
 51011  }
 51012  
 51013  // Header returns an http.Header that can be modified by the caller to
 51014  // add HTTP headers to the request.
 51015  func (c *UserRolesListCall) Header() http.Header {
 51016  	if c.header_ == nil {
 51017  		c.header_ = make(http.Header)
 51018  	}
 51019  	return c.header_
 51020  }
 51021  
 51022  func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 51023  	reqHeaders := make(http.Header)
 51024  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 51025  	for k, v := range c.header_ {
 51026  		reqHeaders[k] = v
 51027  	}
 51028  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51029  	if c.ifNoneMatch_ != "" {
 51030  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51031  	}
 51032  	var body io.Reader = nil
 51033  	c.urlParams_.Set("alt", alt)
 51034  	c.urlParams_.Set("prettyPrint", "false")
 51035  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 51036  	urls += "?" + c.urlParams_.Encode()
 51037  	req, err := http.NewRequest("GET", urls, body)
 51038  	if err != nil {
 51039  		return nil, err
 51040  	}
 51041  	req.Header = reqHeaders
 51042  	googleapi.Expand(req.URL, map[string]string{
 51043  		"profileId": strconv.FormatInt(c.profileId, 10),
 51044  	})
 51045  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51046  }
 51047  
 51048  // Do executes the "dfareporting.userRoles.list" call.
 51049  // Exactly one of *UserRolesListResponse or error will be non-nil. Any
 51050  // non-2xx status code is an error. Response headers are in either
 51051  // *UserRolesListResponse.ServerResponse.Header or (if a response was
 51052  // returned at all) in error.(*googleapi.Error).Header. Use
 51053  // googleapi.IsNotModified to check whether the returned error was
 51054  // because http.StatusNotModified was returned.
 51055  func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
 51056  	gensupport.SetOptions(c.urlParams_, opts...)
 51057  	res, err := c.doRequest("json")
 51058  	if res != nil && res.StatusCode == http.StatusNotModified {
 51059  		if res.Body != nil {
 51060  			res.Body.Close()
 51061  		}
 51062  		return nil, &googleapi.Error{
 51063  			Code:   res.StatusCode,
 51064  			Header: res.Header,
 51065  		}
 51066  	}
 51067  	if err != nil {
 51068  		return nil, err
 51069  	}
 51070  	defer googleapi.CloseBody(res)
 51071  	if err := googleapi.CheckResponse(res); err != nil {
 51072  		return nil, err
 51073  	}
 51074  	ret := &UserRolesListResponse{
 51075  		ServerResponse: googleapi.ServerResponse{
 51076  			Header:         res.Header,
 51077  			HTTPStatusCode: res.StatusCode,
 51078  		},
 51079  	}
 51080  	target := &ret
 51081  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51082  		return nil, err
 51083  	}
 51084  	return ret, nil
 51085  	// {
 51086  	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
 51087  	//   "httpMethod": "GET",
 51088  	//   "id": "dfareporting.userRoles.list",
 51089  	//   "parameterOrder": [
 51090  	//     "profileId"
 51091  	//   ],
 51092  	//   "parameters": {
 51093  	//     "accountUserRoleOnly": {
 51094  	//       "description": "Select only account level user roles not associated with any specific subaccount.",
 51095  	//       "location": "query",
 51096  	//       "type": "boolean"
 51097  	//     },
 51098  	//     "ids": {
 51099  	//       "description": "Select only user roles with the specified IDs.",
 51100  	//       "format": "int64",
 51101  	//       "location": "query",
 51102  	//       "repeated": true,
 51103  	//       "type": "string"
 51104  	//     },
 51105  	//     "maxResults": {
 51106  	//       "default": "1000",
 51107  	//       "description": "Maximum number of results to return.",
 51108  	//       "format": "int32",
 51109  	//       "location": "query",
 51110  	//       "maximum": "1000",
 51111  	//       "minimum": "0",
 51112  	//       "type": "integer"
 51113  	//     },
 51114  	//     "pageToken": {
 51115  	//       "description": "Value of the nextPageToken from the previous result page.",
 51116  	//       "location": "query",
 51117  	//       "type": "string"
 51118  	//     },
 51119  	//     "profileId": {
 51120  	//       "description": "User profile ID associated with this request.",
 51121  	//       "format": "int64",
 51122  	//       "location": "path",
 51123  	//       "required": true,
 51124  	//       "type": "string"
 51125  	//     },
 51126  	//     "searchString": {
 51127  	//       "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\".",
 51128  	//       "location": "query",
 51129  	//       "type": "string"
 51130  	//     },
 51131  	//     "sortField": {
 51132  	//       "default": "ID",
 51133  	//       "description": "Field by which to sort the list.",
 51134  	//       "enum": [
 51135  	//         "ID",
 51136  	//         "NAME"
 51137  	//       ],
 51138  	//       "enumDescriptions": [
 51139  	//         "",
 51140  	//         ""
 51141  	//       ],
 51142  	//       "location": "query",
 51143  	//       "type": "string"
 51144  	//     },
 51145  	//     "sortOrder": {
 51146  	//       "default": "ASCENDING",
 51147  	//       "description": "Order of sorted results.",
 51148  	//       "enum": [
 51149  	//         "ASCENDING",
 51150  	//         "DESCENDING"
 51151  	//       ],
 51152  	//       "enumDescriptions": [
 51153  	//         "",
 51154  	//         ""
 51155  	//       ],
 51156  	//       "location": "query",
 51157  	//       "type": "string"
 51158  	//     },
 51159  	//     "subaccountId": {
 51160  	//       "description": "Select only user roles that belong to this subaccount.",
 51161  	//       "format": "int64",
 51162  	//       "location": "query",
 51163  	//       "type": "string"
 51164  	//     }
 51165  	//   },
 51166  	//   "path": "userprofiles/{profileId}/userRoles",
 51167  	//   "response": {
 51168  	//     "$ref": "UserRolesListResponse"
 51169  	//   },
 51170  	//   "scopes": [
 51171  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51172  	//   ]
 51173  	// }
 51174  
 51175  }
 51176  
 51177  // Pages invokes f for each page of results.
 51178  // A non-nil error returned from f will halt the iteration.
 51179  // The provided context supersedes any context provided to the Context method.
 51180  func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
 51181  	c.ctx_ = ctx
 51182  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 51183  	for {
 51184  		x, err := c.Do()
 51185  		if err != nil {
 51186  			return err
 51187  		}
 51188  		if err := f(x); err != nil {
 51189  			return err
 51190  		}
 51191  		if x.NextPageToken == "" {
 51192  			return nil
 51193  		}
 51194  		c.PageToken(x.NextPageToken)
 51195  	}
 51196  }
 51197  
 51198  // method id "dfareporting.userRoles.patch":
 51199  
 51200  type UserRolesPatchCall struct {
 51201  	s          *Service
 51202  	profileId  int64
 51203  	userrole   *UserRole
 51204  	urlParams_ gensupport.URLParams
 51205  	ctx_       context.Context
 51206  	header_    http.Header
 51207  }
 51208  
 51209  // Patch: Updates an existing user role. This method supports patch
 51210  // semantics.
 51211  func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
 51212  	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51213  	c.profileId = profileId
 51214  	c.urlParams_.Set("id", fmt.Sprint(id))
 51215  	c.userrole = userrole
 51216  	return c
 51217  }
 51218  
 51219  // Fields allows partial responses to be retrieved. See
 51220  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51221  // for more information.
 51222  func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
 51223  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51224  	return c
 51225  }
 51226  
 51227  // Context sets the context to be used in this call's Do method. Any
 51228  // pending HTTP request will be aborted if the provided context is
 51229  // canceled.
 51230  func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 51231  	c.ctx_ = ctx
 51232  	return c
 51233  }
 51234  
 51235  // Header returns an http.Header that can be modified by the caller to
 51236  // add HTTP headers to the request.
 51237  func (c *UserRolesPatchCall) Header() http.Header {
 51238  	if c.header_ == nil {
 51239  		c.header_ = make(http.Header)
 51240  	}
 51241  	return c.header_
 51242  }
 51243  
 51244  func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 51245  	reqHeaders := make(http.Header)
 51246  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 51247  	for k, v := range c.header_ {
 51248  		reqHeaders[k] = v
 51249  	}
 51250  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51251  	var body io.Reader = nil
 51252  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 51253  	if err != nil {
 51254  		return nil, err
 51255  	}
 51256  	reqHeaders.Set("Content-Type", "application/json")
 51257  	c.urlParams_.Set("alt", alt)
 51258  	c.urlParams_.Set("prettyPrint", "false")
 51259  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 51260  	urls += "?" + c.urlParams_.Encode()
 51261  	req, err := http.NewRequest("PATCH", urls, body)
 51262  	if err != nil {
 51263  		return nil, err
 51264  	}
 51265  	req.Header = reqHeaders
 51266  	googleapi.Expand(req.URL, map[string]string{
 51267  		"profileId": strconv.FormatInt(c.profileId, 10),
 51268  	})
 51269  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51270  }
 51271  
 51272  // Do executes the "dfareporting.userRoles.patch" call.
 51273  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 51274  // code is an error. Response headers are in either
 51275  // *UserRole.ServerResponse.Header or (if a response was returned at
 51276  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 51277  // to check whether the returned error was because
 51278  // http.StatusNotModified was returned.
 51279  func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 51280  	gensupport.SetOptions(c.urlParams_, opts...)
 51281  	res, err := c.doRequest("json")
 51282  	if res != nil && res.StatusCode == http.StatusNotModified {
 51283  		if res.Body != nil {
 51284  			res.Body.Close()
 51285  		}
 51286  		return nil, &googleapi.Error{
 51287  			Code:   res.StatusCode,
 51288  			Header: res.Header,
 51289  		}
 51290  	}
 51291  	if err != nil {
 51292  		return nil, err
 51293  	}
 51294  	defer googleapi.CloseBody(res)
 51295  	if err := googleapi.CheckResponse(res); err != nil {
 51296  		return nil, err
 51297  	}
 51298  	ret := &UserRole{
 51299  		ServerResponse: googleapi.ServerResponse{
 51300  			Header:         res.Header,
 51301  			HTTPStatusCode: res.StatusCode,
 51302  		},
 51303  	}
 51304  	target := &ret
 51305  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51306  		return nil, err
 51307  	}
 51308  	return ret, nil
 51309  	// {
 51310  	//   "description": "Updates an existing user role. This method supports patch semantics.",
 51311  	//   "httpMethod": "PATCH",
 51312  	//   "id": "dfareporting.userRoles.patch",
 51313  	//   "parameterOrder": [
 51314  	//     "profileId",
 51315  	//     "id"
 51316  	//   ],
 51317  	//   "parameters": {
 51318  	//     "id": {
 51319  	//       "description": "User role ID.",
 51320  	//       "format": "int64",
 51321  	//       "location": "query",
 51322  	//       "required": true,
 51323  	//       "type": "string"
 51324  	//     },
 51325  	//     "profileId": {
 51326  	//       "description": "User profile ID associated with this request.",
 51327  	//       "format": "int64",
 51328  	//       "location": "path",
 51329  	//       "required": true,
 51330  	//       "type": "string"
 51331  	//     }
 51332  	//   },
 51333  	//   "path": "userprofiles/{profileId}/userRoles",
 51334  	//   "request": {
 51335  	//     "$ref": "UserRole"
 51336  	//   },
 51337  	//   "response": {
 51338  	//     "$ref": "UserRole"
 51339  	//   },
 51340  	//   "scopes": [
 51341  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51342  	//   ]
 51343  	// }
 51344  
 51345  }
 51346  
 51347  // method id "dfareporting.userRoles.update":
 51348  
 51349  type UserRolesUpdateCall struct {
 51350  	s          *Service
 51351  	profileId  int64
 51352  	userrole   *UserRole
 51353  	urlParams_ gensupport.URLParams
 51354  	ctx_       context.Context
 51355  	header_    http.Header
 51356  }
 51357  
 51358  // Update: Updates an existing user role.
 51359  func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
 51360  	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51361  	c.profileId = profileId
 51362  	c.userrole = userrole
 51363  	return c
 51364  }
 51365  
 51366  // Fields allows partial responses to be retrieved. See
 51367  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51368  // for more information.
 51369  func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
 51370  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51371  	return c
 51372  }
 51373  
 51374  // Context sets the context to be used in this call's Do method. Any
 51375  // pending HTTP request will be aborted if the provided context is
 51376  // canceled.
 51377  func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 51378  	c.ctx_ = ctx
 51379  	return c
 51380  }
 51381  
 51382  // Header returns an http.Header that can be modified by the caller to
 51383  // add HTTP headers to the request.
 51384  func (c *UserRolesUpdateCall) Header() http.Header {
 51385  	if c.header_ == nil {
 51386  		c.header_ = make(http.Header)
 51387  	}
 51388  	return c.header_
 51389  }
 51390  
 51391  func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 51392  	reqHeaders := make(http.Header)
 51393  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 51394  	for k, v := range c.header_ {
 51395  		reqHeaders[k] = v
 51396  	}
 51397  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51398  	var body io.Reader = nil
 51399  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 51400  	if err != nil {
 51401  		return nil, err
 51402  	}
 51403  	reqHeaders.Set("Content-Type", "application/json")
 51404  	c.urlParams_.Set("alt", alt)
 51405  	c.urlParams_.Set("prettyPrint", "false")
 51406  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 51407  	urls += "?" + c.urlParams_.Encode()
 51408  	req, err := http.NewRequest("PUT", urls, body)
 51409  	if err != nil {
 51410  		return nil, err
 51411  	}
 51412  	req.Header = reqHeaders
 51413  	googleapi.Expand(req.URL, map[string]string{
 51414  		"profileId": strconv.FormatInt(c.profileId, 10),
 51415  	})
 51416  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51417  }
 51418  
 51419  // Do executes the "dfareporting.userRoles.update" call.
 51420  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 51421  // code is an error. Response headers are in either
 51422  // *UserRole.ServerResponse.Header or (if a response was returned at
 51423  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 51424  // to check whether the returned error was because
 51425  // http.StatusNotModified was returned.
 51426  func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 51427  	gensupport.SetOptions(c.urlParams_, opts...)
 51428  	res, err := c.doRequest("json")
 51429  	if res != nil && res.StatusCode == http.StatusNotModified {
 51430  		if res.Body != nil {
 51431  			res.Body.Close()
 51432  		}
 51433  		return nil, &googleapi.Error{
 51434  			Code:   res.StatusCode,
 51435  			Header: res.Header,
 51436  		}
 51437  	}
 51438  	if err != nil {
 51439  		return nil, err
 51440  	}
 51441  	defer googleapi.CloseBody(res)
 51442  	if err := googleapi.CheckResponse(res); err != nil {
 51443  		return nil, err
 51444  	}
 51445  	ret := &UserRole{
 51446  		ServerResponse: googleapi.ServerResponse{
 51447  			Header:         res.Header,
 51448  			HTTPStatusCode: res.StatusCode,
 51449  		},
 51450  	}
 51451  	target := &ret
 51452  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51453  		return nil, err
 51454  	}
 51455  	return ret, nil
 51456  	// {
 51457  	//   "description": "Updates an existing user role.",
 51458  	//   "httpMethod": "PUT",
 51459  	//   "id": "dfareporting.userRoles.update",
 51460  	//   "parameterOrder": [
 51461  	//     "profileId"
 51462  	//   ],
 51463  	//   "parameters": {
 51464  	//     "profileId": {
 51465  	//       "description": "User profile ID associated with this request.",
 51466  	//       "format": "int64",
 51467  	//       "location": "path",
 51468  	//       "required": true,
 51469  	//       "type": "string"
 51470  	//     }
 51471  	//   },
 51472  	//   "path": "userprofiles/{profileId}/userRoles",
 51473  	//   "request": {
 51474  	//     "$ref": "UserRole"
 51475  	//   },
 51476  	//   "response": {
 51477  	//     "$ref": "UserRole"
 51478  	//   },
 51479  	//   "scopes": [
 51480  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51481  	//   ]
 51482  	// }
 51483  
 51484  }
 51485  
 51486  // method id "dfareporting.videoFormats.get":
 51487  
 51488  type VideoFormatsGetCall struct {
 51489  	s            *Service
 51490  	profileId    int64
 51491  	id           int64
 51492  	urlParams_   gensupport.URLParams
 51493  	ifNoneMatch_ string
 51494  	ctx_         context.Context
 51495  	header_      http.Header
 51496  }
 51497  
 51498  // Get: Gets one video format by ID.
 51499  func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
 51500  	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51501  	c.profileId = profileId
 51502  	c.id = id
 51503  	return c
 51504  }
 51505  
 51506  // Fields allows partial responses to be retrieved. See
 51507  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51508  // for more information.
 51509  func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
 51510  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51511  	return c
 51512  }
 51513  
 51514  // IfNoneMatch sets the optional parameter which makes the operation
 51515  // fail if the object's ETag matches the given value. This is useful for
 51516  // getting updates only after the object has changed since the last
 51517  // request. Use googleapi.IsNotModified to check whether the response
 51518  // error from Do is the result of In-None-Match.
 51519  func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
 51520  	c.ifNoneMatch_ = entityTag
 51521  	return c
 51522  }
 51523  
 51524  // Context sets the context to be used in this call's Do method. Any
 51525  // pending HTTP request will be aborted if the provided context is
 51526  // canceled.
 51527  func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
 51528  	c.ctx_ = ctx
 51529  	return c
 51530  }
 51531  
 51532  // Header returns an http.Header that can be modified by the caller to
 51533  // add HTTP headers to the request.
 51534  func (c *VideoFormatsGetCall) Header() http.Header {
 51535  	if c.header_ == nil {
 51536  		c.header_ = make(http.Header)
 51537  	}
 51538  	return c.header_
 51539  }
 51540  
 51541  func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
 51542  	reqHeaders := make(http.Header)
 51543  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 51544  	for k, v := range c.header_ {
 51545  		reqHeaders[k] = v
 51546  	}
 51547  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51548  	if c.ifNoneMatch_ != "" {
 51549  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51550  	}
 51551  	var body io.Reader = nil
 51552  	c.urlParams_.Set("alt", alt)
 51553  	c.urlParams_.Set("prettyPrint", "false")
 51554  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
 51555  	urls += "?" + c.urlParams_.Encode()
 51556  	req, err := http.NewRequest("GET", urls, body)
 51557  	if err != nil {
 51558  		return nil, err
 51559  	}
 51560  	req.Header = reqHeaders
 51561  	googleapi.Expand(req.URL, map[string]string{
 51562  		"profileId": strconv.FormatInt(c.profileId, 10),
 51563  		"id":        strconv.FormatInt(c.id, 10),
 51564  	})
 51565  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51566  }
 51567  
 51568  // Do executes the "dfareporting.videoFormats.get" call.
 51569  // Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
 51570  // status code is an error. Response headers are in either
 51571  // *VideoFormat.ServerResponse.Header or (if a response was returned at
 51572  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 51573  // to check whether the returned error was because
 51574  // http.StatusNotModified was returned.
 51575  func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
 51576  	gensupport.SetOptions(c.urlParams_, opts...)
 51577  	res, err := c.doRequest("json")
 51578  	if res != nil && res.StatusCode == http.StatusNotModified {
 51579  		if res.Body != nil {
 51580  			res.Body.Close()
 51581  		}
 51582  		return nil, &googleapi.Error{
 51583  			Code:   res.StatusCode,
 51584  			Header: res.Header,
 51585  		}
 51586  	}
 51587  	if err != nil {
 51588  		return nil, err
 51589  	}
 51590  	defer googleapi.CloseBody(res)
 51591  	if err := googleapi.CheckResponse(res); err != nil {
 51592  		return nil, err
 51593  	}
 51594  	ret := &VideoFormat{
 51595  		ServerResponse: googleapi.ServerResponse{
 51596  			Header:         res.Header,
 51597  			HTTPStatusCode: res.StatusCode,
 51598  		},
 51599  	}
 51600  	target := &ret
 51601  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51602  		return nil, err
 51603  	}
 51604  	return ret, nil
 51605  	// {
 51606  	//   "description": "Gets one video format by ID.",
 51607  	//   "httpMethod": "GET",
 51608  	//   "id": "dfareporting.videoFormats.get",
 51609  	//   "parameterOrder": [
 51610  	//     "profileId",
 51611  	//     "id"
 51612  	//   ],
 51613  	//   "parameters": {
 51614  	//     "id": {
 51615  	//       "description": "Video format ID.",
 51616  	//       "format": "int32",
 51617  	//       "location": "path",
 51618  	//       "required": true,
 51619  	//       "type": "integer"
 51620  	//     },
 51621  	//     "profileId": {
 51622  	//       "description": "User profile ID associated with this request.",
 51623  	//       "format": "int64",
 51624  	//       "location": "path",
 51625  	//       "required": true,
 51626  	//       "type": "string"
 51627  	//     }
 51628  	//   },
 51629  	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
 51630  	//   "response": {
 51631  	//     "$ref": "VideoFormat"
 51632  	//   },
 51633  	//   "scopes": [
 51634  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51635  	//   ]
 51636  	// }
 51637  
 51638  }
 51639  
 51640  // method id "dfareporting.videoFormats.list":
 51641  
 51642  type VideoFormatsListCall struct {
 51643  	s            *Service
 51644  	profileId    int64
 51645  	urlParams_   gensupport.URLParams
 51646  	ifNoneMatch_ string
 51647  	ctx_         context.Context
 51648  	header_      http.Header
 51649  }
 51650  
 51651  // List: Lists available video formats.
 51652  func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
 51653  	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51654  	c.profileId = profileId
 51655  	return c
 51656  }
 51657  
 51658  // Fields allows partial responses to be retrieved. See
 51659  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51660  // for more information.
 51661  func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
 51662  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51663  	return c
 51664  }
 51665  
 51666  // IfNoneMatch sets the optional parameter which makes the operation
 51667  // fail if the object's ETag matches the given value. This is useful for
 51668  // getting updates only after the object has changed since the last
 51669  // request. Use googleapi.IsNotModified to check whether the response
 51670  // error from Do is the result of In-None-Match.
 51671  func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
 51672  	c.ifNoneMatch_ = entityTag
 51673  	return c
 51674  }
 51675  
 51676  // Context sets the context to be used in this call's Do method. Any
 51677  // pending HTTP request will be aborted if the provided context is
 51678  // canceled.
 51679  func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
 51680  	c.ctx_ = ctx
 51681  	return c
 51682  }
 51683  
 51684  // Header returns an http.Header that can be modified by the caller to
 51685  // add HTTP headers to the request.
 51686  func (c *VideoFormatsListCall) Header() http.Header {
 51687  	if c.header_ == nil {
 51688  		c.header_ = make(http.Header)
 51689  	}
 51690  	return c.header_
 51691  }
 51692  
 51693  func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
 51694  	reqHeaders := make(http.Header)
 51695  	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
 51696  	for k, v := range c.header_ {
 51697  		reqHeaders[k] = v
 51698  	}
 51699  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51700  	if c.ifNoneMatch_ != "" {
 51701  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51702  	}
 51703  	var body io.Reader = nil
 51704  	c.urlParams_.Set("alt", alt)
 51705  	c.urlParams_.Set("prettyPrint", "false")
 51706  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
 51707  	urls += "?" + c.urlParams_.Encode()
 51708  	req, err := http.NewRequest("GET", urls, body)
 51709  	if err != nil {
 51710  		return nil, err
 51711  	}
 51712  	req.Header = reqHeaders
 51713  	googleapi.Expand(req.URL, map[string]string{
 51714  		"profileId": strconv.FormatInt(c.profileId, 10),
 51715  	})
 51716  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51717  }
 51718  
 51719  // Do executes the "dfareporting.videoFormats.list" call.
 51720  // Exactly one of *VideoFormatsListResponse or error will be non-nil.
 51721  // Any non-2xx status code is an error. Response headers are in either
 51722  // *VideoFormatsListResponse.ServerResponse.Header or (if a response was
 51723  // returned at all) in error.(*googleapi.Error).Header. Use
 51724  // googleapi.IsNotModified to check whether the returned error was
 51725  // because http.StatusNotModified was returned.
 51726  func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
 51727  	gensupport.SetOptions(c.urlParams_, opts...)
 51728  	res, err := c.doRequest("json")
 51729  	if res != nil && res.StatusCode == http.StatusNotModified {
 51730  		if res.Body != nil {
 51731  			res.Body.Close()
 51732  		}
 51733  		return nil, &googleapi.Error{
 51734  			Code:   res.StatusCode,
 51735  			Header: res.Header,
 51736  		}
 51737  	}
 51738  	if err != nil {
 51739  		return nil, err
 51740  	}
 51741  	defer googleapi.CloseBody(res)
 51742  	if err := googleapi.CheckResponse(res); err != nil {
 51743  		return nil, err
 51744  	}
 51745  	ret := &VideoFormatsListResponse{
 51746  		ServerResponse: googleapi.ServerResponse{
 51747  			Header:         res.Header,
 51748  			HTTPStatusCode: res.StatusCode,
 51749  		},
 51750  	}
 51751  	target := &ret
 51752  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51753  		return nil, err
 51754  	}
 51755  	return ret, nil
 51756  	// {
 51757  	//   "description": "Lists available video formats.",
 51758  	//   "httpMethod": "GET",
 51759  	//   "id": "dfareporting.videoFormats.list",
 51760  	//   "parameterOrder": [
 51761  	//     "profileId"
 51762  	//   ],
 51763  	//   "parameters": {
 51764  	//     "profileId": {
 51765  	//       "description": "User profile ID associated with this request.",
 51766  	//       "format": "int64",
 51767  	//       "location": "path",
 51768  	//       "required": true,
 51769  	//       "type": "string"
 51770  	//     }
 51771  	//   },
 51772  	//   "path": "userprofiles/{profileId}/videoFormats",
 51773  	//   "response": {
 51774  	//     "$ref": "VideoFormatsListResponse"
 51775  	//   },
 51776  	//   "scopes": [
 51777  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51778  	//   ]
 51779  	// }
 51780  
 51781  }
 51782  

View as plain text