...

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

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

     1  // Copyright 2022 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 Campaign Manager 360 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.3"
    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.3"
    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  	internal "google.golang.org/api/internal"
    58  	gensupport "google.golang.org/api/internal/gensupport"
    59  	option "google.golang.org/api/option"
    60  	internaloption "google.golang.org/api/option/internaloption"
    61  	htransport "google.golang.org/api/transport/http"
    62  )
    63  
    64  // Always reference these packages, just in case the auto-generated code
    65  // below doesn't.
    66  var _ = bytes.NewBuffer
    67  var _ = strconv.Itoa
    68  var _ = fmt.Sprintf
    69  var _ = json.NewDecoder
    70  var _ = io.Copy
    71  var _ = url.Parse
    72  var _ = gensupport.MarshalJSON
    73  var _ = googleapi.Version
    74  var _ = errors.New
    75  var _ = strings.Replace
    76  var _ = context.Canceled
    77  var _ = internaloption.WithDefaultEndpoint
    78  
    79  const apiId = "dfareporting:v3.3"
    80  const apiName = "dfareporting"
    81  const apiVersion = "v3.3"
    82  const basePath = "https://dfareporting.googleapis.com/dfareporting/v3.3/"
    83  const mtlsBasePath = "https://dfareporting.mtls.googleapis.com/dfareporting/v3.3/"
    84  
    85  // OAuth2 scopes used by this API.
    86  const (
    87  	// Manage DoubleClick Digital Marketing conversions
    88  	DdmconversionsScope = "https://www.googleapis.com/auth/ddmconversions"
    89  
    90  	// View and manage DoubleClick for Advertisers reports
    91  	DfareportingScope = "https://www.googleapis.com/auth/dfareporting"
    92  
    93  	// View and manage your DoubleClick Campaign Manager's (DCM) display ad
    94  	// campaigns
    95  	DfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking"
    96  )
    97  
    98  // NewService creates a new Service.
    99  func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
   100  	scopesOption := internaloption.WithDefaultScopes(
   101  		"https://www.googleapis.com/auth/ddmconversions",
   102  		"https://www.googleapis.com/auth/dfareporting",
   103  		"https://www.googleapis.com/auth/dfatrafficking",
   104  	)
   105  	// NOTE: prepend, so we don't override user-specified scopes.
   106  	opts = append([]option.ClientOption{scopesOption}, opts...)
   107  	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
   108  	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
   109  	client, endpoint, err := htransport.NewClient(ctx, opts...)
   110  	if err != nil {
   111  		return nil, err
   112  	}
   113  	s, err := New(client)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	if endpoint != "" {
   118  		s.BasePath = endpoint
   119  	}
   120  	return s, nil
   121  }
   122  
   123  // New creates a new Service. It uses the provided http.Client for requests.
   124  //
   125  // Deprecated: please use NewService instead.
   126  // To provide a custom HTTP client, use option.WithHTTPClient.
   127  // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
   128  func New(client *http.Client) (*Service, error) {
   129  	if client == nil {
   130  		return nil, errors.New("client is nil")
   131  	}
   132  	s := &Service{client: client, BasePath: basePath}
   133  	s.AccountActiveAdSummaries = NewAccountActiveAdSummariesService(s)
   134  	s.AccountPermissionGroups = NewAccountPermissionGroupsService(s)
   135  	s.AccountPermissions = NewAccountPermissionsService(s)
   136  	s.AccountUserProfiles = NewAccountUserProfilesService(s)
   137  	s.Accounts = NewAccountsService(s)
   138  	s.Ads = NewAdsService(s)
   139  	s.AdvertiserGroups = NewAdvertiserGroupsService(s)
   140  	s.AdvertiserLandingPages = NewAdvertiserLandingPagesService(s)
   141  	s.Advertisers = NewAdvertisersService(s)
   142  	s.Browsers = NewBrowsersService(s)
   143  	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
   144  	s.Campaigns = NewCampaignsService(s)
   145  	s.ChangeLogs = NewChangeLogsService(s)
   146  	s.Cities = NewCitiesService(s)
   147  	s.ConnectionTypes = NewConnectionTypesService(s)
   148  	s.ContentCategories = NewContentCategoriesService(s)
   149  	s.Conversions = NewConversionsService(s)
   150  	s.Countries = NewCountriesService(s)
   151  	s.CreativeAssets = NewCreativeAssetsService(s)
   152  	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
   153  	s.CreativeFields = NewCreativeFieldsService(s)
   154  	s.CreativeGroups = NewCreativeGroupsService(s)
   155  	s.Creatives = NewCreativesService(s)
   156  	s.DimensionValues = NewDimensionValuesService(s)
   157  	s.DirectorySites = NewDirectorySitesService(s)
   158  	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
   159  	s.EventTags = NewEventTagsService(s)
   160  	s.Files = NewFilesService(s)
   161  	s.FloodlightActivities = NewFloodlightActivitiesService(s)
   162  	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
   163  	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
   164  	s.InventoryItems = NewInventoryItemsService(s)
   165  	s.Languages = NewLanguagesService(s)
   166  	s.Metros = NewMetrosService(s)
   167  	s.MobileApps = NewMobileAppsService(s)
   168  	s.MobileCarriers = NewMobileCarriersService(s)
   169  	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
   170  	s.OperatingSystems = NewOperatingSystemsService(s)
   171  	s.OrderDocuments = NewOrderDocumentsService(s)
   172  	s.Orders = NewOrdersService(s)
   173  	s.PlacementGroups = NewPlacementGroupsService(s)
   174  	s.PlacementStrategies = NewPlacementStrategiesService(s)
   175  	s.Placements = NewPlacementsService(s)
   176  	s.PlatformTypes = NewPlatformTypesService(s)
   177  	s.PostalCodes = NewPostalCodesService(s)
   178  	s.Projects = NewProjectsService(s)
   179  	s.Regions = NewRegionsService(s)
   180  	s.RemarketingListShares = NewRemarketingListSharesService(s)
   181  	s.RemarketingLists = NewRemarketingListsService(s)
   182  	s.Reports = NewReportsService(s)
   183  	s.Sites = NewSitesService(s)
   184  	s.Sizes = NewSizesService(s)
   185  	s.Subaccounts = NewSubaccountsService(s)
   186  	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
   187  	s.TargetingTemplates = NewTargetingTemplatesService(s)
   188  	s.UserProfiles = NewUserProfilesService(s)
   189  	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
   190  	s.UserRolePermissions = NewUserRolePermissionsService(s)
   191  	s.UserRoles = NewUserRolesService(s)
   192  	s.VideoFormats = NewVideoFormatsService(s)
   193  	return s, nil
   194  }
   195  
   196  type Service struct {
   197  	client    *http.Client
   198  	BasePath  string // API endpoint base URL
   199  	UserAgent string // optional additional User-Agent fragment
   200  
   201  	AccountActiveAdSummaries *AccountActiveAdSummariesService
   202  
   203  	AccountPermissionGroups *AccountPermissionGroupsService
   204  
   205  	AccountPermissions *AccountPermissionsService
   206  
   207  	AccountUserProfiles *AccountUserProfilesService
   208  
   209  	Accounts *AccountsService
   210  
   211  	Ads *AdsService
   212  
   213  	AdvertiserGroups *AdvertiserGroupsService
   214  
   215  	AdvertiserLandingPages *AdvertiserLandingPagesService
   216  
   217  	Advertisers *AdvertisersService
   218  
   219  	Browsers *BrowsersService
   220  
   221  	CampaignCreativeAssociations *CampaignCreativeAssociationsService
   222  
   223  	Campaigns *CampaignsService
   224  
   225  	ChangeLogs *ChangeLogsService
   226  
   227  	Cities *CitiesService
   228  
   229  	ConnectionTypes *ConnectionTypesService
   230  
   231  	ContentCategories *ContentCategoriesService
   232  
   233  	Conversions *ConversionsService
   234  
   235  	Countries *CountriesService
   236  
   237  	CreativeAssets *CreativeAssetsService
   238  
   239  	CreativeFieldValues *CreativeFieldValuesService
   240  
   241  	CreativeFields *CreativeFieldsService
   242  
   243  	CreativeGroups *CreativeGroupsService
   244  
   245  	Creatives *CreativesService
   246  
   247  	DimensionValues *DimensionValuesService
   248  
   249  	DirectorySites *DirectorySitesService
   250  
   251  	DynamicTargetingKeys *DynamicTargetingKeysService
   252  
   253  	EventTags *EventTagsService
   254  
   255  	Files *FilesService
   256  
   257  	FloodlightActivities *FloodlightActivitiesService
   258  
   259  	FloodlightActivityGroups *FloodlightActivityGroupsService
   260  
   261  	FloodlightConfigurations *FloodlightConfigurationsService
   262  
   263  	InventoryItems *InventoryItemsService
   264  
   265  	Languages *LanguagesService
   266  
   267  	Metros *MetrosService
   268  
   269  	MobileApps *MobileAppsService
   270  
   271  	MobileCarriers *MobileCarriersService
   272  
   273  	OperatingSystemVersions *OperatingSystemVersionsService
   274  
   275  	OperatingSystems *OperatingSystemsService
   276  
   277  	OrderDocuments *OrderDocumentsService
   278  
   279  	Orders *OrdersService
   280  
   281  	PlacementGroups *PlacementGroupsService
   282  
   283  	PlacementStrategies *PlacementStrategiesService
   284  
   285  	Placements *PlacementsService
   286  
   287  	PlatformTypes *PlatformTypesService
   288  
   289  	PostalCodes *PostalCodesService
   290  
   291  	Projects *ProjectsService
   292  
   293  	Regions *RegionsService
   294  
   295  	RemarketingListShares *RemarketingListSharesService
   296  
   297  	RemarketingLists *RemarketingListsService
   298  
   299  	Reports *ReportsService
   300  
   301  	Sites *SitesService
   302  
   303  	Sizes *SizesService
   304  
   305  	Subaccounts *SubaccountsService
   306  
   307  	TargetableRemarketingLists *TargetableRemarketingListsService
   308  
   309  	TargetingTemplates *TargetingTemplatesService
   310  
   311  	UserProfiles *UserProfilesService
   312  
   313  	UserRolePermissionGroups *UserRolePermissionGroupsService
   314  
   315  	UserRolePermissions *UserRolePermissionsService
   316  
   317  	UserRoles *UserRolesService
   318  
   319  	VideoFormats *VideoFormatsService
   320  }
   321  
   322  func (s *Service) userAgent() string {
   323  	if s.UserAgent == "" {
   324  		return googleapi.UserAgent
   325  	}
   326  	return googleapi.UserAgent + " " + s.UserAgent
   327  }
   328  
   329  func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
   330  	rs := &AccountActiveAdSummariesService{s: s}
   331  	return rs
   332  }
   333  
   334  type AccountActiveAdSummariesService struct {
   335  	s *Service
   336  }
   337  
   338  func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
   339  	rs := &AccountPermissionGroupsService{s: s}
   340  	return rs
   341  }
   342  
   343  type AccountPermissionGroupsService struct {
   344  	s *Service
   345  }
   346  
   347  func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
   348  	rs := &AccountPermissionsService{s: s}
   349  	return rs
   350  }
   351  
   352  type AccountPermissionsService struct {
   353  	s *Service
   354  }
   355  
   356  func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
   357  	rs := &AccountUserProfilesService{s: s}
   358  	return rs
   359  }
   360  
   361  type AccountUserProfilesService struct {
   362  	s *Service
   363  }
   364  
   365  func NewAccountsService(s *Service) *AccountsService {
   366  	rs := &AccountsService{s: s}
   367  	return rs
   368  }
   369  
   370  type AccountsService struct {
   371  	s *Service
   372  }
   373  
   374  func NewAdsService(s *Service) *AdsService {
   375  	rs := &AdsService{s: s}
   376  	return rs
   377  }
   378  
   379  type AdsService struct {
   380  	s *Service
   381  }
   382  
   383  func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
   384  	rs := &AdvertiserGroupsService{s: s}
   385  	return rs
   386  }
   387  
   388  type AdvertiserGroupsService struct {
   389  	s *Service
   390  }
   391  
   392  func NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
   393  	rs := &AdvertiserLandingPagesService{s: s}
   394  	return rs
   395  }
   396  
   397  type AdvertiserLandingPagesService struct {
   398  	s *Service
   399  }
   400  
   401  func NewAdvertisersService(s *Service) *AdvertisersService {
   402  	rs := &AdvertisersService{s: s}
   403  	return rs
   404  }
   405  
   406  type AdvertisersService struct {
   407  	s *Service
   408  }
   409  
   410  func NewBrowsersService(s *Service) *BrowsersService {
   411  	rs := &BrowsersService{s: s}
   412  	return rs
   413  }
   414  
   415  type BrowsersService struct {
   416  	s *Service
   417  }
   418  
   419  func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
   420  	rs := &CampaignCreativeAssociationsService{s: s}
   421  	return rs
   422  }
   423  
   424  type CampaignCreativeAssociationsService struct {
   425  	s *Service
   426  }
   427  
   428  func NewCampaignsService(s *Service) *CampaignsService {
   429  	rs := &CampaignsService{s: s}
   430  	return rs
   431  }
   432  
   433  type CampaignsService struct {
   434  	s *Service
   435  }
   436  
   437  func NewChangeLogsService(s *Service) *ChangeLogsService {
   438  	rs := &ChangeLogsService{s: s}
   439  	return rs
   440  }
   441  
   442  type ChangeLogsService struct {
   443  	s *Service
   444  }
   445  
   446  func NewCitiesService(s *Service) *CitiesService {
   447  	rs := &CitiesService{s: s}
   448  	return rs
   449  }
   450  
   451  type CitiesService struct {
   452  	s *Service
   453  }
   454  
   455  func NewConnectionTypesService(s *Service) *ConnectionTypesService {
   456  	rs := &ConnectionTypesService{s: s}
   457  	return rs
   458  }
   459  
   460  type ConnectionTypesService struct {
   461  	s *Service
   462  }
   463  
   464  func NewContentCategoriesService(s *Service) *ContentCategoriesService {
   465  	rs := &ContentCategoriesService{s: s}
   466  	return rs
   467  }
   468  
   469  type ContentCategoriesService struct {
   470  	s *Service
   471  }
   472  
   473  func NewConversionsService(s *Service) *ConversionsService {
   474  	rs := &ConversionsService{s: s}
   475  	return rs
   476  }
   477  
   478  type ConversionsService struct {
   479  	s *Service
   480  }
   481  
   482  func NewCountriesService(s *Service) *CountriesService {
   483  	rs := &CountriesService{s: s}
   484  	return rs
   485  }
   486  
   487  type CountriesService struct {
   488  	s *Service
   489  }
   490  
   491  func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
   492  	rs := &CreativeAssetsService{s: s}
   493  	return rs
   494  }
   495  
   496  type CreativeAssetsService struct {
   497  	s *Service
   498  }
   499  
   500  func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
   501  	rs := &CreativeFieldValuesService{s: s}
   502  	return rs
   503  }
   504  
   505  type CreativeFieldValuesService struct {
   506  	s *Service
   507  }
   508  
   509  func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
   510  	rs := &CreativeFieldsService{s: s}
   511  	return rs
   512  }
   513  
   514  type CreativeFieldsService struct {
   515  	s *Service
   516  }
   517  
   518  func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
   519  	rs := &CreativeGroupsService{s: s}
   520  	return rs
   521  }
   522  
   523  type CreativeGroupsService struct {
   524  	s *Service
   525  }
   526  
   527  func NewCreativesService(s *Service) *CreativesService {
   528  	rs := &CreativesService{s: s}
   529  	return rs
   530  }
   531  
   532  type CreativesService struct {
   533  	s *Service
   534  }
   535  
   536  func NewDimensionValuesService(s *Service) *DimensionValuesService {
   537  	rs := &DimensionValuesService{s: s}
   538  	return rs
   539  }
   540  
   541  type DimensionValuesService struct {
   542  	s *Service
   543  }
   544  
   545  func NewDirectorySitesService(s *Service) *DirectorySitesService {
   546  	rs := &DirectorySitesService{s: s}
   547  	return rs
   548  }
   549  
   550  type DirectorySitesService struct {
   551  	s *Service
   552  }
   553  
   554  func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
   555  	rs := &DynamicTargetingKeysService{s: s}
   556  	return rs
   557  }
   558  
   559  type DynamicTargetingKeysService struct {
   560  	s *Service
   561  }
   562  
   563  func NewEventTagsService(s *Service) *EventTagsService {
   564  	rs := &EventTagsService{s: s}
   565  	return rs
   566  }
   567  
   568  type EventTagsService struct {
   569  	s *Service
   570  }
   571  
   572  func NewFilesService(s *Service) *FilesService {
   573  	rs := &FilesService{s: s}
   574  	return rs
   575  }
   576  
   577  type FilesService struct {
   578  	s *Service
   579  }
   580  
   581  func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
   582  	rs := &FloodlightActivitiesService{s: s}
   583  	return rs
   584  }
   585  
   586  type FloodlightActivitiesService struct {
   587  	s *Service
   588  }
   589  
   590  func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
   591  	rs := &FloodlightActivityGroupsService{s: s}
   592  	return rs
   593  }
   594  
   595  type FloodlightActivityGroupsService struct {
   596  	s *Service
   597  }
   598  
   599  func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
   600  	rs := &FloodlightConfigurationsService{s: s}
   601  	return rs
   602  }
   603  
   604  type FloodlightConfigurationsService struct {
   605  	s *Service
   606  }
   607  
   608  func NewInventoryItemsService(s *Service) *InventoryItemsService {
   609  	rs := &InventoryItemsService{s: s}
   610  	return rs
   611  }
   612  
   613  type InventoryItemsService struct {
   614  	s *Service
   615  }
   616  
   617  func NewLanguagesService(s *Service) *LanguagesService {
   618  	rs := &LanguagesService{s: s}
   619  	return rs
   620  }
   621  
   622  type LanguagesService struct {
   623  	s *Service
   624  }
   625  
   626  func NewMetrosService(s *Service) *MetrosService {
   627  	rs := &MetrosService{s: s}
   628  	return rs
   629  }
   630  
   631  type MetrosService struct {
   632  	s *Service
   633  }
   634  
   635  func NewMobileAppsService(s *Service) *MobileAppsService {
   636  	rs := &MobileAppsService{s: s}
   637  	return rs
   638  }
   639  
   640  type MobileAppsService struct {
   641  	s *Service
   642  }
   643  
   644  func NewMobileCarriersService(s *Service) *MobileCarriersService {
   645  	rs := &MobileCarriersService{s: s}
   646  	return rs
   647  }
   648  
   649  type MobileCarriersService struct {
   650  	s *Service
   651  }
   652  
   653  func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
   654  	rs := &OperatingSystemVersionsService{s: s}
   655  	return rs
   656  }
   657  
   658  type OperatingSystemVersionsService struct {
   659  	s *Service
   660  }
   661  
   662  func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
   663  	rs := &OperatingSystemsService{s: s}
   664  	return rs
   665  }
   666  
   667  type OperatingSystemsService struct {
   668  	s *Service
   669  }
   670  
   671  func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
   672  	rs := &OrderDocumentsService{s: s}
   673  	return rs
   674  }
   675  
   676  type OrderDocumentsService struct {
   677  	s *Service
   678  }
   679  
   680  func NewOrdersService(s *Service) *OrdersService {
   681  	rs := &OrdersService{s: s}
   682  	return rs
   683  }
   684  
   685  type OrdersService struct {
   686  	s *Service
   687  }
   688  
   689  func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
   690  	rs := &PlacementGroupsService{s: s}
   691  	return rs
   692  }
   693  
   694  type PlacementGroupsService struct {
   695  	s *Service
   696  }
   697  
   698  func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
   699  	rs := &PlacementStrategiesService{s: s}
   700  	return rs
   701  }
   702  
   703  type PlacementStrategiesService struct {
   704  	s *Service
   705  }
   706  
   707  func NewPlacementsService(s *Service) *PlacementsService {
   708  	rs := &PlacementsService{s: s}
   709  	return rs
   710  }
   711  
   712  type PlacementsService struct {
   713  	s *Service
   714  }
   715  
   716  func NewPlatformTypesService(s *Service) *PlatformTypesService {
   717  	rs := &PlatformTypesService{s: s}
   718  	return rs
   719  }
   720  
   721  type PlatformTypesService struct {
   722  	s *Service
   723  }
   724  
   725  func NewPostalCodesService(s *Service) *PostalCodesService {
   726  	rs := &PostalCodesService{s: s}
   727  	return rs
   728  }
   729  
   730  type PostalCodesService struct {
   731  	s *Service
   732  }
   733  
   734  func NewProjectsService(s *Service) *ProjectsService {
   735  	rs := &ProjectsService{s: s}
   736  	return rs
   737  }
   738  
   739  type ProjectsService struct {
   740  	s *Service
   741  }
   742  
   743  func NewRegionsService(s *Service) *RegionsService {
   744  	rs := &RegionsService{s: s}
   745  	return rs
   746  }
   747  
   748  type RegionsService struct {
   749  	s *Service
   750  }
   751  
   752  func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
   753  	rs := &RemarketingListSharesService{s: s}
   754  	return rs
   755  }
   756  
   757  type RemarketingListSharesService struct {
   758  	s *Service
   759  }
   760  
   761  func NewRemarketingListsService(s *Service) *RemarketingListsService {
   762  	rs := &RemarketingListsService{s: s}
   763  	return rs
   764  }
   765  
   766  type RemarketingListsService struct {
   767  	s *Service
   768  }
   769  
   770  func NewReportsService(s *Service) *ReportsService {
   771  	rs := &ReportsService{s: s}
   772  	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
   773  	rs.Files = NewReportsFilesService(s)
   774  	return rs
   775  }
   776  
   777  type ReportsService struct {
   778  	s *Service
   779  
   780  	CompatibleFields *ReportsCompatibleFieldsService
   781  
   782  	Files *ReportsFilesService
   783  }
   784  
   785  func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
   786  	rs := &ReportsCompatibleFieldsService{s: s}
   787  	return rs
   788  }
   789  
   790  type ReportsCompatibleFieldsService struct {
   791  	s *Service
   792  }
   793  
   794  func NewReportsFilesService(s *Service) *ReportsFilesService {
   795  	rs := &ReportsFilesService{s: s}
   796  	return rs
   797  }
   798  
   799  type ReportsFilesService struct {
   800  	s *Service
   801  }
   802  
   803  func NewSitesService(s *Service) *SitesService {
   804  	rs := &SitesService{s: s}
   805  	return rs
   806  }
   807  
   808  type SitesService struct {
   809  	s *Service
   810  }
   811  
   812  func NewSizesService(s *Service) *SizesService {
   813  	rs := &SizesService{s: s}
   814  	return rs
   815  }
   816  
   817  type SizesService struct {
   818  	s *Service
   819  }
   820  
   821  func NewSubaccountsService(s *Service) *SubaccountsService {
   822  	rs := &SubaccountsService{s: s}
   823  	return rs
   824  }
   825  
   826  type SubaccountsService struct {
   827  	s *Service
   828  }
   829  
   830  func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
   831  	rs := &TargetableRemarketingListsService{s: s}
   832  	return rs
   833  }
   834  
   835  type TargetableRemarketingListsService struct {
   836  	s *Service
   837  }
   838  
   839  func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
   840  	rs := &TargetingTemplatesService{s: s}
   841  	return rs
   842  }
   843  
   844  type TargetingTemplatesService struct {
   845  	s *Service
   846  }
   847  
   848  func NewUserProfilesService(s *Service) *UserProfilesService {
   849  	rs := &UserProfilesService{s: s}
   850  	return rs
   851  }
   852  
   853  type UserProfilesService struct {
   854  	s *Service
   855  }
   856  
   857  func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
   858  	rs := &UserRolePermissionGroupsService{s: s}
   859  	return rs
   860  }
   861  
   862  type UserRolePermissionGroupsService struct {
   863  	s *Service
   864  }
   865  
   866  func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
   867  	rs := &UserRolePermissionsService{s: s}
   868  	return rs
   869  }
   870  
   871  type UserRolePermissionsService struct {
   872  	s *Service
   873  }
   874  
   875  func NewUserRolesService(s *Service) *UserRolesService {
   876  	rs := &UserRolesService{s: s}
   877  	return rs
   878  }
   879  
   880  type UserRolesService struct {
   881  	s *Service
   882  }
   883  
   884  func NewVideoFormatsService(s *Service) *VideoFormatsService {
   885  	rs := &VideoFormatsService{s: s}
   886  	return rs
   887  }
   888  
   889  type VideoFormatsService struct {
   890  	s *Service
   891  }
   892  
   893  // Account: Contains properties of a Campaign Manager account.
   894  type Account struct {
   895  	// AccountPermissionIds: Account permissions assigned to this account.
   896  	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
   897  
   898  	// AccountProfile: Profile for this account. This is a read-only field
   899  	// that can be left blank.
   900  	//
   901  	// Possible values:
   902  	//   "ACCOUNT_PROFILE_BASIC"
   903  	//   "ACCOUNT_PROFILE_STANDARD"
   904  	AccountProfile string `json:"accountProfile,omitempty"`
   905  
   906  	// Active: Whether this account is active.
   907  	Active bool `json:"active,omitempty"`
   908  
   909  	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
   910  	// account.
   911  	//
   912  	// Possible values:
   913  	//   "ACTIVE_ADS_TIER_40K"
   914  	//   "ACTIVE_ADS_TIER_75K"
   915  	//   "ACTIVE_ADS_TIER_100K"
   916  	//   "ACTIVE_ADS_TIER_200K"
   917  	//   "ACTIVE_ADS_TIER_300K"
   918  	//   "ACTIVE_ADS_TIER_500K"
   919  	//   "ACTIVE_ADS_TIER_750K"
   920  	//   "ACTIVE_ADS_TIER_1M"
   921  	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
   922  
   923  	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
   924  	// If disabled, viewability data will not be available for any
   925  	// impressions.
   926  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
   927  
   928  	// AvailablePermissionIds: User role permissions available to the user
   929  	// roles of this account.
   930  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
   931  
   932  	// CountryId: ID of the country associated with this account.
   933  	CountryId int64 `json:"countryId,omitempty,string"`
   934  
   935  	// CurrencyId: ID of currency associated with this account. This is a
   936  	// required field. Acceptable values are: - "1" for USD - "2" for GBP -
   937  	// "3" for ESP - "4" for SEK - "5" for CAD - "6" for JPY - "7" for DEM -
   938  	// "8" for AUD - "9" for FRF - "10" for ITL - "11" for DKK - "12" for
   939  	// NOK - "13" for FIM - "14" for ZAR - "15" for IEP - "16" for NLG -
   940  	// "17" for EUR - "18" for KRW - "19" for TWD - "20" for SGD - "21" for
   941  	// CNY - "22" for HKD - "23" for NZD - "24" for MYR - "25" for BRL -
   942  	// "26" for PTE - "28" for CLP - "29" for TRY - "30" for ARS - "31" for
   943  	// PEN - "32" for ILS - "33" for CHF - "34" for VEF - "35" for COP -
   944  	// "36" for GTQ - "37" for PLN - "39" for INR - "40" for THB - "41" for
   945  	// IDR - "42" for CZK - "43" for RON - "44" for HUF - "45" for RUB -
   946  	// "46" for AED - "47" for BGN - "48" for HRK - "49" for MXN - "50" for
   947  	// NGN - "51" for EGP
   948  	CurrencyId int64 `json:"currencyId,omitempty,string"`
   949  
   950  	// DefaultCreativeSizeId: Default placement dimensions for this account.
   951  	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
   952  
   953  	// Description: Description of this account.
   954  	Description string `json:"description,omitempty"`
   955  
   956  	// Id: ID of this account. This is a read-only, auto-generated field.
   957  	Id int64 `json:"id,omitempty,string"`
   958  
   959  	// Kind: Identifies what kind of resource this is. Value: the fixed
   960  	// string "dfareporting#account".
   961  	Kind string `json:"kind,omitempty"`
   962  
   963  	// Locale: Locale of this account. Acceptable values are: - "cs" (Czech)
   964  	// - "de" (German) - "en" (English) - "en-GB" (English United Kingdom) -
   965  	// "es" (Spanish) - "fr" (French) - "it" (Italian) - "ja" (Japanese) -
   966  	// "ko" (Korean) - "pl" (Polish) - "pt-BR" (Portuguese Brazil) - "ru"
   967  	// (Russian) - "sv" (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese
   968  	// Simplified) - "zh-TW" (Chinese Traditional)
   969  	Locale string `json:"locale,omitempty"`
   970  
   971  	// MaximumImageSize: Maximum image size allowed for this account, in
   972  	// kilobytes. Value must be greater than or equal to 1.
   973  	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
   974  
   975  	// Name: Name of this account. This is a required field, and must be
   976  	// less than 128 characters long and be globally unique.
   977  	Name string `json:"name,omitempty"`
   978  
   979  	// NielsenOcrEnabled: Whether campaigns created in this account will be
   980  	// enabled for Nielsen OCR reach ratings by default.
   981  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
   982  
   983  	// ReportsConfiguration: Reporting configuration of this account.
   984  	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
   985  
   986  	// ShareReportsWithTwitter: Share Path to Conversion reports with
   987  	// Twitter.
   988  	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
   989  
   990  	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
   991  	// creatives. Acceptable values are 1 to 10240, inclusive.
   992  	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
   993  
   994  	// ServerResponse contains the HTTP response code and headers from the
   995  	// server.
   996  	googleapi.ServerResponse `json:"-"`
   997  
   998  	// ForceSendFields is a list of field names (e.g.
   999  	// "AccountPermissionIds") to unconditionally include in API requests.
  1000  	// By default, fields with empty or default values are omitted from API
  1001  	// requests. However, any non-pointer, non-interface field appearing in
  1002  	// ForceSendFields will be sent to the server regardless of whether the
  1003  	// field is empty or not. This may be used to include empty fields in
  1004  	// Patch requests.
  1005  	ForceSendFields []string `json:"-"`
  1006  
  1007  	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
  1008  	// include in API requests with the JSON null value. By default, fields
  1009  	// with empty values are omitted from API requests. However, any field
  1010  	// with an empty value appearing in NullFields will be sent to the
  1011  	// server as null. It is an error if a field in this list has a
  1012  	// non-empty value. This may be used to include null fields in Patch
  1013  	// requests.
  1014  	NullFields []string `json:"-"`
  1015  }
  1016  
  1017  func (s *Account) MarshalJSON() ([]byte, error) {
  1018  	type NoMethod Account
  1019  	raw := NoMethod(*s)
  1020  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1021  }
  1022  
  1023  // AccountActiveAdSummary: Gets a summary of active ads in an account.
  1024  type AccountActiveAdSummary struct {
  1025  	// AccountId: ID of the account.
  1026  	AccountId int64 `json:"accountId,omitempty,string"`
  1027  
  1028  	// ActiveAds: Ads that have been activated for the account
  1029  	ActiveAds int64 `json:"activeAds,omitempty,string"`
  1030  
  1031  	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
  1032  	// account.
  1033  	//
  1034  	// Possible values:
  1035  	//   "ACTIVE_ADS_TIER_40K"
  1036  	//   "ACTIVE_ADS_TIER_75K"
  1037  	//   "ACTIVE_ADS_TIER_100K"
  1038  	//   "ACTIVE_ADS_TIER_200K"
  1039  	//   "ACTIVE_ADS_TIER_300K"
  1040  	//   "ACTIVE_ADS_TIER_500K"
  1041  	//   "ACTIVE_ADS_TIER_750K"
  1042  	//   "ACTIVE_ADS_TIER_1M"
  1043  	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
  1044  
  1045  	// AvailableAds: Ads that can be activated for the account.
  1046  	AvailableAds int64 `json:"availableAds,omitempty,string"`
  1047  
  1048  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1049  	// string "dfareporting#accountActiveAdSummary".
  1050  	Kind string `json:"kind,omitempty"`
  1051  
  1052  	// ServerResponse contains the HTTP response code and headers from the
  1053  	// server.
  1054  	googleapi.ServerResponse `json:"-"`
  1055  
  1056  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1057  	// unconditionally include in API requests. By default, fields with
  1058  	// empty or default values are omitted from API requests. However, any
  1059  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1060  	// sent to the server regardless of whether the field is empty or not.
  1061  	// This may be used to include empty fields in Patch requests.
  1062  	ForceSendFields []string `json:"-"`
  1063  
  1064  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1065  	// API requests with the JSON null value. By default, fields with empty
  1066  	// values are omitted from API requests. However, any field with an
  1067  	// empty value appearing in NullFields will be sent to the server as
  1068  	// null. It is an error if a field in this list has a non-empty value.
  1069  	// This may be used to include null fields in Patch requests.
  1070  	NullFields []string `json:"-"`
  1071  }
  1072  
  1073  func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
  1074  	type NoMethod AccountActiveAdSummary
  1075  	raw := NoMethod(*s)
  1076  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1077  }
  1078  
  1079  // AccountPermission: AccountPermissions contains information about a
  1080  // particular account permission. Some features of Campaign Manager
  1081  // require an account permission to be present in the account.
  1082  type AccountPermission struct {
  1083  	// AccountProfiles: Account profiles associated with this account
  1084  	// permission. Possible values are: - "ACCOUNT_PROFILE_BASIC" -
  1085  	// "ACCOUNT_PROFILE_STANDARD"
  1086  	//
  1087  	// Possible values:
  1088  	//   "ACCOUNT_PROFILE_BASIC"
  1089  	//   "ACCOUNT_PROFILE_STANDARD"
  1090  	AccountProfiles []string `json:"accountProfiles,omitempty"`
  1091  
  1092  	// Id: ID of this account permission.
  1093  	Id int64 `json:"id,omitempty,string"`
  1094  
  1095  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1096  	// string "dfareporting#accountPermission".
  1097  	Kind string `json:"kind,omitempty"`
  1098  
  1099  	// Level: Administrative level required to enable this account
  1100  	// permission.
  1101  	//
  1102  	// Possible values:
  1103  	//   "USER"
  1104  	//   "ADMINISTRATOR"
  1105  	Level string `json:"level,omitempty"`
  1106  
  1107  	// Name: Name of this account permission.
  1108  	Name string `json:"name,omitempty"`
  1109  
  1110  	// PermissionGroupId: Permission group of this account permission.
  1111  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
  1112  
  1113  	// ServerResponse contains the HTTP response code and headers from the
  1114  	// server.
  1115  	googleapi.ServerResponse `json:"-"`
  1116  
  1117  	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
  1118  	// unconditionally include in API requests. By default, fields with
  1119  	// empty or default values are omitted from API requests. However, any
  1120  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1121  	// sent to the server regardless of whether the field is empty or not.
  1122  	// This may be used to include empty fields in Patch requests.
  1123  	ForceSendFields []string `json:"-"`
  1124  
  1125  	// NullFields is a list of field names (e.g. "AccountProfiles") to
  1126  	// include in API requests with the JSON null value. By default, fields
  1127  	// with empty values are omitted from API requests. However, any field
  1128  	// with an empty value appearing in NullFields will be sent to the
  1129  	// server as null. It is an error if a field in this list has a
  1130  	// non-empty value. This may be used to include null fields in Patch
  1131  	// requests.
  1132  	NullFields []string `json:"-"`
  1133  }
  1134  
  1135  func (s *AccountPermission) MarshalJSON() ([]byte, error) {
  1136  	type NoMethod AccountPermission
  1137  	raw := NoMethod(*s)
  1138  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1139  }
  1140  
  1141  // AccountPermissionGroup: AccountPermissionGroups contains a mapping of
  1142  // permission group IDs to names. A permission group is a grouping of
  1143  // account permissions.
  1144  type AccountPermissionGroup struct {
  1145  	// Id: ID of this account permission group.
  1146  	Id int64 `json:"id,omitempty,string"`
  1147  
  1148  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1149  	// string "dfareporting#accountPermissionGroup".
  1150  	Kind string `json:"kind,omitempty"`
  1151  
  1152  	// Name: Name of this account permission group.
  1153  	Name string `json:"name,omitempty"`
  1154  
  1155  	// ServerResponse contains the HTTP response code and headers from the
  1156  	// server.
  1157  	googleapi.ServerResponse `json:"-"`
  1158  
  1159  	// ForceSendFields is a list of field names (e.g. "Id") to
  1160  	// unconditionally include in API requests. By default, fields with
  1161  	// empty or default values are omitted from API requests. However, any
  1162  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1163  	// sent to the server regardless of whether the field is empty or not.
  1164  	// This may be used to include empty fields in Patch requests.
  1165  	ForceSendFields []string `json:"-"`
  1166  
  1167  	// NullFields is a list of field names (e.g. "Id") to include in API
  1168  	// requests with the JSON null value. By default, fields with empty
  1169  	// values are omitted from API requests. However, any field with an
  1170  	// empty value appearing in NullFields will be sent to the server as
  1171  	// null. It is an error if a field in this list has a non-empty value.
  1172  	// This may be used to include null fields in Patch requests.
  1173  	NullFields []string `json:"-"`
  1174  }
  1175  
  1176  func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
  1177  	type NoMethod AccountPermissionGroup
  1178  	raw := NoMethod(*s)
  1179  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1180  }
  1181  
  1182  // AccountPermissionGroupsListResponse: Account Permission Group List
  1183  // Response
  1184  type AccountPermissionGroupsListResponse struct {
  1185  	// AccountPermissionGroups: Account permission group collection.
  1186  	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
  1187  
  1188  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1189  	// string "dfareporting#accountPermissionGroupsListResponse".
  1190  	Kind string `json:"kind,omitempty"`
  1191  
  1192  	// ServerResponse contains the HTTP response code and headers from the
  1193  	// server.
  1194  	googleapi.ServerResponse `json:"-"`
  1195  
  1196  	// ForceSendFields is a list of field names (e.g.
  1197  	// "AccountPermissionGroups") to unconditionally include in API
  1198  	// requests. By default, fields with empty or default values are omitted
  1199  	// from API requests. However, any non-pointer, non-interface field
  1200  	// appearing in ForceSendFields will be sent to the server regardless of
  1201  	// whether the field is empty or not. This may be used to include empty
  1202  	// fields in Patch requests.
  1203  	ForceSendFields []string `json:"-"`
  1204  
  1205  	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
  1206  	// to include in API requests with the JSON null value. By default,
  1207  	// fields with empty values are omitted from API requests. However, any
  1208  	// field with an empty value appearing in NullFields will be sent to the
  1209  	// server as null. It is an error if a field in this list has a
  1210  	// non-empty value. This may be used to include null fields in Patch
  1211  	// requests.
  1212  	NullFields []string `json:"-"`
  1213  }
  1214  
  1215  func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
  1216  	type NoMethod AccountPermissionGroupsListResponse
  1217  	raw := NoMethod(*s)
  1218  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1219  }
  1220  
  1221  // AccountPermissionsListResponse: Account Permission List Response
  1222  type AccountPermissionsListResponse struct {
  1223  	// AccountPermissions: Account permission collection.
  1224  	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
  1225  
  1226  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1227  	// string "dfareporting#accountPermissionsListResponse".
  1228  	Kind string `json:"kind,omitempty"`
  1229  
  1230  	// ServerResponse contains the HTTP response code and headers from the
  1231  	// server.
  1232  	googleapi.ServerResponse `json:"-"`
  1233  
  1234  	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
  1235  	// to unconditionally include in API requests. By default, fields with
  1236  	// empty or default values are omitted from API requests. However, any
  1237  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1238  	// sent to the server regardless of whether the field is empty or not.
  1239  	// This may be used to include empty fields in Patch requests.
  1240  	ForceSendFields []string `json:"-"`
  1241  
  1242  	// NullFields is a list of field names (e.g. "AccountPermissions") to
  1243  	// include in API requests with the JSON null value. By default, fields
  1244  	// with empty values are omitted from API requests. However, any field
  1245  	// with an empty value appearing in NullFields will be sent to the
  1246  	// server as null. It is an error if a field in this list has a
  1247  	// non-empty value. This may be used to include null fields in Patch
  1248  	// requests.
  1249  	NullFields []string `json:"-"`
  1250  }
  1251  
  1252  func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
  1253  	type NoMethod AccountPermissionsListResponse
  1254  	raw := NoMethod(*s)
  1255  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1256  }
  1257  
  1258  // AccountUserProfile: AccountUserProfiles contains properties of a
  1259  // Campaign Manager user profile. This resource is specifically for
  1260  // managing user profiles, whereas UserProfiles is for accessing the
  1261  // API.
  1262  type AccountUserProfile struct {
  1263  	// AccountId: Account ID of the user profile. This is a read-only field
  1264  	// that can be left blank.
  1265  	AccountId int64 `json:"accountId,omitempty,string"`
  1266  
  1267  	// Active: Whether this user profile is active. This defaults to false,
  1268  	// and must be set true on insert for the user profile to be usable.
  1269  	Active bool `json:"active,omitempty"`
  1270  
  1271  	// AdvertiserFilter: Filter that describes which advertisers are visible
  1272  	// to the user profile.
  1273  	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
  1274  
  1275  	// CampaignFilter: Filter that describes which campaigns are visible to
  1276  	// the user profile.
  1277  	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
  1278  
  1279  	// Comments: Comments for this user profile.
  1280  	Comments string `json:"comments,omitempty"`
  1281  
  1282  	// Email: Email of the user profile. The email addresss must be linked
  1283  	// to a Google Account. This field is required on insertion and is
  1284  	// read-only after insertion.
  1285  	Email string `json:"email,omitempty"`
  1286  
  1287  	// Id: ID of the user profile. This is a read-only, auto-generated
  1288  	// field.
  1289  	Id int64 `json:"id,omitempty,string"`
  1290  
  1291  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1292  	// string "dfareporting#accountUserProfile".
  1293  	Kind string `json:"kind,omitempty"`
  1294  
  1295  	// Locale: Locale of the user profile. This is a required field.
  1296  	// Acceptable values are: - "cs" (Czech) - "de" (German) - "en"
  1297  	// (English) - "en-GB" (English United Kingdom) - "es" (Spanish) - "fr"
  1298  	// (French) - "it" (Italian) - "ja" (Japanese) - "ko" (Korean) - "pl"
  1299  	// (Polish) - "pt-BR" (Portuguese Brazil) - "ru" (Russian) - "sv"
  1300  	// (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW"
  1301  	// (Chinese Traditional)
  1302  	Locale string `json:"locale,omitempty"`
  1303  
  1304  	// Name: Name of the user profile. This is a required field. Must be
  1305  	// less than 64 characters long, must be globally unique, and cannot
  1306  	// contain whitespace or any of the following characters: "&;<>"#%,".
  1307  	Name string `json:"name,omitempty"`
  1308  
  1309  	// SiteFilter: Filter that describes which sites are visible to the user
  1310  	// profile.
  1311  	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
  1312  
  1313  	// SubaccountId: Subaccount ID of the user profile. This is a read-only
  1314  	// field that can be left blank.
  1315  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1316  
  1317  	// TraffickerType: Trafficker type of this user profile. This is a
  1318  	// read-only field.
  1319  	//
  1320  	// Possible values:
  1321  	//   "INTERNAL_NON_TRAFFICKER"
  1322  	//   "INTERNAL_TRAFFICKER"
  1323  	//   "EXTERNAL_TRAFFICKER"
  1324  	TraffickerType string `json:"traffickerType,omitempty"`
  1325  
  1326  	// UserAccessType: User type of the user profile. This is a read-only
  1327  	// field that can be left blank.
  1328  	//
  1329  	// Possible values:
  1330  	//   "NORMAL_USER"
  1331  	//   "SUPER_USER"
  1332  	//   "INTERNAL_ADMINISTRATOR"
  1333  	//   "READ_ONLY_SUPER_USER"
  1334  	UserAccessType string `json:"userAccessType,omitempty"`
  1335  
  1336  	// UserRoleFilter: Filter that describes which user roles are visible to
  1337  	// the user profile.
  1338  	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
  1339  
  1340  	// UserRoleId: User role ID of the user profile. This is a required
  1341  	// field.
  1342  	UserRoleId int64 `json:"userRoleId,omitempty,string"`
  1343  
  1344  	// ServerResponse contains the HTTP response code and headers from the
  1345  	// server.
  1346  	googleapi.ServerResponse `json:"-"`
  1347  
  1348  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1349  	// unconditionally include in API requests. By default, fields with
  1350  	// empty or default values are omitted from API requests. However, any
  1351  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1352  	// sent to the server regardless of whether the field is empty or not.
  1353  	// This may be used to include empty fields in Patch requests.
  1354  	ForceSendFields []string `json:"-"`
  1355  
  1356  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1357  	// API requests with the JSON null value. By default, fields with empty
  1358  	// values are omitted from API requests. However, any field with an
  1359  	// empty value appearing in NullFields will be sent to the server as
  1360  	// null. It is an error if a field in this list has a non-empty value.
  1361  	// This may be used to include null fields in Patch requests.
  1362  	NullFields []string `json:"-"`
  1363  }
  1364  
  1365  func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
  1366  	type NoMethod AccountUserProfile
  1367  	raw := NoMethod(*s)
  1368  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1369  }
  1370  
  1371  // AccountUserProfilesListResponse: Account User Profile List Response
  1372  type AccountUserProfilesListResponse struct {
  1373  	// AccountUserProfiles: Account user profile collection.
  1374  	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
  1375  
  1376  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1377  	// string "dfareporting#accountUserProfilesListResponse".
  1378  	Kind string `json:"kind,omitempty"`
  1379  
  1380  	// NextPageToken: Pagination token to be used for the next list
  1381  	// operation.
  1382  	NextPageToken string `json:"nextPageToken,omitempty"`
  1383  
  1384  	// ServerResponse contains the HTTP response code and headers from the
  1385  	// server.
  1386  	googleapi.ServerResponse `json:"-"`
  1387  
  1388  	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
  1389  	// to unconditionally include in API requests. By default, fields with
  1390  	// empty or default values are omitted from API requests. However, any
  1391  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1392  	// sent to the server regardless of whether the field is empty or not.
  1393  	// This may be used to include empty fields in Patch requests.
  1394  	ForceSendFields []string `json:"-"`
  1395  
  1396  	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
  1397  	// include in API requests with the JSON null value. By default, fields
  1398  	// with empty values are omitted from API requests. However, any field
  1399  	// with an empty value appearing in NullFields will be sent to the
  1400  	// server as null. It is an error if a field in this list has a
  1401  	// non-empty value. This may be used to include null fields in Patch
  1402  	// requests.
  1403  	NullFields []string `json:"-"`
  1404  }
  1405  
  1406  func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
  1407  	type NoMethod AccountUserProfilesListResponse
  1408  	raw := NoMethod(*s)
  1409  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1410  }
  1411  
  1412  // AccountsListResponse: Account List Response
  1413  type AccountsListResponse struct {
  1414  	// Accounts: Account collection.
  1415  	Accounts []*Account `json:"accounts,omitempty"`
  1416  
  1417  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1418  	// string "dfareporting#accountsListResponse".
  1419  	Kind string `json:"kind,omitempty"`
  1420  
  1421  	// NextPageToken: Pagination token to be used for the next list
  1422  	// operation.
  1423  	NextPageToken string `json:"nextPageToken,omitempty"`
  1424  
  1425  	// ServerResponse contains the HTTP response code and headers from the
  1426  	// server.
  1427  	googleapi.ServerResponse `json:"-"`
  1428  
  1429  	// ForceSendFields is a list of field names (e.g. "Accounts") to
  1430  	// unconditionally include in API requests. By default, fields with
  1431  	// empty or default values are omitted from API requests. However, any
  1432  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1433  	// sent to the server regardless of whether the field is empty or not.
  1434  	// This may be used to include empty fields in Patch requests.
  1435  	ForceSendFields []string `json:"-"`
  1436  
  1437  	// NullFields is a list of field names (e.g. "Accounts") to include in
  1438  	// API requests with the JSON null value. By default, fields with empty
  1439  	// values are omitted from API requests. However, any field with an
  1440  	// empty value appearing in NullFields will be sent to the server as
  1441  	// null. It is an error if a field in this list has a non-empty value.
  1442  	// This may be used to include null fields in Patch requests.
  1443  	NullFields []string `json:"-"`
  1444  }
  1445  
  1446  func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
  1447  	type NoMethod AccountsListResponse
  1448  	raw := NoMethod(*s)
  1449  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1450  }
  1451  
  1452  // Activities: Represents an activity group.
  1453  type Activities struct {
  1454  	// Filters: List of activity filters. The dimension values need to be
  1455  	// all either of type "dfa:activity" or "dfa:activityGroup".
  1456  	Filters []*DimensionValue `json:"filters,omitempty"`
  1457  
  1458  	// Kind: The kind of resource this is, in this case
  1459  	// dfareporting#activities.
  1460  	Kind string `json:"kind,omitempty"`
  1461  
  1462  	// MetricNames: List of names of floodlight activity metrics.
  1463  	MetricNames []string `json:"metricNames,omitempty"`
  1464  
  1465  	// ForceSendFields is a list of field names (e.g. "Filters") to
  1466  	// unconditionally include in API requests. By default, fields with
  1467  	// empty or default values are omitted from API requests. However, any
  1468  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1469  	// sent to the server regardless of whether the field is empty or not.
  1470  	// This may be used to include empty fields in Patch requests.
  1471  	ForceSendFields []string `json:"-"`
  1472  
  1473  	// NullFields is a list of field names (e.g. "Filters") to include in
  1474  	// API requests with the JSON null value. By default, fields with empty
  1475  	// values are omitted from API requests. However, any field with an
  1476  	// empty value appearing in NullFields will be sent to the server as
  1477  	// null. It is an error if a field in this list has a non-empty value.
  1478  	// This may be used to include null fields in Patch requests.
  1479  	NullFields []string `json:"-"`
  1480  }
  1481  
  1482  func (s *Activities) MarshalJSON() ([]byte, error) {
  1483  	type NoMethod Activities
  1484  	raw := NoMethod(*s)
  1485  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1486  }
  1487  
  1488  // Ad: Contains properties of a Campaign Manager ad.
  1489  type Ad struct {
  1490  	// AccountId: Account ID of this ad. This is a read-only field that can
  1491  	// be left blank.
  1492  	AccountId int64 `json:"accountId,omitempty,string"`
  1493  
  1494  	// Active: Whether this ad is active. When true, archived must be false.
  1495  	Active bool `json:"active,omitempty"`
  1496  
  1497  	// AdvertiserId: Advertiser ID of this ad. This is a required field on
  1498  	// insertion.
  1499  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  1500  
  1501  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  1502  	// advertiser. This is a read-only, auto-generated field.
  1503  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  1504  
  1505  	// Archived: Whether this ad is archived. When true, active must be
  1506  	// false.
  1507  	Archived bool `json:"archived,omitempty"`
  1508  
  1509  	// AudienceSegmentId: Audience segment ID that is being targeted for
  1510  	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
  1511  	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
  1512  
  1513  	// CampaignId: Campaign ID of this ad. This is a required field on
  1514  	// insertion.
  1515  	CampaignId int64 `json:"campaignId,omitempty,string"`
  1516  
  1517  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  1518  	// This is a read-only, auto-generated field.
  1519  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  1520  
  1521  	// ClickThroughUrl: Click-through URL for this ad. This is a required
  1522  	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
  1523  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  1524  
  1525  	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
  1526  	// for this ad. Applies to the URL in the ad or (if overriding ad
  1527  	// properties) the URL in the creative.
  1528  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  1529  
  1530  	// Comments: Comments for this ad.
  1531  	Comments string `json:"comments,omitempty"`
  1532  
  1533  	// Compatibility: Compatibility of this ad. Applicable when type is
  1534  	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
  1535  	// either rendering on desktop or on mobile devices or in mobile apps
  1536  	// for regular or interstitial ads, respectively. APP and
  1537  	// APP_INTERSTITIAL are only used for existing default ads. New mobile
  1538  	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
  1539  	// default ads created for those placements will be limited to those
  1540  	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
  1541  	// video ads developed with the VAST standard.
  1542  	//
  1543  	// Possible values:
  1544  	//   "DISPLAY"
  1545  	//   "DISPLAY_INTERSTITIAL"
  1546  	//   "APP"
  1547  	//   "APP_INTERSTITIAL"
  1548  	//   "IN_STREAM_VIDEO"
  1549  	//   "IN_STREAM_AUDIO"
  1550  	Compatibility string `json:"compatibility,omitempty"`
  1551  
  1552  	// CreateInfo: Information about the creation of this ad. This is a
  1553  	// read-only field.
  1554  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  1555  
  1556  	// CreativeGroupAssignments: Creative group assignments for this ad.
  1557  	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
  1558  	// per creative group number is allowed for a maximum of two
  1559  	// assignments.
  1560  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  1561  
  1562  	// CreativeRotation: Creative rotation for this ad. Applicable when type
  1563  	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
  1564  	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
  1565  	// should have exactly one creativeAssignment .
  1566  	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
  1567  
  1568  	// DayPartTargeting: Time and day targeting information for this ad.
  1569  	// This field must be left blank if the ad is using a targeting
  1570  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1571  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
  1572  
  1573  	// DefaultClickThroughEventTagProperties: Default click-through event
  1574  	// tag properties for this ad.
  1575  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  1576  
  1577  	// DeliverySchedule: Delivery schedule information for this ad.
  1578  	// Applicable when type is AD_SERVING_STANDARD_AD or
  1579  	// AD_SERVING_TRACKING. This field along with subfields priority and
  1580  	// impressionRatio are required on insertion when type is
  1581  	// AD_SERVING_STANDARD_AD.
  1582  	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
  1583  
  1584  	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
  1585  	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
  1586  	// field on insert, and is read-only after insert.
  1587  	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
  1588  
  1589  	EndTime string `json:"endTime,omitempty"`
  1590  
  1591  	// EventTagOverrides: Event tag overrides for this ad.
  1592  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  1593  
  1594  	// GeoTargeting: Geographical targeting information for this ad. This
  1595  	// field must be left blank if the ad is using a targeting template.
  1596  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1597  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
  1598  
  1599  	// Id: ID of this ad. This is a read-only, auto-generated field.
  1600  	Id int64 `json:"id,omitempty,string"`
  1601  
  1602  	// IdDimensionValue: Dimension value for the ID of this ad. This is a
  1603  	// read-only, auto-generated field.
  1604  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1605  
  1606  	// KeyValueTargetingExpression: Key-value targeting information for this
  1607  	// ad. This field must be left blank if the ad is using a targeting
  1608  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1609  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
  1610  
  1611  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1612  	// string "dfareporting#ad".
  1613  	Kind string `json:"kind,omitempty"`
  1614  
  1615  	// LanguageTargeting: Language targeting information for this ad. This
  1616  	// field must be left blank if the ad is using a targeting template.
  1617  	// Applicable when type is AD_SERVING_STANDARD_AD.
  1618  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
  1619  
  1620  	// LastModifiedInfo: Information about the most recent modification of
  1621  	// this ad. This is a read-only field.
  1622  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  1623  
  1624  	// Name: Name of this ad. This is a required field and must be less than
  1625  	// 256 characters long.
  1626  	Name string `json:"name,omitempty"`
  1627  
  1628  	// PlacementAssignments: Placement assignments for this ad.
  1629  	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
  1630  
  1631  	// RemarketingListExpression: Remarketing list targeting expression for
  1632  	// this ad. This field must be left blank if the ad is using a targeting
  1633  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1634  	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
  1635  
  1636  	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
  1637  	Size *Size `json:"size,omitempty"`
  1638  
  1639  	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
  1640  	// field that is auto-generated when the ad is inserted or updated.
  1641  	SslCompliant bool `json:"sslCompliant,omitempty"`
  1642  
  1643  	// SslRequired: Whether this ad requires ssl. This is a read-only field
  1644  	// that is auto-generated when the ad is inserted or updated.
  1645  	SslRequired bool `json:"sslRequired,omitempty"`
  1646  
  1647  	StartTime string `json:"startTime,omitempty"`
  1648  
  1649  	// SubaccountId: Subaccount ID of this ad. This is a read-only field
  1650  	// that can be left blank.
  1651  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1652  
  1653  	// TargetingTemplateId: Targeting template ID, used to apply
  1654  	// preconfigured targeting information to this ad. This cannot be set
  1655  	// while any of dayPartTargeting, geoTargeting,
  1656  	// keyValueTargetingExpression, languageTargeting,
  1657  	// remarketingListExpression, or technologyTargeting are set. Applicable
  1658  	// when type is AD_SERVING_STANDARD_AD.
  1659  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
  1660  
  1661  	// TechnologyTargeting: Technology platform targeting information for
  1662  	// this ad. This field must be left blank if the ad is using a targeting
  1663  	// template. Applicable when type is AD_SERVING_STANDARD_AD.
  1664  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
  1665  
  1666  	// Type: Type of ad. This is a required field on insertion. Note that
  1667  	// default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see
  1668  	// Creative resource).
  1669  	//
  1670  	// Possible values:
  1671  	//   "AD_SERVING_STANDARD_AD"
  1672  	//   "AD_SERVING_DEFAULT_AD"
  1673  	//   "AD_SERVING_CLICK_TRACKER"
  1674  	//   "AD_SERVING_TRACKING"
  1675  	//   "AD_SERVING_BRAND_SAFE_AD"
  1676  	Type string `json:"type,omitempty"`
  1677  
  1678  	// ServerResponse contains the HTTP response code and headers from the
  1679  	// server.
  1680  	googleapi.ServerResponse `json:"-"`
  1681  
  1682  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1683  	// unconditionally include in API requests. By default, fields with
  1684  	// empty or default values are omitted from API requests. However, any
  1685  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1686  	// sent to the server regardless of whether the field is empty or not.
  1687  	// This may be used to include empty fields in Patch requests.
  1688  	ForceSendFields []string `json:"-"`
  1689  
  1690  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1691  	// API requests with the JSON null value. By default, fields with empty
  1692  	// values are omitted from API requests. However, any field with an
  1693  	// empty value appearing in NullFields will be sent to the server as
  1694  	// null. It is an error if a field in this list has a non-empty value.
  1695  	// This may be used to include null fields in Patch requests.
  1696  	NullFields []string `json:"-"`
  1697  }
  1698  
  1699  func (s *Ad) MarshalJSON() ([]byte, error) {
  1700  	type NoMethod Ad
  1701  	raw := NoMethod(*s)
  1702  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1703  }
  1704  
  1705  // AdBlockingConfiguration: Campaign ad blocking settings.
  1706  type AdBlockingConfiguration struct {
  1707  	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
  1708  	// a required field when overrideClickThroughUrl is set to true.
  1709  	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
  1710  
  1711  	// CreativeBundleId: ID of a creative bundle to use for this campaign.
  1712  	// If set, brand-neutral ads will select creatives from this bundle.
  1713  	// Otherwise, a default transparent pixel will be used.
  1714  	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
  1715  
  1716  	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
  1717  	// blocking is enabled for placements in the campaign, but this may be
  1718  	// overridden by site and placement settings. When false, ad blocking is
  1719  	// disabled for all placements under the campaign, regardless of site
  1720  	// and placement settings.
  1721  	Enabled bool `json:"enabled,omitempty"`
  1722  
  1723  	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
  1724  	// URL comes from the campaign's creative bundle or the override URL.
  1725  	// Must be set to true if ad blocking is enabled and no creative bundle
  1726  	// is configured.
  1727  	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
  1728  
  1729  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  1730  	// unconditionally include in API requests. By default, fields with
  1731  	// empty or default values are omitted from API requests. However, any
  1732  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1733  	// sent to the server regardless of whether the field is empty or not.
  1734  	// This may be used to include empty fields in Patch requests.
  1735  	ForceSendFields []string `json:"-"`
  1736  
  1737  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  1738  	// include in API requests with the JSON null value. By default, fields
  1739  	// with empty values are omitted from API requests. However, any field
  1740  	// with an empty value appearing in NullFields will be sent to the
  1741  	// server as null. It is an error if a field in this list has a
  1742  	// non-empty value. This may be used to include null fields in Patch
  1743  	// requests.
  1744  	NullFields []string `json:"-"`
  1745  }
  1746  
  1747  func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
  1748  	type NoMethod AdBlockingConfiguration
  1749  	raw := NoMethod(*s)
  1750  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1751  }
  1752  
  1753  // AdSlot: Ad Slot
  1754  type AdSlot struct {
  1755  	// Comment: Comment for this ad slot.
  1756  	Comment string `json:"comment,omitempty"`
  1757  
  1758  	// Compatibility: Ad slot compatibility. DISPLAY and
  1759  	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
  1760  	// devices or in mobile apps for regular or interstitial ads
  1761  	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
  1762  	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
  1763  	// developed with the VAST standard.
  1764  	//
  1765  	// Possible values:
  1766  	//   "DISPLAY"
  1767  	//   "DISPLAY_INTERSTITIAL"
  1768  	//   "APP"
  1769  	//   "APP_INTERSTITIAL"
  1770  	//   "IN_STREAM_VIDEO"
  1771  	//   "IN_STREAM_AUDIO"
  1772  	Compatibility string `json:"compatibility,omitempty"`
  1773  
  1774  	// Height: Height of this ad slot.
  1775  	Height int64 `json:"height,omitempty,string"`
  1776  
  1777  	// LinkedPlacementId: ID of the placement from an external platform that
  1778  	// is linked to this ad slot.
  1779  	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
  1780  
  1781  	// Name: Name of this ad slot.
  1782  	Name string `json:"name,omitempty"`
  1783  
  1784  	// PaymentSourceType: Payment source type of this ad slot.
  1785  	//
  1786  	// Possible values:
  1787  	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
  1788  	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
  1789  	PaymentSourceType string `json:"paymentSourceType,omitempty"`
  1790  
  1791  	// Primary: Primary ad slot of a roadblock inventory item.
  1792  	Primary bool `json:"primary,omitempty"`
  1793  
  1794  	// Width: Width of this ad slot.
  1795  	Width int64 `json:"width,omitempty,string"`
  1796  
  1797  	// ForceSendFields is a list of field names (e.g. "Comment") to
  1798  	// unconditionally include in API requests. By default, fields with
  1799  	// empty or default values are omitted from API requests. However, any
  1800  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1801  	// sent to the server regardless of whether the field is empty or not.
  1802  	// This may be used to include empty fields in Patch requests.
  1803  	ForceSendFields []string `json:"-"`
  1804  
  1805  	// NullFields is a list of field names (e.g. "Comment") to include in
  1806  	// API requests with the JSON null value. By default, fields with empty
  1807  	// values are omitted from API requests. However, any field with an
  1808  	// empty value appearing in NullFields will be sent to the server as
  1809  	// null. It is an error if a field in this list has a non-empty value.
  1810  	// This may be used to include null fields in Patch requests.
  1811  	NullFields []string `json:"-"`
  1812  }
  1813  
  1814  func (s *AdSlot) MarshalJSON() ([]byte, error) {
  1815  	type NoMethod AdSlot
  1816  	raw := NoMethod(*s)
  1817  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1818  }
  1819  
  1820  // AdsListResponse: Ad List Response
  1821  type AdsListResponse struct {
  1822  	// Ads: Ad collection.
  1823  	Ads []*Ad `json:"ads,omitempty"`
  1824  
  1825  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1826  	// string "dfareporting#adsListResponse".
  1827  	Kind string `json:"kind,omitempty"`
  1828  
  1829  	// NextPageToken: Pagination token to be used for the next list
  1830  	// operation.
  1831  	NextPageToken string `json:"nextPageToken,omitempty"`
  1832  
  1833  	// ServerResponse contains the HTTP response code and headers from the
  1834  	// server.
  1835  	googleapi.ServerResponse `json:"-"`
  1836  
  1837  	// ForceSendFields is a list of field names (e.g. "Ads") to
  1838  	// unconditionally include in API requests. By default, fields with
  1839  	// empty or default values are omitted from API requests. However, any
  1840  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1841  	// sent to the server regardless of whether the field is empty or not.
  1842  	// This may be used to include empty fields in Patch requests.
  1843  	ForceSendFields []string `json:"-"`
  1844  
  1845  	// NullFields is a list of field names (e.g. "Ads") to include in API
  1846  	// requests with the JSON null value. By default, fields with empty
  1847  	// values are omitted from API requests. However, any field with an
  1848  	// empty value appearing in NullFields will be sent to the server as
  1849  	// null. It is an error if a field in this list has a non-empty value.
  1850  	// This may be used to include null fields in Patch requests.
  1851  	NullFields []string `json:"-"`
  1852  }
  1853  
  1854  func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
  1855  	type NoMethod AdsListResponse
  1856  	raw := NoMethod(*s)
  1857  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1858  }
  1859  
  1860  // Advertiser: Contains properties of a Campaign Manager advertiser.
  1861  type Advertiser struct {
  1862  	// AccountId: Account ID of this advertiser.This is a read-only field
  1863  	// that can be left blank.
  1864  	AccountId int64 `json:"accountId,omitempty,string"`
  1865  
  1866  	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
  1867  	// to. You can group advertisers for reporting purposes, allowing you to
  1868  	// see aggregated information for all advertisers in each group.
  1869  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  1870  
  1871  	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
  1872  	// creative associations under this advertiser. Must be less than 129
  1873  	// characters long.
  1874  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  1875  
  1876  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  1877  	// apply by default to the landing pages of this advertiser's campaigns.
  1878  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  1879  
  1880  	// DefaultEmail: Default email address used in sender field for tag
  1881  	// emails.
  1882  	DefaultEmail string `json:"defaultEmail,omitempty"`
  1883  
  1884  	// FloodlightConfigurationId: Floodlight configuration ID of this
  1885  	// advertiser. The floodlight configuration ID will be created
  1886  	// automatically, so on insert this field should be left blank. This
  1887  	// field can be set to another advertiser's floodlight configuration ID
  1888  	// in order to share that advertiser's floodlight configuration with
  1889  	// this advertiser, so long as: - This advertiser's original floodlight
  1890  	// configuration is not already associated with floodlight activities or
  1891  	// floodlight activity groups. - This advertiser's original floodlight
  1892  	// configuration is not already shared with another advertiser.
  1893  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  1894  
  1895  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  1896  	// of the floodlight configuration. This is a read-only, auto-generated
  1897  	// field.
  1898  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  1899  
  1900  	// Id: ID of this advertiser. This is a read-only, auto-generated field.
  1901  	Id int64 `json:"id,omitempty,string"`
  1902  
  1903  	// IdDimensionValue: Dimension value for the ID of this advertiser. This
  1904  	// is a read-only, auto-generated field.
  1905  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  1906  
  1907  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1908  	// string "dfareporting#advertiser".
  1909  	Kind string `json:"kind,omitempty"`
  1910  
  1911  	// Name: Name of this advertiser. This is a required field and must be
  1912  	// less than 256 characters long and unique among advertisers of the
  1913  	// same account.
  1914  	Name string `json:"name,omitempty"`
  1915  
  1916  	// OriginalFloodlightConfigurationId: Original floodlight configuration
  1917  	// before any sharing occurred. Set the floodlightConfigurationId of
  1918  	// this advertiser to originalFloodlightConfigurationId to unshare the
  1919  	// advertiser's current floodlight configuration. You cannot unshare an
  1920  	// advertiser's floodlight configuration if the shared configuration has
  1921  	// activities associated with any campaign or placement.
  1922  	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
  1923  
  1924  	// Status: Status of this advertiser.
  1925  	//
  1926  	// Possible values:
  1927  	//   "APPROVED"
  1928  	//   "ON_HOLD"
  1929  	Status string `json:"status,omitempty"`
  1930  
  1931  	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
  1932  	// field that can be left blank.
  1933  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  1934  
  1935  	// Suspended: Suspension status of this advertiser.
  1936  	Suspended bool `json:"suspended,omitempty"`
  1937  
  1938  	// ServerResponse contains the HTTP response code and headers from the
  1939  	// server.
  1940  	googleapi.ServerResponse `json:"-"`
  1941  
  1942  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1943  	// unconditionally include in API requests. By default, fields with
  1944  	// empty or default values are omitted from API requests. However, any
  1945  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1946  	// sent to the server regardless of whether the field is empty or not.
  1947  	// This may be used to include empty fields in Patch requests.
  1948  	ForceSendFields []string `json:"-"`
  1949  
  1950  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1951  	// API requests with the JSON null value. By default, fields with empty
  1952  	// values are omitted from API requests. However, any field with an
  1953  	// empty value appearing in NullFields will be sent to the server as
  1954  	// null. It is an error if a field in this list has a non-empty value.
  1955  	// This may be used to include null fields in Patch requests.
  1956  	NullFields []string `json:"-"`
  1957  }
  1958  
  1959  func (s *Advertiser) MarshalJSON() ([]byte, error) {
  1960  	type NoMethod Advertiser
  1961  	raw := NoMethod(*s)
  1962  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  1963  }
  1964  
  1965  // AdvertiserGroup: Groups advertisers together so that reports can be
  1966  // generated for the entire group at once.
  1967  type AdvertiserGroup struct {
  1968  	// AccountId: Account ID of this advertiser group. This is a read-only
  1969  	// field that can be left blank.
  1970  	AccountId int64 `json:"accountId,omitempty,string"`
  1971  
  1972  	// Id: ID of this advertiser group. This is a read-only, auto-generated
  1973  	// field.
  1974  	Id int64 `json:"id,omitempty,string"`
  1975  
  1976  	// Kind: Identifies what kind of resource this is. Value: the fixed
  1977  	// string "dfareporting#advertiserGroup".
  1978  	Kind string `json:"kind,omitempty"`
  1979  
  1980  	// Name: Name of this advertiser group. This is a required field and
  1981  	// must be less than 256 characters long and unique among advertiser
  1982  	// groups of the same account.
  1983  	Name string `json:"name,omitempty"`
  1984  
  1985  	// ServerResponse contains the HTTP response code and headers from the
  1986  	// server.
  1987  	googleapi.ServerResponse `json:"-"`
  1988  
  1989  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  1990  	// unconditionally include in API requests. By default, fields with
  1991  	// empty or default values are omitted from API requests. However, any
  1992  	// non-pointer, non-interface field appearing in ForceSendFields will be
  1993  	// sent to the server regardless of whether the field is empty or not.
  1994  	// This may be used to include empty fields in Patch requests.
  1995  	ForceSendFields []string `json:"-"`
  1996  
  1997  	// NullFields is a list of field names (e.g. "AccountId") to include in
  1998  	// API requests with the JSON null value. By default, fields with empty
  1999  	// values are omitted from API requests. However, any field with an
  2000  	// empty value appearing in NullFields will be sent to the server as
  2001  	// null. It is an error if a field in this list has a non-empty value.
  2002  	// This may be used to include null fields in Patch requests.
  2003  	NullFields []string `json:"-"`
  2004  }
  2005  
  2006  func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
  2007  	type NoMethod AdvertiserGroup
  2008  	raw := NoMethod(*s)
  2009  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2010  }
  2011  
  2012  // AdvertiserGroupsListResponse: Advertiser Group List Response
  2013  type AdvertiserGroupsListResponse struct {
  2014  	// AdvertiserGroups: Advertiser group collection.
  2015  	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
  2016  
  2017  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2018  	// string "dfareporting#advertiserGroupsListResponse".
  2019  	Kind string `json:"kind,omitempty"`
  2020  
  2021  	// NextPageToken: Pagination token to be used for the next list
  2022  	// operation.
  2023  	NextPageToken string `json:"nextPageToken,omitempty"`
  2024  
  2025  	// ServerResponse contains the HTTP response code and headers from the
  2026  	// server.
  2027  	googleapi.ServerResponse `json:"-"`
  2028  
  2029  	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
  2030  	// unconditionally include in API requests. By default, fields with
  2031  	// empty or default values are omitted from API requests. However, any
  2032  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2033  	// sent to the server regardless of whether the field is empty or not.
  2034  	// This may be used to include empty fields in Patch requests.
  2035  	ForceSendFields []string `json:"-"`
  2036  
  2037  	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
  2038  	// include in API requests with the JSON null value. By default, fields
  2039  	// with empty values are omitted from API requests. However, any field
  2040  	// with an empty value appearing in NullFields will be sent to the
  2041  	// server as null. It is an error if a field in this list has a
  2042  	// non-empty value. This may be used to include null fields in Patch
  2043  	// requests.
  2044  	NullFields []string `json:"-"`
  2045  }
  2046  
  2047  func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
  2048  	type NoMethod AdvertiserGroupsListResponse
  2049  	raw := NoMethod(*s)
  2050  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2051  }
  2052  
  2053  // AdvertiserLandingPagesListResponse: Landing Page List Response
  2054  type AdvertiserLandingPagesListResponse struct {
  2055  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2056  	// string "dfareporting#advertiserLandingPagesListResponse".
  2057  	Kind string `json:"kind,omitempty"`
  2058  
  2059  	// LandingPages: Landing page collection
  2060  	LandingPages []*LandingPage `json:"landingPages,omitempty"`
  2061  
  2062  	// NextPageToken: Pagination token to be used for the next list
  2063  	// operation.
  2064  	NextPageToken string `json:"nextPageToken,omitempty"`
  2065  
  2066  	// ServerResponse contains the HTTP response code and headers from the
  2067  	// server.
  2068  	googleapi.ServerResponse `json:"-"`
  2069  
  2070  	// ForceSendFields is a list of field names (e.g. "Kind") to
  2071  	// unconditionally include in API requests. By default, fields with
  2072  	// empty or default values are omitted from API requests. However, any
  2073  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2074  	// sent to the server regardless of whether the field is empty or not.
  2075  	// This may be used to include empty fields in Patch requests.
  2076  	ForceSendFields []string `json:"-"`
  2077  
  2078  	// NullFields is a list of field names (e.g. "Kind") to include in API
  2079  	// requests with the JSON null value. By default, fields with empty
  2080  	// values are omitted from API requests. However, any field with an
  2081  	// empty value appearing in NullFields will be sent to the server as
  2082  	// null. It is an error if a field in this list has a non-empty value.
  2083  	// This may be used to include null fields in Patch requests.
  2084  	NullFields []string `json:"-"`
  2085  }
  2086  
  2087  func (s *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
  2088  	type NoMethod AdvertiserLandingPagesListResponse
  2089  	raw := NoMethod(*s)
  2090  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2091  }
  2092  
  2093  // AdvertisersListResponse: Advertiser List Response
  2094  type AdvertisersListResponse struct {
  2095  	// Advertisers: Advertiser collection.
  2096  	Advertisers []*Advertiser `json:"advertisers,omitempty"`
  2097  
  2098  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2099  	// string "dfareporting#advertisersListResponse".
  2100  	Kind string `json:"kind,omitempty"`
  2101  
  2102  	// NextPageToken: Pagination token to be used for the next list
  2103  	// operation.
  2104  	NextPageToken string `json:"nextPageToken,omitempty"`
  2105  
  2106  	// ServerResponse contains the HTTP response code and headers from the
  2107  	// server.
  2108  	googleapi.ServerResponse `json:"-"`
  2109  
  2110  	// ForceSendFields is a list of field names (e.g. "Advertisers") to
  2111  	// unconditionally include in API requests. By default, fields with
  2112  	// empty or default values are omitted from API requests. However, any
  2113  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2114  	// sent to the server regardless of whether the field is empty or not.
  2115  	// This may be used to include empty fields in Patch requests.
  2116  	ForceSendFields []string `json:"-"`
  2117  
  2118  	// NullFields is a list of field names (e.g. "Advertisers") to include
  2119  	// in API requests with the JSON null value. By default, fields with
  2120  	// empty values are omitted from API requests. However, any field with
  2121  	// an empty value appearing in NullFields will be sent to the server as
  2122  	// null. It is an error if a field in this list has a non-empty value.
  2123  	// This may be used to include null fields in Patch requests.
  2124  	NullFields []string `json:"-"`
  2125  }
  2126  
  2127  func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
  2128  	type NoMethod AdvertisersListResponse
  2129  	raw := NoMethod(*s)
  2130  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2131  }
  2132  
  2133  // AudienceSegment: Audience Segment.
  2134  type AudienceSegment struct {
  2135  	// Allocation: Weight allocated to this segment. The weight assigned
  2136  	// will be understood in proportion to the weights assigned to other
  2137  	// segments in the same segment group. Acceptable values are 1 to 1000,
  2138  	// inclusive.
  2139  	Allocation int64 `json:"allocation,omitempty"`
  2140  
  2141  	// Id: ID of this audience segment. This is a read-only, auto-generated
  2142  	// field.
  2143  	Id int64 `json:"id,omitempty,string"`
  2144  
  2145  	// Name: Name of this audience segment. This is a required field and
  2146  	// must be less than 65 characters long.
  2147  	Name string `json:"name,omitempty"`
  2148  
  2149  	// ForceSendFields is a list of field names (e.g. "Allocation") to
  2150  	// unconditionally include in API requests. By default, fields with
  2151  	// empty or default values are omitted from API requests. However, any
  2152  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2153  	// sent to the server regardless of whether the field is empty or not.
  2154  	// This may be used to include empty fields in Patch requests.
  2155  	ForceSendFields []string `json:"-"`
  2156  
  2157  	// NullFields is a list of field names (e.g. "Allocation") to include in
  2158  	// API requests with the JSON null value. By default, fields with empty
  2159  	// values are omitted from API requests. However, any field with an
  2160  	// empty value appearing in NullFields will be sent to the server as
  2161  	// null. It is an error if a field in this list has a non-empty value.
  2162  	// This may be used to include null fields in Patch requests.
  2163  	NullFields []string `json:"-"`
  2164  }
  2165  
  2166  func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
  2167  	type NoMethod AudienceSegment
  2168  	raw := NoMethod(*s)
  2169  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2170  }
  2171  
  2172  // AudienceSegmentGroup: Audience Segment Group.
  2173  type AudienceSegmentGroup struct {
  2174  	// AudienceSegments: Audience segments assigned to this group. The
  2175  	// number of segments must be between 2 and 100.
  2176  	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
  2177  
  2178  	// Id: ID of this audience segment group. This is a read-only,
  2179  	// auto-generated field.
  2180  	Id int64 `json:"id,omitempty,string"`
  2181  
  2182  	// Name: Name of this audience segment group. This is a required field
  2183  	// and must be less than 65 characters long.
  2184  	Name string `json:"name,omitempty"`
  2185  
  2186  	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
  2187  	// unconditionally include in API requests. By default, fields with
  2188  	// empty or default values are omitted from API requests. However, any
  2189  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2190  	// sent to the server regardless of whether the field is empty or not.
  2191  	// This may be used to include empty fields in Patch requests.
  2192  	ForceSendFields []string `json:"-"`
  2193  
  2194  	// NullFields is a list of field names (e.g. "AudienceSegments") to
  2195  	// include in API requests with the JSON null value. By default, fields
  2196  	// with empty values are omitted from API requests. However, any field
  2197  	// with an empty value appearing in NullFields will be sent to the
  2198  	// server as null. It is an error if a field in this list has a
  2199  	// non-empty value. This may be used to include null fields in Patch
  2200  	// requests.
  2201  	NullFields []string `json:"-"`
  2202  }
  2203  
  2204  func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
  2205  	type NoMethod AudienceSegmentGroup
  2206  	raw := NoMethod(*s)
  2207  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2208  }
  2209  
  2210  // Browser: Contains information about a browser that can be targeted by
  2211  // ads.
  2212  type Browser struct {
  2213  	// BrowserVersionId: ID referring to this grouping of browser and
  2214  	// version numbers. This is the ID used for targeting.
  2215  	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
  2216  
  2217  	// DartId: DART ID of this browser. This is the ID used when generating
  2218  	// reports.
  2219  	DartId int64 `json:"dartId,omitempty,string"`
  2220  
  2221  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2222  	// string "dfareporting#browser".
  2223  	Kind string `json:"kind,omitempty"`
  2224  
  2225  	// MajorVersion: Major version number (leftmost number) of this browser.
  2226  	// For example, for Chrome 5.0.376.86 beta, this field should be set to
  2227  	// 5. An asterisk (*) may be used to target any version number, and a
  2228  	// question mark (?) may be used to target cases where the version
  2229  	// number cannot be identified. For example, Chrome *.* targets any
  2230  	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2231  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2232  	// server knows the browser is Firefox but can't tell which version it
  2233  	// is.
  2234  	MajorVersion string `json:"majorVersion,omitempty"`
  2235  
  2236  	// MinorVersion: Minor version number (number after first dot on left)
  2237  	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
  2238  	// should be set to 0. An asterisk (*) may be used to target any version
  2239  	// number, and a question mark (?) may be used to target cases where the
  2240  	// version number cannot be identified. For example, Chrome *.* targets
  2241  	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
  2242  	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
  2243  	// server knows the browser is Firefox but can't tell which version it
  2244  	// is.
  2245  	MinorVersion string `json:"minorVersion,omitempty"`
  2246  
  2247  	// Name: Name of this browser.
  2248  	Name string `json:"name,omitempty"`
  2249  
  2250  	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
  2251  	// unconditionally include in API requests. By default, fields with
  2252  	// empty or default values are omitted from API requests. However, any
  2253  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2254  	// sent to the server regardless of whether the field is empty or not.
  2255  	// This may be used to include empty fields in Patch requests.
  2256  	ForceSendFields []string `json:"-"`
  2257  
  2258  	// NullFields is a list of field names (e.g. "BrowserVersionId") to
  2259  	// include in API requests with the JSON null value. By default, fields
  2260  	// with empty values are omitted from API requests. However, any field
  2261  	// with an empty value appearing in NullFields will be sent to the
  2262  	// server as null. It is an error if a field in this list has a
  2263  	// non-empty value. This may be used to include null fields in Patch
  2264  	// requests.
  2265  	NullFields []string `json:"-"`
  2266  }
  2267  
  2268  func (s *Browser) MarshalJSON() ([]byte, error) {
  2269  	type NoMethod Browser
  2270  	raw := NoMethod(*s)
  2271  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2272  }
  2273  
  2274  // BrowsersListResponse: Browser List Response
  2275  type BrowsersListResponse struct {
  2276  	// Browsers: Browser collection.
  2277  	Browsers []*Browser `json:"browsers,omitempty"`
  2278  
  2279  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2280  	// string "dfareporting#browsersListResponse".
  2281  	Kind string `json:"kind,omitempty"`
  2282  
  2283  	// ServerResponse contains the HTTP response code and headers from the
  2284  	// server.
  2285  	googleapi.ServerResponse `json:"-"`
  2286  
  2287  	// ForceSendFields is a list of field names (e.g. "Browsers") to
  2288  	// unconditionally include in API requests. By default, fields with
  2289  	// empty or default values are omitted from API requests. However, any
  2290  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2291  	// sent to the server regardless of whether the field is empty or not.
  2292  	// This may be used to include empty fields in Patch requests.
  2293  	ForceSendFields []string `json:"-"`
  2294  
  2295  	// NullFields is a list of field names (e.g. "Browsers") to include in
  2296  	// API requests with the JSON null value. By default, fields with empty
  2297  	// values are omitted from API requests. However, any field with an
  2298  	// empty value appearing in NullFields will be sent to the server as
  2299  	// null. It is an error if a field in this list has a non-empty value.
  2300  	// This may be used to include null fields in Patch requests.
  2301  	NullFields []string `json:"-"`
  2302  }
  2303  
  2304  func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
  2305  	type NoMethod BrowsersListResponse
  2306  	raw := NoMethod(*s)
  2307  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2308  }
  2309  
  2310  // Campaign: Contains properties of a Campaign Manager campaign.
  2311  type Campaign struct {
  2312  	// AccountId: Account ID of this campaign. This is a read-only field
  2313  	// that can be left blank.
  2314  	AccountId int64 `json:"accountId,omitempty,string"`
  2315  
  2316  	// AdBlockingConfiguration: Ad blocking settings for this campaign.
  2317  	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
  2318  
  2319  	// AdditionalCreativeOptimizationConfigurations: Additional creative
  2320  	// optimization configurations for the campaign.
  2321  	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
  2322  
  2323  	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
  2324  	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
  2325  
  2326  	// AdvertiserId: Advertiser ID of this campaign. This is a required
  2327  	// field.
  2328  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  2329  
  2330  	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
  2331  	// this campaign. This is a read-only, auto-generated field.
  2332  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  2333  
  2334  	// Archived: Whether this campaign has been archived.
  2335  	Archived bool `json:"archived,omitempty"`
  2336  
  2337  	// AudienceSegmentGroups: Audience segment groups assigned to this
  2338  	// campaign. Cannot have more than 300 segment groups.
  2339  	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
  2340  
  2341  	// BillingInvoiceCode: Billing invoice code included in the Campaign
  2342  	// Manager client billing invoices associated with the campaign.
  2343  	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
  2344  
  2345  	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
  2346  	// properties for this campaign.
  2347  	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
  2348  
  2349  	// Comment: Arbitrary comments about this campaign. Must be less than
  2350  	// 256 characters long.
  2351  	Comment string `json:"comment,omitempty"`
  2352  
  2353  	// CreateInfo: Information about the creation of this campaign. This is
  2354  	// a read-only field.
  2355  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  2356  
  2357  	// CreativeGroupIds: List of creative group IDs that are assigned to the
  2358  	// campaign.
  2359  	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
  2360  
  2361  	// CreativeOptimizationConfiguration: Creative optimization
  2362  	// configuration for the campaign.
  2363  	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
  2364  
  2365  	// DefaultClickThroughEventTagProperties: Click-through event tag ID
  2366  	// override properties for this campaign.
  2367  	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
  2368  
  2369  	// DefaultLandingPageId: The default landing page ID for this campaign.
  2370  	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
  2371  
  2372  	EndDate string `json:"endDate,omitempty"`
  2373  
  2374  	// EventTagOverrides: Overrides that can be used to activate or
  2375  	// deactivate advertiser event tags.
  2376  	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
  2377  
  2378  	// ExternalId: External ID for this campaign.
  2379  	ExternalId string `json:"externalId,omitempty"`
  2380  
  2381  	// Id: ID of this campaign. This is a read-only auto-generated field.
  2382  	Id int64 `json:"id,omitempty,string"`
  2383  
  2384  	// IdDimensionValue: Dimension value for the ID of this campaign. This
  2385  	// is a read-only, auto-generated field.
  2386  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  2387  
  2388  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2389  	// string "dfareporting#campaign".
  2390  	Kind string `json:"kind,omitempty"`
  2391  
  2392  	// LastModifiedInfo: Information about the most recent modification of
  2393  	// this campaign. This is a read-only field.
  2394  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  2395  
  2396  	// Name: Name of this campaign. This is a required field and must be
  2397  	// less than 256 characters long and unique among campaigns of the same
  2398  	// advertiser.
  2399  	Name string `json:"name,omitempty"`
  2400  
  2401  	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
  2402  	// campaign.
  2403  	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
  2404  
  2405  	StartDate string `json:"startDate,omitempty"`
  2406  
  2407  	// SubaccountId: Subaccount ID of this campaign. This is a read-only
  2408  	// field that can be left blank.
  2409  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2410  
  2411  	// TraffickerEmails: Campaign trafficker contact emails.
  2412  	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
  2413  
  2414  	// ServerResponse contains the HTTP response code and headers from the
  2415  	// server.
  2416  	googleapi.ServerResponse `json:"-"`
  2417  
  2418  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2419  	// unconditionally include in API requests. By default, fields with
  2420  	// empty or default values are omitted from API requests. However, any
  2421  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2422  	// sent to the server regardless of whether the field is empty or not.
  2423  	// This may be used to include empty fields in Patch requests.
  2424  	ForceSendFields []string `json:"-"`
  2425  
  2426  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2427  	// API requests with the JSON null value. By default, fields with empty
  2428  	// values are omitted from API requests. However, any field with an
  2429  	// empty value appearing in NullFields will be sent to the server as
  2430  	// null. It is an error if a field in this list has a non-empty value.
  2431  	// This may be used to include null fields in Patch requests.
  2432  	NullFields []string `json:"-"`
  2433  }
  2434  
  2435  func (s *Campaign) MarshalJSON() ([]byte, error) {
  2436  	type NoMethod Campaign
  2437  	raw := NoMethod(*s)
  2438  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2439  }
  2440  
  2441  // CampaignCreativeAssociation: Identifies a creative which has been
  2442  // associated with a given campaign.
  2443  type CampaignCreativeAssociation struct {
  2444  	// CreativeId: ID of the creative associated with the campaign. This is
  2445  	// a required field.
  2446  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2447  
  2448  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2449  	// string "dfareporting#campaignCreativeAssociation".
  2450  	Kind string `json:"kind,omitempty"`
  2451  
  2452  	// ServerResponse contains the HTTP response code and headers from the
  2453  	// server.
  2454  	googleapi.ServerResponse `json:"-"`
  2455  
  2456  	// ForceSendFields is a list of field names (e.g. "CreativeId") to
  2457  	// unconditionally include in API requests. By default, fields with
  2458  	// empty or default values are omitted from API requests. However, any
  2459  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2460  	// sent to the server regardless of whether the field is empty or not.
  2461  	// This may be used to include empty fields in Patch requests.
  2462  	ForceSendFields []string `json:"-"`
  2463  
  2464  	// NullFields is a list of field names (e.g. "CreativeId") to include in
  2465  	// API requests with the JSON null value. By default, fields with empty
  2466  	// values are omitted from API requests. However, any field with an
  2467  	// empty value appearing in NullFields will be sent to the server as
  2468  	// null. It is an error if a field in this list has a non-empty value.
  2469  	// This may be used to include null fields in Patch requests.
  2470  	NullFields []string `json:"-"`
  2471  }
  2472  
  2473  func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
  2474  	type NoMethod CampaignCreativeAssociation
  2475  	raw := NoMethod(*s)
  2476  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2477  }
  2478  
  2479  // CampaignCreativeAssociationsListResponse: Campaign Creative
  2480  // Association List Response
  2481  type CampaignCreativeAssociationsListResponse struct {
  2482  	// CampaignCreativeAssociations: Campaign creative association
  2483  	// collection
  2484  	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
  2485  
  2486  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2487  	// string "dfareporting#campaignCreativeAssociationsListResponse".
  2488  	Kind string `json:"kind,omitempty"`
  2489  
  2490  	// NextPageToken: Pagination token to be used for the next list
  2491  	// operation.
  2492  	NextPageToken string `json:"nextPageToken,omitempty"`
  2493  
  2494  	// ServerResponse contains the HTTP response code and headers from the
  2495  	// server.
  2496  	googleapi.ServerResponse `json:"-"`
  2497  
  2498  	// ForceSendFields is a list of field names (e.g.
  2499  	// "CampaignCreativeAssociations") to unconditionally include in API
  2500  	// requests. By default, fields with empty or default values are omitted
  2501  	// from API requests. However, any non-pointer, non-interface field
  2502  	// appearing in ForceSendFields will be sent to the server regardless of
  2503  	// whether the field is empty or not. This may be used to include empty
  2504  	// fields in Patch requests.
  2505  	ForceSendFields []string `json:"-"`
  2506  
  2507  	// NullFields is a list of field names (e.g.
  2508  	// "CampaignCreativeAssociations") to include in API requests with the
  2509  	// JSON null value. By default, fields with empty values are omitted
  2510  	// from API requests. However, any field with an empty value appearing
  2511  	// in NullFields will be sent to the server as null. It is an error if a
  2512  	// field in this list has a non-empty value. This may be used to include
  2513  	// null fields in Patch requests.
  2514  	NullFields []string `json:"-"`
  2515  }
  2516  
  2517  func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
  2518  	type NoMethod CampaignCreativeAssociationsListResponse
  2519  	raw := NoMethod(*s)
  2520  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2521  }
  2522  
  2523  // CampaignsListResponse: Campaign List Response
  2524  type CampaignsListResponse struct {
  2525  	// Campaigns: Campaign collection.
  2526  	Campaigns []*Campaign `json:"campaigns,omitempty"`
  2527  
  2528  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2529  	// string "dfareporting#campaignsListResponse".
  2530  	Kind string `json:"kind,omitempty"`
  2531  
  2532  	// NextPageToken: Pagination token to be used for the next list
  2533  	// operation.
  2534  	NextPageToken string `json:"nextPageToken,omitempty"`
  2535  
  2536  	// ServerResponse contains the HTTP response code and headers from the
  2537  	// server.
  2538  	googleapi.ServerResponse `json:"-"`
  2539  
  2540  	// ForceSendFields is a list of field names (e.g. "Campaigns") to
  2541  	// unconditionally include in API requests. By default, fields with
  2542  	// empty or default values are omitted from API requests. However, any
  2543  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2544  	// sent to the server regardless of whether the field is empty or not.
  2545  	// This may be used to include empty fields in Patch requests.
  2546  	ForceSendFields []string `json:"-"`
  2547  
  2548  	// NullFields is a list of field names (e.g. "Campaigns") to include in
  2549  	// API requests with the JSON null value. By default, fields with empty
  2550  	// values are omitted from API requests. However, any field with an
  2551  	// empty value appearing in NullFields will be sent to the server as
  2552  	// null. It is an error if a field in this list has a non-empty value.
  2553  	// This may be used to include null fields in Patch requests.
  2554  	NullFields []string `json:"-"`
  2555  }
  2556  
  2557  func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
  2558  	type NoMethod CampaignsListResponse
  2559  	raw := NoMethod(*s)
  2560  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2561  }
  2562  
  2563  // ChangeLog: Describes a change that a user has made to a resource.
  2564  type ChangeLog struct {
  2565  	// AccountId: Account ID of the modified object.
  2566  	AccountId int64 `json:"accountId,omitempty,string"`
  2567  
  2568  	// Action: Action which caused the change.
  2569  	Action string `json:"action,omitempty"`
  2570  
  2571  	ChangeTime string `json:"changeTime,omitempty"`
  2572  
  2573  	// FieldName: Field name of the object which changed.
  2574  	FieldName string `json:"fieldName,omitempty"`
  2575  
  2576  	// Id: ID of this change log.
  2577  	Id int64 `json:"id,omitempty,string"`
  2578  
  2579  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2580  	// string "dfareporting#changeLog".
  2581  	Kind string `json:"kind,omitempty"`
  2582  
  2583  	// NewValue: New value of the object field.
  2584  	NewValue string `json:"newValue,omitempty"`
  2585  
  2586  	// ObjectId: ID of the object of this change log. The object could be a
  2587  	// campaign, placement, ad, or other type.
  2588  	ObjectId int64 `json:"objectId,omitempty,string"`
  2589  
  2590  	// ObjectType: Object type of the change log.
  2591  	ObjectType string `json:"objectType,omitempty"`
  2592  
  2593  	// OldValue: Old value of the object field.
  2594  	OldValue string `json:"oldValue,omitempty"`
  2595  
  2596  	// SubaccountId: Subaccount ID of the modified object.
  2597  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  2598  
  2599  	// TransactionId: Transaction ID of this change log. When a single API
  2600  	// call results in many changes, each change will have a separate ID in
  2601  	// the change log but will share the same transactionId.
  2602  	TransactionId int64 `json:"transactionId,omitempty,string"`
  2603  
  2604  	// UserProfileId: ID of the user who modified the object.
  2605  	UserProfileId int64 `json:"userProfileId,omitempty,string"`
  2606  
  2607  	// UserProfileName: User profile name of the user who modified the
  2608  	// object.
  2609  	UserProfileName string `json:"userProfileName,omitempty"`
  2610  
  2611  	// ServerResponse contains the HTTP response code and headers from the
  2612  	// server.
  2613  	googleapi.ServerResponse `json:"-"`
  2614  
  2615  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  2616  	// unconditionally include in API requests. By default, fields with
  2617  	// empty or default values are omitted from API requests. However, any
  2618  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2619  	// sent to the server regardless of whether the field is empty or not.
  2620  	// This may be used to include empty fields in Patch requests.
  2621  	ForceSendFields []string `json:"-"`
  2622  
  2623  	// NullFields is a list of field names (e.g. "AccountId") to include in
  2624  	// API requests with the JSON null value. By default, fields with empty
  2625  	// values are omitted from API requests. However, any field with an
  2626  	// empty value appearing in NullFields will be sent to the server as
  2627  	// null. It is an error if a field in this list has a non-empty value.
  2628  	// This may be used to include null fields in Patch requests.
  2629  	NullFields []string `json:"-"`
  2630  }
  2631  
  2632  func (s *ChangeLog) MarshalJSON() ([]byte, error) {
  2633  	type NoMethod ChangeLog
  2634  	raw := NoMethod(*s)
  2635  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2636  }
  2637  
  2638  // ChangeLogsListResponse: Change Log List Response
  2639  type ChangeLogsListResponse struct {
  2640  	// ChangeLogs: Change log collection.
  2641  	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
  2642  
  2643  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2644  	// string "dfareporting#changeLogsListResponse".
  2645  	Kind string `json:"kind,omitempty"`
  2646  
  2647  	// NextPageToken: Pagination token to be used for the next list
  2648  	// operation.
  2649  	NextPageToken string `json:"nextPageToken,omitempty"`
  2650  
  2651  	// ServerResponse contains the HTTP response code and headers from the
  2652  	// server.
  2653  	googleapi.ServerResponse `json:"-"`
  2654  
  2655  	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
  2656  	// unconditionally include in API requests. By default, fields with
  2657  	// empty or default values are omitted from API requests. However, any
  2658  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2659  	// sent to the server regardless of whether the field is empty or not.
  2660  	// This may be used to include empty fields in Patch requests.
  2661  	ForceSendFields []string `json:"-"`
  2662  
  2663  	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
  2664  	// API requests with the JSON null value. By default, fields with empty
  2665  	// values are omitted from API requests. However, any field with an
  2666  	// empty value appearing in NullFields will be sent to the server as
  2667  	// null. It is an error if a field in this list has a non-empty value.
  2668  	// This may be used to include null fields in Patch requests.
  2669  	NullFields []string `json:"-"`
  2670  }
  2671  
  2672  func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
  2673  	type NoMethod ChangeLogsListResponse
  2674  	raw := NoMethod(*s)
  2675  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2676  }
  2677  
  2678  // CitiesListResponse: City List Response
  2679  type CitiesListResponse struct {
  2680  	// Cities: City collection.
  2681  	Cities []*City `json:"cities,omitempty"`
  2682  
  2683  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2684  	// string "dfareporting#citiesListResponse".
  2685  	Kind string `json:"kind,omitempty"`
  2686  
  2687  	// ServerResponse contains the HTTP response code and headers from the
  2688  	// server.
  2689  	googleapi.ServerResponse `json:"-"`
  2690  
  2691  	// ForceSendFields is a list of field names (e.g. "Cities") to
  2692  	// unconditionally include in API requests. By default, fields with
  2693  	// empty or default values are omitted from API requests. However, any
  2694  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2695  	// sent to the server regardless of whether the field is empty or not.
  2696  	// This may be used to include empty fields in Patch requests.
  2697  	ForceSendFields []string `json:"-"`
  2698  
  2699  	// NullFields is a list of field names (e.g. "Cities") to include in API
  2700  	// requests with the JSON null value. By default, fields with empty
  2701  	// values are omitted from API requests. However, any field with an
  2702  	// empty value appearing in NullFields will be sent to the server as
  2703  	// null. It is an error if a field in this list has a non-empty value.
  2704  	// This may be used to include null fields in Patch requests.
  2705  	NullFields []string `json:"-"`
  2706  }
  2707  
  2708  func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
  2709  	type NoMethod CitiesListResponse
  2710  	raw := NoMethod(*s)
  2711  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2712  }
  2713  
  2714  // City: Contains information about a city that can be targeted by ads.
  2715  type City struct {
  2716  	// CountryCode: Country code of the country to which this city belongs.
  2717  	CountryCode string `json:"countryCode,omitempty"`
  2718  
  2719  	// CountryDartId: DART ID of the country to which this city belongs.
  2720  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  2721  
  2722  	// DartId: DART ID of this city. This is the ID used for targeting and
  2723  	// generating reports.
  2724  	DartId int64 `json:"dartId,omitempty,string"`
  2725  
  2726  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2727  	// string "dfareporting#city".
  2728  	Kind string `json:"kind,omitempty"`
  2729  
  2730  	// MetroCode: Metro region code of the metro region (DMA) to which this
  2731  	// city belongs.
  2732  	MetroCode string `json:"metroCode,omitempty"`
  2733  
  2734  	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
  2735  	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
  2736  
  2737  	// Name: Name of this city.
  2738  	Name string `json:"name,omitempty"`
  2739  
  2740  	// RegionCode: Region code of the region to which this city belongs.
  2741  	RegionCode string `json:"regionCode,omitempty"`
  2742  
  2743  	// RegionDartId: DART ID of the region to which this city belongs.
  2744  	RegionDartId int64 `json:"regionDartId,omitempty,string"`
  2745  
  2746  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  2747  	// unconditionally include in API requests. By default, fields with
  2748  	// empty or default values are omitted from API requests. However, any
  2749  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2750  	// sent to the server regardless of whether the field is empty or not.
  2751  	// This may be used to include empty fields in Patch requests.
  2752  	ForceSendFields []string `json:"-"`
  2753  
  2754  	// NullFields is a list of field names (e.g. "CountryCode") to include
  2755  	// in API requests with the JSON null value. By default, fields with
  2756  	// empty values are omitted from API requests. However, any field with
  2757  	// an empty value appearing in NullFields will be sent to the server as
  2758  	// null. It is an error if a field in this list has a non-empty value.
  2759  	// This may be used to include null fields in Patch requests.
  2760  	NullFields []string `json:"-"`
  2761  }
  2762  
  2763  func (s *City) MarshalJSON() ([]byte, error) {
  2764  	type NoMethod City
  2765  	raw := NoMethod(*s)
  2766  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2767  }
  2768  
  2769  // ClickTag: Creative Click Tag.
  2770  type ClickTag struct {
  2771  	// ClickThroughUrl: Parameter value for the specified click tag. This
  2772  	// field contains a click-through url.
  2773  	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2774  
  2775  	// EventName: Advertiser event name associated with the click tag. This
  2776  	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
  2777  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  2778  	EventName string `json:"eventName,omitempty"`
  2779  
  2780  	// Name: Parameter name for the specified click tag. For
  2781  	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
  2782  	// value of the creative asset's creativeAssetId.name field.
  2783  	Name string `json:"name,omitempty"`
  2784  
  2785  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2786  	// unconditionally include in API requests. By default, fields with
  2787  	// empty or default values are omitted from API requests. However, any
  2788  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2789  	// sent to the server regardless of whether the field is empty or not.
  2790  	// This may be used to include empty fields in Patch requests.
  2791  	ForceSendFields []string `json:"-"`
  2792  
  2793  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2794  	// include in API requests with the JSON null value. By default, fields
  2795  	// with empty values are omitted from API requests. However, any field
  2796  	// with an empty value appearing in NullFields will be sent to the
  2797  	// server as null. It is an error if a field in this list has a
  2798  	// non-empty value. This may be used to include null fields in Patch
  2799  	// requests.
  2800  	NullFields []string `json:"-"`
  2801  }
  2802  
  2803  func (s *ClickTag) MarshalJSON() ([]byte, error) {
  2804  	type NoMethod ClickTag
  2805  	raw := NoMethod(*s)
  2806  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2807  }
  2808  
  2809  // ClickThroughUrl: Click-through URL
  2810  type ClickThroughUrl struct {
  2811  	// ComputedClickThroughUrl: Read-only convenience field representing the
  2812  	// actual URL that will be used for this click-through. The URL is
  2813  	// computed as follows: - If defaultLandingPage is enabled then the
  2814  	// campaign's default landing page URL is assigned to this field. - If
  2815  	// defaultLandingPage is not enabled and a landingPageId is specified
  2816  	// then that landing page's URL is assigned to this field. - If neither
  2817  	// of the above cases apply, then the customClickThroughUrl is assigned
  2818  	// to this field.
  2819  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  2820  
  2821  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  2822  	// defaultLandingPage field is set to false and the landingPageId field
  2823  	// is left unset.
  2824  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  2825  
  2826  	// DefaultLandingPage: Whether the campaign default landing page is
  2827  	// used.
  2828  	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
  2829  
  2830  	// LandingPageId: ID of the landing page for the click-through URL.
  2831  	// Applicable if the defaultLandingPage field is set to false.
  2832  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  2833  
  2834  	// ForceSendFields is a list of field names (e.g.
  2835  	// "ComputedClickThroughUrl") to unconditionally include in API
  2836  	// requests. By default, fields with empty or default values are omitted
  2837  	// from API requests. However, any non-pointer, non-interface field
  2838  	// appearing in ForceSendFields will be sent to the server regardless of
  2839  	// whether the field is empty or not. This may be used to include empty
  2840  	// fields in Patch requests.
  2841  	ForceSendFields []string `json:"-"`
  2842  
  2843  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  2844  	// to include in API requests with the JSON null value. By default,
  2845  	// fields with empty values are omitted from API requests. However, any
  2846  	// field with an empty value appearing in NullFields will be sent to the
  2847  	// server as null. It is an error if a field in this list has a
  2848  	// non-empty value. This may be used to include null fields in Patch
  2849  	// requests.
  2850  	NullFields []string `json:"-"`
  2851  }
  2852  
  2853  func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
  2854  	type NoMethod ClickThroughUrl
  2855  	raw := NoMethod(*s)
  2856  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2857  }
  2858  
  2859  // ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
  2860  type ClickThroughUrlSuffixProperties struct {
  2861  	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
  2862  	// in this entity's scope. Must be less than 128 characters long.
  2863  	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
  2864  
  2865  	// OverrideInheritedSuffix: Whether this entity should override the
  2866  	// inherited click-through URL suffix with its own defined value.
  2867  	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
  2868  
  2869  	// ForceSendFields is a list of field names (e.g.
  2870  	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
  2871  	// By default, fields with empty or default values are omitted from API
  2872  	// requests. However, any non-pointer, non-interface field appearing in
  2873  	// ForceSendFields will be sent to the server regardless of whether the
  2874  	// field is empty or not. This may be used to include empty fields in
  2875  	// Patch requests.
  2876  	ForceSendFields []string `json:"-"`
  2877  
  2878  	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
  2879  	// include in API requests with the JSON null value. By default, fields
  2880  	// with empty values are omitted from API requests. However, any field
  2881  	// with an empty value appearing in NullFields will be sent to the
  2882  	// server as null. It is an error if a field in this list has a
  2883  	// non-empty value. This may be used to include null fields in Patch
  2884  	// requests.
  2885  	NullFields []string `json:"-"`
  2886  }
  2887  
  2888  func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
  2889  	type NoMethod ClickThroughUrlSuffixProperties
  2890  	raw := NoMethod(*s)
  2891  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2892  }
  2893  
  2894  // CompanionClickThroughOverride: Companion Click-through override.
  2895  type CompanionClickThroughOverride struct {
  2896  	// ClickThroughUrl: Click-through URL of this companion click-through
  2897  	// override.
  2898  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  2899  
  2900  	// CreativeId: ID of the creative for this companion click-through
  2901  	// override.
  2902  	CreativeId int64 `json:"creativeId,omitempty,string"`
  2903  
  2904  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
  2905  	// unconditionally include in API requests. By default, fields with
  2906  	// empty or default values are omitted from API requests. However, any
  2907  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2908  	// sent to the server regardless of whether the field is empty or not.
  2909  	// This may be used to include empty fields in Patch requests.
  2910  	ForceSendFields []string `json:"-"`
  2911  
  2912  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
  2913  	// include in API requests with the JSON null value. By default, fields
  2914  	// with empty values are omitted from API requests. However, any field
  2915  	// with an empty value appearing in NullFields will be sent to the
  2916  	// server as null. It is an error if a field in this list has a
  2917  	// non-empty value. This may be used to include null fields in Patch
  2918  	// requests.
  2919  	NullFields []string `json:"-"`
  2920  }
  2921  
  2922  func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
  2923  	type NoMethod CompanionClickThroughOverride
  2924  	raw := NoMethod(*s)
  2925  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2926  }
  2927  
  2928  // CompanionSetting: Companion Settings
  2929  type CompanionSetting struct {
  2930  	// CompanionsDisabled: Whether companions are disabled for this
  2931  	// placement.
  2932  	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
  2933  
  2934  	// EnabledSizes: Allowlist of companion sizes to be served to this
  2935  	// placement. Set this list to null or empty to serve all companion
  2936  	// sizes.
  2937  	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
  2938  
  2939  	// ImageOnly: Whether to serve only static images as companions.
  2940  	ImageOnly bool `json:"imageOnly,omitempty"`
  2941  
  2942  	// Kind: Identifies what kind of resource this is. Value: the fixed
  2943  	// string "dfareporting#companionSetting".
  2944  	Kind string `json:"kind,omitempty"`
  2945  
  2946  	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
  2947  	// to unconditionally include in API requests. By default, fields with
  2948  	// empty or default values are omitted from API requests. However, any
  2949  	// non-pointer, non-interface field appearing in ForceSendFields will be
  2950  	// sent to the server regardless of whether the field is empty or not.
  2951  	// This may be used to include empty fields in Patch requests.
  2952  	ForceSendFields []string `json:"-"`
  2953  
  2954  	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
  2955  	// include in API requests with the JSON null value. By default, fields
  2956  	// with empty values are omitted from API requests. However, any field
  2957  	// with an empty value appearing in NullFields will be sent to the
  2958  	// server as null. It is an error if a field in this list has a
  2959  	// non-empty value. This may be used to include null fields in Patch
  2960  	// requests.
  2961  	NullFields []string `json:"-"`
  2962  }
  2963  
  2964  func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
  2965  	type NoMethod CompanionSetting
  2966  	raw := NoMethod(*s)
  2967  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  2968  }
  2969  
  2970  // CompatibleFields: Represents a response to the queryCompatibleFields
  2971  // method.
  2972  type CompatibleFields struct {
  2973  	// CrossDimensionReachReportCompatibleFields: Contains items that are
  2974  	// compatible to be selected for a report of type
  2975  	// "CROSS_DIMENSION_REACH".
  2976  	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
  2977  
  2978  	// FloodlightReportCompatibleFields: Contains items that are compatible
  2979  	// to be selected for a report of type "FLOODLIGHT".
  2980  	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
  2981  
  2982  	// Kind: The kind of resource this is, in this case
  2983  	// dfareporting#compatibleFields.
  2984  	Kind string `json:"kind,omitempty"`
  2985  
  2986  	// PathToConversionReportCompatibleFields: Contains items that are
  2987  	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
  2988  	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
  2989  
  2990  	// ReachReportCompatibleFields: Contains items that are compatible to be
  2991  	// selected for a report of type "REACH".
  2992  	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
  2993  
  2994  	// ReportCompatibleFields: Contains items that are compatible to be
  2995  	// selected for a report of type "STANDARD".
  2996  	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
  2997  
  2998  	// ServerResponse contains the HTTP response code and headers from the
  2999  	// server.
  3000  	googleapi.ServerResponse `json:"-"`
  3001  
  3002  	// ForceSendFields is a list of field names (e.g.
  3003  	// "CrossDimensionReachReportCompatibleFields") to unconditionally
  3004  	// include in API requests. By default, fields with empty or default
  3005  	// values are omitted from API requests. However, any non-pointer,
  3006  	// non-interface field appearing in ForceSendFields will be sent to the
  3007  	// server regardless of whether the field is empty or not. This may be
  3008  	// used to include empty fields in Patch requests.
  3009  	ForceSendFields []string `json:"-"`
  3010  
  3011  	// NullFields is a list of field names (e.g.
  3012  	// "CrossDimensionReachReportCompatibleFields") to include in API
  3013  	// requests with the JSON null value. By default, fields with empty
  3014  	// values are omitted from API requests. However, any field with an
  3015  	// empty value appearing in NullFields will be sent to the server as
  3016  	// null. It is an error if a field in this list has a non-empty value.
  3017  	// This may be used to include null fields in Patch requests.
  3018  	NullFields []string `json:"-"`
  3019  }
  3020  
  3021  func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
  3022  	type NoMethod CompatibleFields
  3023  	raw := NoMethod(*s)
  3024  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3025  }
  3026  
  3027  // ConnectionType: Contains information about an internet connection
  3028  // type that can be targeted by ads. Clients can use the connection type
  3029  // to target mobile vs. broadband users.
  3030  type ConnectionType struct {
  3031  	// Id: ID of this connection type.
  3032  	Id int64 `json:"id,omitempty,string"`
  3033  
  3034  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3035  	// string "dfareporting#connectionType".
  3036  	Kind string `json:"kind,omitempty"`
  3037  
  3038  	// Name: Name of this connection type.
  3039  	Name string `json:"name,omitempty"`
  3040  
  3041  	// ServerResponse contains the HTTP response code and headers from the
  3042  	// server.
  3043  	googleapi.ServerResponse `json:"-"`
  3044  
  3045  	// ForceSendFields is a list of field names (e.g. "Id") to
  3046  	// unconditionally include in API requests. By default, fields with
  3047  	// empty or default values are omitted from API requests. However, any
  3048  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3049  	// sent to the server regardless of whether the field is empty or not.
  3050  	// This may be used to include empty fields in Patch requests.
  3051  	ForceSendFields []string `json:"-"`
  3052  
  3053  	// NullFields is a list of field names (e.g. "Id") to include in API
  3054  	// requests with the JSON null value. By default, fields with empty
  3055  	// values are omitted from API requests. However, any field with an
  3056  	// empty value appearing in NullFields will be sent to the server as
  3057  	// null. It is an error if a field in this list has a non-empty value.
  3058  	// This may be used to include null fields in Patch requests.
  3059  	NullFields []string `json:"-"`
  3060  }
  3061  
  3062  func (s *ConnectionType) MarshalJSON() ([]byte, error) {
  3063  	type NoMethod ConnectionType
  3064  	raw := NoMethod(*s)
  3065  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3066  }
  3067  
  3068  // ConnectionTypesListResponse: Connection Type List Response
  3069  type ConnectionTypesListResponse struct {
  3070  	// ConnectionTypes: Collection of connection types such as broadband and
  3071  	// mobile.
  3072  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
  3073  
  3074  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3075  	// string "dfareporting#connectionTypesListResponse".
  3076  	Kind string `json:"kind,omitempty"`
  3077  
  3078  	// ServerResponse contains the HTTP response code and headers from the
  3079  	// server.
  3080  	googleapi.ServerResponse `json:"-"`
  3081  
  3082  	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
  3083  	// unconditionally include in API requests. By default, fields with
  3084  	// empty or default values are omitted from API requests. However, any
  3085  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3086  	// sent to the server regardless of whether the field is empty or not.
  3087  	// This may be used to include empty fields in Patch requests.
  3088  	ForceSendFields []string `json:"-"`
  3089  
  3090  	// NullFields is a list of field names (e.g. "ConnectionTypes") to
  3091  	// include in API requests with the JSON null value. By default, fields
  3092  	// with empty values are omitted from API requests. However, any field
  3093  	// with an empty value appearing in NullFields will be sent to the
  3094  	// server as null. It is an error if a field in this list has a
  3095  	// non-empty value. This may be used to include null fields in Patch
  3096  	// requests.
  3097  	NullFields []string `json:"-"`
  3098  }
  3099  
  3100  func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
  3101  	type NoMethod ConnectionTypesListResponse
  3102  	raw := NoMethod(*s)
  3103  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3104  }
  3105  
  3106  // ContentCategoriesListResponse: Content Category List Response
  3107  type ContentCategoriesListResponse struct {
  3108  	// ContentCategories: Content category collection.
  3109  	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
  3110  
  3111  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3112  	// string "dfareporting#contentCategoriesListResponse".
  3113  	Kind string `json:"kind,omitempty"`
  3114  
  3115  	// NextPageToken: Pagination token to be used for the next list
  3116  	// operation.
  3117  	NextPageToken string `json:"nextPageToken,omitempty"`
  3118  
  3119  	// ServerResponse contains the HTTP response code and headers from the
  3120  	// server.
  3121  	googleapi.ServerResponse `json:"-"`
  3122  
  3123  	// ForceSendFields is a list of field names (e.g. "ContentCategories")
  3124  	// to unconditionally include in API requests. By default, fields with
  3125  	// empty or default values are omitted from API requests. However, any
  3126  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3127  	// sent to the server regardless of whether the field is empty or not.
  3128  	// This may be used to include empty fields in Patch requests.
  3129  	ForceSendFields []string `json:"-"`
  3130  
  3131  	// NullFields is a list of field names (e.g. "ContentCategories") to
  3132  	// include in API requests with the JSON null value. By default, fields
  3133  	// with empty values are omitted from API requests. However, any field
  3134  	// with an empty value appearing in NullFields will be sent to the
  3135  	// server as null. It is an error if a field in this list has a
  3136  	// non-empty value. This may be used to include null fields in Patch
  3137  	// requests.
  3138  	NullFields []string `json:"-"`
  3139  }
  3140  
  3141  func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
  3142  	type NoMethod ContentCategoriesListResponse
  3143  	raw := NoMethod(*s)
  3144  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3145  }
  3146  
  3147  // ContentCategory: Organizes placements according to the contents of
  3148  // their associated webpages.
  3149  type ContentCategory struct {
  3150  	// AccountId: Account ID of this content category. This is a read-only
  3151  	// field that can be left blank.
  3152  	AccountId int64 `json:"accountId,omitempty,string"`
  3153  
  3154  	// Id: ID of this content category. This is a read-only, auto-generated
  3155  	// field.
  3156  	Id int64 `json:"id,omitempty,string"`
  3157  
  3158  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3159  	// string "dfareporting#contentCategory".
  3160  	Kind string `json:"kind,omitempty"`
  3161  
  3162  	// Name: Name of this content category. This is a required field and
  3163  	// must be less than 256 characters long and unique among content
  3164  	// categories of the same account.
  3165  	Name string `json:"name,omitempty"`
  3166  
  3167  	// ServerResponse contains the HTTP response code and headers from the
  3168  	// server.
  3169  	googleapi.ServerResponse `json:"-"`
  3170  
  3171  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  3172  	// unconditionally include in API requests. By default, fields with
  3173  	// empty or default values are omitted from API requests. However, any
  3174  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3175  	// sent to the server regardless of whether the field is empty or not.
  3176  	// This may be used to include empty fields in Patch requests.
  3177  	ForceSendFields []string `json:"-"`
  3178  
  3179  	// NullFields is a list of field names (e.g. "AccountId") to include in
  3180  	// API requests with the JSON null value. By default, fields with empty
  3181  	// values are omitted from API requests. However, any field with an
  3182  	// empty value appearing in NullFields will be sent to the server as
  3183  	// null. It is an error if a field in this list has a non-empty value.
  3184  	// This may be used to include null fields in Patch requests.
  3185  	NullFields []string `json:"-"`
  3186  }
  3187  
  3188  func (s *ContentCategory) MarshalJSON() ([]byte, error) {
  3189  	type NoMethod ContentCategory
  3190  	raw := NoMethod(*s)
  3191  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3192  }
  3193  
  3194  // Conversion: A Conversion represents when a user successfully performs
  3195  // a desired action after seeing an ad.
  3196  type Conversion struct {
  3197  	// ChildDirectedTreatment: Whether this particular request may come from
  3198  	// a user under the age of 13, under COPPA compliance.
  3199  	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
  3200  
  3201  	// CustomVariables: Custom floodlight variables. This field may only be
  3202  	// used when calling batchinsert; it is not supported by batchupdate.
  3203  	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
  3204  
  3205  	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
  3206  	// encryptionInfo should also be specified. This field is mutually
  3207  	// exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId
  3208  	// and gclid. This or encryptedUserIdCandidates[] or matchId or
  3209  	// mobileDeviceId or gclid is a required field.
  3210  	EncryptedUserId string `json:"encryptedUserId,omitempty"`
  3211  
  3212  	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
  3213  	// IDs. Any user ID with exposure prior to the conversion timestamp will
  3214  	// be used in the inserted conversion. If no such user ID is found then
  3215  	// the conversion will be rejected with INVALID_ARGUMENT error. When
  3216  	// set, encryptionInfo should also be specified. This field may only be
  3217  	// used when calling batchinsert; it is not supported by batchupdate.
  3218  	// This field is mutually exclusive with encryptedUserId, matchId,
  3219  	// mobileDeviceId and gclid. This or encryptedUserId or matchId or
  3220  	// mobileDeviceId or gclid is a required field.
  3221  	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
  3222  
  3223  	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
  3224  	// is a required field.
  3225  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  3226  
  3227  	// FloodlightConfigurationId: Floodlight Configuration ID of this
  3228  	// conversion. This is a required field.
  3229  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  3230  
  3231  	// Gclid: The Google click ID. This field is mutually exclusive with
  3232  	// encryptedUserId, encryptedUserIdCandidates[], matchId and
  3233  	// mobileDeviceId. This or encryptedUserId or
  3234  	// encryptedUserIdCandidates[] or matchId or mobileDeviceId is a
  3235  	// required field.
  3236  	Gclid string `json:"gclid,omitempty"`
  3237  
  3238  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3239  	// string "dfareporting#conversion".
  3240  	Kind string `json:"kind,omitempty"`
  3241  
  3242  	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
  3243  	// true, the conversion will be used for reporting but not targeting.
  3244  	// This will prevent remarketing.
  3245  	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
  3246  
  3247  	// MatchId: The match ID field. A match ID is your own first-party
  3248  	// identifier that has been synced with Google using the match ID
  3249  	// feature in Floodlight. This field is mutually exclusive with
  3250  	// encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId and
  3251  	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
  3252  	// mobileDeviceId or gclid is a required field.
  3253  	MatchId string `json:"matchId,omitempty"`
  3254  
  3255  	// MobileDeviceId: The mobile device ID. This field is mutually
  3256  	// exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId
  3257  	// and gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
  3258  	// matchId or gclid is a required field.
  3259  	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
  3260  
  3261  	// NonPersonalizedAd: Whether the conversion was for a non personalized
  3262  	// ad.
  3263  	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
  3264  
  3265  	// Ordinal: The ordinal of the conversion. Use this field to control how
  3266  	// conversions of the same user and day are de-duplicated. This is a
  3267  	// required field.
  3268  	Ordinal string `json:"ordinal,omitempty"`
  3269  
  3270  	// Quantity: The quantity of the conversion.
  3271  	Quantity int64 `json:"quantity,omitempty,string"`
  3272  
  3273  	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
  3274  	// This is a required field.
  3275  	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
  3276  
  3277  	// TreatmentForUnderage: Whether this particular request may come from a
  3278  	// user under the age of 16 (may differ by country), under compliance
  3279  	// with the European Union's General Data Protection Regulation (GDPR).
  3280  	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
  3281  
  3282  	// Value: The value of the conversion.
  3283  	Value float64 `json:"value,omitempty"`
  3284  
  3285  	// ForceSendFields is a list of field names (e.g.
  3286  	// "ChildDirectedTreatment") to unconditionally include in API requests.
  3287  	// By default, fields with empty or default values are omitted from API
  3288  	// requests. However, any non-pointer, non-interface field appearing in
  3289  	// ForceSendFields will be sent to the server regardless of whether the
  3290  	// field is empty or not. This may be used to include empty fields in
  3291  	// Patch requests.
  3292  	ForceSendFields []string `json:"-"`
  3293  
  3294  	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
  3295  	// to include in API requests with the JSON null value. By default,
  3296  	// fields with empty values are omitted from API requests. However, any
  3297  	// field with an empty value appearing in NullFields will be sent to the
  3298  	// server as null. It is an error if a field in this list has a
  3299  	// non-empty value. This may be used to include null fields in Patch
  3300  	// requests.
  3301  	NullFields []string `json:"-"`
  3302  }
  3303  
  3304  func (s *Conversion) MarshalJSON() ([]byte, error) {
  3305  	type NoMethod Conversion
  3306  	raw := NoMethod(*s)
  3307  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3308  }
  3309  
  3310  func (s *Conversion) UnmarshalJSON(data []byte) error {
  3311  	type NoMethod Conversion
  3312  	var s1 struct {
  3313  		Value gensupport.JSONFloat64 `json:"value"`
  3314  		*NoMethod
  3315  	}
  3316  	s1.NoMethod = (*NoMethod)(s)
  3317  	if err := json.Unmarshal(data, &s1); err != nil {
  3318  		return err
  3319  	}
  3320  	s.Value = float64(s1.Value)
  3321  	return nil
  3322  }
  3323  
  3324  // ConversionError: The error code and description for a conversion that
  3325  // failed to insert or update.
  3326  type ConversionError struct {
  3327  	// Code: The error code.
  3328  	//
  3329  	// Possible values:
  3330  	//   "INVALID_ARGUMENT"
  3331  	//   "INTERNAL"
  3332  	//   "PERMISSION_DENIED"
  3333  	//   "NOT_FOUND"
  3334  	Code string `json:"code,omitempty"`
  3335  
  3336  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3337  	// string "dfareporting#conversionError".
  3338  	Kind string `json:"kind,omitempty"`
  3339  
  3340  	// Message: A description of the error.
  3341  	Message string `json:"message,omitempty"`
  3342  
  3343  	// ForceSendFields is a list of field names (e.g. "Code") to
  3344  	// unconditionally include in API requests. By default, fields with
  3345  	// empty or default values are omitted from API requests. However, any
  3346  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3347  	// sent to the server regardless of whether the field is empty or not.
  3348  	// This may be used to include empty fields in Patch requests.
  3349  	ForceSendFields []string `json:"-"`
  3350  
  3351  	// NullFields is a list of field names (e.g. "Code") to include in API
  3352  	// requests with the JSON null value. By default, fields with empty
  3353  	// values are omitted from API requests. However, any field with an
  3354  	// empty value appearing in NullFields will be sent to the server as
  3355  	// null. It is an error if a field in this list has a non-empty value.
  3356  	// This may be used to include null fields in Patch requests.
  3357  	NullFields []string `json:"-"`
  3358  }
  3359  
  3360  func (s *ConversionError) MarshalJSON() ([]byte, error) {
  3361  	type NoMethod ConversionError
  3362  	raw := NoMethod(*s)
  3363  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3364  }
  3365  
  3366  // ConversionStatus: The original conversion that was inserted or
  3367  // updated and whether there were any errors.
  3368  type ConversionStatus struct {
  3369  	// Conversion: The original conversion that was inserted or updated.
  3370  	Conversion *Conversion `json:"conversion,omitempty"`
  3371  
  3372  	// Errors: A list of errors related to this conversion.
  3373  	Errors []*ConversionError `json:"errors,omitempty"`
  3374  
  3375  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3376  	// string "dfareporting#conversionStatus".
  3377  	Kind string `json:"kind,omitempty"`
  3378  
  3379  	// ForceSendFields is a list of field names (e.g. "Conversion") to
  3380  	// unconditionally include in API requests. By default, fields with
  3381  	// empty or default values are omitted from API requests. However, any
  3382  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3383  	// sent to the server regardless of whether the field is empty or not.
  3384  	// This may be used to include empty fields in Patch requests.
  3385  	ForceSendFields []string `json:"-"`
  3386  
  3387  	// NullFields is a list of field names (e.g. "Conversion") to include in
  3388  	// API requests with the JSON null value. By default, fields with empty
  3389  	// values are omitted from API requests. However, any field with an
  3390  	// empty value appearing in NullFields will be sent to the server as
  3391  	// null. It is an error if a field in this list has a non-empty value.
  3392  	// This may be used to include null fields in Patch requests.
  3393  	NullFields []string `json:"-"`
  3394  }
  3395  
  3396  func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
  3397  	type NoMethod ConversionStatus
  3398  	raw := NoMethod(*s)
  3399  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3400  }
  3401  
  3402  // ConversionsBatchInsertRequest: Insert Conversions Request.
  3403  type ConversionsBatchInsertRequest struct {
  3404  	// Conversions: The set of conversions to insert.
  3405  	Conversions []*Conversion `json:"conversions,omitempty"`
  3406  
  3407  	// EncryptionInfo: Describes how encryptedUserId or
  3408  	// encryptedUserIdCandidates[] is encrypted. This is a required field if
  3409  	// encryptedUserId or encryptedUserIdCandidates[] is used.
  3410  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3411  
  3412  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3413  	// string "dfareporting#conversionsBatchInsertRequest".
  3414  	Kind string `json:"kind,omitempty"`
  3415  
  3416  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3417  	// unconditionally include in API requests. By default, fields with
  3418  	// empty or default values are omitted from API requests. However, any
  3419  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3420  	// sent to the server regardless of whether the field is empty or not.
  3421  	// This may be used to include empty fields in Patch requests.
  3422  	ForceSendFields []string `json:"-"`
  3423  
  3424  	// NullFields is a list of field names (e.g. "Conversions") to include
  3425  	// in API requests with the JSON null value. By default, fields with
  3426  	// empty values are omitted from API requests. However, any field with
  3427  	// an empty value appearing in NullFields will be sent to the server as
  3428  	// null. It is an error if a field in this list has a non-empty value.
  3429  	// This may be used to include null fields in Patch requests.
  3430  	NullFields []string `json:"-"`
  3431  }
  3432  
  3433  func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
  3434  	type NoMethod ConversionsBatchInsertRequest
  3435  	raw := NoMethod(*s)
  3436  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3437  }
  3438  
  3439  // ConversionsBatchInsertResponse: Insert Conversions Response.
  3440  type ConversionsBatchInsertResponse struct {
  3441  	// HasFailures: Indicates that some or all conversions failed to insert.
  3442  	HasFailures bool `json:"hasFailures,omitempty"`
  3443  
  3444  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3445  	// string "dfareporting#conversionsBatchInsertResponse".
  3446  	Kind string `json:"kind,omitempty"`
  3447  
  3448  	// Status: The insert status of each conversion. Statuses are returned
  3449  	// in the same order that conversions are inserted.
  3450  	Status []*ConversionStatus `json:"status,omitempty"`
  3451  
  3452  	// ServerResponse contains the HTTP response code and headers from the
  3453  	// server.
  3454  	googleapi.ServerResponse `json:"-"`
  3455  
  3456  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3457  	// unconditionally include in API requests. By default, fields with
  3458  	// empty or default values are omitted from API requests. However, any
  3459  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3460  	// sent to the server regardless of whether the field is empty or not.
  3461  	// This may be used to include empty fields in Patch requests.
  3462  	ForceSendFields []string `json:"-"`
  3463  
  3464  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3465  	// in API requests with the JSON null value. By default, fields with
  3466  	// empty values are omitted from API requests. However, any field with
  3467  	// an empty value appearing in NullFields will be sent to the server as
  3468  	// null. It is an error if a field in this list has a non-empty value.
  3469  	// This may be used to include null fields in Patch requests.
  3470  	NullFields []string `json:"-"`
  3471  }
  3472  
  3473  func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
  3474  	type NoMethod ConversionsBatchInsertResponse
  3475  	raw := NoMethod(*s)
  3476  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3477  }
  3478  
  3479  // ConversionsBatchUpdateRequest: Update Conversions Request.
  3480  type ConversionsBatchUpdateRequest struct {
  3481  	// Conversions: The set of conversions to update.
  3482  	Conversions []*Conversion `json:"conversions,omitempty"`
  3483  
  3484  	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
  3485  	// required field if encryptedUserId is used.
  3486  	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
  3487  
  3488  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3489  	// string "dfareporting#conversionsBatchUpdateRequest".
  3490  	Kind string `json:"kind,omitempty"`
  3491  
  3492  	// ForceSendFields is a list of field names (e.g. "Conversions") to
  3493  	// unconditionally include in API requests. By default, fields with
  3494  	// empty or default values are omitted from API requests. However, any
  3495  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3496  	// sent to the server regardless of whether the field is empty or not.
  3497  	// This may be used to include empty fields in Patch requests.
  3498  	ForceSendFields []string `json:"-"`
  3499  
  3500  	// NullFields is a list of field names (e.g. "Conversions") to include
  3501  	// in API requests with the JSON null value. By default, fields with
  3502  	// empty values are omitted from API requests. However, any field with
  3503  	// an empty value appearing in NullFields will be sent to the server as
  3504  	// null. It is an error if a field in this list has a non-empty value.
  3505  	// This may be used to include null fields in Patch requests.
  3506  	NullFields []string `json:"-"`
  3507  }
  3508  
  3509  func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
  3510  	type NoMethod ConversionsBatchUpdateRequest
  3511  	raw := NoMethod(*s)
  3512  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3513  }
  3514  
  3515  // ConversionsBatchUpdateResponse: Update Conversions Response.
  3516  type ConversionsBatchUpdateResponse struct {
  3517  	// HasFailures: Indicates that some or all conversions failed to update.
  3518  	HasFailures bool `json:"hasFailures,omitempty"`
  3519  
  3520  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3521  	// string "dfareporting#conversionsBatchUpdateResponse".
  3522  	Kind string `json:"kind,omitempty"`
  3523  
  3524  	// Status: The update status of each conversion. Statuses are returned
  3525  	// in the same order that conversions are updated.
  3526  	Status []*ConversionStatus `json:"status,omitempty"`
  3527  
  3528  	// ServerResponse contains the HTTP response code and headers from the
  3529  	// server.
  3530  	googleapi.ServerResponse `json:"-"`
  3531  
  3532  	// ForceSendFields is a list of field names (e.g. "HasFailures") to
  3533  	// unconditionally include in API requests. By default, fields with
  3534  	// empty or default values are omitted from API requests. However, any
  3535  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3536  	// sent to the server regardless of whether the field is empty or not.
  3537  	// This may be used to include empty fields in Patch requests.
  3538  	ForceSendFields []string `json:"-"`
  3539  
  3540  	// NullFields is a list of field names (e.g. "HasFailures") to include
  3541  	// in API requests with the JSON null value. By default, fields with
  3542  	// empty values are omitted from API requests. However, any field with
  3543  	// an empty value appearing in NullFields will be sent to the server as
  3544  	// null. It is an error if a field in this list has a non-empty value.
  3545  	// This may be used to include null fields in Patch requests.
  3546  	NullFields []string `json:"-"`
  3547  }
  3548  
  3549  func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
  3550  	type NoMethod ConversionsBatchUpdateResponse
  3551  	raw := NoMethod(*s)
  3552  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3553  }
  3554  
  3555  // CountriesListResponse: Country List Response
  3556  type CountriesListResponse struct {
  3557  	// Countries: Country collection.
  3558  	Countries []*Country `json:"countries,omitempty"`
  3559  
  3560  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3561  	// string "dfareporting#countriesListResponse".
  3562  	Kind string `json:"kind,omitempty"`
  3563  
  3564  	// ServerResponse contains the HTTP response code and headers from the
  3565  	// server.
  3566  	googleapi.ServerResponse `json:"-"`
  3567  
  3568  	// ForceSendFields is a list of field names (e.g. "Countries") to
  3569  	// unconditionally include in API requests. By default, fields with
  3570  	// empty or default values are omitted from API requests. However, any
  3571  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3572  	// sent to the server regardless of whether the field is empty or not.
  3573  	// This may be used to include empty fields in Patch requests.
  3574  	ForceSendFields []string `json:"-"`
  3575  
  3576  	// NullFields is a list of field names (e.g. "Countries") to include in
  3577  	// API requests with the JSON null value. By default, fields with empty
  3578  	// values are omitted from API requests. However, any field with an
  3579  	// empty value appearing in NullFields will be sent to the server as
  3580  	// null. It is an error if a field in this list has a non-empty value.
  3581  	// This may be used to include null fields in Patch requests.
  3582  	NullFields []string `json:"-"`
  3583  }
  3584  
  3585  func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
  3586  	type NoMethod CountriesListResponse
  3587  	raw := NoMethod(*s)
  3588  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3589  }
  3590  
  3591  // Country: Contains information about a country that can be targeted by
  3592  // ads.
  3593  type Country struct {
  3594  	// CountryCode: Country code.
  3595  	CountryCode string `json:"countryCode,omitempty"`
  3596  
  3597  	// DartId: DART ID of this country. This is the ID used for targeting
  3598  	// and generating reports.
  3599  	DartId int64 `json:"dartId,omitempty,string"`
  3600  
  3601  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3602  	// string "dfareporting#country".
  3603  	Kind string `json:"kind,omitempty"`
  3604  
  3605  	// Name: Name of this country.
  3606  	Name string `json:"name,omitempty"`
  3607  
  3608  	// SslEnabled: Whether ad serving supports secure servers in this
  3609  	// country.
  3610  	SslEnabled bool `json:"sslEnabled,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. "CountryCode") to
  3617  	// unconditionally include in API requests. By default, fields with
  3618  	// empty or default values are omitted from API requests. However, any
  3619  	// non-pointer, non-interface field appearing in ForceSendFields will be
  3620  	// sent to the server regardless of whether the field is empty or not.
  3621  	// This may be used to include empty fields in Patch requests.
  3622  	ForceSendFields []string `json:"-"`
  3623  
  3624  	// NullFields is a list of field names (e.g. "CountryCode") 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 *Country) MarshalJSON() ([]byte, error) {
  3634  	type NoMethod Country
  3635  	raw := NoMethod(*s)
  3636  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  3637  }
  3638  
  3639  // Creative: Contains properties of a Creative.
  3640  type Creative struct {
  3641  	// AccountId: Account ID of this creative. This field, if left unset,
  3642  	// will be auto-generated for both insert and update operations.
  3643  	// Applicable to all creative types.
  3644  	AccountId int64 `json:"accountId,omitempty,string"`
  3645  
  3646  	// Active: Whether the creative is active. Applicable to all creative
  3647  	// types.
  3648  	Active bool `json:"active,omitempty"`
  3649  
  3650  	// AdParameters: Ad parameters user for VPAID creative. This is a
  3651  	// read-only field. Applicable to the following creative types: all
  3652  	// VPAID.
  3653  	AdParameters string `json:"adParameters,omitempty"`
  3654  
  3655  	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
  3656  	// customize the creative settings of a Rich Media ad running on your
  3657  	// site without having to contact the advertiser. You can use keywords
  3658  	// to dynamically change the look or functionality of a creative.
  3659  	// Applicable to the following creative types: all RICH_MEDIA, and all
  3660  	// VPAID.
  3661  	AdTagKeys []string `json:"adTagKeys,omitempty"`
  3662  
  3663  	// AdditionalSizes: Additional sizes associated with a responsive
  3664  	// creative. When inserting or updating a creative either the size ID
  3665  	// field or size width and height fields can be used. Applicable to
  3666  	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
  3667  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  3668  
  3669  	// AdvertiserId: Advertiser ID of this creative. This is a required
  3670  	// field. Applicable to all creative types.
  3671  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  3672  
  3673  	// AllowScriptAccess: Whether script access is allowed for this
  3674  	// creative. This is a read-only and deprecated field which will
  3675  	// automatically be set to true on update. Applicable to the following
  3676  	// creative types: FLASH_INPAGE.
  3677  	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
  3678  
  3679  	// Archived: Whether the creative is archived. Applicable to all
  3680  	// creative types.
  3681  	Archived bool `json:"archived,omitempty"`
  3682  
  3683  	// ArtworkType: Type of artwork used for the creative. This is a
  3684  	// read-only field. Applicable to the following creative types: all
  3685  	// RICH_MEDIA, and all VPAID.
  3686  	//
  3687  	// Possible values:
  3688  	//   "ARTWORK_TYPE_FLASH"
  3689  	//   "ARTWORK_TYPE_HTML5"
  3690  	//   "ARTWORK_TYPE_MIXED"
  3691  	//   "ARTWORK_TYPE_IMAGE"
  3692  	ArtworkType string `json:"artworkType,omitempty"`
  3693  
  3694  	// AuthoringSource: Source application where creative was authored.
  3695  	// Presently, only DBM authored creatives will have this field set.
  3696  	// Applicable to all creative types.
  3697  	//
  3698  	// Possible values:
  3699  	//   "CREATIVE_AUTHORING_SOURCE_DCM"
  3700  	//   "CREATIVE_AUTHORING_SOURCE_DBM"
  3701  	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
  3702  	//   "CREATIVE_AUTHORING_SOURCE_GWD"
  3703  	AuthoringSource string `json:"authoringSource,omitempty"`
  3704  
  3705  	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
  3706  	// read-only field. Applicable to the following creative types:
  3707  	// HTML5_BANNER.
  3708  	//
  3709  	// Possible values:
  3710  	//   "NINJA"
  3711  	//   "SWIFFY"
  3712  	AuthoringTool string `json:"authoringTool,omitempty"`
  3713  
  3714  	// AutoAdvanceImages: Whether images are automatically advanced for
  3715  	// image gallery creatives. Applicable to the following creative types:
  3716  	// DISPLAY_IMAGE_GALLERY.
  3717  	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
  3718  
  3719  	// BackgroundColor: The 6-character HTML color code, beginning with #,
  3720  	// for the background of the window area where the Flash file is
  3721  	// displayed. Default is white. Applicable to the following creative
  3722  	// types: FLASH_INPAGE.
  3723  	BackgroundColor string `json:"backgroundColor,omitempty"`
  3724  
  3725  	// BackupImageClickThroughUrl: Click-through URL for backup image.
  3726  	// Applicable to ENHANCED_BANNER when the primary asset type is not
  3727  	// HTML_IMAGE.
  3728  	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
  3729  
  3730  	// BackupImageFeatures: List of feature dependencies that will cause a
  3731  	// backup image to be served if the browser that serves the ad does not
  3732  	// support them. Feature dependencies are features that a browser must
  3733  	// be able to support in order to render your HTML5 creative asset
  3734  	// correctly. This field is initially auto-generated to contain all
  3735  	// features detected by Campaign Manager for all the assets of this
  3736  	// creative and can then be modified by the client. To reset this field,
  3737  	// copy over all the creativeAssets' detected features. Applicable to
  3738  	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
  3739  	// when the primary asset type is not HTML_IMAGE.
  3740  	//
  3741  	// Possible values:
  3742  	//   "CSS_FONT_FACE"
  3743  	//   "CSS_BACKGROUND_SIZE"
  3744  	//   "CSS_BORDER_IMAGE"
  3745  	//   "CSS_BORDER_RADIUS"
  3746  	//   "CSS_BOX_SHADOW"
  3747  	//   "CSS_FLEX_BOX"
  3748  	//   "CSS_HSLA"
  3749  	//   "CSS_MULTIPLE_BGS"
  3750  	//   "CSS_OPACITY"
  3751  	//   "CSS_RGBA"
  3752  	//   "CSS_TEXT_SHADOW"
  3753  	//   "CSS_ANIMATIONS"
  3754  	//   "CSS_COLUMNS"
  3755  	//   "CSS_GENERATED_CONTENT"
  3756  	//   "CSS_GRADIENTS"
  3757  	//   "CSS_REFLECTIONS"
  3758  	//   "CSS_TRANSFORMS"
  3759  	//   "CSS_TRANSFORMS3D"
  3760  	//   "CSS_TRANSITIONS"
  3761  	//   "APPLICATION_CACHE"
  3762  	//   "CANVAS"
  3763  	//   "CANVAS_TEXT"
  3764  	//   "DRAG_AND_DROP"
  3765  	//   "HASH_CHANGE"
  3766  	//   "HISTORY"
  3767  	//   "AUDIO"
  3768  	//   "VIDEO"
  3769  	//   "INDEXED_DB"
  3770  	//   "INPUT_ATTR_AUTOCOMPLETE"
  3771  	//   "INPUT_ATTR_AUTOFOCUS"
  3772  	//   "INPUT_ATTR_LIST"
  3773  	//   "INPUT_ATTR_PLACEHOLDER"
  3774  	//   "INPUT_ATTR_MAX"
  3775  	//   "INPUT_ATTR_MIN"
  3776  	//   "INPUT_ATTR_MULTIPLE"
  3777  	//   "INPUT_ATTR_PATTERN"
  3778  	//   "INPUT_ATTR_REQUIRED"
  3779  	//   "INPUT_ATTR_STEP"
  3780  	//   "INPUT_TYPE_SEARCH"
  3781  	//   "INPUT_TYPE_TEL"
  3782  	//   "INPUT_TYPE_URL"
  3783  	//   "INPUT_TYPE_EMAIL"
  3784  	//   "INPUT_TYPE_DATETIME"
  3785  	//   "INPUT_TYPE_DATE"
  3786  	//   "INPUT_TYPE_MONTH"
  3787  	//   "INPUT_TYPE_WEEK"
  3788  	//   "INPUT_TYPE_TIME"
  3789  	//   "INPUT_TYPE_DATETIME_LOCAL"
  3790  	//   "INPUT_TYPE_NUMBER"
  3791  	//   "INPUT_TYPE_RANGE"
  3792  	//   "INPUT_TYPE_COLOR"
  3793  	//   "LOCAL_STORAGE"
  3794  	//   "POST_MESSAGE"
  3795  	//   "SESSION_STORAGE"
  3796  	//   "WEB_SOCKETS"
  3797  	//   "WEB_SQL_DATABASE"
  3798  	//   "WEB_WORKERS"
  3799  	//   "GEO_LOCATION"
  3800  	//   "INLINE_SVG"
  3801  	//   "SMIL"
  3802  	//   "SVG_HREF"
  3803  	//   "SVG_CLIP_PATHS"
  3804  	//   "TOUCH"
  3805  	//   "WEBGL"
  3806  	//   "SVG_FILTERS"
  3807  	//   "SVG_FE_IMAGE"
  3808  	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
  3809  
  3810  	// BackupImageReportingLabel: Reporting label used for HTML5 banner
  3811  	// backup image. Applicable to the following creative types: DISPLAY
  3812  	// when the primary asset type is not HTML_IMAGE.
  3813  	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
  3814  
  3815  	// BackupImageTargetWindow: Target window for backup image. Applicable
  3816  	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
  3817  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  3818  	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
  3819  
  3820  	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
  3821  	// HTML5_BANNER creatives, this is a subset of detected click tags for
  3822  	// the assets associated with this creative. After creating a flash
  3823  	// asset, detected click tags will be returned in the
  3824  	// creativeAssetMetadata. When inserting the creative, populate the
  3825  	// creative clickTags field using the creativeAssetMetadata.clickTags
  3826  	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
  3827  	// one entry in this list for each image creative asset. A click tag is
  3828  	// matched with a corresponding creative asset by matching the
  3829  	// clickTag.name field with the creativeAsset.assetIdentifier.name
  3830  	// field. Applicable to the following creative types:
  3831  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
  3832  	// DISPLAY when the primary asset type is not HTML_IMAGE.
  3833  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  3834  
  3835  	// CommercialId: Industry standard ID assigned to creative for reach and
  3836  	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
  3837  	CommercialId string `json:"commercialId,omitempty"`
  3838  
  3839  	// CompanionCreatives: List of companion creatives assigned to an
  3840  	// in-Stream video creative. Acceptable values include IDs of existing
  3841  	// flash and image creatives. Applicable to the following creative
  3842  	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
  3843  	// dynamicAssetSelection set to false.
  3844  	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
  3845  
  3846  	// Compatibility: Compatibilities associated with this creative. This is
  3847  	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
  3848  	// rendering either on desktop or on mobile devices or in mobile apps
  3849  	// for regular or interstitial ads, respectively. APP and
  3850  	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
  3851  	// creatives may have these compatibilities since new creatives will
  3852  	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
  3853  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  3854  	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
  3855  	// in-stream audio ads developed with the VAST standard. Applicable to
  3856  	// all creative types. Acceptable values are: - "APP" -
  3857  	// "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - "IN_STREAM_AUDIO" -
  3858  	// "DISPLAY" - "DISPLAY_INTERSTITIAL"
  3859  	//
  3860  	// Possible values:
  3861  	//   "DISPLAY"
  3862  	//   "DISPLAY_INTERSTITIAL"
  3863  	//   "APP"
  3864  	//   "APP_INTERSTITIAL"
  3865  	//   "IN_STREAM_VIDEO"
  3866  	//   "IN_STREAM_AUDIO"
  3867  	Compatibility []string `json:"compatibility,omitempty"`
  3868  
  3869  	// ConvertFlashToHtml5: Whether Flash assets associated with the
  3870  	// creative need to be automatically converted to HTML5. This flag is
  3871  	// enabled by default and users can choose to disable it if they don't
  3872  	// want the system to generate and use HTML5 asset for this creative.
  3873  	// Applicable to the following creative type: FLASH_INPAGE. Applicable
  3874  	// to DISPLAY when the primary asset type is not HTML_IMAGE.
  3875  	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
  3876  
  3877  	// CounterCustomEvents: List of counter events configured for the
  3878  	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3879  	// and auto-generated from clickTags. Applicable to the following
  3880  	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  3881  	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
  3882  
  3883  	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
  3884  	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
  3885  
  3886  	// CreativeAssets: Assets associated with a creative. Applicable to all
  3887  	// but the following creative types: INTERNAL_REDIRECT,
  3888  	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
  3889  	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
  3890  
  3891  	// CreativeFieldAssignments: Creative field assignments for this
  3892  	// creative. Applicable to all creative types.
  3893  	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
  3894  
  3895  	// CustomKeyValues: Custom key-values for a Rich Media creative.
  3896  	// Key-values let you customize the creative settings of a Rich Media ad
  3897  	// running on your site without having to contact the advertiser. You
  3898  	// can use key-values to dynamically change the look or functionality of
  3899  	// a creative. Applicable to the following creative types: all
  3900  	// RICH_MEDIA, and all VPAID.
  3901  	CustomKeyValues []string `json:"customKeyValues,omitempty"`
  3902  
  3903  	// DynamicAssetSelection: Set this to true to enable the use of rules to
  3904  	// target individual assets in this creative. When set to true
  3905  	// creativeAssetSelection must be set. This also controls asset-level
  3906  	// companions. When this is true, companion creatives should be assigned
  3907  	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
  3908  	// creatives.
  3909  	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
  3910  
  3911  	// ExitCustomEvents: List of exit events configured for the creative.
  3912  	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
  3913  	// and auto-generated from clickTags, For DISPLAY, an event is also
  3914  	// created from the backupImageReportingLabel. Applicable to the
  3915  	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
  3916  	// all VPAID. Applicable to DISPLAY when the primary asset type is not
  3917  	// HTML_IMAGE.
  3918  	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
  3919  
  3920  	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
  3921  	// file communicate with either Flash Player or the program hosting
  3922  	// Flash Player, such as a web browser. This is only triggered if
  3923  	// allowScriptAccess field is true. Applicable to the following creative
  3924  	// types: FLASH_INPAGE.
  3925  	FsCommand *FsCommand `json:"fsCommand,omitempty"`
  3926  
  3927  	// HtmlCode: HTML code for the creative. This is a required field when
  3928  	// applicable. This field is ignored if htmlCodeLocked is true.
  3929  	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
  3930  	// and HTML5_BANNER, and all RICH_MEDIA.
  3931  	HtmlCode string `json:"htmlCode,omitempty"`
  3932  
  3933  	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
  3934  	// manually entered. Set to true to ignore changes to htmlCode.
  3935  	// Applicable to the following creative types: FLASH_INPAGE and
  3936  	// HTML5_BANNER.
  3937  	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
  3938  
  3939  	// Id: ID of this creative. This is a read-only, auto-generated field.
  3940  	// Applicable to all creative types.
  3941  	Id int64 `json:"id,omitempty,string"`
  3942  
  3943  	// IdDimensionValue: Dimension value for the ID of this creative. This
  3944  	// is a read-only field. Applicable to all creative types.
  3945  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  3946  
  3947  	// Kind: Identifies what kind of resource this is. Value: the fixed
  3948  	// string "dfareporting#creative".
  3949  	Kind string `json:"kind,omitempty"`
  3950  
  3951  	// LastModifiedInfo: Creative last modification information. This is a
  3952  	// read-only field. Applicable to all creative types.
  3953  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  3954  
  3955  	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
  3956  	// associated with rich media and VPAID creatives. This is a read-only
  3957  	// field. Applicable to the following creative types: all RICH_MEDIA,
  3958  	// and all VPAID.
  3959  	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
  3960  
  3961  	// MediaDescription: Description of the audio or video ad. Applicable to
  3962  	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
  3963  	// all VPAID.
  3964  	MediaDescription string `json:"mediaDescription,omitempty"`
  3965  
  3966  	// MediaDuration: Creative audio or video duration in seconds. This is a
  3967  	// read-only field. Applicable to the following creative types:
  3968  	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
  3969  	MediaDuration float64 `json:"mediaDuration,omitempty"`
  3970  
  3971  	// Name: Name of the creative. This is a required field and must be less
  3972  	// than 256 characters long. Applicable to all creative types.
  3973  	Name string `json:"name,omitempty"`
  3974  
  3975  	// OverrideCss: Override CSS value for rich media creatives. Applicable
  3976  	// to the following creative types: all RICH_MEDIA.
  3977  	OverrideCss string `json:"overrideCss,omitempty"`
  3978  
  3979  	// ProgressOffset: Amount of time to play the video before counting a
  3980  	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
  3981  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
  3982  
  3983  	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
  3984  	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
  3985  	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
  3986  	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
  3987  	// This is a required field when applicable. Applicable to the following
  3988  	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
  3989  	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
  3990  	RedirectUrl string `json:"redirectUrl,omitempty"`
  3991  
  3992  	// RenderingId: ID of current rendering version. This is a read-only
  3993  	// field. Applicable to all creative types.
  3994  	RenderingId int64 `json:"renderingId,omitempty,string"`
  3995  
  3996  	// RenderingIdDimensionValue: Dimension value for the rendering ID of
  3997  	// this creative. This is a read-only field. Applicable to all creative
  3998  	// types.
  3999  	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
  4000  
  4001  	// RequiredFlashPluginVersion: The minimum required Flash plugin version
  4002  	// for this creative. For example, 11.2.202.235. This is a read-only
  4003  	// field. Applicable to the following creative types: all RICH_MEDIA,
  4004  	// and all VPAID.
  4005  	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
  4006  
  4007  	// RequiredFlashVersion: The internal Flash version for this creative as
  4008  	// calculated by Studio. This is a read-only field. Applicable to the
  4009  	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
  4010  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4011  	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
  4012  
  4013  	// Size: Size associated with this creative. When inserting or updating
  4014  	// a creative either the size ID field or size width and height fields
  4015  	// can be used. This is a required field when applicable; however for
  4016  	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
  4017  	// primary asset of type HTML_IMAGE, if left blank, this field will be
  4018  	// automatically set using the actual size of the associated image
  4019  	// assets. Applicable to the following creative types: DISPLAY,
  4020  	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
  4021  	// RICH_MEDIA.
  4022  	Size *Size `json:"size,omitempty"`
  4023  
  4024  	// SkipOffset: Amount of time to play the video before the skip button
  4025  	// appears. Applicable to the following creative types: all
  4026  	// INSTREAM_VIDEO.
  4027  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
  4028  
  4029  	// Skippable: Whether the user can choose to skip the creative.
  4030  	// Applicable to the following creative types: all INSTREAM_VIDEO and
  4031  	// all VPAID.
  4032  	Skippable bool `json:"skippable,omitempty"`
  4033  
  4034  	// SslCompliant: Whether the creative is SSL-compliant. This is a
  4035  	// read-only field. Applicable to all creative types.
  4036  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4037  
  4038  	// SslOverride: Whether creative should be treated as SSL compliant even
  4039  	// if the system scan shows it's not. Applicable to all creative types.
  4040  	SslOverride bool `json:"sslOverride,omitempty"`
  4041  
  4042  	// StudioAdvertiserId: Studio advertiser ID associated with rich media
  4043  	// and VPAID creatives. This is a read-only field. Applicable to the
  4044  	// following creative types: all RICH_MEDIA, and all VPAID.
  4045  	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
  4046  
  4047  	// StudioCreativeId: Studio creative ID associated with rich media and
  4048  	// VPAID creatives. This is a read-only field. Applicable to the
  4049  	// following creative types: all RICH_MEDIA, and all VPAID.
  4050  	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
  4051  
  4052  	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
  4053  	// with rich media and VPAID creatives. This is a read-only field.
  4054  	// Applicable to the following creative types: all RICH_MEDIA, and all
  4055  	// VPAID.
  4056  	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
  4057  
  4058  	// SubaccountId: Subaccount ID of this creative. This field, if left
  4059  	// unset, will be auto-generated for both insert and update operations.
  4060  	// Applicable to all creative types.
  4061  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  4062  
  4063  	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
  4064  	// backup image impressions. Applicable to the following creative types:
  4065  	// all RICH_MEDIA.
  4066  	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
  4067  
  4068  	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
  4069  	// rich media impressions. Applicable to the following creative types:
  4070  	// all RICH_MEDIA.
  4071  	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
  4072  
  4073  	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
  4074  	// events. Applicable to the following creative types: all
  4075  	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
  4076  	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
  4077  
  4078  	// TimerCustomEvents: List of timer events configured for the creative.
  4079  	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
  4080  	// auto-generated from clickTags. Applicable to the following creative
  4081  	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
  4082  	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
  4083  	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
  4084  
  4085  	// TotalFileSize: Combined size of all creative assets. This is a
  4086  	// read-only field. Applicable to the following creative types: all
  4087  	// RICH_MEDIA, and all VPAID.
  4088  	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
  4089  
  4090  	// Type: Type of this creative. This is a required field. Applicable to
  4091  	// all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are
  4092  	// only used for existing creatives. New creatives should use DISPLAY as
  4093  	// a replacement for these types.
  4094  	//
  4095  	// Possible values:
  4096  	//   "IMAGE"
  4097  	//   "DISPLAY_REDIRECT"
  4098  	//   "CUSTOM_DISPLAY"
  4099  	//   "INTERNAL_REDIRECT"
  4100  	//   "CUSTOM_DISPLAY_INTERSTITIAL"
  4101  	//   "INTERSTITIAL_INTERNAL_REDIRECT"
  4102  	//   "TRACKING_TEXT"
  4103  	//   "RICH_MEDIA_DISPLAY_BANNER"
  4104  	//   "RICH_MEDIA_INPAGE_FLOATING"
  4105  	//   "RICH_MEDIA_IM_EXPAND"
  4106  	//   "RICH_MEDIA_DISPLAY_EXPANDING"
  4107  	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
  4108  	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
  4109  	//   "RICH_MEDIA_MOBILE_IN_APP"
  4110  	//   "FLASH_INPAGE"
  4111  	//   "INSTREAM_VIDEO"
  4112  	//   "VPAID_LINEAR_VIDEO"
  4113  	//   "VPAID_NON_LINEAR_VIDEO"
  4114  	//   "INSTREAM_VIDEO_REDIRECT"
  4115  	//   "RICH_MEDIA_PEEL_DOWN"
  4116  	//   "HTML5_BANNER"
  4117  	//   "DISPLAY"
  4118  	//   "DISPLAY_IMAGE_GALLERY"
  4119  	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
  4120  	//   "INSTREAM_AUDIO"
  4121  	Type string `json:"type,omitempty"`
  4122  
  4123  	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
  4124  	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
  4125  	// and VPAID.
  4126  	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
  4127  
  4128  	// Version: The version number helps you keep track of multiple versions
  4129  	// of your creative in your reports. The version number will always be
  4130  	// auto-generated during insert operations to start at 1. For tracking
  4131  	// creatives the version cannot be incremented and will always remain at
  4132  	// 1. For all other creative types the version can be incremented only
  4133  	// by 1 during update operations. In addition, the version will be
  4134  	// automatically incremented by 1 when undergoing Rich Media creative
  4135  	// merging. Applicable to all creative types.
  4136  	Version int64 `json:"version,omitempty"`
  4137  
  4138  	// ServerResponse contains the HTTP response code and headers from the
  4139  	// server.
  4140  	googleapi.ServerResponse `json:"-"`
  4141  
  4142  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  4143  	// unconditionally include in API requests. By default, fields with
  4144  	// empty or default values are omitted from API requests. However, any
  4145  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4146  	// sent to the server regardless of whether the field is empty or not.
  4147  	// This may be used to include empty fields in Patch requests.
  4148  	ForceSendFields []string `json:"-"`
  4149  
  4150  	// NullFields is a list of field names (e.g. "AccountId") to include in
  4151  	// API requests with the JSON null value. By default, fields with empty
  4152  	// values are omitted from API requests. However, any field with an
  4153  	// empty value appearing in NullFields will be sent to the server as
  4154  	// null. It is an error if a field in this list has a non-empty value.
  4155  	// This may be used to include null fields in Patch requests.
  4156  	NullFields []string `json:"-"`
  4157  }
  4158  
  4159  func (s *Creative) MarshalJSON() ([]byte, error) {
  4160  	type NoMethod Creative
  4161  	raw := NoMethod(*s)
  4162  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4163  }
  4164  
  4165  func (s *Creative) UnmarshalJSON(data []byte) error {
  4166  	type NoMethod Creative
  4167  	var s1 struct {
  4168  		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
  4169  		*NoMethod
  4170  	}
  4171  	s1.NoMethod = (*NoMethod)(s)
  4172  	if err := json.Unmarshal(data, &s1); err != nil {
  4173  		return err
  4174  	}
  4175  	s.MediaDuration = float64(s1.MediaDuration)
  4176  	return nil
  4177  }
  4178  
  4179  // CreativeAsset: Creative Asset.
  4180  type CreativeAsset struct {
  4181  	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
  4182  	// This is a read-only field. Applicable to the following creative type:
  4183  	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
  4184  	// not HTML_IMAGE.
  4185  	ActionScript3 bool `json:"actionScript3,omitempty"`
  4186  
  4187  	// Active: Whether the video or audio asset is active. This is a
  4188  	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
  4189  	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
  4190  	// VPAID.
  4191  	Active bool `json:"active,omitempty"`
  4192  
  4193  	// AdditionalSizes: Additional sizes associated with this creative
  4194  	// asset. HTML5 asset generated by compatible software such as GWD will
  4195  	// be able to support more sizes this creative asset can render.
  4196  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  4197  
  4198  	// Alignment: Possible alignments for an asset. This is a read-only
  4199  	// field. Applicable to the following creative types:
  4200  	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .
  4201  	//
  4202  	// Possible values:
  4203  	//   "ALIGNMENT_TOP"
  4204  	//   "ALIGNMENT_RIGHT"
  4205  	//   "ALIGNMENT_BOTTOM"
  4206  	//   "ALIGNMENT_LEFT"
  4207  	Alignment string `json:"alignment,omitempty"`
  4208  
  4209  	// ArtworkType: Artwork type of rich media creative. This is a read-only
  4210  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4211  	//
  4212  	// Possible values:
  4213  	//   "ARTWORK_TYPE_FLASH"
  4214  	//   "ARTWORK_TYPE_HTML5"
  4215  	//   "ARTWORK_TYPE_MIXED"
  4216  	//   "ARTWORK_TYPE_IMAGE"
  4217  	ArtworkType string `json:"artworkType,omitempty"`
  4218  
  4219  	// AssetIdentifier: Identifier of this asset. This is the same
  4220  	// identifier returned during creative asset insert operation. This is a
  4221  	// required field. Applicable to all but the following creative types:
  4222  	// all REDIRECT and TRACKING_TEXT.
  4223  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4224  
  4225  	// AudioBitRate: Audio stream bit rate in kbps. This is a read-only
  4226  	// field. Applicable to the following creative types: INSTREAM_AUDIO,
  4227  	// INSTREAM_VIDEO and all VPAID.
  4228  	AudioBitRate int64 `json:"audioBitRate,omitempty"`
  4229  
  4230  	// AudioSampleRate: Audio sample bit rate in hertz. This is a read-only
  4231  	// field. Applicable to the following creative types: INSTREAM_AUDIO,
  4232  	// INSTREAM_VIDEO and all VPAID.
  4233  	AudioSampleRate int64 `json:"audioSampleRate,omitempty"`
  4234  
  4235  	// BackupImageExit: Exit event configured for the backup image.
  4236  	// Applicable to the following creative types: all RICH_MEDIA.
  4237  	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
  4238  
  4239  	// BitRate: Detected bit-rate for audio or video asset. This is a
  4240  	// read-only field. Applicable to the following creative types:
  4241  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4242  	BitRate int64 `json:"bitRate,omitempty"`
  4243  
  4244  	// ChildAssetType: Rich media child asset type. This is a read-only
  4245  	// field. Applicable to the following creative types: all VPAID.
  4246  	//
  4247  	// Possible values:
  4248  	//   "CHILD_ASSET_TYPE_FLASH"
  4249  	//   "CHILD_ASSET_TYPE_VIDEO"
  4250  	//   "CHILD_ASSET_TYPE_IMAGE"
  4251  	//   "CHILD_ASSET_TYPE_DATA"
  4252  	ChildAssetType string `json:"childAssetType,omitempty"`
  4253  
  4254  	// CollapsedSize: Size of an asset when collapsed. This is a read-only
  4255  	// field. Applicable to the following creative types: all RICH_MEDIA and
  4256  	// all VPAID. Additionally, applicable to assets whose displayType is
  4257  	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4258  	CollapsedSize *Size `json:"collapsedSize,omitempty"`
  4259  
  4260  	// CompanionCreativeIds: List of companion creatives assigned to an
  4261  	// in-stream video creative asset. Acceptable values include IDs of
  4262  	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
  4263  	// creative type with dynamicAssetSelection set to true.
  4264  	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
  4265  
  4266  	// CustomStartTimeValue: Custom start time in seconds for making the
  4267  	// asset visible. Applicable to the following creative types: all
  4268  	// RICH_MEDIA. Value must be greater than or equal to 0.
  4269  	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
  4270  
  4271  	// DetectedFeatures: List of feature dependencies for the creative asset
  4272  	// that are detected by Campaign Manager. Feature dependencies are
  4273  	// features that a browser must be able to support in order to render
  4274  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4275  	// field. Applicable to the following creative types: HTML5_BANNER.
  4276  	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
  4277  	//
  4278  	// Possible values:
  4279  	//   "CSS_FONT_FACE"
  4280  	//   "CSS_BACKGROUND_SIZE"
  4281  	//   "CSS_BORDER_IMAGE"
  4282  	//   "CSS_BORDER_RADIUS"
  4283  	//   "CSS_BOX_SHADOW"
  4284  	//   "CSS_FLEX_BOX"
  4285  	//   "CSS_HSLA"
  4286  	//   "CSS_MULTIPLE_BGS"
  4287  	//   "CSS_OPACITY"
  4288  	//   "CSS_RGBA"
  4289  	//   "CSS_TEXT_SHADOW"
  4290  	//   "CSS_ANIMATIONS"
  4291  	//   "CSS_COLUMNS"
  4292  	//   "CSS_GENERATED_CONTENT"
  4293  	//   "CSS_GRADIENTS"
  4294  	//   "CSS_REFLECTIONS"
  4295  	//   "CSS_TRANSFORMS"
  4296  	//   "CSS_TRANSFORMS3D"
  4297  	//   "CSS_TRANSITIONS"
  4298  	//   "APPLICATION_CACHE"
  4299  	//   "CANVAS"
  4300  	//   "CANVAS_TEXT"
  4301  	//   "DRAG_AND_DROP"
  4302  	//   "HASH_CHANGE"
  4303  	//   "HISTORY"
  4304  	//   "AUDIO"
  4305  	//   "VIDEO"
  4306  	//   "INDEXED_DB"
  4307  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4308  	//   "INPUT_ATTR_AUTOFOCUS"
  4309  	//   "INPUT_ATTR_LIST"
  4310  	//   "INPUT_ATTR_PLACEHOLDER"
  4311  	//   "INPUT_ATTR_MAX"
  4312  	//   "INPUT_ATTR_MIN"
  4313  	//   "INPUT_ATTR_MULTIPLE"
  4314  	//   "INPUT_ATTR_PATTERN"
  4315  	//   "INPUT_ATTR_REQUIRED"
  4316  	//   "INPUT_ATTR_STEP"
  4317  	//   "INPUT_TYPE_SEARCH"
  4318  	//   "INPUT_TYPE_TEL"
  4319  	//   "INPUT_TYPE_URL"
  4320  	//   "INPUT_TYPE_EMAIL"
  4321  	//   "INPUT_TYPE_DATETIME"
  4322  	//   "INPUT_TYPE_DATE"
  4323  	//   "INPUT_TYPE_MONTH"
  4324  	//   "INPUT_TYPE_WEEK"
  4325  	//   "INPUT_TYPE_TIME"
  4326  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4327  	//   "INPUT_TYPE_NUMBER"
  4328  	//   "INPUT_TYPE_RANGE"
  4329  	//   "INPUT_TYPE_COLOR"
  4330  	//   "LOCAL_STORAGE"
  4331  	//   "POST_MESSAGE"
  4332  	//   "SESSION_STORAGE"
  4333  	//   "WEB_SOCKETS"
  4334  	//   "WEB_SQL_DATABASE"
  4335  	//   "WEB_WORKERS"
  4336  	//   "GEO_LOCATION"
  4337  	//   "INLINE_SVG"
  4338  	//   "SMIL"
  4339  	//   "SVG_HREF"
  4340  	//   "SVG_CLIP_PATHS"
  4341  	//   "TOUCH"
  4342  	//   "WEBGL"
  4343  	//   "SVG_FILTERS"
  4344  	//   "SVG_FE_IMAGE"
  4345  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4346  
  4347  	// DisplayType: Type of rich media asset. This is a read-only field.
  4348  	// Applicable to the following creative types: all RICH_MEDIA.
  4349  	//
  4350  	// Possible values:
  4351  	//   "ASSET_DISPLAY_TYPE_INPAGE"
  4352  	//   "ASSET_DISPLAY_TYPE_FLOATING"
  4353  	//   "ASSET_DISPLAY_TYPE_OVERLAY"
  4354  	//   "ASSET_DISPLAY_TYPE_EXPANDING"
  4355  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
  4356  	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
  4357  	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
  4358  	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
  4359  	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
  4360  	//   "ASSET_DISPLAY_TYPE_BACKDROP"
  4361  	DisplayType string `json:"displayType,omitempty"`
  4362  
  4363  	// Duration: Duration in seconds for which an asset will be displayed.
  4364  	// Applicable to the following creative types: INSTREAM_AUDIO,
  4365  	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
  4366  	// equal to 1.
  4367  	Duration int64 `json:"duration,omitempty"`
  4368  
  4369  	// DurationType: Duration type for which an asset will be displayed.
  4370  	// Applicable to the following creative types: all RICH_MEDIA.
  4371  	//
  4372  	// Possible values:
  4373  	//   "ASSET_DURATION_TYPE_AUTO"
  4374  	//   "ASSET_DURATION_TYPE_NONE"
  4375  	//   "ASSET_DURATION_TYPE_CUSTOM"
  4376  	DurationType string `json:"durationType,omitempty"`
  4377  
  4378  	// ExpandedDimension: Detected expanded dimension for video asset. This
  4379  	// is a read-only field. Applicable to the following creative types:
  4380  	// INSTREAM_VIDEO and all VPAID.
  4381  	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
  4382  
  4383  	// FileSize: File size associated with this creative asset. This is a
  4384  	// read-only field. Applicable to all but the following creative types:
  4385  	// all REDIRECT and TRACKING_TEXT.
  4386  	FileSize int64 `json:"fileSize,omitempty,string"`
  4387  
  4388  	// FlashVersion: Flash version of the asset. This is a read-only field.
  4389  	// Applicable to the following creative types: FLASH_INPAGE, all
  4390  	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
  4391  	// asset type is not HTML_IMAGE.
  4392  	FlashVersion int64 `json:"flashVersion,omitempty"`
  4393  
  4394  	// FrameRate: Video frame rate for video asset in frames per second.
  4395  	// This is a read-only field. Applicable to the following creative
  4396  	// types: INSTREAM_VIDEO and all VPAID.
  4397  	FrameRate float64 `json:"frameRate,omitempty"`
  4398  
  4399  	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
  4400  	// Applicable to the following creative types: all RICH_MEDIA.
  4401  	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
  4402  
  4403  	// HideSelectionBoxes: Whether to hide selection boxes flag for an
  4404  	// asset. Applicable to the following creative types: all RICH_MEDIA.
  4405  	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
  4406  
  4407  	// HorizontallyLocked: Whether the asset is horizontally locked. This is
  4408  	// a read-only field. Applicable to the following creative types: all
  4409  	// RICH_MEDIA.
  4410  	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
  4411  
  4412  	// Id: Numeric ID of this creative asset. This is a required field and
  4413  	// should not be modified. Applicable to all but the following creative
  4414  	// types: all REDIRECT and TRACKING_TEXT.
  4415  	Id int64 `json:"id,omitempty,string"`
  4416  
  4417  	// IdDimensionValue: Dimension value for the ID of the asset. This is a
  4418  	// read-only, auto-generated field.
  4419  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4420  
  4421  	// MediaDuration: Detected duration for audio or video asset. This is a
  4422  	// read-only field. Applicable to the following creative types:
  4423  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4424  	MediaDuration float64 `json:"mediaDuration,omitempty"`
  4425  
  4426  	// MimeType: Detected MIME type for audio or video asset. This is a
  4427  	// read-only field. Applicable to the following creative types:
  4428  	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
  4429  	MimeType string `json:"mimeType,omitempty"`
  4430  
  4431  	// Offset: Offset position for an asset in collapsed mode. This is a
  4432  	// read-only field. Applicable to the following creative types: all
  4433  	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
  4434  	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
  4435  	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
  4436  	Offset *OffsetPosition `json:"offset,omitempty"`
  4437  
  4438  	// Orientation: Orientation of video asset. This is a read-only,
  4439  	// auto-generated field.
  4440  	//
  4441  	// Possible values:
  4442  	//   "LANDSCAPE"
  4443  	//   "PORTRAIT"
  4444  	//   "SQUARE"
  4445  	Orientation string `json:"orientation,omitempty"`
  4446  
  4447  	// OriginalBackup: Whether the backup asset is original or changed by
  4448  	// the user in Campaign Manager. Applicable to the following creative
  4449  	// types: all RICH_MEDIA.
  4450  	OriginalBackup bool `json:"originalBackup,omitempty"`
  4451  
  4452  	// PoliteLoad: Whether this asset is used as a polite load asset.
  4453  	PoliteLoad bool `json:"politeLoad,omitempty"`
  4454  
  4455  	// Position: Offset position for an asset. Applicable to the following
  4456  	// creative types: all RICH_MEDIA.
  4457  	Position *OffsetPosition `json:"position,omitempty"`
  4458  
  4459  	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
  4460  	// field. Applicable to the following creative types: all RICH_MEDIA.
  4461  	//
  4462  	// Possible values:
  4463  	//   "OFFSET_UNIT_PIXEL"
  4464  	//   "OFFSET_UNIT_PERCENT"
  4465  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4466  	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
  4467  
  4468  	// PositionTopUnit: Offset top unit for an asset. This is a read-only
  4469  	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
  4470  	// Applicable to the following creative types: all RICH_MEDIA.
  4471  	//
  4472  	// Possible values:
  4473  	//   "OFFSET_UNIT_PIXEL"
  4474  	//   "OFFSET_UNIT_PERCENT"
  4475  	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
  4476  	PositionTopUnit string `json:"positionTopUnit,omitempty"`
  4477  
  4478  	// ProgressiveServingUrl: Progressive URL for video asset. This is a
  4479  	// read-only field. Applicable to the following creative types:
  4480  	// INSTREAM_VIDEO and all VPAID.
  4481  	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
  4482  
  4483  	// Pushdown: Whether the asset pushes down other content. Applicable to
  4484  	// the following creative types: all RICH_MEDIA. Additionally, only
  4485  	// applicable when the asset offsets are 0, the collapsedSize.width
  4486  	// matches size.width, and the collapsedSize.height is less than
  4487  	// size.height.
  4488  	Pushdown bool `json:"pushdown,omitempty"`
  4489  
  4490  	// PushdownDuration: Pushdown duration in seconds for an asset.
  4491  	// Applicable to the following creative types: all
  4492  	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
  4493  	// field is true, the offsets are 0, the collapsedSize.width matches
  4494  	// size.width, and the collapsedSize.height is less than size.height.
  4495  	// Acceptable values are 0 to 9.99, inclusive.
  4496  	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
  4497  
  4498  	// Role: Role of the asset in relation to creative. Applicable to all
  4499  	// but the following creative types: all REDIRECT and TRACKING_TEXT.
  4500  	// This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
  4501  	// HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
  4502  	// contain multiple primary assets), and all VPAID creatives.
  4503  	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
  4504  	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
  4505  	// type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply
  4506  	// to FLASH_INPAGE creatives. OTHER refers to assets from sources other
  4507  	// than Campaign Manager, such as Studio uploaded assets, applicable to
  4508  	// all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos
  4509  	// uploaded by the user in Campaign Manager and is applicable to
  4510  	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO
  4511  	// refers to videos transcoded by Campaign Manager from PARENT_VIDEO
  4512  	// assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
  4513  	// creatives. ALTERNATE_VIDEO refers to the Campaign Manager
  4514  	// representation of child asset videos from Studio, and is applicable
  4515  	// to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed
  4516  	// within Campaign Manager. For VPAID_LINEAR_VIDEO creatives,
  4517  	// PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are
  4518  	// marked active serve as backup in case the VPAID creative cannot be
  4519  	// served. Only PARENT_VIDEO assets can be added or removed for an
  4520  	// INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to
  4521  	// audios uploaded by the user in Campaign Manager and is applicable to
  4522  	// INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios
  4523  	// transcoded by Campaign Manager from PARENT_AUDIO assets and is
  4524  	// applicable to INSTREAM_AUDIO creatives.
  4525  	//
  4526  	// Possible values:
  4527  	//   "PRIMARY"
  4528  	//   "BACKUP_IMAGE"
  4529  	//   "ADDITIONAL_IMAGE"
  4530  	//   "ADDITIONAL_FLASH"
  4531  	//   "PARENT_VIDEO"
  4532  	//   "TRANSCODED_VIDEO"
  4533  	//   "OTHER"
  4534  	//   "ALTERNATE_VIDEO"
  4535  	//   "PARENT_AUDIO"
  4536  	//   "TRANSCODED_AUDIO"
  4537  	Role string `json:"role,omitempty"`
  4538  
  4539  	// Size: Size associated with this creative asset. This is a required
  4540  	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
  4541  	// if left blank, this field will be automatically set using the actual
  4542  	// size of the associated image asset. Applicable to the following
  4543  	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
  4544  	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
  4545  	// asset type is not HTML_IMAGE.
  4546  	Size *Size `json:"size,omitempty"`
  4547  
  4548  	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
  4549  	// field. Applicable to all but the following creative types: all
  4550  	// REDIRECT and TRACKING_TEXT.
  4551  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4552  
  4553  	// StartTimeType: Initial wait time type before making the asset
  4554  	// visible. Applicable to the following creative types: all RICH_MEDIA.
  4555  	//
  4556  	// Possible values:
  4557  	//   "ASSET_START_TIME_TYPE_NONE"
  4558  	//   "ASSET_START_TIME_TYPE_CUSTOM"
  4559  	StartTimeType string `json:"startTimeType,omitempty"`
  4560  
  4561  	// StreamingServingUrl: Streaming URL for video asset. This is a
  4562  	// read-only field. Applicable to the following creative types:
  4563  	// INSTREAM_VIDEO and all VPAID.
  4564  	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
  4565  
  4566  	// Transparency: Whether the asset is transparent. Applicable to the
  4567  	// following creative types: all RICH_MEDIA. Additionally, only
  4568  	// applicable to HTML5 assets.
  4569  	Transparency bool `json:"transparency,omitempty"`
  4570  
  4571  	// VerticallyLocked: Whether the asset is vertically locked. This is a
  4572  	// read-only field. Applicable to the following creative types: all
  4573  	// RICH_MEDIA.
  4574  	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
  4575  
  4576  	// WindowMode: Window mode options for flash assets. Applicable to the
  4577  	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
  4578  	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
  4579  	// RICH_MEDIA_INPAGE_FLOATING.
  4580  	//
  4581  	// Possible values:
  4582  	//   "OPAQUE"
  4583  	//   "WINDOW"
  4584  	//   "TRANSPARENT"
  4585  	WindowMode string `json:"windowMode,omitempty"`
  4586  
  4587  	// ZIndex: zIndex value of an asset. Applicable to the following
  4588  	// creative types: all RICH_MEDIA.Additionally, only applicable to
  4589  	// assets whose displayType is NOT one of the following types:
  4590  	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
  4591  	// values are -999999999 to 999999999, inclusive.
  4592  	ZIndex int64 `json:"zIndex,omitempty"`
  4593  
  4594  	// ZipFilename: File name of zip file. This is a read-only field.
  4595  	// Applicable to the following creative types: HTML5_BANNER.
  4596  	ZipFilename string `json:"zipFilename,omitempty"`
  4597  
  4598  	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
  4599  	// to the following creative types: HTML5_BANNER.
  4600  	ZipFilesize string `json:"zipFilesize,omitempty"`
  4601  
  4602  	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
  4603  	// unconditionally include in API requests. By default, fields with
  4604  	// empty or default values are omitted from API requests. However, any
  4605  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4606  	// sent to the server regardless of whether the field is empty or not.
  4607  	// This may be used to include empty fields in Patch requests.
  4608  	ForceSendFields []string `json:"-"`
  4609  
  4610  	// NullFields is a list of field names (e.g. "ActionScript3") to include
  4611  	// in API requests with the JSON null value. By default, fields with
  4612  	// empty values are omitted from API requests. However, any field with
  4613  	// an empty value appearing in NullFields will be sent to the server as
  4614  	// null. It is an error if a field in this list has a non-empty value.
  4615  	// This may be used to include null fields in Patch requests.
  4616  	NullFields []string `json:"-"`
  4617  }
  4618  
  4619  func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
  4620  	type NoMethod CreativeAsset
  4621  	raw := NoMethod(*s)
  4622  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4623  }
  4624  
  4625  func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
  4626  	type NoMethod CreativeAsset
  4627  	var s1 struct {
  4628  		FrameRate        gensupport.JSONFloat64 `json:"frameRate"`
  4629  		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
  4630  		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
  4631  		*NoMethod
  4632  	}
  4633  	s1.NoMethod = (*NoMethod)(s)
  4634  	if err := json.Unmarshal(data, &s1); err != nil {
  4635  		return err
  4636  	}
  4637  	s.FrameRate = float64(s1.FrameRate)
  4638  	s.MediaDuration = float64(s1.MediaDuration)
  4639  	s.PushdownDuration = float64(s1.PushdownDuration)
  4640  	return nil
  4641  }
  4642  
  4643  // CreativeAssetId: Creative Asset ID.
  4644  type CreativeAssetId struct {
  4645  	// Name: Name of the creative asset. This is a required field while
  4646  	// inserting an asset. After insertion, this assetIdentifier is used to
  4647  	// identify the uploaded asset. Characters in the name must be
  4648  	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
  4649  	Name string `json:"name,omitempty"`
  4650  
  4651  	// Type: Type of asset to upload. This is a required field. FLASH and
  4652  	// IMAGE are no longer supported for new uploads. All image assets
  4653  	// should use HTML_IMAGE.
  4654  	//
  4655  	// Possible values:
  4656  	//   "IMAGE"
  4657  	//   "FLASH"
  4658  	//   "VIDEO"
  4659  	//   "HTML"
  4660  	//   "HTML_IMAGE"
  4661  	//   "AUDIO"
  4662  	Type string `json:"type,omitempty"`
  4663  
  4664  	// ForceSendFields is a list of field names (e.g. "Name") to
  4665  	// unconditionally include in API requests. By default, fields with
  4666  	// empty or default values are omitted from API requests. However, any
  4667  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4668  	// sent to the server regardless of whether the field is empty or not.
  4669  	// This may be used to include empty fields in Patch requests.
  4670  	ForceSendFields []string `json:"-"`
  4671  
  4672  	// NullFields is a list of field names (e.g. "Name") to include in API
  4673  	// requests with the JSON null value. By default, fields with empty
  4674  	// values are omitted from API requests. However, any field with an
  4675  	// empty value appearing in NullFields will be sent to the server as
  4676  	// null. It is an error if a field in this list has a non-empty value.
  4677  	// This may be used to include null fields in Patch requests.
  4678  	NullFields []string `json:"-"`
  4679  }
  4680  
  4681  func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
  4682  	type NoMethod CreativeAssetId
  4683  	raw := NoMethod(*s)
  4684  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4685  }
  4686  
  4687  // CreativeAssetMetadata: CreativeAssets contains properties of a
  4688  // creative asset file which will be uploaded or has already been
  4689  // uploaded. Refer to the creative sample code for how to upload assets
  4690  // and insert a creative.
  4691  type CreativeAssetMetadata struct {
  4692  	// AssetIdentifier: ID of the creative asset. This is a required field.
  4693  	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
  4694  
  4695  	// ClickTags: List of detected click tags for assets. This is a
  4696  	// read-only, auto-generated field. This field is empty for a rich media
  4697  	// asset.
  4698  	ClickTags []*ClickTag `json:"clickTags,omitempty"`
  4699  
  4700  	// DetectedFeatures: List of feature dependencies for the creative asset
  4701  	// that are detected by Campaign Manager. Feature dependencies are
  4702  	// features that a browser must be able to support in order to render
  4703  	// your HTML5 creative correctly. This is a read-only, auto-generated
  4704  	// field.
  4705  	//
  4706  	// Possible values:
  4707  	//   "CSS_FONT_FACE"
  4708  	//   "CSS_BACKGROUND_SIZE"
  4709  	//   "CSS_BORDER_IMAGE"
  4710  	//   "CSS_BORDER_RADIUS"
  4711  	//   "CSS_BOX_SHADOW"
  4712  	//   "CSS_FLEX_BOX"
  4713  	//   "CSS_HSLA"
  4714  	//   "CSS_MULTIPLE_BGS"
  4715  	//   "CSS_OPACITY"
  4716  	//   "CSS_RGBA"
  4717  	//   "CSS_TEXT_SHADOW"
  4718  	//   "CSS_ANIMATIONS"
  4719  	//   "CSS_COLUMNS"
  4720  	//   "CSS_GENERATED_CONTENT"
  4721  	//   "CSS_GRADIENTS"
  4722  	//   "CSS_REFLECTIONS"
  4723  	//   "CSS_TRANSFORMS"
  4724  	//   "CSS_TRANSFORMS3D"
  4725  	//   "CSS_TRANSITIONS"
  4726  	//   "APPLICATION_CACHE"
  4727  	//   "CANVAS"
  4728  	//   "CANVAS_TEXT"
  4729  	//   "DRAG_AND_DROP"
  4730  	//   "HASH_CHANGE"
  4731  	//   "HISTORY"
  4732  	//   "AUDIO"
  4733  	//   "VIDEO"
  4734  	//   "INDEXED_DB"
  4735  	//   "INPUT_ATTR_AUTOCOMPLETE"
  4736  	//   "INPUT_ATTR_AUTOFOCUS"
  4737  	//   "INPUT_ATTR_LIST"
  4738  	//   "INPUT_ATTR_PLACEHOLDER"
  4739  	//   "INPUT_ATTR_MAX"
  4740  	//   "INPUT_ATTR_MIN"
  4741  	//   "INPUT_ATTR_MULTIPLE"
  4742  	//   "INPUT_ATTR_PATTERN"
  4743  	//   "INPUT_ATTR_REQUIRED"
  4744  	//   "INPUT_ATTR_STEP"
  4745  	//   "INPUT_TYPE_SEARCH"
  4746  	//   "INPUT_TYPE_TEL"
  4747  	//   "INPUT_TYPE_URL"
  4748  	//   "INPUT_TYPE_EMAIL"
  4749  	//   "INPUT_TYPE_DATETIME"
  4750  	//   "INPUT_TYPE_DATE"
  4751  	//   "INPUT_TYPE_MONTH"
  4752  	//   "INPUT_TYPE_WEEK"
  4753  	//   "INPUT_TYPE_TIME"
  4754  	//   "INPUT_TYPE_DATETIME_LOCAL"
  4755  	//   "INPUT_TYPE_NUMBER"
  4756  	//   "INPUT_TYPE_RANGE"
  4757  	//   "INPUT_TYPE_COLOR"
  4758  	//   "LOCAL_STORAGE"
  4759  	//   "POST_MESSAGE"
  4760  	//   "SESSION_STORAGE"
  4761  	//   "WEB_SOCKETS"
  4762  	//   "WEB_SQL_DATABASE"
  4763  	//   "WEB_WORKERS"
  4764  	//   "GEO_LOCATION"
  4765  	//   "INLINE_SVG"
  4766  	//   "SMIL"
  4767  	//   "SVG_HREF"
  4768  	//   "SVG_CLIP_PATHS"
  4769  	//   "TOUCH"
  4770  	//   "WEBGL"
  4771  	//   "SVG_FILTERS"
  4772  	//   "SVG_FE_IMAGE"
  4773  	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
  4774  
  4775  	// Id: Numeric ID of the asset. This is a read-only, auto-generated
  4776  	// field.
  4777  	Id int64 `json:"id,omitempty,string"`
  4778  
  4779  	// IdDimensionValue: Dimension value for the numeric ID of the asset.
  4780  	// This is a read-only, auto-generated field.
  4781  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  4782  
  4783  	// Kind: Identifies what kind of resource this is. Value: the fixed
  4784  	// string "dfareporting#creativeAssetMetadata".
  4785  	Kind string `json:"kind,omitempty"`
  4786  
  4787  	// WarnedValidationRules: Rules validated during code generation that
  4788  	// generated a warning. This is a read-only, auto-generated field.
  4789  	// Possible values are: - "ADMOB_REFERENCED" -
  4790  	// "ASSET_FORMAT_UNSUPPORTED_DCM" - "ASSET_INVALID" -
  4791  	// "CLICK_TAG_HARD_CODED" - "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" -
  4792  	// "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" -
  4793  	// "CLICK_TAG_NON_TOP_LEVEL" - "COMPONENT_UNSUPPORTED_DCM" -
  4794  	// "ENABLER_UNSUPPORTED_METHOD_DCM" - "EXTERNAL_FILE_REFERENCED" -
  4795  	// "FILE_DETAIL_EMPTY" - "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID"
  4796  	// - "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" -
  4797  	// "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - "NOT_SSL_COMPLIANT" -
  4798  	// "ORPHANED_ASSET" - "PRIMARY_HTML_MISSING" - "SVG_INVALID" -
  4799  	// "ZIP_INVALID"
  4800  	//
  4801  	// Possible values:
  4802  	//   "CLICK_TAG_NON_TOP_LEVEL"
  4803  	//   "CLICK_TAG_MISSING"
  4804  	//   "CLICK_TAG_MORE_THAN_ONE"
  4805  	//   "CLICK_TAG_INVALID"
  4806  	//   "ORPHANED_ASSET"
  4807  	//   "PRIMARY_HTML_MISSING"
  4808  	//   "EXTERNAL_FILE_REFERENCED"
  4809  	//   "MRAID_REFERENCED"
  4810  	//   "ADMOB_REFERENCED"
  4811  	//   "FILE_TYPE_INVALID"
  4812  	//   "ZIP_INVALID"
  4813  	//   "LINKED_FILE_NOT_FOUND"
  4814  	//   "MAX_FLASH_VERSION_11"
  4815  	//   "NOT_SSL_COMPLIANT"
  4816  	//   "FILE_DETAIL_EMPTY"
  4817  	//   "ASSET_INVALID"
  4818  	//   "GWD_PROPERTIES_INVALID"
  4819  	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
  4820  	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
  4821  	//   "COMPONENT_UNSUPPORTED_DCM"
  4822  	//   "HTML5_FEATURE_UNSUPPORTED"
  4823  	//   "CLICK_TAG_IN_GWD"
  4824  	//   "CLICK_TAG_HARD_CODED"
  4825  	//   "SVG_INVALID"
  4826  	//   "CLICK_TAG_IN_RICH_MEDIA"
  4827  	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
  4828  
  4829  	// ServerResponse contains the HTTP response code and headers from the
  4830  	// server.
  4831  	googleapi.ServerResponse `json:"-"`
  4832  
  4833  	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
  4834  	// unconditionally include in API requests. By default, fields with
  4835  	// empty or default values are omitted from API requests. However, any
  4836  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4837  	// sent to the server regardless of whether the field is empty or not.
  4838  	// This may be used to include empty fields in Patch requests.
  4839  	ForceSendFields []string `json:"-"`
  4840  
  4841  	// NullFields is a list of field names (e.g. "AssetIdentifier") to
  4842  	// include in API requests with the JSON null value. By default, fields
  4843  	// with empty values are omitted from API requests. However, any field
  4844  	// with an empty value appearing in NullFields will be sent to the
  4845  	// server as null. It is an error if a field in this list has a
  4846  	// non-empty value. This may be used to include null fields in Patch
  4847  	// requests.
  4848  	NullFields []string `json:"-"`
  4849  }
  4850  
  4851  func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
  4852  	type NoMethod CreativeAssetMetadata
  4853  	raw := NoMethod(*s)
  4854  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4855  }
  4856  
  4857  // CreativeAssetSelection: Encapsulates the list of rules for asset
  4858  // selection and a default asset in case none of the rules match.
  4859  // Applicable to INSTREAM_VIDEO creatives.
  4860  type CreativeAssetSelection struct {
  4861  	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
  4862  	// the parent assets in this creative, and will be served if none of the
  4863  	// rules match. This is a required field.
  4864  	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
  4865  
  4866  	// Rules: Rules determine which asset will be served to a viewer. Rules
  4867  	// will be evaluated in the order in which they are stored in this list.
  4868  	// This list must contain at least one rule. Applicable to
  4869  	// INSTREAM_VIDEO creatives.
  4870  	Rules []*Rule `json:"rules,omitempty"`
  4871  
  4872  	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
  4873  	// unconditionally include in API requests. By default, fields with
  4874  	// empty or default values are omitted from API requests. However, any
  4875  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4876  	// sent to the server regardless of whether the field is empty or not.
  4877  	// This may be used to include empty fields in Patch requests.
  4878  	ForceSendFields []string `json:"-"`
  4879  
  4880  	// NullFields is a list of field names (e.g. "DefaultAssetId") to
  4881  	// include in API requests with the JSON null value. By default, fields
  4882  	// with empty values are omitted from API requests. However, any field
  4883  	// with an empty value appearing in NullFields will be sent to the
  4884  	// server as null. It is an error if a field in this list has a
  4885  	// non-empty value. This may be used to include null fields in Patch
  4886  	// requests.
  4887  	NullFields []string `json:"-"`
  4888  }
  4889  
  4890  func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
  4891  	type NoMethod CreativeAssetSelection
  4892  	raw := NoMethod(*s)
  4893  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4894  }
  4895  
  4896  // CreativeAssignment: Creative Assignment.
  4897  type CreativeAssignment struct {
  4898  	// Active: Whether this creative assignment is active. When true, the
  4899  	// creative will be included in the ad's rotation.
  4900  	Active bool `json:"active,omitempty"`
  4901  
  4902  	// ApplyEventTags: Whether applicable event tags should fire when this
  4903  	// creative assignment is rendered. If this value is unset when the ad
  4904  	// is inserted or updated, it will default to true for all creative
  4905  	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
  4906  	// and INSTREAM_VIDEO.
  4907  	ApplyEventTags bool `json:"applyEventTags,omitempty"`
  4908  
  4909  	// ClickThroughUrl: Click-through URL of the creative assignment.
  4910  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
  4911  
  4912  	// CompanionCreativeOverrides: Companion creative overrides for this
  4913  	// creative assignment. Applicable to video ads.
  4914  	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
  4915  
  4916  	// CreativeGroupAssignments: Creative group assignments for this
  4917  	// creative assignment. Only one assignment per creative group number is
  4918  	// allowed for a maximum of two assignments.
  4919  	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
  4920  
  4921  	// CreativeId: ID of the creative to be assigned. This is a required
  4922  	// field.
  4923  	CreativeId int64 `json:"creativeId,omitempty,string"`
  4924  
  4925  	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
  4926  	// This is a read-only, auto-generated field.
  4927  	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
  4928  
  4929  	EndTime string `json:"endTime,omitempty"`
  4930  
  4931  	// RichMediaExitOverrides: Rich media exit overrides for this creative
  4932  	// assignment. Applicable when the creative type is any of the
  4933  	// following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING
  4934  	// - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING -
  4935  	// RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP -
  4936  	// RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR -
  4937  	// VPAID_NON_LINEAR
  4938  	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
  4939  
  4940  	// Sequence: Sequence number of the creative assignment, applicable when
  4941  	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
  4942  	// values are 1 to 65535, inclusive.
  4943  	Sequence int64 `json:"sequence,omitempty"`
  4944  
  4945  	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
  4946  	// This is a read-only field that is auto-generated when the ad is
  4947  	// inserted or updated.
  4948  	SslCompliant bool `json:"sslCompliant,omitempty"`
  4949  
  4950  	StartTime string `json:"startTime,omitempty"`
  4951  
  4952  	// Weight: Weight of the creative assignment, applicable when the
  4953  	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
  4954  	// than or equal to 1.
  4955  	Weight int64 `json:"weight,omitempty"`
  4956  
  4957  	// ForceSendFields is a list of field names (e.g. "Active") to
  4958  	// unconditionally include in API requests. By default, fields with
  4959  	// empty or default values are omitted from API requests. However, any
  4960  	// non-pointer, non-interface field appearing in ForceSendFields will be
  4961  	// sent to the server regardless of whether the field is empty or not.
  4962  	// This may be used to include empty fields in Patch requests.
  4963  	ForceSendFields []string `json:"-"`
  4964  
  4965  	// NullFields is a list of field names (e.g. "Active") to include in API
  4966  	// requests with the JSON null value. By default, fields with empty
  4967  	// values are omitted from API requests. However, any field with an
  4968  	// empty value appearing in NullFields will be sent to the server as
  4969  	// null. It is an error if a field in this list has a non-empty value.
  4970  	// This may be used to include null fields in Patch requests.
  4971  	NullFields []string `json:"-"`
  4972  }
  4973  
  4974  func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
  4975  	type NoMethod CreativeAssignment
  4976  	raw := NoMethod(*s)
  4977  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  4978  }
  4979  
  4980  // CreativeClickThroughUrl: Click-through URL
  4981  type CreativeClickThroughUrl struct {
  4982  	// ComputedClickThroughUrl: Read-only convenience field representing the
  4983  	// actual URL that will be used for this click-through. The URL is
  4984  	// computed as follows: - If landingPageId is specified then that
  4985  	// landing page's URL is assigned to this field. - Otherwise, the
  4986  	// customClickThroughUrl is assigned to this field.
  4987  	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
  4988  
  4989  	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
  4990  	// landingPageId field is left unset.
  4991  	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
  4992  
  4993  	// LandingPageId: ID of the landing page for the click-through URL.
  4994  	LandingPageId int64 `json:"landingPageId,omitempty,string"`
  4995  
  4996  	// ForceSendFields is a list of field names (e.g.
  4997  	// "ComputedClickThroughUrl") to unconditionally include in API
  4998  	// requests. By default, fields with empty or default values are omitted
  4999  	// from API requests. However, any non-pointer, non-interface field
  5000  	// appearing in ForceSendFields will be sent to the server regardless of
  5001  	// whether the field is empty or not. This may be used to include empty
  5002  	// fields in Patch requests.
  5003  	ForceSendFields []string `json:"-"`
  5004  
  5005  	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
  5006  	// to include in API requests with the JSON null value. By default,
  5007  	// fields with empty values are omitted from API requests. However, any
  5008  	// field with an empty value appearing in NullFields will be sent to the
  5009  	// server as null. It is an error if a field in this list has a
  5010  	// non-empty value. This may be used to include null fields in Patch
  5011  	// requests.
  5012  	NullFields []string `json:"-"`
  5013  }
  5014  
  5015  func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
  5016  	type NoMethod CreativeClickThroughUrl
  5017  	raw := NoMethod(*s)
  5018  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5019  }
  5020  
  5021  // CreativeCustomEvent: Creative Custom Event.
  5022  type CreativeCustomEvent struct {
  5023  	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
  5024  	// and Data Transfer. This is a read-only field.
  5025  	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
  5026  
  5027  	// AdvertiserCustomEventName: User-entered name for the event.
  5028  	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
  5029  
  5030  	// AdvertiserCustomEventType: Type of the event. This is a read-only
  5031  	// field.
  5032  	//
  5033  	// Possible values:
  5034  	//   "ADVERTISER_EVENT_TIMER"
  5035  	//   "ADVERTISER_EVENT_EXIT"
  5036  	//   "ADVERTISER_EVENT_COUNTER"
  5037  	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
  5038  
  5039  	// ArtworkLabel: Artwork label column, used to link events in Campaign
  5040  	// Manager back to events in Studio. This is a required field and should
  5041  	// not be modified after insertion.
  5042  	ArtworkLabel string `json:"artworkLabel,omitempty"`
  5043  
  5044  	// ArtworkType: Artwork type used by the creative.This is a read-only
  5045  	// field.
  5046  	//
  5047  	// Possible values:
  5048  	//   "ARTWORK_TYPE_FLASH"
  5049  	//   "ARTWORK_TYPE_HTML5"
  5050  	//   "ARTWORK_TYPE_MIXED"
  5051  	//   "ARTWORK_TYPE_IMAGE"
  5052  	ArtworkType string `json:"artworkType,omitempty"`
  5053  
  5054  	// ExitClickThroughUrl: Exit click-through URL for the event. This field
  5055  	// is used only for exit events.
  5056  	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
  5057  
  5058  	// Id: ID of this event. This is a required field and should not be
  5059  	// modified after insertion.
  5060  	Id int64 `json:"id,omitempty,string"`
  5061  
  5062  	// PopupWindowProperties: Properties for rich media popup windows. This
  5063  	// field is used only for exit events.
  5064  	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
  5065  
  5066  	// TargetType: Target type used by the event.
  5067  	//
  5068  	// Possible values:
  5069  	//   "TARGET_BLANK"
  5070  	//   "TARGET_TOP"
  5071  	//   "TARGET_SELF"
  5072  	//   "TARGET_PARENT"
  5073  	//   "TARGET_POPUP"
  5074  	TargetType string `json:"targetType,omitempty"`
  5075  
  5076  	// VideoReportingId: Video reporting ID, used to differentiate multiple
  5077  	// videos in a single creative. This is a read-only field.
  5078  	VideoReportingId string `json:"videoReportingId,omitempty"`
  5079  
  5080  	// ForceSendFields is a list of field names (e.g.
  5081  	// "AdvertiserCustomEventId") to unconditionally include in API
  5082  	// requests. By default, fields with empty or default values are omitted
  5083  	// from API requests. However, any non-pointer, non-interface field
  5084  	// appearing in ForceSendFields will be sent to the server regardless of
  5085  	// whether the field is empty or not. This may be used to include empty
  5086  	// fields in Patch requests.
  5087  	ForceSendFields []string `json:"-"`
  5088  
  5089  	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
  5090  	// to include in API requests with the JSON null value. By default,
  5091  	// fields with empty values are omitted from API requests. However, any
  5092  	// field with an empty value appearing in NullFields will be sent to the
  5093  	// server as null. It is an error if a field in this list has a
  5094  	// non-empty value. This may be used to include null fields in Patch
  5095  	// requests.
  5096  	NullFields []string `json:"-"`
  5097  }
  5098  
  5099  func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
  5100  	type NoMethod CreativeCustomEvent
  5101  	raw := NoMethod(*s)
  5102  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5103  }
  5104  
  5105  // CreativeField: Contains properties of a creative field.
  5106  type CreativeField struct {
  5107  	// AccountId: Account ID of this creative field. This is a read-only
  5108  	// field that can be left blank.
  5109  	AccountId int64 `json:"accountId,omitempty,string"`
  5110  
  5111  	// AdvertiserId: Advertiser ID of this creative field. This is a
  5112  	// required field on insertion.
  5113  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5114  
  5115  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5116  	// advertiser. This is a read-only, auto-generated field.
  5117  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5118  
  5119  	// Id: ID of this creative field. This is a read-only, auto-generated
  5120  	// field.
  5121  	Id int64 `json:"id,omitempty,string"`
  5122  
  5123  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5124  	// string "dfareporting#creativeField".
  5125  	Kind string `json:"kind,omitempty"`
  5126  
  5127  	// Name: Name of this creative field. This is a required field and must
  5128  	// be less than 256 characters long and unique among creative fields of
  5129  	// the same advertiser.
  5130  	Name string `json:"name,omitempty"`
  5131  
  5132  	// SubaccountId: Subaccount ID of this creative field. This is a
  5133  	// read-only field that can be left blank.
  5134  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5135  
  5136  	// ServerResponse contains the HTTP response code and headers from the
  5137  	// server.
  5138  	googleapi.ServerResponse `json:"-"`
  5139  
  5140  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5141  	// unconditionally include in API requests. By default, fields with
  5142  	// empty or default values are omitted from API requests. However, any
  5143  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5144  	// sent to the server regardless of whether the field is empty or not.
  5145  	// This may be used to include empty fields in Patch requests.
  5146  	ForceSendFields []string `json:"-"`
  5147  
  5148  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5149  	// API requests with the JSON null value. By default, fields with empty
  5150  	// values are omitted from API requests. However, any field with an
  5151  	// empty value appearing in NullFields will be sent to the server as
  5152  	// null. It is an error if a field in this list has a non-empty value.
  5153  	// This may be used to include null fields in Patch requests.
  5154  	NullFields []string `json:"-"`
  5155  }
  5156  
  5157  func (s *CreativeField) MarshalJSON() ([]byte, error) {
  5158  	type NoMethod CreativeField
  5159  	raw := NoMethod(*s)
  5160  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5161  }
  5162  
  5163  // CreativeFieldAssignment: Creative Field Assignment.
  5164  type CreativeFieldAssignment struct {
  5165  	// CreativeFieldId: ID of the creative field.
  5166  	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
  5167  
  5168  	// CreativeFieldValueId: ID of the creative field value.
  5169  	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
  5170  
  5171  	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
  5172  	// unconditionally include in API requests. By default, fields with
  5173  	// empty or default values are omitted from API requests. However, any
  5174  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5175  	// sent to the server regardless of whether the field is empty or not.
  5176  	// This may be used to include empty fields in Patch requests.
  5177  	ForceSendFields []string `json:"-"`
  5178  
  5179  	// NullFields is a list of field names (e.g. "CreativeFieldId") to
  5180  	// include in API requests with the JSON null value. By default, fields
  5181  	// with empty values are omitted from API requests. However, any field
  5182  	// with an empty value appearing in NullFields will be sent to the
  5183  	// server as null. It is an error if a field in this list has a
  5184  	// non-empty value. This may be used to include null fields in Patch
  5185  	// requests.
  5186  	NullFields []string `json:"-"`
  5187  }
  5188  
  5189  func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
  5190  	type NoMethod CreativeFieldAssignment
  5191  	raw := NoMethod(*s)
  5192  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5193  }
  5194  
  5195  // CreativeFieldValue: Contains properties of a creative field value.
  5196  type CreativeFieldValue struct {
  5197  	// Id: ID of this creative field value. This is a read-only,
  5198  	// auto-generated field.
  5199  	Id int64 `json:"id,omitempty,string"`
  5200  
  5201  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5202  	// string "dfareporting#creativeFieldValue".
  5203  	Kind string `json:"kind,omitempty"`
  5204  
  5205  	// Value: Value of this creative field value. It needs to be less than
  5206  	// 256 characters in length and unique per creative field.
  5207  	Value string `json:"value,omitempty"`
  5208  
  5209  	// ServerResponse contains the HTTP response code and headers from the
  5210  	// server.
  5211  	googleapi.ServerResponse `json:"-"`
  5212  
  5213  	// ForceSendFields is a list of field names (e.g. "Id") to
  5214  	// unconditionally include in API requests. By default, fields with
  5215  	// empty or default values are omitted from API requests. However, any
  5216  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5217  	// sent to the server regardless of whether the field is empty or not.
  5218  	// This may be used to include empty fields in Patch requests.
  5219  	ForceSendFields []string `json:"-"`
  5220  
  5221  	// NullFields is a list of field names (e.g. "Id") to include in API
  5222  	// requests with the JSON null value. By default, fields with empty
  5223  	// values are omitted from API requests. However, any field with an
  5224  	// empty value appearing in NullFields will be sent to the server as
  5225  	// null. It is an error if a field in this list has a non-empty value.
  5226  	// This may be used to include null fields in Patch requests.
  5227  	NullFields []string `json:"-"`
  5228  }
  5229  
  5230  func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
  5231  	type NoMethod CreativeFieldValue
  5232  	raw := NoMethod(*s)
  5233  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5234  }
  5235  
  5236  // CreativeFieldValuesListResponse: Creative Field Value List Response
  5237  type CreativeFieldValuesListResponse struct {
  5238  	// CreativeFieldValues: Creative field value collection.
  5239  	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
  5240  
  5241  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5242  	// string "dfareporting#creativeFieldValuesListResponse".
  5243  	Kind string `json:"kind,omitempty"`
  5244  
  5245  	// NextPageToken: Pagination token to be used for the next list
  5246  	// operation.
  5247  	NextPageToken string `json:"nextPageToken,omitempty"`
  5248  
  5249  	// ServerResponse contains the HTTP response code and headers from the
  5250  	// server.
  5251  	googleapi.ServerResponse `json:"-"`
  5252  
  5253  	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
  5254  	// to unconditionally include in API requests. By default, fields with
  5255  	// empty or default values are omitted from API requests. However, any
  5256  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5257  	// sent to the server regardless of whether the field is empty or not.
  5258  	// This may be used to include empty fields in Patch requests.
  5259  	ForceSendFields []string `json:"-"`
  5260  
  5261  	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
  5262  	// include in API requests with the JSON null value. By default, fields
  5263  	// with empty values are omitted from API requests. However, any field
  5264  	// with an empty value appearing in NullFields will be sent to the
  5265  	// server as null. It is an error if a field in this list has a
  5266  	// non-empty value. This may be used to include null fields in Patch
  5267  	// requests.
  5268  	NullFields []string `json:"-"`
  5269  }
  5270  
  5271  func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
  5272  	type NoMethod CreativeFieldValuesListResponse
  5273  	raw := NoMethod(*s)
  5274  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5275  }
  5276  
  5277  // CreativeFieldsListResponse: Creative Field List Response
  5278  type CreativeFieldsListResponse struct {
  5279  	// CreativeFields: Creative field collection.
  5280  	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
  5281  
  5282  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5283  	// string "dfareporting#creativeFieldsListResponse".
  5284  	Kind string `json:"kind,omitempty"`
  5285  
  5286  	// NextPageToken: Pagination token to be used for the next list
  5287  	// operation.
  5288  	NextPageToken string `json:"nextPageToken,omitempty"`
  5289  
  5290  	// ServerResponse contains the HTTP response code and headers from the
  5291  	// server.
  5292  	googleapi.ServerResponse `json:"-"`
  5293  
  5294  	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
  5295  	// unconditionally include in API requests. By default, fields with
  5296  	// empty or default values are omitted from API requests. However, any
  5297  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5298  	// sent to the server regardless of whether the field is empty or not.
  5299  	// This may be used to include empty fields in Patch requests.
  5300  	ForceSendFields []string `json:"-"`
  5301  
  5302  	// NullFields is a list of field names (e.g. "CreativeFields") to
  5303  	// include in API requests with the JSON null value. By default, fields
  5304  	// with empty values are omitted from API requests. However, any field
  5305  	// with an empty value appearing in NullFields will be sent to the
  5306  	// server as null. It is an error if a field in this list has a
  5307  	// non-empty value. This may be used to include null fields in Patch
  5308  	// requests.
  5309  	NullFields []string `json:"-"`
  5310  }
  5311  
  5312  func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
  5313  	type NoMethod CreativeFieldsListResponse
  5314  	raw := NoMethod(*s)
  5315  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5316  }
  5317  
  5318  // CreativeGroup: Contains properties of a creative group.
  5319  type CreativeGroup struct {
  5320  	// AccountId: Account ID of this creative group. This is a read-only
  5321  	// field that can be left blank.
  5322  	AccountId int64 `json:"accountId,omitempty,string"`
  5323  
  5324  	// AdvertiserId: Advertiser ID of this creative group. This is a
  5325  	// required field on insertion.
  5326  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  5327  
  5328  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  5329  	// advertiser. This is a read-only, auto-generated field.
  5330  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  5331  
  5332  	// GroupNumber: Subgroup of the creative group. Assign your creative
  5333  	// groups to a subgroup in order to filter or manage them more easily.
  5334  	// This field is required on insertion and is read-only after insertion.
  5335  	// Acceptable values are 1 to 2, inclusive.
  5336  	GroupNumber int64 `json:"groupNumber,omitempty"`
  5337  
  5338  	// Id: ID of this creative group. This is a read-only, auto-generated
  5339  	// field.
  5340  	Id int64 `json:"id,omitempty,string"`
  5341  
  5342  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5343  	// string "dfareporting#creativeGroup".
  5344  	Kind string `json:"kind,omitempty"`
  5345  
  5346  	// Name: Name of this creative group. This is a required field and must
  5347  	// be less than 256 characters long and unique among creative groups of
  5348  	// the same advertiser.
  5349  	Name string `json:"name,omitempty"`
  5350  
  5351  	// SubaccountId: Subaccount ID of this creative group. This is a
  5352  	// read-only field that can be left blank.
  5353  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  5354  
  5355  	// ServerResponse contains the HTTP response code and headers from the
  5356  	// server.
  5357  	googleapi.ServerResponse `json:"-"`
  5358  
  5359  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  5360  	// unconditionally include in API requests. By default, fields with
  5361  	// empty or default values are omitted from API requests. However, any
  5362  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5363  	// sent to the server regardless of whether the field is empty or not.
  5364  	// This may be used to include empty fields in Patch requests.
  5365  	ForceSendFields []string `json:"-"`
  5366  
  5367  	// NullFields is a list of field names (e.g. "AccountId") to include in
  5368  	// API requests with the JSON null value. By default, fields with empty
  5369  	// values are omitted from API requests. However, any field with an
  5370  	// empty value appearing in NullFields will be sent to the server as
  5371  	// null. It is an error if a field in this list has a non-empty value.
  5372  	// This may be used to include null fields in Patch requests.
  5373  	NullFields []string `json:"-"`
  5374  }
  5375  
  5376  func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
  5377  	type NoMethod CreativeGroup
  5378  	raw := NoMethod(*s)
  5379  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5380  }
  5381  
  5382  // CreativeGroupAssignment: Creative Group Assignment.
  5383  type CreativeGroupAssignment struct {
  5384  	// CreativeGroupId: ID of the creative group to be assigned.
  5385  	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
  5386  
  5387  	// CreativeGroupNumber: Creative group number of the creative group
  5388  	// assignment.
  5389  	//
  5390  	// Possible values:
  5391  	//   "CREATIVE_GROUP_ONE"
  5392  	//   "CREATIVE_GROUP_TWO"
  5393  	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
  5394  
  5395  	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
  5396  	// unconditionally include in API requests. By default, fields with
  5397  	// empty or default values are omitted from API requests. However, any
  5398  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5399  	// sent to the server regardless of whether the field is empty or not.
  5400  	// This may be used to include empty fields in Patch requests.
  5401  	ForceSendFields []string `json:"-"`
  5402  
  5403  	// NullFields is a list of field names (e.g. "CreativeGroupId") to
  5404  	// include in API requests with the JSON null value. By default, fields
  5405  	// with empty values are omitted from API requests. However, any field
  5406  	// with an empty value appearing in NullFields will be sent to the
  5407  	// server as null. It is an error if a field in this list has a
  5408  	// non-empty value. This may be used to include null fields in Patch
  5409  	// requests.
  5410  	NullFields []string `json:"-"`
  5411  }
  5412  
  5413  func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
  5414  	type NoMethod CreativeGroupAssignment
  5415  	raw := NoMethod(*s)
  5416  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5417  }
  5418  
  5419  // CreativeGroupsListResponse: Creative Group List Response
  5420  type CreativeGroupsListResponse struct {
  5421  	// CreativeGroups: Creative group collection.
  5422  	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
  5423  
  5424  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5425  	// string "dfareporting#creativeGroupsListResponse".
  5426  	Kind string `json:"kind,omitempty"`
  5427  
  5428  	// NextPageToken: Pagination token to be used for the next list
  5429  	// operation.
  5430  	NextPageToken string `json:"nextPageToken,omitempty"`
  5431  
  5432  	// ServerResponse contains the HTTP response code and headers from the
  5433  	// server.
  5434  	googleapi.ServerResponse `json:"-"`
  5435  
  5436  	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
  5437  	// unconditionally include in API requests. By default, fields with
  5438  	// empty or default values are omitted from API requests. However, any
  5439  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5440  	// sent to the server regardless of whether the field is empty or not.
  5441  	// This may be used to include empty fields in Patch requests.
  5442  	ForceSendFields []string `json:"-"`
  5443  
  5444  	// NullFields is a list of field names (e.g. "CreativeGroups") to
  5445  	// include in API requests with the JSON null value. By default, fields
  5446  	// with empty values are omitted from API requests. However, any field
  5447  	// with an empty value appearing in NullFields will be sent to the
  5448  	// server as null. It is an error if a field in this list has a
  5449  	// non-empty value. This may be used to include null fields in Patch
  5450  	// requests.
  5451  	NullFields []string `json:"-"`
  5452  }
  5453  
  5454  func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
  5455  	type NoMethod CreativeGroupsListResponse
  5456  	raw := NoMethod(*s)
  5457  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5458  }
  5459  
  5460  // CreativeOptimizationConfiguration: Creative optimization settings.
  5461  type CreativeOptimizationConfiguration struct {
  5462  	// Id: ID of this creative optimization config. This field is
  5463  	// auto-generated when the campaign is inserted or updated. It can be
  5464  	// null for existing campaigns.
  5465  	Id int64 `json:"id,omitempty,string"`
  5466  
  5467  	// Name: Name of this creative optimization config. This is a required
  5468  	// field and must be less than 129 characters long.
  5469  	Name string `json:"name,omitempty"`
  5470  
  5471  	// OptimizationActivitys: List of optimization activities associated
  5472  	// with this configuration.
  5473  	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
  5474  
  5475  	// OptimizationModel: Optimization model for this configuration.
  5476  	//
  5477  	// Possible values:
  5478  	//   "CLICK"
  5479  	//   "POST_CLICK"
  5480  	//   "POST_IMPRESSION"
  5481  	//   "POST_CLICK_AND_IMPRESSION"
  5482  	//   "VIDEO_COMPLETION"
  5483  	OptimizationModel string `json:"optimizationModel,omitempty"`
  5484  
  5485  	// ForceSendFields is a list of field names (e.g. "Id") to
  5486  	// unconditionally include in API requests. By default, fields with
  5487  	// empty or default values are omitted from API requests. However, any
  5488  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5489  	// sent to the server regardless of whether the field is empty or not.
  5490  	// This may be used to include empty fields in Patch requests.
  5491  	ForceSendFields []string `json:"-"`
  5492  
  5493  	// NullFields is a list of field names (e.g. "Id") to include in API
  5494  	// requests with the JSON null value. By default, fields with empty
  5495  	// values are omitted from API requests. However, any field with an
  5496  	// empty value appearing in NullFields will be sent to the server as
  5497  	// null. It is an error if a field in this list has a non-empty value.
  5498  	// This may be used to include null fields in Patch requests.
  5499  	NullFields []string `json:"-"`
  5500  }
  5501  
  5502  func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
  5503  	type NoMethod CreativeOptimizationConfiguration
  5504  	raw := NoMethod(*s)
  5505  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5506  }
  5507  
  5508  // CreativeRotation: Creative Rotation.
  5509  type CreativeRotation struct {
  5510  	// CreativeAssignments: Creative assignments in this creative rotation.
  5511  	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
  5512  
  5513  	// CreativeOptimizationConfigurationId: Creative optimization
  5514  	// configuration that is used by this ad. It should refer to one of the
  5515  	// existing optimization configurations in the ad's campaign. If it is
  5516  	// unset or set to 0, then the campaign's default optimization
  5517  	// configuration will be used for this ad.
  5518  	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
  5519  
  5520  	// Type: Type of creative rotation. Can be used to specify whether to
  5521  	// use sequential or random rotation.
  5522  	//
  5523  	// Possible values:
  5524  	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
  5525  	//   "CREATIVE_ROTATION_TYPE_RANDOM"
  5526  	Type string `json:"type,omitempty"`
  5527  
  5528  	// WeightCalculationStrategy: Strategy for calculating weights. Used
  5529  	// with CREATIVE_ROTATION_TYPE_RANDOM.
  5530  	//
  5531  	// Possible values:
  5532  	//   "WEIGHT_STRATEGY_EQUAL"
  5533  	//   "WEIGHT_STRATEGY_CUSTOM"
  5534  	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
  5535  	//   "WEIGHT_STRATEGY_OPTIMIZED"
  5536  	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
  5537  
  5538  	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
  5539  	// to unconditionally include in API requests. By default, fields with
  5540  	// empty or default values are omitted from API requests. However, any
  5541  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5542  	// sent to the server regardless of whether the field is empty or not.
  5543  	// This may be used to include empty fields in Patch requests.
  5544  	ForceSendFields []string `json:"-"`
  5545  
  5546  	// NullFields is a list of field names (e.g. "CreativeAssignments") to
  5547  	// include in API requests with the JSON null value. By default, fields
  5548  	// with empty values are omitted from API requests. However, any field
  5549  	// with an empty value appearing in NullFields will be sent to the
  5550  	// server as null. It is an error if a field in this list has a
  5551  	// non-empty value. This may be used to include null fields in Patch
  5552  	// requests.
  5553  	NullFields []string `json:"-"`
  5554  }
  5555  
  5556  func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
  5557  	type NoMethod CreativeRotation
  5558  	raw := NoMethod(*s)
  5559  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5560  }
  5561  
  5562  // CreativesListResponse: Creative List Response
  5563  type CreativesListResponse struct {
  5564  	// Creatives: Creative collection.
  5565  	Creatives []*Creative `json:"creatives,omitempty"`
  5566  
  5567  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5568  	// string "dfareporting#creativesListResponse".
  5569  	Kind string `json:"kind,omitempty"`
  5570  
  5571  	// NextPageToken: Pagination token to be used for the next list
  5572  	// operation.
  5573  	NextPageToken string `json:"nextPageToken,omitempty"`
  5574  
  5575  	// ServerResponse contains the HTTP response code and headers from the
  5576  	// server.
  5577  	googleapi.ServerResponse `json:"-"`
  5578  
  5579  	// ForceSendFields is a list of field names (e.g. "Creatives") to
  5580  	// unconditionally include in API requests. By default, fields with
  5581  	// empty or default values are omitted from API requests. However, any
  5582  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5583  	// sent to the server regardless of whether the field is empty or not.
  5584  	// This may be used to include empty fields in Patch requests.
  5585  	ForceSendFields []string `json:"-"`
  5586  
  5587  	// NullFields is a list of field names (e.g. "Creatives") to include in
  5588  	// API requests with the JSON null value. By default, fields with empty
  5589  	// values are omitted from API requests. However, any field with an
  5590  	// empty value appearing in NullFields will be sent to the server as
  5591  	// null. It is an error if a field in this list has a non-empty value.
  5592  	// This may be used to include null fields in Patch requests.
  5593  	NullFields []string `json:"-"`
  5594  }
  5595  
  5596  func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
  5597  	type NoMethod CreativesListResponse
  5598  	raw := NoMethod(*s)
  5599  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5600  }
  5601  
  5602  // CrossDimensionReachReportCompatibleFields: Represents fields that are
  5603  // compatible to be selected for a report of type
  5604  // "CROSS_DIMENSION_REACH".
  5605  type CrossDimensionReachReportCompatibleFields struct {
  5606  	// Breakdown: Dimensions which are compatible to be selected in the
  5607  	// "breakdown" section of the report.
  5608  	Breakdown []*Dimension `json:"breakdown,omitempty"`
  5609  
  5610  	// DimensionFilters: Dimensions which are compatible to be selected in
  5611  	// the "dimensionFilters" section of the report.
  5612  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  5613  
  5614  	// Kind: The kind of resource this is, in this case
  5615  	// dfareporting#crossDimensionReachReportCompatibleFields.
  5616  	Kind string `json:"kind,omitempty"`
  5617  
  5618  	// Metrics: Metrics which are compatible to be selected in the
  5619  	// "metricNames" section of the report.
  5620  	Metrics []*Metric `json:"metrics,omitempty"`
  5621  
  5622  	// OverlapMetrics: Metrics which are compatible to be selected in the
  5623  	// "overlapMetricNames" section of the report.
  5624  	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
  5625  
  5626  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
  5627  	// unconditionally include in API requests. By default, fields with
  5628  	// empty or default values are omitted from API requests. However, any
  5629  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5630  	// sent to the server regardless of whether the field is empty or not.
  5631  	// This may be used to include empty fields in Patch requests.
  5632  	ForceSendFields []string `json:"-"`
  5633  
  5634  	// NullFields is a list of field names (e.g. "Breakdown") to include in
  5635  	// API requests with the JSON null value. By default, fields with empty
  5636  	// values are omitted from API requests. However, any field with an
  5637  	// empty value appearing in NullFields will be sent to the server as
  5638  	// null. It is an error if a field in this list has a non-empty value.
  5639  	// This may be used to include null fields in Patch requests.
  5640  	NullFields []string `json:"-"`
  5641  }
  5642  
  5643  func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
  5644  	type NoMethod CrossDimensionReachReportCompatibleFields
  5645  	raw := NoMethod(*s)
  5646  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5647  }
  5648  
  5649  // CustomFloodlightVariable: A custom floodlight variable. This field
  5650  // may only be used when calling batchinsert; it is not supported by
  5651  // batchupdate.
  5652  type CustomFloodlightVariable struct {
  5653  	// Kind: Identifies what kind of resource this is. Value: the fixed
  5654  	// string "dfareporting#customFloodlightVariable".
  5655  	Kind string `json:"kind,omitempty"`
  5656  
  5657  	// Type: The type of custom floodlight variable to supply a value for.
  5658  	// These map to the "u[1-20]=" in the tags.
  5659  	//
  5660  	// Possible values:
  5661  	//   "U1"
  5662  	//   "U2"
  5663  	//   "U3"
  5664  	//   "U4"
  5665  	//   "U5"
  5666  	//   "U6"
  5667  	//   "U7"
  5668  	//   "U8"
  5669  	//   "U9"
  5670  	//   "U10"
  5671  	//   "U11"
  5672  	//   "U12"
  5673  	//   "U13"
  5674  	//   "U14"
  5675  	//   "U15"
  5676  	//   "U16"
  5677  	//   "U17"
  5678  	//   "U18"
  5679  	//   "U19"
  5680  	//   "U20"
  5681  	//   "U21"
  5682  	//   "U22"
  5683  	//   "U23"
  5684  	//   "U24"
  5685  	//   "U25"
  5686  	//   "U26"
  5687  	//   "U27"
  5688  	//   "U28"
  5689  	//   "U29"
  5690  	//   "U30"
  5691  	//   "U31"
  5692  	//   "U32"
  5693  	//   "U33"
  5694  	//   "U34"
  5695  	//   "U35"
  5696  	//   "U36"
  5697  	//   "U37"
  5698  	//   "U38"
  5699  	//   "U39"
  5700  	//   "U40"
  5701  	//   "U41"
  5702  	//   "U42"
  5703  	//   "U43"
  5704  	//   "U44"
  5705  	//   "U45"
  5706  	//   "U46"
  5707  	//   "U47"
  5708  	//   "U48"
  5709  	//   "U49"
  5710  	//   "U50"
  5711  	//   "U51"
  5712  	//   "U52"
  5713  	//   "U53"
  5714  	//   "U54"
  5715  	//   "U55"
  5716  	//   "U56"
  5717  	//   "U57"
  5718  	//   "U58"
  5719  	//   "U59"
  5720  	//   "U60"
  5721  	//   "U61"
  5722  	//   "U62"
  5723  	//   "U63"
  5724  	//   "U64"
  5725  	//   "U65"
  5726  	//   "U66"
  5727  	//   "U67"
  5728  	//   "U68"
  5729  	//   "U69"
  5730  	//   "U70"
  5731  	//   "U71"
  5732  	//   "U72"
  5733  	//   "U73"
  5734  	//   "U74"
  5735  	//   "U75"
  5736  	//   "U76"
  5737  	//   "U77"
  5738  	//   "U78"
  5739  	//   "U79"
  5740  	//   "U80"
  5741  	//   "U81"
  5742  	//   "U82"
  5743  	//   "U83"
  5744  	//   "U84"
  5745  	//   "U85"
  5746  	//   "U86"
  5747  	//   "U87"
  5748  	//   "U88"
  5749  	//   "U89"
  5750  	//   "U90"
  5751  	//   "U91"
  5752  	//   "U92"
  5753  	//   "U93"
  5754  	//   "U94"
  5755  	//   "U95"
  5756  	//   "U96"
  5757  	//   "U97"
  5758  	//   "U98"
  5759  	//   "U99"
  5760  	//   "U100"
  5761  	Type string `json:"type,omitempty"`
  5762  
  5763  	// Value: The value of the custom floodlight variable. The length of
  5764  	// string must not exceed 100 characters.
  5765  	Value string `json:"value,omitempty"`
  5766  
  5767  	// ForceSendFields is a list of field names (e.g. "Kind") to
  5768  	// unconditionally include in API requests. By default, fields with
  5769  	// empty or default values are omitted from API requests. However, any
  5770  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5771  	// sent to the server regardless of whether the field is empty or not.
  5772  	// This may be used to include empty fields in Patch requests.
  5773  	ForceSendFields []string `json:"-"`
  5774  
  5775  	// NullFields is a list of field names (e.g. "Kind") to include in API
  5776  	// 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 *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
  5785  	type NoMethod CustomFloodlightVariable
  5786  	raw := NoMethod(*s)
  5787  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5788  }
  5789  
  5790  // CustomRichMediaEvents: Represents a Custom Rich Media Events group.
  5791  type CustomRichMediaEvents struct {
  5792  	// FilteredEventIds: List of custom rich media event IDs. Dimension
  5793  	// values must be all of type dfa:richMediaEventTypeIdAndName.
  5794  	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
  5795  
  5796  	// Kind: The kind of resource this is, in this case
  5797  	// dfareporting#customRichMediaEvents.
  5798  	Kind string `json:"kind,omitempty"`
  5799  
  5800  	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
  5801  	// unconditionally include in API requests. By default, fields with
  5802  	// empty or default values are omitted from API requests. However, any
  5803  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5804  	// sent to the server regardless of whether the field is empty or not.
  5805  	// This may be used to include empty fields in Patch requests.
  5806  	ForceSendFields []string `json:"-"`
  5807  
  5808  	// NullFields is a list of field names (e.g. "FilteredEventIds") to
  5809  	// include in API requests with the JSON null value. By default, fields
  5810  	// with empty values are omitted from API requests. However, any field
  5811  	// with an empty value appearing in NullFields will be sent to the
  5812  	// server as null. It is an error if a field in this list has a
  5813  	// non-empty value. This may be used to include null fields in Patch
  5814  	// requests.
  5815  	NullFields []string `json:"-"`
  5816  }
  5817  
  5818  func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
  5819  	type NoMethod CustomRichMediaEvents
  5820  	raw := NoMethod(*s)
  5821  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5822  }
  5823  
  5824  // CustomViewabilityMetric: Custom Viewability Metric
  5825  type CustomViewabilityMetric struct {
  5826  	// Configuration: Configuration of the custom viewability metric.
  5827  	Configuration *CustomViewabilityMetricConfiguration `json:"configuration,omitempty"`
  5828  
  5829  	// Id: ID of the custom viewability metric.
  5830  	Id int64 `json:"id,omitempty,string"`
  5831  
  5832  	// Name: Name of the custom viewability metric.
  5833  	Name string `json:"name,omitempty"`
  5834  
  5835  	// ForceSendFields is a list of field names (e.g. "Configuration") to
  5836  	// unconditionally include in API requests. By default, fields with
  5837  	// empty or default values are omitted from API requests. However, any
  5838  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5839  	// sent to the server regardless of whether the field is empty or not.
  5840  	// This may be used to include empty fields in Patch requests.
  5841  	ForceSendFields []string `json:"-"`
  5842  
  5843  	// NullFields is a list of field names (e.g. "Configuration") to include
  5844  	// in API requests with the JSON null value. By default, fields with
  5845  	// empty values are omitted from API requests. However, any field with
  5846  	// an empty value appearing in NullFields will be sent to the server as
  5847  	// null. It is an error if a field in this list has a non-empty value.
  5848  	// This may be used to include null fields in Patch requests.
  5849  	NullFields []string `json:"-"`
  5850  }
  5851  
  5852  func (s *CustomViewabilityMetric) MarshalJSON() ([]byte, error) {
  5853  	type NoMethod CustomViewabilityMetric
  5854  	raw := NoMethod(*s)
  5855  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5856  }
  5857  
  5858  // CustomViewabilityMetricConfiguration: The attributes, like playtime
  5859  // and percent onscreen, that define the Custom Viewability Metric.
  5860  type CustomViewabilityMetricConfiguration struct {
  5861  	// Audible: Whether the video must be audible to count an impression.
  5862  	Audible bool `json:"audible,omitempty"`
  5863  
  5864  	// TimeMillis: The time in milliseconds the video must play for the
  5865  	// Custom Viewability Metric to count an impression. If both this and
  5866  	// timePercent are specified, the earlier of the two will be used.
  5867  	TimeMillis int64 `json:"timeMillis,omitempty"`
  5868  
  5869  	// TimePercent: The percentage of video that must play for the Custom
  5870  	// Viewability Metric to count an impression. If both this and
  5871  	// timeMillis are specified, the earlier of the two will be used.
  5872  	TimePercent int64 `json:"timePercent,omitempty"`
  5873  
  5874  	// ViewabilityPercent: The percentage of video that must be on screen
  5875  	// for the Custom Viewability Metric to count an impression.
  5876  	ViewabilityPercent int64 `json:"viewabilityPercent,omitempty"`
  5877  
  5878  	// ForceSendFields is a list of field names (e.g. "Audible") to
  5879  	// unconditionally include in API requests. By default, fields with
  5880  	// empty or default values are omitted from API requests. However, any
  5881  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5882  	// sent to the server regardless of whether the field is empty or not.
  5883  	// This may be used to include empty fields in Patch requests.
  5884  	ForceSendFields []string `json:"-"`
  5885  
  5886  	// NullFields is a list of field names (e.g. "Audible") to include in
  5887  	// API requests with the JSON null value. By default, fields with empty
  5888  	// values are omitted from API requests. However, any field with an
  5889  	// empty value appearing in NullFields will be sent to the server as
  5890  	// null. It is an error if a field in this list has a non-empty value.
  5891  	// This may be used to include null fields in Patch requests.
  5892  	NullFields []string `json:"-"`
  5893  }
  5894  
  5895  func (s *CustomViewabilityMetricConfiguration) MarshalJSON() ([]byte, error) {
  5896  	type NoMethod CustomViewabilityMetricConfiguration
  5897  	raw := NoMethod(*s)
  5898  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5899  }
  5900  
  5901  // DateRange: Represents a date range.
  5902  type DateRange struct {
  5903  	EndDate string `json:"endDate,omitempty"`
  5904  
  5905  	// Kind: The kind of resource this is, in this case
  5906  	// dfareporting#dateRange.
  5907  	Kind string `json:"kind,omitempty"`
  5908  
  5909  	// RelativeDateRange: The date range relative to the date of when the
  5910  	// report is run.
  5911  	//
  5912  	// Possible values:
  5913  	//   "TODAY"
  5914  	//   "YESTERDAY"
  5915  	//   "WEEK_TO_DATE"
  5916  	//   "MONTH_TO_DATE"
  5917  	//   "QUARTER_TO_DATE"
  5918  	//   "YEAR_TO_DATE"
  5919  	//   "PREVIOUS_WEEK"
  5920  	//   "PREVIOUS_MONTH"
  5921  	//   "PREVIOUS_QUARTER"
  5922  	//   "PREVIOUS_YEAR"
  5923  	//   "LAST_7_DAYS"
  5924  	//   "LAST_30_DAYS"
  5925  	//   "LAST_90_DAYS"
  5926  	//   "LAST_365_DAYS"
  5927  	//   "LAST_24_MONTHS"
  5928  	//   "LAST_14_DAYS"
  5929  	//   "LAST_60_DAYS"
  5930  	RelativeDateRange string `json:"relativeDateRange,omitempty"`
  5931  
  5932  	StartDate string `json:"startDate,omitempty"`
  5933  
  5934  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  5935  	// unconditionally include in API requests. By default, fields with
  5936  	// empty or default values are omitted from API requests. However, any
  5937  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5938  	// sent to the server regardless of whether the field is empty or not.
  5939  	// This may be used to include empty fields in Patch requests.
  5940  	ForceSendFields []string `json:"-"`
  5941  
  5942  	// NullFields is a list of field names (e.g. "EndDate") to include in
  5943  	// API requests with the JSON null value. By default, fields with empty
  5944  	// values are omitted from API requests. However, any field with an
  5945  	// empty value appearing in NullFields will be sent to the server as
  5946  	// null. It is an error if a field in this list has a non-empty value.
  5947  	// This may be used to include null fields in Patch requests.
  5948  	NullFields []string `json:"-"`
  5949  }
  5950  
  5951  func (s *DateRange) MarshalJSON() ([]byte, error) {
  5952  	type NoMethod DateRange
  5953  	raw := NoMethod(*s)
  5954  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  5955  }
  5956  
  5957  // DayPartTargeting: Day Part Targeting.
  5958  type DayPartTargeting struct {
  5959  	// DaysOfWeek: Days of the week when the ad will serve. Acceptable
  5960  	// values are: - "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" -
  5961  	// "THURSDAY" - "FRIDAY" - "SATURDAY"
  5962  	//
  5963  	// Possible values:
  5964  	//   "MONDAY"
  5965  	//   "TUESDAY"
  5966  	//   "WEDNESDAY"
  5967  	//   "THURSDAY"
  5968  	//   "FRIDAY"
  5969  	//   "SATURDAY"
  5970  	//   "SUNDAY"
  5971  	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
  5972  
  5973  	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
  5974  	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
  5975  	// days of week, in which case the ad would serve during these hours on
  5976  	// the specified days. For example if Monday, Wednesday, Friday are the
  5977  	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
  5978  	// specified, the ad would serve Monday, Wednesdays, and Fridays at
  5979  	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
  5980  	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
  5981  
  5982  	// UserLocalTime: Whether or not to use the user's local time. If false,
  5983  	// the America/New York time zone applies.
  5984  	UserLocalTime bool `json:"userLocalTime,omitempty"`
  5985  
  5986  	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
  5987  	// unconditionally include in API requests. By default, fields with
  5988  	// empty or default values are omitted from API requests. However, any
  5989  	// non-pointer, non-interface field appearing in ForceSendFields will be
  5990  	// sent to the server regardless of whether the field is empty or not.
  5991  	// This may be used to include empty fields in Patch requests.
  5992  	ForceSendFields []string `json:"-"`
  5993  
  5994  	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
  5995  	// API requests with the JSON null value. By default, fields with empty
  5996  	// values are omitted from API requests. However, any field with an
  5997  	// empty value appearing in NullFields will be sent to the server as
  5998  	// null. It is an error if a field in this list has a non-empty value.
  5999  	// This may be used to include null fields in Patch requests.
  6000  	NullFields []string `json:"-"`
  6001  }
  6002  
  6003  func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
  6004  	type NoMethod DayPartTargeting
  6005  	raw := NoMethod(*s)
  6006  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6007  }
  6008  
  6009  // DeepLink: Contains information about a landing page deep link.
  6010  type DeepLink struct {
  6011  	// AppUrl: The URL of the mobile app being linked to.
  6012  	AppUrl string `json:"appUrl,omitempty"`
  6013  
  6014  	// FallbackUrl: The fallback URL. This URL will be served to users who
  6015  	// do not have the mobile app installed.
  6016  	FallbackUrl string `json:"fallbackUrl,omitempty"`
  6017  
  6018  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6019  	// string "dfareporting#deepLink".
  6020  	Kind string `json:"kind,omitempty"`
  6021  
  6022  	// MobileApp: The mobile app targeted by this deep link.
  6023  	MobileApp *MobileApp `json:"mobileApp,omitempty"`
  6024  
  6025  	// RemarketingListIds: Ads served to users on these remarketing lists
  6026  	// will use this deep link. Applicable when mobileApp.directory is
  6027  	// APPLE_APP_STORE.
  6028  	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
  6029  
  6030  	// ForceSendFields is a list of field names (e.g. "AppUrl") to
  6031  	// unconditionally include in API requests. By default, fields with
  6032  	// empty or default values are omitted from API requests. However, any
  6033  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6034  	// sent to the server regardless of whether the field is empty or not.
  6035  	// This may be used to include empty fields in Patch requests.
  6036  	ForceSendFields []string `json:"-"`
  6037  
  6038  	// NullFields is a list of field names (e.g. "AppUrl") to include in API
  6039  	// requests with the JSON null value. By default, fields with empty
  6040  	// values are omitted from API requests. However, any field with an
  6041  	// empty value appearing in NullFields will be sent to the server as
  6042  	// null. It is an error if a field in this list has a non-empty value.
  6043  	// This may be used to include null fields in Patch requests.
  6044  	NullFields []string `json:"-"`
  6045  }
  6046  
  6047  func (s *DeepLink) MarshalJSON() ([]byte, error) {
  6048  	type NoMethod DeepLink
  6049  	raw := NoMethod(*s)
  6050  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6051  }
  6052  
  6053  // DefaultClickThroughEventTagProperties: Properties of inheriting and
  6054  // overriding the default click-through event tag. A campaign may
  6055  // override the event tag defined at the advertiser level, and an ad may
  6056  // also override the campaign's setting further.
  6057  type DefaultClickThroughEventTagProperties struct {
  6058  	// DefaultClickThroughEventTagId: ID of the click-through event tag to
  6059  	// apply to all ads in this entity's scope.
  6060  	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
  6061  
  6062  	// OverrideInheritedEventTag: Whether this entity should override the
  6063  	// inherited default click-through event tag with its own defined value.
  6064  	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
  6065  
  6066  	// ForceSendFields is a list of field names (e.g.
  6067  	// "DefaultClickThroughEventTagId") to unconditionally include in API
  6068  	// requests. By default, fields with empty or default values are omitted
  6069  	// from API requests. However, any non-pointer, non-interface field
  6070  	// appearing in ForceSendFields will be sent to the server regardless of
  6071  	// whether the field is empty or not. This may be used to include empty
  6072  	// fields in Patch requests.
  6073  	ForceSendFields []string `json:"-"`
  6074  
  6075  	// NullFields is a list of field names (e.g.
  6076  	// "DefaultClickThroughEventTagId") to include in API requests with the
  6077  	// JSON null value. By default, fields with empty values are omitted
  6078  	// from API requests. However, any field with an empty value appearing
  6079  	// in NullFields will be sent to the server as null. It is an error if a
  6080  	// field in this list has a non-empty value. This may be used to include
  6081  	// null fields in Patch requests.
  6082  	NullFields []string `json:"-"`
  6083  }
  6084  
  6085  func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
  6086  	type NoMethod DefaultClickThroughEventTagProperties
  6087  	raw := NoMethod(*s)
  6088  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6089  }
  6090  
  6091  // DeliverySchedule: Delivery Schedule.
  6092  type DeliverySchedule struct {
  6093  	// FrequencyCap: Limit on the number of times an individual user can be
  6094  	// served the ad within a specified period of time.
  6095  	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
  6096  
  6097  	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
  6098  	// will not serve after the end date and time. Otherwise the ad will
  6099  	// continue to be served until it has reached its delivery goals.
  6100  	HardCutoff bool `json:"hardCutoff,omitempty"`
  6101  
  6102  	// ImpressionRatio: Impression ratio for this ad. This ratio determines
  6103  	// how often each ad is served relative to the others. For example, if
  6104  	// ad A has an impression ratio of 1 and ad B has an impression ratio of
  6105  	// 3, then Campaign Manager will serve ad B three times as often as ad
  6106  	// A. Acceptable values are 1 to 10, inclusive.
  6107  	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
  6108  
  6109  	// Priority: Serving priority of an ad, with respect to other ads. The
  6110  	// lower the priority number, the greater the priority with which it is
  6111  	// served.
  6112  	//
  6113  	// Possible values:
  6114  	//   "AD_PRIORITY_01"
  6115  	//   "AD_PRIORITY_02"
  6116  	//   "AD_PRIORITY_03"
  6117  	//   "AD_PRIORITY_04"
  6118  	//   "AD_PRIORITY_05"
  6119  	//   "AD_PRIORITY_06"
  6120  	//   "AD_PRIORITY_07"
  6121  	//   "AD_PRIORITY_08"
  6122  	//   "AD_PRIORITY_09"
  6123  	//   "AD_PRIORITY_10"
  6124  	//   "AD_PRIORITY_11"
  6125  	//   "AD_PRIORITY_12"
  6126  	//   "AD_PRIORITY_13"
  6127  	//   "AD_PRIORITY_14"
  6128  	//   "AD_PRIORITY_15"
  6129  	//   "AD_PRIORITY_16"
  6130  	Priority string `json:"priority,omitempty"`
  6131  
  6132  	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
  6133  	// unconditionally include in API requests. By default, fields with
  6134  	// empty or default values are omitted from API requests. However, any
  6135  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6136  	// sent to the server regardless of whether the field is empty or not.
  6137  	// This may be used to include empty fields in Patch requests.
  6138  	ForceSendFields []string `json:"-"`
  6139  
  6140  	// NullFields is a list of field names (e.g. "FrequencyCap") to include
  6141  	// in API requests with the JSON null value. By default, fields with
  6142  	// empty values are omitted from API requests. However, any field with
  6143  	// an empty value appearing in NullFields will be sent to the server as
  6144  	// null. It is an error if a field in this list has a non-empty value.
  6145  	// This may be used to include null fields in Patch requests.
  6146  	NullFields []string `json:"-"`
  6147  }
  6148  
  6149  func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
  6150  	type NoMethod DeliverySchedule
  6151  	raw := NoMethod(*s)
  6152  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6153  }
  6154  
  6155  // DfpSettings: Google Ad Manager Settings
  6156  type DfpSettings struct {
  6157  	// DfpNetworkCode: Ad Manager network code for this directory site.
  6158  	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
  6159  
  6160  	// DfpNetworkName: Ad Manager network name for this directory site.
  6161  	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
  6162  
  6163  	// ProgrammaticPlacementAccepted: Whether this directory site accepts
  6164  	// programmatic placements.
  6165  	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
  6166  
  6167  	// PubPaidPlacementAccepted: Whether this directory site accepts
  6168  	// publisher-paid tags.
  6169  	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
  6170  
  6171  	// PublisherPortalOnly: Whether this directory site is available only
  6172  	// via Publisher Portal.
  6173  	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
  6174  
  6175  	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
  6176  	// unconditionally include in API requests. By default, fields with
  6177  	// empty or default values are omitted from API requests. However, any
  6178  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6179  	// sent to the server regardless of whether the field is empty or not.
  6180  	// This may be used to include empty fields in Patch requests.
  6181  	ForceSendFields []string `json:"-"`
  6182  
  6183  	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
  6184  	// include in API requests with the JSON null value. By default, fields
  6185  	// with empty values are omitted from API requests. However, any field
  6186  	// with an empty value appearing in NullFields will be sent to the
  6187  	// server as null. It is an error if a field in this list has a
  6188  	// non-empty value. This may be used to include null fields in Patch
  6189  	// requests.
  6190  	NullFields []string `json:"-"`
  6191  }
  6192  
  6193  func (s *DfpSettings) MarshalJSON() ([]byte, error) {
  6194  	type NoMethod DfpSettings
  6195  	raw := NoMethod(*s)
  6196  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6197  }
  6198  
  6199  // Dimension: Represents a dimension.
  6200  type Dimension struct {
  6201  	// Kind: The kind of resource this is, in this case
  6202  	// dfareporting#dimension.
  6203  	Kind string `json:"kind,omitempty"`
  6204  
  6205  	// Name: The dimension name, e.g. dfa:advertiser
  6206  	Name string `json:"name,omitempty"`
  6207  
  6208  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6209  	// unconditionally include in API requests. By default, fields with
  6210  	// empty or default values are omitted from API requests. However, any
  6211  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6212  	// sent to the server regardless of whether the field is empty or not.
  6213  	// This may be used to include empty fields in Patch requests.
  6214  	ForceSendFields []string `json:"-"`
  6215  
  6216  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6217  	// requests with the JSON null value. By default, fields with empty
  6218  	// values are omitted from API requests. However, any field with an
  6219  	// empty value appearing in NullFields will be sent to the server as
  6220  	// null. It is an error if a field in this list has a non-empty value.
  6221  	// This may be used to include null fields in Patch requests.
  6222  	NullFields []string `json:"-"`
  6223  }
  6224  
  6225  func (s *Dimension) MarshalJSON() ([]byte, error) {
  6226  	type NoMethod Dimension
  6227  	raw := NoMethod(*s)
  6228  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6229  }
  6230  
  6231  // DimensionFilter: Represents a dimension filter.
  6232  type DimensionFilter struct {
  6233  	// DimensionName: The name of the dimension to filter.
  6234  	DimensionName string `json:"dimensionName,omitempty"`
  6235  
  6236  	// Kind: The kind of resource this is, in this case
  6237  	// dfareporting#dimensionFilter.
  6238  	Kind string `json:"kind,omitempty"`
  6239  
  6240  	// Value: The value of the dimension to filter.
  6241  	Value string `json:"value,omitempty"`
  6242  
  6243  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6244  	// unconditionally include in API requests. By default, fields with
  6245  	// empty or default values are omitted from API requests. However, any
  6246  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6247  	// sent to the server regardless of whether the field is empty or not.
  6248  	// This may be used to include empty fields in Patch requests.
  6249  	ForceSendFields []string `json:"-"`
  6250  
  6251  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6252  	// in API requests with the JSON null value. By default, fields with
  6253  	// empty values are omitted from API requests. However, any field with
  6254  	// an empty value appearing in NullFields will be sent to the server as
  6255  	// null. It is an error if a field in this list has a non-empty value.
  6256  	// This may be used to include null fields in Patch requests.
  6257  	NullFields []string `json:"-"`
  6258  }
  6259  
  6260  func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
  6261  	type NoMethod DimensionFilter
  6262  	raw := NoMethod(*s)
  6263  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6264  }
  6265  
  6266  // DimensionValue: Represents a DimensionValue resource.
  6267  type DimensionValue struct {
  6268  	// DimensionName: The name of the dimension.
  6269  	DimensionName string `json:"dimensionName,omitempty"`
  6270  
  6271  	// Etag: The eTag of this response for caching purposes.
  6272  	Etag string `json:"etag,omitempty"`
  6273  
  6274  	// Id: The ID associated with the value if available.
  6275  	Id string `json:"id,omitempty"`
  6276  
  6277  	// Kind: The kind of resource this is, in this case
  6278  	// dfareporting#dimensionValue.
  6279  	Kind string `json:"kind,omitempty"`
  6280  
  6281  	// MatchType: Determines how the 'value' field is matched when
  6282  	// filtering. If not specified, defaults to EXACT. If set to
  6283  	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
  6284  	// length character sequences, and it can be escaped with a backslash.
  6285  	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
  6286  	// matchType other than EXACT.
  6287  	//
  6288  	// Possible values:
  6289  	//   "EXACT"
  6290  	//   "BEGINS_WITH"
  6291  	//   "CONTAINS"
  6292  	//   "WILDCARD_EXPRESSION"
  6293  	MatchType string `json:"matchType,omitempty"`
  6294  
  6295  	// Value: The value of the dimension.
  6296  	Value string `json:"value,omitempty"`
  6297  
  6298  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6299  	// unconditionally include in API requests. By default, fields with
  6300  	// empty or default values are omitted from API requests. However, any
  6301  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6302  	// sent to the server regardless of whether the field is empty or not.
  6303  	// This may be used to include empty fields in Patch requests.
  6304  	ForceSendFields []string `json:"-"`
  6305  
  6306  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6307  	// in API requests with the JSON null value. By default, fields with
  6308  	// empty values are omitted from API requests. However, any field with
  6309  	// an empty value appearing in NullFields will be sent to the server as
  6310  	// null. It is an error if a field in this list has a non-empty value.
  6311  	// This may be used to include null fields in Patch requests.
  6312  	NullFields []string `json:"-"`
  6313  }
  6314  
  6315  func (s *DimensionValue) MarshalJSON() ([]byte, error) {
  6316  	type NoMethod DimensionValue
  6317  	raw := NoMethod(*s)
  6318  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6319  }
  6320  
  6321  // DimensionValueList: Represents the list of DimensionValue resources.
  6322  type DimensionValueList struct {
  6323  	// Etag: The eTag of this response for caching purposes.
  6324  	Etag string `json:"etag,omitempty"`
  6325  
  6326  	// Items: The dimension values returned in this response.
  6327  	Items []*DimensionValue `json:"items,omitempty"`
  6328  
  6329  	// Kind: The kind of list this is, in this case
  6330  	// dfareporting#dimensionValueList.
  6331  	Kind string `json:"kind,omitempty"`
  6332  
  6333  	// NextPageToken: Continuation token used to page through dimension
  6334  	// values. To retrieve the next page of results, set the next request's
  6335  	// "pageToken" to the value of this field. The page token is only valid
  6336  	// for a limited amount of time and should not be persisted.
  6337  	NextPageToken string `json:"nextPageToken,omitempty"`
  6338  
  6339  	// ServerResponse contains the HTTP response code and headers from the
  6340  	// server.
  6341  	googleapi.ServerResponse `json:"-"`
  6342  
  6343  	// ForceSendFields is a list of field names (e.g. "Etag") to
  6344  	// unconditionally include in API requests. By default, fields with
  6345  	// empty or default values are omitted from API requests. However, any
  6346  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6347  	// sent to the server regardless of whether the field is empty or not.
  6348  	// This may be used to include empty fields in Patch requests.
  6349  	ForceSendFields []string `json:"-"`
  6350  
  6351  	// NullFields is a list of field names (e.g. "Etag") to include in API
  6352  	// requests with the JSON null value. By default, fields with empty
  6353  	// values are omitted from API requests. However, any field with an
  6354  	// empty value appearing in NullFields will be sent to the server as
  6355  	// null. It is an error if a field in this list has a non-empty value.
  6356  	// This may be used to include null fields in Patch requests.
  6357  	NullFields []string `json:"-"`
  6358  }
  6359  
  6360  func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
  6361  	type NoMethod DimensionValueList
  6362  	raw := NoMethod(*s)
  6363  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6364  }
  6365  
  6366  // DimensionValueRequest: Represents a DimensionValuesRequest.
  6367  type DimensionValueRequest struct {
  6368  	// DimensionName: The name of the dimension for which values should be
  6369  	// requested.
  6370  	DimensionName string `json:"dimensionName,omitempty"`
  6371  
  6372  	EndDate string `json:"endDate,omitempty"`
  6373  
  6374  	// Filters: The list of filters by which to filter values. The filters
  6375  	// are ANDed.
  6376  	Filters []*DimensionFilter `json:"filters,omitempty"`
  6377  
  6378  	// Kind: The kind of request this is, in this case
  6379  	// dfareporting#dimensionValueRequest .
  6380  	Kind string `json:"kind,omitempty"`
  6381  
  6382  	StartDate string `json:"startDate,omitempty"`
  6383  
  6384  	// ForceSendFields is a list of field names (e.g. "DimensionName") to
  6385  	// unconditionally include in API requests. By default, fields with
  6386  	// empty or default values are omitted from API requests. However, any
  6387  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6388  	// sent to the server regardless of whether the field is empty or not.
  6389  	// This may be used to include empty fields in Patch requests.
  6390  	ForceSendFields []string `json:"-"`
  6391  
  6392  	// NullFields is a list of field names (e.g. "DimensionName") to include
  6393  	// in API requests with the JSON null value. By default, fields with
  6394  	// empty values are omitted from API requests. However, any field with
  6395  	// an empty value appearing in NullFields will be sent to the server as
  6396  	// null. It is an error if a field in this list has a non-empty value.
  6397  	// This may be used to include null fields in Patch requests.
  6398  	NullFields []string `json:"-"`
  6399  }
  6400  
  6401  func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
  6402  	type NoMethod DimensionValueRequest
  6403  	raw := NoMethod(*s)
  6404  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6405  }
  6406  
  6407  // DirectorySite: DirectorySites contains properties of a website from
  6408  // the Site Directory. Sites need to be added to an account via the
  6409  // Sites resource before they can be assigned to a placement.
  6410  type DirectorySite struct {
  6411  	// Active: Whether this directory site is active.
  6412  	Active bool `json:"active,omitempty"`
  6413  
  6414  	// Id: ID of this directory site. This is a read-only, auto-generated
  6415  	// field.
  6416  	Id int64 `json:"id,omitempty,string"`
  6417  
  6418  	// IdDimensionValue: Dimension value for the ID of this directory site.
  6419  	// This is a read-only, auto-generated field.
  6420  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  6421  
  6422  	// InpageTagFormats: Tag types for regular placements. Acceptable values
  6423  	// are: - "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" -
  6424  	// "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE"
  6425  	//
  6426  	// Possible values:
  6427  	//   "STANDARD"
  6428  	//   "IFRAME_JAVASCRIPT_INPAGE"
  6429  	//   "INTERNAL_REDIRECT_INPAGE"
  6430  	//   "JAVASCRIPT_INPAGE"
  6431  	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
  6432  
  6433  	// InterstitialTagFormats: Tag types for interstitial placements.
  6434  	// Acceptable values are: - "IFRAME_JAVASCRIPT_INTERSTITIAL" -
  6435  	// "INTERNAL_REDIRECT_INTERSTITIAL" - "JAVASCRIPT_INTERSTITIAL"
  6436  	//
  6437  	// Possible values:
  6438  	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
  6439  	//   "INTERNAL_REDIRECT_INTERSTITIAL"
  6440  	//   "JAVASCRIPT_INTERSTITIAL"
  6441  	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
  6442  
  6443  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6444  	// string "dfareporting#directorySite".
  6445  	Kind string `json:"kind,omitempty"`
  6446  
  6447  	// Name: Name of this directory site.
  6448  	Name string `json:"name,omitempty"`
  6449  
  6450  	// Settings: Directory site settings.
  6451  	Settings *DirectorySiteSettings `json:"settings,omitempty"`
  6452  
  6453  	// Url: URL of this directory site.
  6454  	Url string `json:"url,omitempty"`
  6455  
  6456  	// ServerResponse contains the HTTP response code and headers from the
  6457  	// server.
  6458  	googleapi.ServerResponse `json:"-"`
  6459  
  6460  	// ForceSendFields is a list of field names (e.g. "Active") to
  6461  	// unconditionally include in API requests. By default, fields with
  6462  	// empty or default values are omitted from API requests. However, any
  6463  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6464  	// sent to the server regardless of whether the field is empty or not.
  6465  	// This may be used to include empty fields in Patch requests.
  6466  	ForceSendFields []string `json:"-"`
  6467  
  6468  	// NullFields is a list of field names (e.g. "Active") to include in API
  6469  	// requests with the JSON null value. By default, fields with empty
  6470  	// values are omitted from API requests. However, any field with an
  6471  	// empty value appearing in NullFields will be sent to the server as
  6472  	// null. It is an error if a field in this list has a non-empty value.
  6473  	// This may be used to include null fields in Patch requests.
  6474  	NullFields []string `json:"-"`
  6475  }
  6476  
  6477  func (s *DirectorySite) MarshalJSON() ([]byte, error) {
  6478  	type NoMethod DirectorySite
  6479  	raw := NoMethod(*s)
  6480  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6481  }
  6482  
  6483  // DirectorySiteSettings: Directory Site Settings
  6484  type DirectorySiteSettings struct {
  6485  	// ActiveViewOptOut: Whether this directory site has disabled active
  6486  	// view creatives.
  6487  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
  6488  
  6489  	// DfpSettings: Directory site Ad Manager settings.
  6490  	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
  6491  
  6492  	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
  6493  	// video ads.
  6494  	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
  6495  
  6496  	// InterstitialPlacementAccepted: Whether this site accepts interstitial
  6497  	// ads.
  6498  	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
  6499  
  6500  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
  6501  	// unconditionally include in API requests. By default, fields with
  6502  	// empty or default values are omitted from API requests. However, any
  6503  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6504  	// sent to the server regardless of whether the field is empty or not.
  6505  	// This may be used to include empty fields in Patch requests.
  6506  	ForceSendFields []string `json:"-"`
  6507  
  6508  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
  6509  	// include in API requests with the JSON null value. By default, fields
  6510  	// with empty values are omitted from API requests. However, any field
  6511  	// with an empty value appearing in NullFields will be sent to the
  6512  	// server as null. It is an error if a field in this list has a
  6513  	// non-empty value. This may be used to include null fields in Patch
  6514  	// requests.
  6515  	NullFields []string `json:"-"`
  6516  }
  6517  
  6518  func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
  6519  	type NoMethod DirectorySiteSettings
  6520  	raw := NoMethod(*s)
  6521  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6522  }
  6523  
  6524  // DirectorySitesListResponse: Directory Site List Response
  6525  type DirectorySitesListResponse struct {
  6526  	// DirectorySites: Directory site collection.
  6527  	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
  6528  
  6529  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6530  	// string "dfareporting#directorySitesListResponse".
  6531  	Kind string `json:"kind,omitempty"`
  6532  
  6533  	// NextPageToken: Pagination token to be used for the next list
  6534  	// operation.
  6535  	NextPageToken string `json:"nextPageToken,omitempty"`
  6536  
  6537  	// ServerResponse contains the HTTP response code and headers from the
  6538  	// server.
  6539  	googleapi.ServerResponse `json:"-"`
  6540  
  6541  	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
  6542  	// unconditionally include in API requests. By default, fields with
  6543  	// empty or default values are omitted from API requests. However, any
  6544  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6545  	// sent to the server regardless of whether the field is empty or not.
  6546  	// This may be used to include empty fields in Patch requests.
  6547  	ForceSendFields []string `json:"-"`
  6548  
  6549  	// NullFields is a list of field names (e.g. "DirectorySites") to
  6550  	// include in API requests with the JSON null value. By default, fields
  6551  	// with empty values are omitted from API requests. However, any field
  6552  	// with an empty value appearing in NullFields will be sent to the
  6553  	// server as null. It is an error if a field in this list has a
  6554  	// non-empty value. This may be used to include null fields in Patch
  6555  	// requests.
  6556  	NullFields []string `json:"-"`
  6557  }
  6558  
  6559  func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
  6560  	type NoMethod DirectorySitesListResponse
  6561  	raw := NoMethod(*s)
  6562  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6563  }
  6564  
  6565  // DynamicTargetingKey: Contains properties of a dynamic targeting key.
  6566  // Dynamic targeting keys are unique, user-friendly labels, created at
  6567  // the advertiser level in DCM, that can be assigned to ads, creatives,
  6568  // and placements and used for targeting with Studio dynamic creatives.
  6569  // Use these labels instead of numeric Campaign Manager IDs (such as
  6570  // placement IDs) to save time and avoid errors in your dynamic feeds.
  6571  type DynamicTargetingKey struct {
  6572  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6573  	// string "dfareporting#dynamicTargetingKey".
  6574  	Kind string `json:"kind,omitempty"`
  6575  
  6576  	// Name: Name of this dynamic targeting key. This is a required field.
  6577  	// Must be less than 256 characters long and cannot contain commas. All
  6578  	// characters are converted to lowercase.
  6579  	Name string `json:"name,omitempty"`
  6580  
  6581  	// ObjectId: ID of the object of this dynamic targeting key. This is a
  6582  	// required field.
  6583  	ObjectId int64 `json:"objectId,omitempty,string"`
  6584  
  6585  	// ObjectType: Type of the object of this dynamic targeting key. This is
  6586  	// a required field.
  6587  	//
  6588  	// Possible values:
  6589  	//   "OBJECT_ADVERTISER"
  6590  	//   "OBJECT_AD"
  6591  	//   "OBJECT_CREATIVE"
  6592  	//   "OBJECT_PLACEMENT"
  6593  	ObjectType string `json:"objectType,omitempty"`
  6594  
  6595  	// ServerResponse contains the HTTP response code and headers from the
  6596  	// server.
  6597  	googleapi.ServerResponse `json:"-"`
  6598  
  6599  	// ForceSendFields is a list of field names (e.g. "Kind") to
  6600  	// unconditionally include in API requests. By default, fields with
  6601  	// empty or default values are omitted from API requests. However, any
  6602  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6603  	// sent to the server regardless of whether the field is empty or not.
  6604  	// This may be used to include empty fields in Patch requests.
  6605  	ForceSendFields []string `json:"-"`
  6606  
  6607  	// NullFields is a list of field names (e.g. "Kind") to include in API
  6608  	// requests with the JSON null value. By default, fields with empty
  6609  	// values are omitted from API requests. However, any field with an
  6610  	// empty value appearing in NullFields will be sent to the server as
  6611  	// null. It is an error if a field in this list has a non-empty value.
  6612  	// This may be used to include null fields in Patch requests.
  6613  	NullFields []string `json:"-"`
  6614  }
  6615  
  6616  func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
  6617  	type NoMethod DynamicTargetingKey
  6618  	raw := NoMethod(*s)
  6619  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6620  }
  6621  
  6622  // DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
  6623  type DynamicTargetingKeysListResponse struct {
  6624  	// DynamicTargetingKeys: Dynamic targeting key collection.
  6625  	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
  6626  
  6627  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6628  	// string "dfareporting#dynamicTargetingKeysListResponse".
  6629  	Kind string `json:"kind,omitempty"`
  6630  
  6631  	// ServerResponse contains the HTTP response code and headers from the
  6632  	// server.
  6633  	googleapi.ServerResponse `json:"-"`
  6634  
  6635  	// ForceSendFields is a list of field names (e.g.
  6636  	// "DynamicTargetingKeys") to unconditionally include in API requests.
  6637  	// By default, fields with empty or default values are omitted from API
  6638  	// requests. However, any non-pointer, non-interface field appearing in
  6639  	// ForceSendFields will be sent to the server regardless of whether the
  6640  	// field is empty or not. This may be used to include empty fields in
  6641  	// Patch requests.
  6642  	ForceSendFields []string `json:"-"`
  6643  
  6644  	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
  6645  	// include in API requests with the JSON null value. By default, fields
  6646  	// with empty values are omitted from API requests. However, any field
  6647  	// with an empty value appearing in NullFields will be sent to the
  6648  	// server as null. It is an error if a field in this list has a
  6649  	// non-empty value. This may be used to include null fields in Patch
  6650  	// requests.
  6651  	NullFields []string `json:"-"`
  6652  }
  6653  
  6654  func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
  6655  	type NoMethod DynamicTargetingKeysListResponse
  6656  	raw := NoMethod(*s)
  6657  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6658  }
  6659  
  6660  // EncryptionInfo: A description of how user IDs are encrypted.
  6661  type EncryptionInfo struct {
  6662  	// EncryptionEntityId: The encryption entity ID. This should match the
  6663  	// encryption configuration for ad serving or Data Transfer.
  6664  	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
  6665  
  6666  	// EncryptionEntityType: The encryption entity type. This should match
  6667  	// the encryption configuration for ad serving or Data Transfer.
  6668  	//
  6669  	// Possible values:
  6670  	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
  6671  	//   "DCM_ACCOUNT"
  6672  	//   "DCM_ADVERTISER"
  6673  	//   "DBM_PARTNER"
  6674  	//   "DBM_ADVERTISER"
  6675  	//   "ADWORDS_CUSTOMER"
  6676  	//   "DFP_NETWORK_CODE"
  6677  	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
  6678  
  6679  	// EncryptionSource: Describes whether the encrypted cookie was received
  6680  	// from ad serving (the %m macro) or from Data Transfer.
  6681  	//
  6682  	// Possible values:
  6683  	//   "ENCRYPTION_SCOPE_UNKNOWN"
  6684  	//   "AD_SERVING"
  6685  	//   "DATA_TRANSFER"
  6686  	EncryptionSource string `json:"encryptionSource,omitempty"`
  6687  
  6688  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6689  	// string "dfareporting#encryptionInfo".
  6690  	Kind string `json:"kind,omitempty"`
  6691  
  6692  	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
  6693  	// to unconditionally include in API requests. By default, fields with
  6694  	// empty or default values are omitted from API requests. However, any
  6695  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6696  	// sent to the server regardless of whether the field is empty or not.
  6697  	// This may be used to include empty fields in Patch requests.
  6698  	ForceSendFields []string `json:"-"`
  6699  
  6700  	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
  6701  	// include in API requests with the JSON null value. By default, fields
  6702  	// with empty values are omitted from API requests. However, any field
  6703  	// with an empty value appearing in NullFields will be sent to the
  6704  	// server as null. It is an error if a field in this list has a
  6705  	// non-empty value. This may be used to include null fields in Patch
  6706  	// requests.
  6707  	NullFields []string `json:"-"`
  6708  }
  6709  
  6710  func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
  6711  	type NoMethod EncryptionInfo
  6712  	raw := NoMethod(*s)
  6713  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6714  }
  6715  
  6716  // EventTag: Contains properties of an event tag.
  6717  type EventTag struct {
  6718  	// AccountId: Account ID of this event tag. This is a read-only field
  6719  	// that can be left blank.
  6720  	AccountId int64 `json:"accountId,omitempty,string"`
  6721  
  6722  	// AdvertiserId: Advertiser ID of this event tag. This field or the
  6723  	// campaignId field is required on insertion.
  6724  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  6725  
  6726  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  6727  	// advertiser. This is a read-only, auto-generated field.
  6728  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  6729  
  6730  	// CampaignId: Campaign ID of this event tag. This field or the
  6731  	// advertiserId field is required on insertion.
  6732  	CampaignId int64 `json:"campaignId,omitempty,string"`
  6733  
  6734  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  6735  	// This is a read-only, auto-generated field.
  6736  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  6737  
  6738  	// EnabledByDefault: Whether this event tag should be automatically
  6739  	// enabled for all of the advertiser's campaigns and ads.
  6740  	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
  6741  
  6742  	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
  6743  	// that are trafficked through Display & Video 360 to Ad Exchange. This
  6744  	// may be useful if the event tag uses a pixel that is unapproved for Ad
  6745  	// Exchange bids on one or more networks, such as the Google Display
  6746  	// Network.
  6747  	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
  6748  
  6749  	// Id: ID of this event tag. This is a read-only, auto-generated field.
  6750  	Id int64 `json:"id,omitempty,string"`
  6751  
  6752  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6753  	// string "dfareporting#eventTag".
  6754  	Kind string `json:"kind,omitempty"`
  6755  
  6756  	// Name: Name of this event tag. This is a required field and must be
  6757  	// less than 256 characters long.
  6758  	Name string `json:"name,omitempty"`
  6759  
  6760  	// SiteFilterType: Site filter type for this event tag. If no type is
  6761  	// specified then the event tag will be applied to all sites.
  6762  	//
  6763  	// Possible values:
  6764  	//   "WHITELIST"
  6765  	//   "BLACKLIST"
  6766  	SiteFilterType string `json:"siteFilterType,omitempty"`
  6767  
  6768  	// SiteIds: Filter list of site IDs associated with this event tag. The
  6769  	// siteFilterType determines whether this is a allowlist or blocklist
  6770  	// filter.
  6771  	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
  6772  
  6773  	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
  6774  	// read-only field.
  6775  	SslCompliant bool `json:"sslCompliant,omitempty"`
  6776  
  6777  	// Status: Status of this event tag. Must be ENABLED for this event tag
  6778  	// to fire. This is a required field.
  6779  	//
  6780  	// Possible values:
  6781  	//   "ENABLED"
  6782  	//   "DISABLED"
  6783  	Status string `json:"status,omitempty"`
  6784  
  6785  	// SubaccountId: Subaccount ID of this event tag. This is a read-only
  6786  	// field that can be left blank.
  6787  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  6788  
  6789  	// Type: Event tag type. Can be used to specify whether to use a
  6790  	// third-party pixel, a third-party JavaScript URL, or a third-party
  6791  	// click-through URL for either impression or click tracking. This is a
  6792  	// required field.
  6793  	//
  6794  	// Possible values:
  6795  	//   "IMPRESSION_IMAGE_EVENT_TAG"
  6796  	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
  6797  	//   "CLICK_THROUGH_EVENT_TAG"
  6798  	Type string `json:"type,omitempty"`
  6799  
  6800  	// Url: Payload URL for this event tag. The URL on a click-through event
  6801  	// tag should have a landing page URL appended to the end of it. This
  6802  	// field is required on insertion.
  6803  	Url string `json:"url,omitempty"`
  6804  
  6805  	// UrlEscapeLevels: Number of times the landing page URL should be
  6806  	// URL-escaped before being appended to the click-through event tag URL.
  6807  	// Only applies to click-through event tags as specified by the event
  6808  	// tag type.
  6809  	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
  6810  
  6811  	// ServerResponse contains the HTTP response code and headers from the
  6812  	// server.
  6813  	googleapi.ServerResponse `json:"-"`
  6814  
  6815  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  6816  	// unconditionally include in API requests. By default, fields with
  6817  	// empty or default values are omitted from API requests. However, any
  6818  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6819  	// sent to the server regardless of whether the field is empty or not.
  6820  	// This may be used to include empty fields in Patch requests.
  6821  	ForceSendFields []string `json:"-"`
  6822  
  6823  	// NullFields is a list of field names (e.g. "AccountId") to include in
  6824  	// API requests with the JSON null value. By default, fields with empty
  6825  	// values are omitted from API requests. However, any field with an
  6826  	// empty value appearing in NullFields will be sent to the server as
  6827  	// null. It is an error if a field in this list has a non-empty value.
  6828  	// This may be used to include null fields in Patch requests.
  6829  	NullFields []string `json:"-"`
  6830  }
  6831  
  6832  func (s *EventTag) MarshalJSON() ([]byte, error) {
  6833  	type NoMethod EventTag
  6834  	raw := NoMethod(*s)
  6835  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6836  }
  6837  
  6838  // EventTagOverride: Event tag override information.
  6839  type EventTagOverride struct {
  6840  	// Enabled: Whether this override is enabled.
  6841  	Enabled bool `json:"enabled,omitempty"`
  6842  
  6843  	// Id: ID of this event tag override. This is a read-only,
  6844  	// auto-generated field.
  6845  	Id int64 `json:"id,omitempty,string"`
  6846  
  6847  	// ForceSendFields is a list of field names (e.g. "Enabled") to
  6848  	// unconditionally include in API requests. By default, fields with
  6849  	// empty or default values are omitted from API requests. However, any
  6850  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6851  	// sent to the server regardless of whether the field is empty or not.
  6852  	// This may be used to include empty fields in Patch requests.
  6853  	ForceSendFields []string `json:"-"`
  6854  
  6855  	// NullFields is a list of field names (e.g. "Enabled") to include in
  6856  	// API requests with the JSON null value. By default, fields with empty
  6857  	// values are omitted from API requests. However, any field with an
  6858  	// empty value appearing in NullFields will be sent to the server as
  6859  	// null. It is an error if a field in this list has a non-empty value.
  6860  	// This may be used to include null fields in Patch requests.
  6861  	NullFields []string `json:"-"`
  6862  }
  6863  
  6864  func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
  6865  	type NoMethod EventTagOverride
  6866  	raw := NoMethod(*s)
  6867  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6868  }
  6869  
  6870  // EventTagsListResponse: Event Tag List Response
  6871  type EventTagsListResponse struct {
  6872  	// EventTags: Event tag collection.
  6873  	EventTags []*EventTag `json:"eventTags,omitempty"`
  6874  
  6875  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6876  	// string "dfareporting#eventTagsListResponse".
  6877  	Kind string `json:"kind,omitempty"`
  6878  
  6879  	// ServerResponse contains the HTTP response code and headers from the
  6880  	// server.
  6881  	googleapi.ServerResponse `json:"-"`
  6882  
  6883  	// ForceSendFields is a list of field names (e.g. "EventTags") to
  6884  	// unconditionally include in API requests. By default, fields with
  6885  	// empty or default values are omitted from API requests. However, any
  6886  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6887  	// sent to the server regardless of whether the field is empty or not.
  6888  	// This may be used to include empty fields in Patch requests.
  6889  	ForceSendFields []string `json:"-"`
  6890  
  6891  	// NullFields is a list of field names (e.g. "EventTags") to include in
  6892  	// API requests with the JSON null value. By default, fields with empty
  6893  	// values are omitted from API requests. However, any field with an
  6894  	// empty value appearing in NullFields will be sent to the server as
  6895  	// null. It is an error if a field in this list has a non-empty value.
  6896  	// This may be used to include null fields in Patch requests.
  6897  	NullFields []string `json:"-"`
  6898  }
  6899  
  6900  func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
  6901  	type NoMethod EventTagsListResponse
  6902  	raw := NoMethod(*s)
  6903  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6904  }
  6905  
  6906  // File: Represents a File resource. A file contains the metadata for a
  6907  // report run. It shows the status of the run and holds the URLs to the
  6908  // generated report data if the run is finished and the status is
  6909  // "REPORT_AVAILABLE".
  6910  type File struct {
  6911  	// DateRange: The date range for which the file has report data. The
  6912  	// date range will always be the absolute date range for which the
  6913  	// report is run.
  6914  	DateRange *DateRange `json:"dateRange,omitempty"`
  6915  
  6916  	// Etag: Etag of this resource.
  6917  	Etag string `json:"etag,omitempty"`
  6918  
  6919  	// FileName: The filename of the file.
  6920  	FileName string `json:"fileName,omitempty"`
  6921  
  6922  	// Format: The output format of the report. Only available once the file
  6923  	// is available.
  6924  	//
  6925  	// Possible values:
  6926  	//   "CSV"
  6927  	//   "EXCEL"
  6928  	Format string `json:"format,omitempty"`
  6929  
  6930  	// Id: The unique ID of this report file.
  6931  	Id int64 `json:"id,omitempty,string"`
  6932  
  6933  	// Kind: Identifies what kind of resource this is. Value: the fixed
  6934  	// string "dfareporting#file".
  6935  	Kind string `json:"kind,omitempty"`
  6936  
  6937  	// LastModifiedTime: The timestamp in milliseconds since epoch when this
  6938  	// file was last modified.
  6939  	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
  6940  
  6941  	// ReportId: The ID of the report this file was generated from.
  6942  	ReportId int64 `json:"reportId,omitempty,string"`
  6943  
  6944  	// Status: The status of the report file.
  6945  	//
  6946  	// Possible values:
  6947  	//   "PROCESSING"
  6948  	//   "REPORT_AVAILABLE"
  6949  	//   "FAILED"
  6950  	//   "CANCELLED"
  6951  	Status string `json:"status,omitempty"`
  6952  
  6953  	// Urls: The URLs where the completed report file can be downloaded.
  6954  	Urls *FileUrls `json:"urls,omitempty"`
  6955  
  6956  	// ServerResponse contains the HTTP response code and headers from the
  6957  	// server.
  6958  	googleapi.ServerResponse `json:"-"`
  6959  
  6960  	// ForceSendFields is a list of field names (e.g. "DateRange") to
  6961  	// unconditionally include in API requests. By default, fields with
  6962  	// empty or default values are omitted from API requests. However, any
  6963  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6964  	// sent to the server regardless of whether the field is empty or not.
  6965  	// This may be used to include empty fields in Patch requests.
  6966  	ForceSendFields []string `json:"-"`
  6967  
  6968  	// NullFields is a list of field names (e.g. "DateRange") to include in
  6969  	// API requests with the JSON null value. By default, fields with empty
  6970  	// values are omitted from API requests. However, any field with an
  6971  	// empty value appearing in NullFields will be sent to the server as
  6972  	// null. It is an error if a field in this list has a non-empty value.
  6973  	// This may be used to include null fields in Patch requests.
  6974  	NullFields []string `json:"-"`
  6975  }
  6976  
  6977  func (s *File) MarshalJSON() ([]byte, error) {
  6978  	type NoMethod File
  6979  	raw := NoMethod(*s)
  6980  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  6981  }
  6982  
  6983  // FileUrls: The URLs where the completed report file can be downloaded.
  6984  type FileUrls struct {
  6985  	// ApiUrl: The URL for downloading the report data through the API.
  6986  	ApiUrl string `json:"apiUrl,omitempty"`
  6987  
  6988  	// BrowserUrl: The URL for downloading the report data through a
  6989  	// browser.
  6990  	BrowserUrl string `json:"browserUrl,omitempty"`
  6991  
  6992  	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
  6993  	// unconditionally include in API requests. By default, fields with
  6994  	// empty or default values are omitted from API requests. However, any
  6995  	// non-pointer, non-interface field appearing in ForceSendFields will be
  6996  	// sent to the server regardless of whether the field is empty or not.
  6997  	// This may be used to include empty fields in Patch requests.
  6998  	ForceSendFields []string `json:"-"`
  6999  
  7000  	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
  7001  	// requests with the JSON null value. By default, fields with empty
  7002  	// values are omitted from API requests. However, any field with an
  7003  	// empty value appearing in NullFields will be sent to the server as
  7004  	// null. It is an error if a field in this list has a non-empty value.
  7005  	// This may be used to include null fields in Patch requests.
  7006  	NullFields []string `json:"-"`
  7007  }
  7008  
  7009  func (s *FileUrls) MarshalJSON() ([]byte, error) {
  7010  	type NoMethod FileUrls
  7011  	raw := NoMethod(*s)
  7012  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7013  }
  7014  
  7015  // FileList: List of files for a report.
  7016  type FileList struct {
  7017  	// Etag: Etag of this resource.
  7018  	Etag string `json:"etag,omitempty"`
  7019  
  7020  	// Items: The files returned in this response.
  7021  	Items []*File `json:"items,omitempty"`
  7022  
  7023  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7024  	// string "dfareporting#fileList".
  7025  	Kind string `json:"kind,omitempty"`
  7026  
  7027  	// NextPageToken: Continuation token used to page through files. To
  7028  	// retrieve the next page of results, set the next request's "pageToken"
  7029  	// to the value of this field. The page token is only valid for a
  7030  	// limited amount of time and should not be persisted.
  7031  	NextPageToken string `json:"nextPageToken,omitempty"`
  7032  
  7033  	// ServerResponse contains the HTTP response code and headers from the
  7034  	// server.
  7035  	googleapi.ServerResponse `json:"-"`
  7036  
  7037  	// ForceSendFields is a list of field names (e.g. "Etag") to
  7038  	// unconditionally include in API requests. By default, fields with
  7039  	// empty or default values are omitted from API requests. However, any
  7040  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7041  	// sent to the server regardless of whether the field is empty or not.
  7042  	// This may be used to include empty fields in Patch requests.
  7043  	ForceSendFields []string `json:"-"`
  7044  
  7045  	// NullFields is a list of field names (e.g. "Etag") to include in API
  7046  	// requests with the JSON null value. By default, fields with empty
  7047  	// values are omitted from API requests. However, any field with an
  7048  	// empty value appearing in NullFields will be sent to the server as
  7049  	// null. It is an error if a field in this list has a non-empty value.
  7050  	// This may be used to include null fields in Patch requests.
  7051  	NullFields []string `json:"-"`
  7052  }
  7053  
  7054  func (s *FileList) MarshalJSON() ([]byte, error) {
  7055  	type NoMethod FileList
  7056  	raw := NoMethod(*s)
  7057  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7058  }
  7059  
  7060  // Flight: Flight
  7061  type Flight struct {
  7062  	EndDate string `json:"endDate,omitempty"`
  7063  
  7064  	// RateOrCost: Rate or cost of this flight.
  7065  	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
  7066  
  7067  	StartDate string `json:"startDate,omitempty"`
  7068  
  7069  	// Units: Units of this flight.
  7070  	Units int64 `json:"units,omitempty,string"`
  7071  
  7072  	// ForceSendFields is a list of field names (e.g. "EndDate") to
  7073  	// unconditionally include in API requests. By default, fields with
  7074  	// empty or default values are omitted from API requests. However, any
  7075  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7076  	// sent to the server regardless of whether the field is empty or not.
  7077  	// This may be used to include empty fields in Patch requests.
  7078  	ForceSendFields []string `json:"-"`
  7079  
  7080  	// NullFields is a list of field names (e.g. "EndDate") to include in
  7081  	// API requests with the JSON null value. By default, fields with empty
  7082  	// values are omitted from API requests. However, any field with an
  7083  	// empty value appearing in NullFields will be sent to the server as
  7084  	// null. It is an error if a field in this list has a non-empty value.
  7085  	// This may be used to include null fields in Patch requests.
  7086  	NullFields []string `json:"-"`
  7087  }
  7088  
  7089  func (s *Flight) MarshalJSON() ([]byte, error) {
  7090  	type NoMethod Flight
  7091  	raw := NoMethod(*s)
  7092  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7093  }
  7094  
  7095  // FloodlightActivitiesGenerateTagResponse: Floodlight Activity
  7096  // GenerateTag Response
  7097  type FloodlightActivitiesGenerateTagResponse struct {
  7098  	// FloodlightActivityTag: Generated tag for this Floodlight activity.
  7099  	// For global site tags, this is the event snippet.
  7100  	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
  7101  
  7102  	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
  7103  	// site tag. The global site tag sets new cookies on your domain, which
  7104  	// will store a unique identifier for a user or the ad click that
  7105  	// brought the user to your site. Learn more.
  7106  	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
  7107  
  7108  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7109  	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
  7110  	Kind string `json:"kind,omitempty"`
  7111  
  7112  	// ServerResponse contains the HTTP response code and headers from the
  7113  	// server.
  7114  	googleapi.ServerResponse `json:"-"`
  7115  
  7116  	// ForceSendFields is a list of field names (e.g.
  7117  	// "FloodlightActivityTag") to unconditionally include in API requests.
  7118  	// By default, fields with empty or default values are omitted from API
  7119  	// requests. However, any non-pointer, non-interface field appearing in
  7120  	// ForceSendFields will be sent to the server regardless of whether the
  7121  	// field is empty or not. This may be used to include empty fields in
  7122  	// Patch requests.
  7123  	ForceSendFields []string `json:"-"`
  7124  
  7125  	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
  7126  	// include in API requests with the JSON null value. By default, fields
  7127  	// with empty values are omitted from API requests. However, any field
  7128  	// with an empty value appearing in NullFields will be sent to the
  7129  	// server as null. It is an error if a field in this list has a
  7130  	// non-empty value. This may be used to include null fields in Patch
  7131  	// requests.
  7132  	NullFields []string `json:"-"`
  7133  }
  7134  
  7135  func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
  7136  	type NoMethod FloodlightActivitiesGenerateTagResponse
  7137  	raw := NoMethod(*s)
  7138  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7139  }
  7140  
  7141  // FloodlightActivitiesListResponse: Floodlight Activity List Response
  7142  type FloodlightActivitiesListResponse struct {
  7143  	// FloodlightActivities: Floodlight activity collection.
  7144  	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
  7145  
  7146  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7147  	// string "dfareporting#floodlightActivitiesListResponse".
  7148  	Kind string `json:"kind,omitempty"`
  7149  
  7150  	// NextPageToken: Pagination token to be used for the next list
  7151  	// operation.
  7152  	NextPageToken string `json:"nextPageToken,omitempty"`
  7153  
  7154  	// ServerResponse contains the HTTP response code and headers from the
  7155  	// server.
  7156  	googleapi.ServerResponse `json:"-"`
  7157  
  7158  	// ForceSendFields is a list of field names (e.g.
  7159  	// "FloodlightActivities") to unconditionally include in API requests.
  7160  	// By default, fields with empty or default values are omitted from API
  7161  	// requests. However, any non-pointer, non-interface field appearing in
  7162  	// ForceSendFields will be sent to the server regardless of whether the
  7163  	// field is empty or not. This may be used to include empty fields in
  7164  	// Patch requests.
  7165  	ForceSendFields []string `json:"-"`
  7166  
  7167  	// NullFields is a list of field names (e.g. "FloodlightActivities") to
  7168  	// include in API requests with the JSON null value. By default, fields
  7169  	// with empty values are omitted from API requests. However, any field
  7170  	// with an empty value appearing in NullFields will be sent to the
  7171  	// server as null. It is an error if a field in this list has a
  7172  	// non-empty value. This may be used to include null fields in Patch
  7173  	// requests.
  7174  	NullFields []string `json:"-"`
  7175  }
  7176  
  7177  func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
  7178  	type NoMethod FloodlightActivitiesListResponse
  7179  	raw := NoMethod(*s)
  7180  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7181  }
  7182  
  7183  // FloodlightActivity: Contains properties of a Floodlight activity.
  7184  type FloodlightActivity struct {
  7185  	// AccountId: Account ID of this floodlight activity. This is a
  7186  	// read-only field that can be left blank.
  7187  	AccountId int64 `json:"accountId,omitempty,string"`
  7188  
  7189  	// AdvertiserId: Advertiser ID of this floodlight activity. If this
  7190  	// field is left blank, the value will be copied over either from the
  7191  	// activity group's advertiser or the existing activity's advertiser.
  7192  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7193  
  7194  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7195  	// advertiser. This is a read-only, auto-generated field.
  7196  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7197  
  7198  	// CacheBustingType: Code type used for cache busting in the generated
  7199  	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
  7200  	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
  7201  	//
  7202  	// Possible values:
  7203  	//   "JAVASCRIPT"
  7204  	//   "ACTIVE_SERVER_PAGE"
  7205  	//   "JSP"
  7206  	//   "PHP"
  7207  	//   "COLD_FUSION"
  7208  	CacheBustingType string `json:"cacheBustingType,omitempty"`
  7209  
  7210  	// CountingMethod: Counting method for conversions for this floodlight
  7211  	// activity. This is a required field.
  7212  	//
  7213  	// Possible values:
  7214  	//   "STANDARD_COUNTING"
  7215  	//   "UNIQUE_COUNTING"
  7216  	//   "SESSION_COUNTING"
  7217  	//   "TRANSACTIONS_COUNTING"
  7218  	//   "ITEMS_SOLD_COUNTING"
  7219  	CountingMethod string `json:"countingMethod,omitempty"`
  7220  
  7221  	// DefaultTags: Dynamic floodlight tags.
  7222  	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
  7223  
  7224  	// ExpectedUrl: URL where this tag will be deployed. If specified, must
  7225  	// be less than 256 characters long.
  7226  	ExpectedUrl string `json:"expectedUrl,omitempty"`
  7227  
  7228  	// FloodlightActivityGroupId: Floodlight activity group ID of this
  7229  	// floodlight activity. This is a required field.
  7230  	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
  7231  
  7232  	// FloodlightActivityGroupName: Name of the associated floodlight
  7233  	// activity group. This is a read-only field.
  7234  	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
  7235  
  7236  	// FloodlightActivityGroupTagString: Tag string of the associated
  7237  	// floodlight activity group. This is a read-only field.
  7238  	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
  7239  
  7240  	// FloodlightActivityGroupType: Type of the associated floodlight
  7241  	// activity group. This is a read-only field.
  7242  	//
  7243  	// Possible values:
  7244  	//   "COUNTER"
  7245  	//   "SALE"
  7246  	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
  7247  
  7248  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7249  	// floodlight activity. If this field is left blank, the value will be
  7250  	// copied over either from the activity group's floodlight configuration
  7251  	// or from the existing activity's floodlight configuration.
  7252  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7253  
  7254  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7255  	// of the floodlight configuration. This is a read-only, auto-generated
  7256  	// field.
  7257  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7258  
  7259  	// FloodlightTagType: The type of Floodlight tag this activity will
  7260  	// generate. This is a required field.
  7261  	//
  7262  	// Possible values:
  7263  	//   "IFRAME"
  7264  	//   "IMAGE"
  7265  	//   "GLOBAL_SITE_TAG"
  7266  	FloodlightTagType string `json:"floodlightTagType,omitempty"`
  7267  
  7268  	// Hidden: Whether this activity is archived.
  7269  	Hidden bool `json:"hidden,omitempty"`
  7270  
  7271  	// Id: ID of this floodlight activity. This is a read-only,
  7272  	// auto-generated field.
  7273  	Id int64 `json:"id,omitempty,string"`
  7274  
  7275  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7276  	// activity. This is a read-only, auto-generated field.
  7277  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7278  
  7279  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7280  	// string "dfareporting#floodlightActivity".
  7281  	Kind string `json:"kind,omitempty"`
  7282  
  7283  	// Name: Name of this floodlight activity. This is a required field.
  7284  	// Must be less than 129 characters long and cannot contain quotes.
  7285  	Name string `json:"name,omitempty"`
  7286  
  7287  	// Notes: General notes or implementation instructions for the tag.
  7288  	Notes string `json:"notes,omitempty"`
  7289  
  7290  	// PublisherTags: Publisher dynamic floodlight tags.
  7291  	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
  7292  
  7293  	// Secure: Whether this tag should use SSL.
  7294  	Secure bool `json:"secure,omitempty"`
  7295  
  7296  	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
  7297  	// is a read-only field, its value detected by the system from the
  7298  	// floodlight tags.
  7299  	SslCompliant bool `json:"sslCompliant,omitempty"`
  7300  
  7301  	// SslRequired: Whether this floodlight activity must be SSL-compliant.
  7302  	SslRequired bool `json:"sslRequired,omitempty"`
  7303  
  7304  	// SubaccountId: Subaccount ID of this floodlight activity. This is a
  7305  	// read-only field that can be left blank.
  7306  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7307  
  7308  	// TagFormat: Tag format type for the floodlight activity. If left
  7309  	// blank, the tag format will default to HTML.
  7310  	//
  7311  	// Possible values:
  7312  	//   "HTML"
  7313  	//   "XHTML"
  7314  	TagFormat string `json:"tagFormat,omitempty"`
  7315  
  7316  	// TagString: Value of the cat= parameter in the floodlight tag, which
  7317  	// the ad servers use to identify the activity. This is optional: if
  7318  	// empty, a new tag string will be generated for you. This string must
  7319  	// be 1 to 8 characters long, with valid characters being a-z0-9[ _ ].
  7320  	// This tag string must also be unique among activities of the same
  7321  	// activity group. This field is read-only after insertion.
  7322  	TagString string `json:"tagString,omitempty"`
  7323  
  7324  	// UserDefinedVariableTypes: List of the user-defined variables used by
  7325  	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
  7326  	// of these can have a user defined type. Acceptable values are U1 to
  7327  	// U100, inclusive.
  7328  	//
  7329  	// Possible values:
  7330  	//   "U1"
  7331  	//   "U2"
  7332  	//   "U3"
  7333  	//   "U4"
  7334  	//   "U5"
  7335  	//   "U6"
  7336  	//   "U7"
  7337  	//   "U8"
  7338  	//   "U9"
  7339  	//   "U10"
  7340  	//   "U11"
  7341  	//   "U12"
  7342  	//   "U13"
  7343  	//   "U14"
  7344  	//   "U15"
  7345  	//   "U16"
  7346  	//   "U17"
  7347  	//   "U18"
  7348  	//   "U19"
  7349  	//   "U20"
  7350  	//   "U21"
  7351  	//   "U22"
  7352  	//   "U23"
  7353  	//   "U24"
  7354  	//   "U25"
  7355  	//   "U26"
  7356  	//   "U27"
  7357  	//   "U28"
  7358  	//   "U29"
  7359  	//   "U30"
  7360  	//   "U31"
  7361  	//   "U32"
  7362  	//   "U33"
  7363  	//   "U34"
  7364  	//   "U35"
  7365  	//   "U36"
  7366  	//   "U37"
  7367  	//   "U38"
  7368  	//   "U39"
  7369  	//   "U40"
  7370  	//   "U41"
  7371  	//   "U42"
  7372  	//   "U43"
  7373  	//   "U44"
  7374  	//   "U45"
  7375  	//   "U46"
  7376  	//   "U47"
  7377  	//   "U48"
  7378  	//   "U49"
  7379  	//   "U50"
  7380  	//   "U51"
  7381  	//   "U52"
  7382  	//   "U53"
  7383  	//   "U54"
  7384  	//   "U55"
  7385  	//   "U56"
  7386  	//   "U57"
  7387  	//   "U58"
  7388  	//   "U59"
  7389  	//   "U60"
  7390  	//   "U61"
  7391  	//   "U62"
  7392  	//   "U63"
  7393  	//   "U64"
  7394  	//   "U65"
  7395  	//   "U66"
  7396  	//   "U67"
  7397  	//   "U68"
  7398  	//   "U69"
  7399  	//   "U70"
  7400  	//   "U71"
  7401  	//   "U72"
  7402  	//   "U73"
  7403  	//   "U74"
  7404  	//   "U75"
  7405  	//   "U76"
  7406  	//   "U77"
  7407  	//   "U78"
  7408  	//   "U79"
  7409  	//   "U80"
  7410  	//   "U81"
  7411  	//   "U82"
  7412  	//   "U83"
  7413  	//   "U84"
  7414  	//   "U85"
  7415  	//   "U86"
  7416  	//   "U87"
  7417  	//   "U88"
  7418  	//   "U89"
  7419  	//   "U90"
  7420  	//   "U91"
  7421  	//   "U92"
  7422  	//   "U93"
  7423  	//   "U94"
  7424  	//   "U95"
  7425  	//   "U96"
  7426  	//   "U97"
  7427  	//   "U98"
  7428  	//   "U99"
  7429  	//   "U100"
  7430  	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
  7431  
  7432  	// ServerResponse contains the HTTP response code and headers from the
  7433  	// server.
  7434  	googleapi.ServerResponse `json:"-"`
  7435  
  7436  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7437  	// unconditionally include in API requests. By default, fields with
  7438  	// empty or default values are omitted from API requests. However, any
  7439  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7440  	// sent to the server regardless of whether the field is empty or not.
  7441  	// This may be used to include empty fields in Patch requests.
  7442  	ForceSendFields []string `json:"-"`
  7443  
  7444  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7445  	// API requests with the JSON null value. By default, fields with empty
  7446  	// values are omitted from API requests. However, any field with an
  7447  	// empty value appearing in NullFields will be sent to the server as
  7448  	// null. It is an error if a field in this list has a non-empty value.
  7449  	// This may be used to include null fields in Patch requests.
  7450  	NullFields []string `json:"-"`
  7451  }
  7452  
  7453  func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
  7454  	type NoMethod FloodlightActivity
  7455  	raw := NoMethod(*s)
  7456  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7457  }
  7458  
  7459  // FloodlightActivityDynamicTag: Dynamic Tag
  7460  type FloodlightActivityDynamicTag struct {
  7461  	// Id: ID of this dynamic tag. This is a read-only, auto-generated
  7462  	// field.
  7463  	Id int64 `json:"id,omitempty,string"`
  7464  
  7465  	// Name: Name of this tag.
  7466  	Name string `json:"name,omitempty"`
  7467  
  7468  	// Tag: Tag code.
  7469  	Tag string `json:"tag,omitempty"`
  7470  
  7471  	// ForceSendFields is a list of field names (e.g. "Id") to
  7472  	// unconditionally include in API requests. By default, fields with
  7473  	// empty or default values are omitted from API requests. However, any
  7474  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7475  	// sent to the server regardless of whether the field is empty or not.
  7476  	// This may be used to include empty fields in Patch requests.
  7477  	ForceSendFields []string `json:"-"`
  7478  
  7479  	// NullFields is a list of field names (e.g. "Id") to include in API
  7480  	// requests with the JSON null value. By default, fields with empty
  7481  	// values are omitted from API requests. However, any field with an
  7482  	// empty value appearing in NullFields will be sent to the server as
  7483  	// null. It is an error if a field in this list has a non-empty value.
  7484  	// This may be used to include null fields in Patch requests.
  7485  	NullFields []string `json:"-"`
  7486  }
  7487  
  7488  func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
  7489  	type NoMethod FloodlightActivityDynamicTag
  7490  	raw := NoMethod(*s)
  7491  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7492  }
  7493  
  7494  // FloodlightActivityGroup: Contains properties of a Floodlight activity
  7495  // group.
  7496  type FloodlightActivityGroup struct {
  7497  	// AccountId: Account ID of this floodlight activity group. This is a
  7498  	// read-only field that can be left blank.
  7499  	AccountId int64 `json:"accountId,omitempty,string"`
  7500  
  7501  	// AdvertiserId: Advertiser ID of this floodlight activity group. If
  7502  	// this field is left blank, the value will be copied over either from
  7503  	// the floodlight configuration's advertiser or from the existing
  7504  	// activity group's advertiser.
  7505  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7506  
  7507  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7508  	// advertiser. This is a read-only, auto-generated field.
  7509  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7510  
  7511  	// FloodlightConfigurationId: Floodlight configuration ID of this
  7512  	// floodlight activity group. This is a required field.
  7513  	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
  7514  
  7515  	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
  7516  	// of the floodlight configuration. This is a read-only, auto-generated
  7517  	// field.
  7518  	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
  7519  
  7520  	// Id: ID of this floodlight activity group. This is a read-only,
  7521  	// auto-generated field.
  7522  	Id int64 `json:"id,omitempty,string"`
  7523  
  7524  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7525  	// activity group. This is a read-only, auto-generated field.
  7526  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7527  
  7528  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7529  	// string "dfareporting#floodlightActivityGroup".
  7530  	Kind string `json:"kind,omitempty"`
  7531  
  7532  	// Name: Name of this floodlight activity group. This is a required
  7533  	// field. Must be less than 65 characters long and cannot contain
  7534  	// quotes.
  7535  	Name string `json:"name,omitempty"`
  7536  
  7537  	// SubaccountId: Subaccount ID of this floodlight activity group. This
  7538  	// is a read-only field that can be left blank.
  7539  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7540  
  7541  	// TagString: Value of the type= parameter in the floodlight tag, which
  7542  	// the ad servers use to identify the activity group that the activity
  7543  	// belongs to. This is optional: if empty, a new tag string will be
  7544  	// generated for you. This string must be 1 to 8 characters long, with
  7545  	// valid characters being a-z0-9[ _ ]. This tag string must also be
  7546  	// unique among activity groups of the same floodlight configuration.
  7547  	// This field is read-only after insertion.
  7548  	TagString string `json:"tagString,omitempty"`
  7549  
  7550  	// Type: Type of the floodlight activity group. This is a required field
  7551  	// that is read-only after insertion.
  7552  	//
  7553  	// Possible values:
  7554  	//   "COUNTER"
  7555  	//   "SALE"
  7556  	Type string `json:"type,omitempty"`
  7557  
  7558  	// ServerResponse contains the HTTP response code and headers from the
  7559  	// server.
  7560  	googleapi.ServerResponse `json:"-"`
  7561  
  7562  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7563  	// unconditionally include in API requests. By default, fields with
  7564  	// empty or default values are omitted from API requests. However, any
  7565  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7566  	// sent to the server regardless of whether the field is empty or not.
  7567  	// This may be used to include empty fields in Patch requests.
  7568  	ForceSendFields []string `json:"-"`
  7569  
  7570  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7571  	// API requests with the JSON null value. By default, fields with empty
  7572  	// values are omitted from API requests. However, any field with an
  7573  	// empty value appearing in NullFields will be sent to the server as
  7574  	// null. It is an error if a field in this list has a non-empty value.
  7575  	// This may be used to include null fields in Patch requests.
  7576  	NullFields []string `json:"-"`
  7577  }
  7578  
  7579  func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
  7580  	type NoMethod FloodlightActivityGroup
  7581  	raw := NoMethod(*s)
  7582  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7583  }
  7584  
  7585  // FloodlightActivityGroupsListResponse: Floodlight Activity Group List
  7586  // Response
  7587  type FloodlightActivityGroupsListResponse struct {
  7588  	// FloodlightActivityGroups: Floodlight activity group collection.
  7589  	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
  7590  
  7591  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7592  	// string "dfareporting#floodlightActivityGroupsListResponse".
  7593  	Kind string `json:"kind,omitempty"`
  7594  
  7595  	// NextPageToken: Pagination token to be used for the next list
  7596  	// operation.
  7597  	NextPageToken string `json:"nextPageToken,omitempty"`
  7598  
  7599  	// ServerResponse contains the HTTP response code and headers from the
  7600  	// server.
  7601  	googleapi.ServerResponse `json:"-"`
  7602  
  7603  	// ForceSendFields is a list of field names (e.g.
  7604  	// "FloodlightActivityGroups") to unconditionally include in API
  7605  	// requests. By default, fields with empty or default values are omitted
  7606  	// from API requests. However, any non-pointer, non-interface field
  7607  	// appearing in ForceSendFields will be sent to the server regardless of
  7608  	// whether the field is empty or not. This may be used to include empty
  7609  	// fields in Patch requests.
  7610  	ForceSendFields []string `json:"-"`
  7611  
  7612  	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
  7613  	// to include in API requests with the JSON null value. By default,
  7614  	// fields with empty values are omitted from API requests. However, any
  7615  	// field with an empty value appearing in NullFields will be sent to the
  7616  	// server as null. It is an error if a field in this list has a
  7617  	// non-empty value. This may be used to include null fields in Patch
  7618  	// requests.
  7619  	NullFields []string `json:"-"`
  7620  }
  7621  
  7622  func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
  7623  	type NoMethod FloodlightActivityGroupsListResponse
  7624  	raw := NoMethod(*s)
  7625  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7626  }
  7627  
  7628  // FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
  7629  type FloodlightActivityPublisherDynamicTag struct {
  7630  	// ClickThrough: Whether this tag is applicable only for click-throughs.
  7631  	ClickThrough bool `json:"clickThrough,omitempty"`
  7632  
  7633  	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
  7634  	// write-only field that can be used as an alternative to the siteId
  7635  	// field. When this resource is retrieved, only the siteId field will be
  7636  	// populated.
  7637  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  7638  
  7639  	// DynamicTag: Dynamic floodlight tag.
  7640  	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
  7641  
  7642  	// SiteId: Site ID of this dynamic tag.
  7643  	SiteId int64 `json:"siteId,omitempty,string"`
  7644  
  7645  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  7646  	// a read-only, auto-generated field.
  7647  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  7648  
  7649  	// ViewThrough: Whether this tag is applicable only for view-throughs.
  7650  	ViewThrough bool `json:"viewThrough,omitempty"`
  7651  
  7652  	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
  7653  	// unconditionally include in API requests. By default, fields with
  7654  	// empty or default values are omitted from API requests. However, any
  7655  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7656  	// sent to the server regardless of whether the field is empty or not.
  7657  	// This may be used to include empty fields in Patch requests.
  7658  	ForceSendFields []string `json:"-"`
  7659  
  7660  	// NullFields is a list of field names (e.g. "ClickThrough") to include
  7661  	// in API requests with the JSON null value. By default, fields with
  7662  	// empty values are omitted from API requests. However, any field with
  7663  	// an empty value appearing in NullFields will be sent to the server as
  7664  	// null. It is an error if a field in this list has a non-empty value.
  7665  	// This may be used to include null fields in Patch requests.
  7666  	NullFields []string `json:"-"`
  7667  }
  7668  
  7669  func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
  7670  	type NoMethod FloodlightActivityPublisherDynamicTag
  7671  	raw := NoMethod(*s)
  7672  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7673  }
  7674  
  7675  // FloodlightConfiguration: Contains properties of a Floodlight
  7676  // configuration.
  7677  type FloodlightConfiguration struct {
  7678  	// AccountId: Account ID of this floodlight configuration. This is a
  7679  	// read-only field that can be left blank.
  7680  	AccountId int64 `json:"accountId,omitempty,string"`
  7681  
  7682  	// AdvertiserId: Advertiser ID of the parent advertiser of this
  7683  	// floodlight configuration.
  7684  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  7685  
  7686  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  7687  	// advertiser. This is a read-only, auto-generated field.
  7688  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  7689  
  7690  	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
  7691  	// Google Analytics.
  7692  	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
  7693  
  7694  	// CustomViewabilityMetric: Custom Viewability metric for the floodlight
  7695  	// configuration.
  7696  	CustomViewabilityMetric *CustomViewabilityMetric `json:"customViewabilityMetric,omitempty"`
  7697  
  7698  	// ExposureToConversionEnabled: Whether the exposure-to-conversion
  7699  	// report is enabled. This report shows detailed pathway information on
  7700  	// up to 10 of the most recent ad exposures seen by a user before
  7701  	// converting.
  7702  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
  7703  
  7704  	// FirstDayOfWeek: Day that will be counted as the first day of the week
  7705  	// in reports. This is a required field.
  7706  	//
  7707  	// Possible values:
  7708  	//   "MONDAY"
  7709  	//   "SUNDAY"
  7710  	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
  7711  
  7712  	// Id: ID of this floodlight configuration. This is a read-only,
  7713  	// auto-generated field.
  7714  	Id int64 `json:"id,omitempty,string"`
  7715  
  7716  	// IdDimensionValue: Dimension value for the ID of this floodlight
  7717  	// configuration. This is a read-only, auto-generated field.
  7718  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  7719  
  7720  	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
  7721  	// is enabled.
  7722  	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
  7723  
  7724  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7725  	// string "dfareporting#floodlightConfiguration".
  7726  	Kind string `json:"kind,omitempty"`
  7727  
  7728  	// LookbackConfiguration: Lookback window settings for this floodlight
  7729  	// configuration.
  7730  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  7731  
  7732  	// NaturalSearchConversionAttributionOption: Types of attribution
  7733  	// options for natural search conversions.
  7734  	//
  7735  	// Possible values:
  7736  	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  7737  	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
  7738  	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
  7739  	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
  7740  
  7741  	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
  7742  	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
  7743  
  7744  	// SubaccountId: Subaccount ID of this floodlight configuration. This is
  7745  	// a read-only field that can be left blank.
  7746  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  7747  
  7748  	// TagSettings: Configuration settings for dynamic and image floodlight
  7749  	// tags.
  7750  	TagSettings *TagSettings `json:"tagSettings,omitempty"`
  7751  
  7752  	// ThirdPartyAuthenticationTokens: List of third-party authentication
  7753  	// tokens enabled for this configuration.
  7754  	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
  7755  
  7756  	// UserDefinedVariableConfigurations: List of user defined variables
  7757  	// enabled for this configuration.
  7758  	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
  7759  
  7760  	// ServerResponse contains the HTTP response code and headers from the
  7761  	// server.
  7762  	googleapi.ServerResponse `json:"-"`
  7763  
  7764  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  7765  	// unconditionally include in API requests. By default, fields with
  7766  	// empty or default values are omitted from API requests. However, any
  7767  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7768  	// sent to the server regardless of whether the field is empty or not.
  7769  	// This may be used to include empty fields in Patch requests.
  7770  	ForceSendFields []string `json:"-"`
  7771  
  7772  	// NullFields is a list of field names (e.g. "AccountId") to include in
  7773  	// API requests with the JSON null value. By default, fields with empty
  7774  	// values are omitted from API requests. However, any field with an
  7775  	// empty value appearing in NullFields will be sent to the server as
  7776  	// null. It is an error if a field in this list has a non-empty value.
  7777  	// This may be used to include null fields in Patch requests.
  7778  	NullFields []string `json:"-"`
  7779  }
  7780  
  7781  func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
  7782  	type NoMethod FloodlightConfiguration
  7783  	raw := NoMethod(*s)
  7784  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7785  }
  7786  
  7787  // FloodlightConfigurationsListResponse: Floodlight Configuration List
  7788  // Response
  7789  type FloodlightConfigurationsListResponse struct {
  7790  	// FloodlightConfigurations: Floodlight configuration collection.
  7791  	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
  7792  
  7793  	// Kind: Identifies what kind of resource this is. Value: the fixed
  7794  	// string "dfareporting#floodlightConfigurationsListResponse".
  7795  	Kind string `json:"kind,omitempty"`
  7796  
  7797  	// ServerResponse contains the HTTP response code and headers from the
  7798  	// server.
  7799  	googleapi.ServerResponse `json:"-"`
  7800  
  7801  	// ForceSendFields is a list of field names (e.g.
  7802  	// "FloodlightConfigurations") to unconditionally include in API
  7803  	// requests. By default, fields with empty or default values are omitted
  7804  	// from API requests. However, any non-pointer, non-interface field
  7805  	// appearing in ForceSendFields will be sent to the server regardless of
  7806  	// whether the field is empty or not. This may be used to include empty
  7807  	// fields in Patch requests.
  7808  	ForceSendFields []string `json:"-"`
  7809  
  7810  	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
  7811  	// to include in API requests with the JSON null value. By default,
  7812  	// fields with empty values are omitted from API requests. However, any
  7813  	// field with an empty value appearing in NullFields will be sent to the
  7814  	// server as null. It is an error if a field in this list has a
  7815  	// non-empty value. This may be used to include null fields in Patch
  7816  	// requests.
  7817  	NullFields []string `json:"-"`
  7818  }
  7819  
  7820  func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
  7821  	type NoMethod FloodlightConfigurationsListResponse
  7822  	raw := NoMethod(*s)
  7823  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7824  }
  7825  
  7826  // FloodlightReportCompatibleFields: Represents fields that are
  7827  // compatible to be selected for a report of type "FlOODLIGHT".
  7828  type FloodlightReportCompatibleFields struct {
  7829  	// DimensionFilters: Dimensions which are compatible to be selected in
  7830  	// the "dimensionFilters" section of the report.
  7831  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
  7832  
  7833  	// Dimensions: Dimensions which are compatible to be selected in the
  7834  	// "dimensions" section of the report.
  7835  	Dimensions []*Dimension `json:"dimensions,omitempty"`
  7836  
  7837  	// Kind: The kind of resource this is, in this case
  7838  	// dfareporting#floodlightReportCompatibleFields.
  7839  	Kind string `json:"kind,omitempty"`
  7840  
  7841  	// Metrics: Metrics which are compatible to be selected in the
  7842  	// "metricNames" section of the report.
  7843  	Metrics []*Metric `json:"metrics,omitempty"`
  7844  
  7845  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
  7846  	// unconditionally include in API requests. By default, fields with
  7847  	// empty or default values are omitted from API requests. However, any
  7848  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7849  	// sent to the server regardless of whether the field is empty or not.
  7850  	// This may be used to include empty fields in Patch requests.
  7851  	ForceSendFields []string `json:"-"`
  7852  
  7853  	// NullFields is a list of field names (e.g. "DimensionFilters") to
  7854  	// include in API requests with the JSON null value. By default, fields
  7855  	// with empty values are omitted from API requests. However, any field
  7856  	// with an empty value appearing in NullFields will be sent to the
  7857  	// server as null. It is an error if a field in this list has a
  7858  	// non-empty value. This may be used to include null fields in Patch
  7859  	// requests.
  7860  	NullFields []string `json:"-"`
  7861  }
  7862  
  7863  func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
  7864  	type NoMethod FloodlightReportCompatibleFields
  7865  	raw := NoMethod(*s)
  7866  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7867  }
  7868  
  7869  // FrequencyCap: Frequency Cap.
  7870  type FrequencyCap struct {
  7871  	// Duration: Duration of time, in seconds, for this frequency cap. The
  7872  	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
  7873  	// inclusive.
  7874  	Duration int64 `json:"duration,omitempty,string"`
  7875  
  7876  	// Impressions: Number of times an individual user can be served the ad
  7877  	// within the specified duration. Acceptable values are 1 to 15,
  7878  	// inclusive.
  7879  	Impressions int64 `json:"impressions,omitempty,string"`
  7880  
  7881  	// ForceSendFields is a list of field names (e.g. "Duration") to
  7882  	// unconditionally include in API requests. By default, fields with
  7883  	// empty or default values are omitted from API requests. However, any
  7884  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7885  	// sent to the server regardless of whether the field is empty or not.
  7886  	// This may be used to include empty fields in Patch requests.
  7887  	ForceSendFields []string `json:"-"`
  7888  
  7889  	// NullFields is a list of field names (e.g. "Duration") to include in
  7890  	// API requests with the JSON null value. By default, fields with empty
  7891  	// values are omitted from API requests. However, any field with an
  7892  	// empty value appearing in NullFields will be sent to the server as
  7893  	// null. It is an error if a field in this list has a non-empty value.
  7894  	// This may be used to include null fields in Patch requests.
  7895  	NullFields []string `json:"-"`
  7896  }
  7897  
  7898  func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
  7899  	type NoMethod FrequencyCap
  7900  	raw := NoMethod(*s)
  7901  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7902  }
  7903  
  7904  // FsCommand: FsCommand.
  7905  type FsCommand struct {
  7906  	// Left: Distance from the left of the browser.Applicable when
  7907  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  7908  	Left int64 `json:"left,omitempty"`
  7909  
  7910  	// PositionOption: Position in the browser where the window will open.
  7911  	//
  7912  	// Possible values:
  7913  	//   "CENTERED"
  7914  	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
  7915  	PositionOption string `json:"positionOption,omitempty"`
  7916  
  7917  	// Top: Distance from the top of the browser. Applicable when
  7918  	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
  7919  	Top int64 `json:"top,omitempty"`
  7920  
  7921  	// WindowHeight: Height of the window.
  7922  	WindowHeight int64 `json:"windowHeight,omitempty"`
  7923  
  7924  	// WindowWidth: Width of the window.
  7925  	WindowWidth int64 `json:"windowWidth,omitempty"`
  7926  
  7927  	// ForceSendFields is a list of field names (e.g. "Left") to
  7928  	// unconditionally include in API requests. By default, fields with
  7929  	// empty or default values are omitted from API requests. However, any
  7930  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7931  	// sent to the server regardless of whether the field is empty or not.
  7932  	// This may be used to include empty fields in Patch requests.
  7933  	ForceSendFields []string `json:"-"`
  7934  
  7935  	// NullFields is a list of field names (e.g. "Left") to include in API
  7936  	// requests with the JSON null value. By default, fields with empty
  7937  	// values are omitted from API requests. However, any field with an
  7938  	// empty value appearing in NullFields will be sent to the server as
  7939  	// null. It is an error if a field in this list has a non-empty value.
  7940  	// This may be used to include null fields in Patch requests.
  7941  	NullFields []string `json:"-"`
  7942  }
  7943  
  7944  func (s *FsCommand) MarshalJSON() ([]byte, error) {
  7945  	type NoMethod FsCommand
  7946  	raw := NoMethod(*s)
  7947  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  7948  }
  7949  
  7950  // GeoTargeting: Geographical Targeting.
  7951  type GeoTargeting struct {
  7952  	// Cities: Cities to be targeted. For each city only dartId is required.
  7953  	// The other fields are populated automatically when the ad is inserted
  7954  	// or updated. If targeting a city, do not target or exclude the country
  7955  	// of the city, and do not target the metro or region of the city.
  7956  	Cities []*City `json:"cities,omitempty"`
  7957  
  7958  	// Countries: Countries to be targeted or excluded from targeting,
  7959  	// depending on the setting of the excludeCountries field. For each
  7960  	// country only dartId is required. The other fields are populated
  7961  	// automatically when the ad is inserted or updated. If targeting or
  7962  	// excluding a country, do not target regions, cities, metros, or postal
  7963  	// codes in the same country.
  7964  	Countries []*Country `json:"countries,omitempty"`
  7965  
  7966  	// ExcludeCountries: Whether or not to exclude the countries in the
  7967  	// countries field from targeting. If false, the countries field refers
  7968  	// to countries which will be targeted by the ad.
  7969  	ExcludeCountries bool `json:"excludeCountries,omitempty"`
  7970  
  7971  	// Metros: Metros to be targeted. For each metro only dmaId is required.
  7972  	// The other fields are populated automatically when the ad is inserted
  7973  	// or updated. If targeting a metro, do not target or exclude the
  7974  	// country of the metro.
  7975  	Metros []*Metro `json:"metros,omitempty"`
  7976  
  7977  	// PostalCodes: Postal codes to be targeted. For each postal code only
  7978  	// id is required. The other fields are populated automatically when the
  7979  	// ad is inserted or updated. If targeting a postal code, do not target
  7980  	// or exclude the country of the postal code.
  7981  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
  7982  
  7983  	// Regions: Regions to be targeted. For each region only dartId is
  7984  	// required. The other fields are populated automatically when the ad is
  7985  	// inserted or updated. If targeting a region, do not target or exclude
  7986  	// the country of the region.
  7987  	Regions []*Region `json:"regions,omitempty"`
  7988  
  7989  	// ForceSendFields is a list of field names (e.g. "Cities") to
  7990  	// unconditionally include in API requests. By default, fields with
  7991  	// empty or default values are omitted from API requests. However, any
  7992  	// non-pointer, non-interface field appearing in ForceSendFields will be
  7993  	// sent to the server regardless of whether the field is empty or not.
  7994  	// This may be used to include empty fields in Patch requests.
  7995  	ForceSendFields []string `json:"-"`
  7996  
  7997  	// NullFields is a list of field names (e.g. "Cities") to include in API
  7998  	// requests with the JSON null value. By default, fields with empty
  7999  	// values are omitted from API requests. However, any field with an
  8000  	// empty value appearing in NullFields will be sent to the server as
  8001  	// null. It is an error if a field in this list has a non-empty value.
  8002  	// This may be used to include null fields in Patch requests.
  8003  	NullFields []string `json:"-"`
  8004  }
  8005  
  8006  func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
  8007  	type NoMethod GeoTargeting
  8008  	raw := NoMethod(*s)
  8009  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8010  }
  8011  
  8012  // InventoryItem: Represents a buy from the Planning inventory store.
  8013  type InventoryItem struct {
  8014  	// AccountId: Account ID of this inventory item.
  8015  	AccountId int64 `json:"accountId,omitempty,string"`
  8016  
  8017  	// AdSlots: Ad slots of this inventory item. If this inventory item
  8018  	// represents a standalone placement, there will be exactly one ad slot.
  8019  	// If this inventory item represents a placement group, there will be
  8020  	// more than one ad slot, each representing one child placement in that
  8021  	// placement group.
  8022  	AdSlots []*AdSlot `json:"adSlots,omitempty"`
  8023  
  8024  	// AdvertiserId: Advertiser ID of this inventory item.
  8025  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8026  
  8027  	// ContentCategoryId: Content category ID of this inventory item.
  8028  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  8029  
  8030  	// EstimatedClickThroughRate: Estimated click-through rate of this
  8031  	// inventory item.
  8032  	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
  8033  
  8034  	// EstimatedConversionRate: Estimated conversion rate of this inventory
  8035  	// item.
  8036  	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
  8037  
  8038  	// Id: ID of this inventory item.
  8039  	Id int64 `json:"id,omitempty,string"`
  8040  
  8041  	// InPlan: Whether this inventory item is in plan.
  8042  	InPlan bool `json:"inPlan,omitempty"`
  8043  
  8044  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8045  	// string "dfareporting#inventoryItem".
  8046  	Kind string `json:"kind,omitempty"`
  8047  
  8048  	// LastModifiedInfo: Information about the most recent modification of
  8049  	// this inventory item.
  8050  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  8051  
  8052  	// Name: Name of this inventory item. For standalone inventory items,
  8053  	// this is the same name as that of its only ad slot. For group
  8054  	// inventory items, this can differ from the name of any of its ad
  8055  	// slots.
  8056  	Name string `json:"name,omitempty"`
  8057  
  8058  	// NegotiationChannelId: Negotiation channel ID of this inventory item.
  8059  	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
  8060  
  8061  	// OrderId: Order ID of this inventory item.
  8062  	OrderId int64 `json:"orderId,omitempty,string"`
  8063  
  8064  	// PlacementStrategyId: Placement strategy ID of this inventory item.
  8065  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  8066  
  8067  	// Pricing: Pricing of this inventory item.
  8068  	Pricing *Pricing `json:"pricing,omitempty"`
  8069  
  8070  	// ProjectId: Project ID of this inventory item.
  8071  	ProjectId int64 `json:"projectId,omitempty,string"`
  8072  
  8073  	// RfpId: RFP ID of this inventory item.
  8074  	RfpId int64 `json:"rfpId,omitempty,string"`
  8075  
  8076  	// SiteId: ID of the site this inventory item is associated with.
  8077  	SiteId int64 `json:"siteId,omitempty,string"`
  8078  
  8079  	// SubaccountId: Subaccount ID of this inventory item.
  8080  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  8081  
  8082  	// Type: Type of inventory item.
  8083  	//
  8084  	// Possible values:
  8085  	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
  8086  	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
  8087  	Type string `json:"type,omitempty"`
  8088  
  8089  	// ServerResponse contains the HTTP response code and headers from the
  8090  	// server.
  8091  	googleapi.ServerResponse `json:"-"`
  8092  
  8093  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  8094  	// unconditionally include in API requests. By default, fields with
  8095  	// empty or default values are omitted from API requests. However, any
  8096  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8097  	// sent to the server regardless of whether the field is empty or not.
  8098  	// This may be used to include empty fields in Patch requests.
  8099  	ForceSendFields []string `json:"-"`
  8100  
  8101  	// NullFields is a list of field names (e.g. "AccountId") to include in
  8102  	// API requests with the JSON null value. By default, fields with empty
  8103  	// values are omitted from API requests. However, any field with an
  8104  	// empty value appearing in NullFields will be sent to the server as
  8105  	// null. It is an error if a field in this list has a non-empty value.
  8106  	// This may be used to include null fields in Patch requests.
  8107  	NullFields []string `json:"-"`
  8108  }
  8109  
  8110  func (s *InventoryItem) MarshalJSON() ([]byte, error) {
  8111  	type NoMethod InventoryItem
  8112  	raw := NoMethod(*s)
  8113  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8114  }
  8115  
  8116  // InventoryItemsListResponse: Inventory item List Response
  8117  type InventoryItemsListResponse struct {
  8118  	// InventoryItems: Inventory item collection
  8119  	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
  8120  
  8121  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8122  	// string "dfareporting#inventoryItemsListResponse".
  8123  	Kind string `json:"kind,omitempty"`
  8124  
  8125  	// NextPageToken: Pagination token to be used for the next list
  8126  	// operation.
  8127  	NextPageToken string `json:"nextPageToken,omitempty"`
  8128  
  8129  	// ServerResponse contains the HTTP response code and headers from the
  8130  	// server.
  8131  	googleapi.ServerResponse `json:"-"`
  8132  
  8133  	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
  8134  	// unconditionally include in API requests. By default, fields with
  8135  	// empty or default values are omitted from API requests. However, any
  8136  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8137  	// sent to the server regardless of whether the field is empty or not.
  8138  	// This may be used to include empty fields in Patch requests.
  8139  	ForceSendFields []string `json:"-"`
  8140  
  8141  	// NullFields is a list of field names (e.g. "InventoryItems") to
  8142  	// include in API requests with the JSON null value. By default, fields
  8143  	// with empty values are omitted from API requests. However, any field
  8144  	// with an empty value appearing in NullFields will be sent to the
  8145  	// server as null. It is an error if a field in this list has a
  8146  	// non-empty value. This may be used to include null fields in Patch
  8147  	// requests.
  8148  	NullFields []string `json:"-"`
  8149  }
  8150  
  8151  func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
  8152  	type NoMethod InventoryItemsListResponse
  8153  	raw := NoMethod(*s)
  8154  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8155  }
  8156  
  8157  // KeyValueTargetingExpression: Key Value Targeting Expression.
  8158  type KeyValueTargetingExpression struct {
  8159  	// Expression: Keyword expression being targeted by the ad.
  8160  	Expression string `json:"expression,omitempty"`
  8161  
  8162  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8163  	// unconditionally include in API requests. By default, fields with
  8164  	// empty or default values are omitted from API requests. However, any
  8165  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8166  	// sent to the server regardless of whether the field is empty or not.
  8167  	// This may be used to include empty fields in Patch requests.
  8168  	ForceSendFields []string `json:"-"`
  8169  
  8170  	// NullFields is a list of field names (e.g. "Expression") to include in
  8171  	// API requests with the JSON null value. By default, fields with empty
  8172  	// values are omitted from API requests. However, any field with an
  8173  	// empty value appearing in NullFields will be sent to the server as
  8174  	// null. It is an error if a field in this list has a non-empty value.
  8175  	// This may be used to include null fields in Patch requests.
  8176  	NullFields []string `json:"-"`
  8177  }
  8178  
  8179  func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
  8180  	type NoMethod KeyValueTargetingExpression
  8181  	raw := NoMethod(*s)
  8182  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8183  }
  8184  
  8185  // LandingPage: Contains information about where a user's browser is
  8186  // taken after the user clicks an ad.
  8187  type LandingPage struct {
  8188  	// AdvertiserId: Advertiser ID of this landing page. This is a required
  8189  	// field.
  8190  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  8191  
  8192  	// Archived: Whether this landing page has been archived.
  8193  	Archived bool `json:"archived,omitempty"`
  8194  
  8195  	// DeepLinks: Links that will direct the user to a mobile app, if
  8196  	// installed.
  8197  	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
  8198  
  8199  	// Id: ID of this landing page. This is a read-only, auto-generated
  8200  	// field.
  8201  	Id int64 `json:"id,omitempty,string"`
  8202  
  8203  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8204  	// string "dfareporting#landingPage".
  8205  	Kind string `json:"kind,omitempty"`
  8206  
  8207  	// Name: Name of this landing page. This is a required field. It must be
  8208  	// less than 256 characters long.
  8209  	Name string `json:"name,omitempty"`
  8210  
  8211  	// Url: URL of this landing page. This is a required field.
  8212  	Url string `json:"url,omitempty"`
  8213  
  8214  	// ServerResponse contains the HTTP response code and headers from the
  8215  	// server.
  8216  	googleapi.ServerResponse `json:"-"`
  8217  
  8218  	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
  8219  	// unconditionally include in API requests. By default, fields with
  8220  	// empty or default values are omitted from API requests. However, any
  8221  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8222  	// sent to the server regardless of whether the field is empty or not.
  8223  	// This may be used to include empty fields in Patch requests.
  8224  	ForceSendFields []string `json:"-"`
  8225  
  8226  	// NullFields is a list of field names (e.g. "AdvertiserId") to include
  8227  	// in API requests with the JSON null value. By default, fields with
  8228  	// empty values are omitted from API requests. However, any field with
  8229  	// an empty value appearing in NullFields will be sent to the server as
  8230  	// null. It is an error if a field in this list has a non-empty value.
  8231  	// This may be used to include null fields in Patch requests.
  8232  	NullFields []string `json:"-"`
  8233  }
  8234  
  8235  func (s *LandingPage) MarshalJSON() ([]byte, error) {
  8236  	type NoMethod LandingPage
  8237  	raw := NoMethod(*s)
  8238  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8239  }
  8240  
  8241  // Language: Contains information about a language that can be targeted
  8242  // by ads.
  8243  type Language struct {
  8244  	// Id: Language ID of this language. This is the ID used for targeting
  8245  	// and generating reports.
  8246  	Id int64 `json:"id,omitempty,string"`
  8247  
  8248  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8249  	// string "dfareporting#language".
  8250  	Kind string `json:"kind,omitempty"`
  8251  
  8252  	// LanguageCode: Format of language code is an ISO 639 two-letter
  8253  	// language code optionally followed by an underscore followed by an ISO
  8254  	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
  8255  	// Chinese.
  8256  	LanguageCode string `json:"languageCode,omitempty"`
  8257  
  8258  	// Name: Name of this language.
  8259  	Name string `json:"name,omitempty"`
  8260  
  8261  	// ForceSendFields is a list of field names (e.g. "Id") to
  8262  	// unconditionally include in API requests. By default, fields with
  8263  	// empty or default values are omitted from API requests. However, any
  8264  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8265  	// sent to the server regardless of whether the field is empty or not.
  8266  	// This may be used to include empty fields in Patch requests.
  8267  	ForceSendFields []string `json:"-"`
  8268  
  8269  	// NullFields is a list of field names (e.g. "Id") to include in API
  8270  	// requests with the JSON null value. By default, fields with empty
  8271  	// values are omitted from API requests. However, any field with an
  8272  	// empty value appearing in NullFields will be sent to the server as
  8273  	// null. It is an error if a field in this list has a non-empty value.
  8274  	// This may be used to include null fields in Patch requests.
  8275  	NullFields []string `json:"-"`
  8276  }
  8277  
  8278  func (s *Language) MarshalJSON() ([]byte, error) {
  8279  	type NoMethod Language
  8280  	raw := NoMethod(*s)
  8281  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8282  }
  8283  
  8284  // LanguageTargeting: Language Targeting.
  8285  type LanguageTargeting struct {
  8286  	// Languages: Languages that this ad targets. For each language only
  8287  	// languageId is required. The other fields are populated automatically
  8288  	// when the ad is inserted or updated.
  8289  	Languages []*Language `json:"languages,omitempty"`
  8290  
  8291  	// ForceSendFields is a list of field names (e.g. "Languages") to
  8292  	// unconditionally include in API requests. By default, fields with
  8293  	// empty or default values are omitted from API requests. However, any
  8294  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8295  	// sent to the server regardless of whether the field is empty or not.
  8296  	// This may be used to include empty fields in Patch requests.
  8297  	ForceSendFields []string `json:"-"`
  8298  
  8299  	// NullFields is a list of field names (e.g. "Languages") to include in
  8300  	// API requests with the JSON null value. By default, fields with empty
  8301  	// values are omitted from API requests. However, any field with an
  8302  	// empty value appearing in NullFields will be sent to the server as
  8303  	// null. It is an error if a field in this list has a non-empty value.
  8304  	// This may be used to include null fields in Patch requests.
  8305  	NullFields []string `json:"-"`
  8306  }
  8307  
  8308  func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
  8309  	type NoMethod LanguageTargeting
  8310  	raw := NoMethod(*s)
  8311  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8312  }
  8313  
  8314  // LanguagesListResponse: Language List Response
  8315  type LanguagesListResponse struct {
  8316  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8317  	// string "dfareporting#languagesListResponse".
  8318  	Kind string `json:"kind,omitempty"`
  8319  
  8320  	// Languages: Language collection.
  8321  	Languages []*Language `json:"languages,omitempty"`
  8322  
  8323  	// ServerResponse contains the HTTP response code and headers from the
  8324  	// server.
  8325  	googleapi.ServerResponse `json:"-"`
  8326  
  8327  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8328  	// unconditionally include in API requests. By default, fields with
  8329  	// empty or default values are omitted from API requests. However, any
  8330  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8331  	// sent to the server regardless of whether the field is empty or not.
  8332  	// This may be used to include empty fields in Patch requests.
  8333  	ForceSendFields []string `json:"-"`
  8334  
  8335  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8336  	// requests with the JSON null value. By default, fields with empty
  8337  	// values are omitted from API requests. However, any field with an
  8338  	// empty value appearing in NullFields will be sent to the server as
  8339  	// null. It is an error if a field in this list has a non-empty value.
  8340  	// This may be used to include null fields in Patch requests.
  8341  	NullFields []string `json:"-"`
  8342  }
  8343  
  8344  func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
  8345  	type NoMethod LanguagesListResponse
  8346  	raw := NoMethod(*s)
  8347  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8348  }
  8349  
  8350  // LastModifiedInfo: Modification timestamp.
  8351  type LastModifiedInfo struct {
  8352  	// Time: Timestamp of the last change in milliseconds since epoch.
  8353  	Time int64 `json:"time,omitempty,string"`
  8354  
  8355  	// ForceSendFields is a list of field names (e.g. "Time") to
  8356  	// unconditionally include in API requests. By default, fields with
  8357  	// empty or default values are omitted from API requests. However, any
  8358  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8359  	// sent to the server regardless of whether the field is empty or not.
  8360  	// This may be used to include empty fields in Patch requests.
  8361  	ForceSendFields []string `json:"-"`
  8362  
  8363  	// NullFields is a list of field names (e.g. "Time") to include in API
  8364  	// requests with the JSON null value. By default, fields with empty
  8365  	// values are omitted from API requests. However, any field with an
  8366  	// empty value appearing in NullFields will be sent to the server as
  8367  	// null. It is an error if a field in this list has a non-empty value.
  8368  	// This may be used to include null fields in Patch requests.
  8369  	NullFields []string `json:"-"`
  8370  }
  8371  
  8372  func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
  8373  	type NoMethod LastModifiedInfo
  8374  	raw := NoMethod(*s)
  8375  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8376  }
  8377  
  8378  // ListPopulationClause: A group clause made up of list population terms
  8379  // representing constraints joined by ORs.
  8380  type ListPopulationClause struct {
  8381  	// Terms: Terms of this list population clause. Each clause is made up
  8382  	// of list population terms representing constraints and are joined by
  8383  	// ORs.
  8384  	Terms []*ListPopulationTerm `json:"terms,omitempty"`
  8385  
  8386  	// ForceSendFields is a list of field names (e.g. "Terms") to
  8387  	// unconditionally include in API requests. By default, fields with
  8388  	// empty or default values are omitted from API requests. However, any
  8389  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8390  	// sent to the server regardless of whether the field is empty or not.
  8391  	// This may be used to include empty fields in Patch requests.
  8392  	ForceSendFields []string `json:"-"`
  8393  
  8394  	// NullFields is a list of field names (e.g. "Terms") to include in API
  8395  	// requests with the JSON null value. By default, fields with empty
  8396  	// values are omitted from API requests. However, any field with an
  8397  	// empty value appearing in NullFields will be sent to the server as
  8398  	// null. It is an error if a field in this list has a non-empty value.
  8399  	// This may be used to include null fields in Patch requests.
  8400  	NullFields []string `json:"-"`
  8401  }
  8402  
  8403  func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
  8404  	type NoMethod ListPopulationClause
  8405  	raw := NoMethod(*s)
  8406  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8407  }
  8408  
  8409  // ListPopulationRule: Remarketing List Population Rule.
  8410  type ListPopulationRule struct {
  8411  	// FloodlightActivityId: Floodlight activity ID associated with this
  8412  	// rule. This field can be left blank.
  8413  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  8414  
  8415  	// FloodlightActivityName: Name of floodlight activity associated with
  8416  	// this rule. This is a read-only, auto-generated field.
  8417  	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
  8418  
  8419  	// ListPopulationClauses: Clauses that make up this list population
  8420  	// rule. Clauses are joined by ANDs, and the clauses themselves are made
  8421  	// up of list population terms which are joined by ORs.
  8422  	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
  8423  
  8424  	// ForceSendFields is a list of field names (e.g.
  8425  	// "FloodlightActivityId") to unconditionally include in API requests.
  8426  	// By default, fields with empty or default values are omitted from API
  8427  	// requests. However, any non-pointer, non-interface field appearing in
  8428  	// ForceSendFields will be sent to the server regardless of whether the
  8429  	// field is empty or not. This may be used to include empty fields in
  8430  	// Patch requests.
  8431  	ForceSendFields []string `json:"-"`
  8432  
  8433  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  8434  	// include in API requests with the JSON null value. By default, fields
  8435  	// with empty values are omitted from API requests. However, any field
  8436  	// with an empty value appearing in NullFields will be sent to the
  8437  	// server as null. It is an error if a field in this list has a
  8438  	// non-empty value. This may be used to include null fields in Patch
  8439  	// requests.
  8440  	NullFields []string `json:"-"`
  8441  }
  8442  
  8443  func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
  8444  	type NoMethod ListPopulationRule
  8445  	raw := NoMethod(*s)
  8446  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8447  }
  8448  
  8449  // ListPopulationTerm: Remarketing List Population Rule Term.
  8450  type ListPopulationTerm struct {
  8451  	// Contains: Will be true if the term should check if the user is in the
  8452  	// list and false if the term should check if the user is not in the
  8453  	// list. This field is only relevant when type is set to
  8454  	// LIST_MEMBERSHIP_TERM. False by default.
  8455  	Contains bool `json:"contains,omitempty"`
  8456  
  8457  	// Negation: Whether to negate the comparison result of this term during
  8458  	// rule evaluation. This field is only relevant when type is left unset
  8459  	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8460  	Negation bool `json:"negation,omitempty"`
  8461  
  8462  	// Operator: Comparison operator of this term. This field is only
  8463  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8464  	// REFERRER_TERM.
  8465  	//
  8466  	// Possible values:
  8467  	//   "NUM_EQUALS"
  8468  	//   "NUM_LESS_THAN"
  8469  	//   "NUM_LESS_THAN_EQUAL"
  8470  	//   "NUM_GREATER_THAN"
  8471  	//   "NUM_GREATER_THAN_EQUAL"
  8472  	//   "STRING_EQUALS"
  8473  	//   "STRING_CONTAINS"
  8474  	Operator string `json:"operator,omitempty"`
  8475  
  8476  	// RemarketingListId: ID of the list in question. This field is only
  8477  	// relevant when type is set to LIST_MEMBERSHIP_TERM.
  8478  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
  8479  
  8480  	// Type: List population term type determines the applicable fields in
  8481  	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
  8482  	// variableName, variableFriendlyName, operator, value, and negation are
  8483  	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
  8484  	// contains are applicable. If set to REFERRER_TERM then operator,
  8485  	// value, and negation are applicable.
  8486  	//
  8487  	// Possible values:
  8488  	//   "CUSTOM_VARIABLE_TERM"
  8489  	//   "LIST_MEMBERSHIP_TERM"
  8490  	//   "REFERRER_TERM"
  8491  	Type string `json:"type,omitempty"`
  8492  
  8493  	// Value: Literal to compare the variable to. This field is only
  8494  	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
  8495  	// REFERRER_TERM.
  8496  	Value string `json:"value,omitempty"`
  8497  
  8498  	// VariableFriendlyName: Friendly name of this term's variable. This is
  8499  	// a read-only, auto-generated field. This field is only relevant when
  8500  	// type is left unset or set to CUSTOM_VARIABLE_TERM.
  8501  	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
  8502  
  8503  	// VariableName: Name of the variable (U1, U2, etc.) being compared in
  8504  	// this term. This field is only relevant when type is set to null,
  8505  	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
  8506  	VariableName string `json:"variableName,omitempty"`
  8507  
  8508  	// ForceSendFields is a list of field names (e.g. "Contains") to
  8509  	// unconditionally include in API requests. By default, fields with
  8510  	// empty or default values are omitted from API requests. However, any
  8511  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8512  	// sent to the server regardless of whether the field is empty or not.
  8513  	// This may be used to include empty fields in Patch requests.
  8514  	ForceSendFields []string `json:"-"`
  8515  
  8516  	// NullFields is a list of field names (e.g. "Contains") to include in
  8517  	// API requests with the JSON null value. By default, fields with empty
  8518  	// values are omitted from API requests. However, any field with an
  8519  	// empty value appearing in NullFields will be sent to the server as
  8520  	// null. It is an error if a field in this list has a non-empty value.
  8521  	// This may be used to include null fields in Patch requests.
  8522  	NullFields []string `json:"-"`
  8523  }
  8524  
  8525  func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
  8526  	type NoMethod ListPopulationTerm
  8527  	raw := NoMethod(*s)
  8528  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8529  }
  8530  
  8531  // ListTargetingExpression: Remarketing List Targeting Expression.
  8532  type ListTargetingExpression struct {
  8533  	// Expression: Expression describing which lists are being targeted by
  8534  	// the ad.
  8535  	Expression string `json:"expression,omitempty"`
  8536  
  8537  	// ForceSendFields is a list of field names (e.g. "Expression") to
  8538  	// unconditionally include in API requests. By default, fields with
  8539  	// empty or default values are omitted from API requests. However, any
  8540  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8541  	// sent to the server regardless of whether the field is empty or not.
  8542  	// This may be used to include empty fields in Patch requests.
  8543  	ForceSendFields []string `json:"-"`
  8544  
  8545  	// NullFields is a list of field names (e.g. "Expression") to include in
  8546  	// API requests with the JSON null value. By default, fields with empty
  8547  	// values are omitted from API requests. However, any field with an
  8548  	// empty value appearing in NullFields will be sent to the server as
  8549  	// null. It is an error if a field in this list has a non-empty value.
  8550  	// This may be used to include null fields in Patch requests.
  8551  	NullFields []string `json:"-"`
  8552  }
  8553  
  8554  func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
  8555  	type NoMethod ListTargetingExpression
  8556  	raw := NoMethod(*s)
  8557  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8558  }
  8559  
  8560  // LookbackConfiguration: Lookback configuration settings.
  8561  type LookbackConfiguration struct {
  8562  	// ClickDuration: Lookback window, in days, from the last time a given
  8563  	// user clicked on one of your ads. If you enter 0, clicks will not be
  8564  	// considered as triggering events for floodlight tracking. If you leave
  8565  	// this field blank, the default value for your account will be used.
  8566  	// Acceptable values are 0 to 90, inclusive.
  8567  	ClickDuration int64 `json:"clickDuration,omitempty"`
  8568  
  8569  	// PostImpressionActivitiesDuration: Lookback window, in days, from the
  8570  	// last time a given user viewed one of your ads. If you enter 0,
  8571  	// impressions will not be considered as triggering events for
  8572  	// floodlight tracking. If you leave this field blank, the default value
  8573  	// for your account will be used. Acceptable values are 0 to 90,
  8574  	// inclusive.
  8575  	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
  8576  
  8577  	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
  8578  	// unconditionally include in API requests. By default, fields with
  8579  	// empty or default values are omitted from API requests. However, any
  8580  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8581  	// sent to the server regardless of whether the field is empty or not.
  8582  	// This may be used to include empty fields in Patch requests.
  8583  	ForceSendFields []string `json:"-"`
  8584  
  8585  	// NullFields is a list of field names (e.g. "ClickDuration") to include
  8586  	// in API requests with the JSON null value. By default, fields with
  8587  	// empty values are omitted from API requests. However, any field with
  8588  	// an 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 *LookbackConfiguration) MarshalJSON() ([]byte, error) {
  8595  	type NoMethod LookbackConfiguration
  8596  	raw := NoMethod(*s)
  8597  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8598  }
  8599  
  8600  // Metric: Represents a metric.
  8601  type Metric struct {
  8602  	// Kind: The kind of resource this is, in this case dfareporting#metric.
  8603  	Kind string `json:"kind,omitempty"`
  8604  
  8605  	// Name: The metric name, e.g. dfa:impressions
  8606  	Name string `json:"name,omitempty"`
  8607  
  8608  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8609  	// unconditionally include in API requests. By default, fields with
  8610  	// empty or default values are omitted from API requests. However, any
  8611  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8612  	// sent to the server regardless of whether the field is empty or not.
  8613  	// This may be used to include empty fields in Patch requests.
  8614  	ForceSendFields []string `json:"-"`
  8615  
  8616  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8617  	// requests with the JSON null value. By default, fields with empty
  8618  	// values are omitted from API requests. However, any field with an
  8619  	// empty value appearing in NullFields will be sent to the server as
  8620  	// null. It is an error if a field in this list has a non-empty value.
  8621  	// This may be used to include null fields in Patch requests.
  8622  	NullFields []string `json:"-"`
  8623  }
  8624  
  8625  func (s *Metric) MarshalJSON() ([]byte, error) {
  8626  	type NoMethod Metric
  8627  	raw := NoMethod(*s)
  8628  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8629  }
  8630  
  8631  // Metro: Contains information about a metro region that can be targeted
  8632  // by ads.
  8633  type Metro struct {
  8634  	// CountryCode: Country code of the country to which this metro region
  8635  	// belongs.
  8636  	CountryCode string `json:"countryCode,omitempty"`
  8637  
  8638  	// CountryDartId: DART ID of the country to which this metro region
  8639  	// belongs.
  8640  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8641  
  8642  	// DartId: DART ID of this metro region.
  8643  	DartId int64 `json:"dartId,omitempty,string"`
  8644  
  8645  	// DmaId: DMA ID of this metro region. This is the ID used for targeting
  8646  	// and generating reports, and is equivalent to metro_code.
  8647  	DmaId int64 `json:"dmaId,omitempty,string"`
  8648  
  8649  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8650  	// string "dfareporting#metro".
  8651  	Kind string `json:"kind,omitempty"`
  8652  
  8653  	// MetroCode: Metro code of this metro region. This is equivalent to
  8654  	// dma_id.
  8655  	MetroCode string `json:"metroCode,omitempty"`
  8656  
  8657  	// Name: Name of this metro region.
  8658  	Name string `json:"name,omitempty"`
  8659  
  8660  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8661  	// unconditionally include in API requests. By default, fields with
  8662  	// empty or default values are omitted from API requests. However, any
  8663  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8664  	// sent to the server regardless of whether the field is empty or not.
  8665  	// This may be used to include empty fields in Patch requests.
  8666  	ForceSendFields []string `json:"-"`
  8667  
  8668  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8669  	// in API requests with the JSON null value. By default, fields with
  8670  	// empty values are omitted from API requests. However, any field with
  8671  	// an empty value appearing in NullFields will be sent to the server as
  8672  	// null. It is an error if a field in this list has a non-empty value.
  8673  	// This may be used to include null fields in Patch requests.
  8674  	NullFields []string `json:"-"`
  8675  }
  8676  
  8677  func (s *Metro) MarshalJSON() ([]byte, error) {
  8678  	type NoMethod Metro
  8679  	raw := NoMethod(*s)
  8680  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8681  }
  8682  
  8683  // MetrosListResponse: Metro List Response
  8684  type MetrosListResponse struct {
  8685  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8686  	// string "dfareporting#metrosListResponse".
  8687  	Kind string `json:"kind,omitempty"`
  8688  
  8689  	// Metros: Metro collection.
  8690  	Metros []*Metro `json:"metros,omitempty"`
  8691  
  8692  	// ServerResponse contains the HTTP response code and headers from the
  8693  	// server.
  8694  	googleapi.ServerResponse `json:"-"`
  8695  
  8696  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8697  	// unconditionally include in API requests. By default, fields with
  8698  	// empty or default values are omitted from API requests. However, any
  8699  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8700  	// sent to the server regardless of whether the field is empty or not.
  8701  	// This may be used to include empty fields in Patch requests.
  8702  	ForceSendFields []string `json:"-"`
  8703  
  8704  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8705  	// requests with the JSON null value. By default, fields with empty
  8706  	// values are omitted from API requests. However, any field with an
  8707  	// empty value appearing in NullFields will be sent to the server as
  8708  	// null. It is an error if a field in this list has a non-empty value.
  8709  	// This may be used to include null fields in Patch requests.
  8710  	NullFields []string `json:"-"`
  8711  }
  8712  
  8713  func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
  8714  	type NoMethod MetrosListResponse
  8715  	raw := NoMethod(*s)
  8716  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8717  }
  8718  
  8719  // MobileApp: Contains information about a mobile app. Used as a landing
  8720  // page deep link.
  8721  type MobileApp struct {
  8722  	// Directory: Mobile app directory.
  8723  	//
  8724  	// Possible values:
  8725  	//   "UNKNOWN"
  8726  	//   "APPLE_APP_STORE"
  8727  	//   "GOOGLE_PLAY_STORE"
  8728  	Directory string `json:"directory,omitempty"`
  8729  
  8730  	// Id: ID of this mobile app.
  8731  	Id string `json:"id,omitempty"`
  8732  
  8733  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8734  	// string "dfareporting#mobileApp".
  8735  	Kind string `json:"kind,omitempty"`
  8736  
  8737  	// PublisherName: Publisher name.
  8738  	PublisherName string `json:"publisherName,omitempty"`
  8739  
  8740  	// Title: Title of this mobile app.
  8741  	Title string `json:"title,omitempty"`
  8742  
  8743  	// ServerResponse contains the HTTP response code and headers from the
  8744  	// server.
  8745  	googleapi.ServerResponse `json:"-"`
  8746  
  8747  	// ForceSendFields is a list of field names (e.g. "Directory") to
  8748  	// unconditionally include in API requests. By default, fields with
  8749  	// empty or default values are omitted from API requests. However, any
  8750  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8751  	// sent to the server regardless of whether the field is empty or not.
  8752  	// This may be used to include empty fields in Patch requests.
  8753  	ForceSendFields []string `json:"-"`
  8754  
  8755  	// NullFields is a list of field names (e.g. "Directory") to include in
  8756  	// API requests with the JSON null value. By default, fields with empty
  8757  	// values are omitted from API requests. However, any field with an
  8758  	// empty value appearing in NullFields will be sent to the server as
  8759  	// null. It is an error if a field in this list has a non-empty value.
  8760  	// This may be used to include null fields in Patch requests.
  8761  	NullFields []string `json:"-"`
  8762  }
  8763  
  8764  func (s *MobileApp) MarshalJSON() ([]byte, error) {
  8765  	type NoMethod MobileApp
  8766  	raw := NoMethod(*s)
  8767  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8768  }
  8769  
  8770  // MobileAppsListResponse: Mobile app List Response
  8771  type MobileAppsListResponse struct {
  8772  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8773  	// string "dfareporting#mobileAppsListResponse".
  8774  	Kind string `json:"kind,omitempty"`
  8775  
  8776  	// MobileApps: Mobile apps collection.
  8777  	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
  8778  
  8779  	// NextPageToken: Pagination token to be used for the next list
  8780  	// operation.
  8781  	NextPageToken string `json:"nextPageToken,omitempty"`
  8782  
  8783  	// ServerResponse contains the HTTP response code and headers from the
  8784  	// server.
  8785  	googleapi.ServerResponse `json:"-"`
  8786  
  8787  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8788  	// unconditionally include in API requests. By default, fields with
  8789  	// empty or default values are omitted from API requests. However, any
  8790  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8791  	// sent to the server regardless of whether the field is empty or not.
  8792  	// This may be used to include empty fields in Patch requests.
  8793  	ForceSendFields []string `json:"-"`
  8794  
  8795  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8796  	// requests with the JSON null value. By default, fields with empty
  8797  	// values are omitted from API requests. However, any field with an
  8798  	// empty value appearing in NullFields will be sent to the server as
  8799  	// null. It is an error if a field in this list has a non-empty value.
  8800  	// This may be used to include null fields in Patch requests.
  8801  	NullFields []string `json:"-"`
  8802  }
  8803  
  8804  func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
  8805  	type NoMethod MobileAppsListResponse
  8806  	raw := NoMethod(*s)
  8807  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8808  }
  8809  
  8810  // MobileCarrier: Contains information about a mobile carrier that can
  8811  // be targeted by ads.
  8812  type MobileCarrier struct {
  8813  	// CountryCode: Country code of the country to which this mobile carrier
  8814  	// belongs.
  8815  	CountryCode string `json:"countryCode,omitempty"`
  8816  
  8817  	// CountryDartId: DART ID of the country to which this mobile carrier
  8818  	// belongs.
  8819  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
  8820  
  8821  	// Id: ID of this mobile carrier.
  8822  	Id int64 `json:"id,omitempty,string"`
  8823  
  8824  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8825  	// string "dfareporting#mobileCarrier".
  8826  	Kind string `json:"kind,omitempty"`
  8827  
  8828  	// Name: Name of this mobile carrier.
  8829  	Name string `json:"name,omitempty"`
  8830  
  8831  	// ServerResponse contains the HTTP response code and headers from the
  8832  	// server.
  8833  	googleapi.ServerResponse `json:"-"`
  8834  
  8835  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
  8836  	// unconditionally include in API requests. By default, fields with
  8837  	// empty or default values are omitted from API requests. However, any
  8838  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8839  	// sent to the server regardless of whether the field is empty or not.
  8840  	// This may be used to include empty fields in Patch requests.
  8841  	ForceSendFields []string `json:"-"`
  8842  
  8843  	// NullFields is a list of field names (e.g. "CountryCode") to include
  8844  	// in API requests with the JSON null value. By default, fields with
  8845  	// empty values are omitted from API requests. However, any field with
  8846  	// an empty value appearing in NullFields will be sent to the server as
  8847  	// null. It is an error if a field in this list has a non-empty value.
  8848  	// This may be used to include null fields in Patch requests.
  8849  	NullFields []string `json:"-"`
  8850  }
  8851  
  8852  func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
  8853  	type NoMethod MobileCarrier
  8854  	raw := NoMethod(*s)
  8855  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8856  }
  8857  
  8858  // MobileCarriersListResponse: Mobile Carrier List Response
  8859  type MobileCarriersListResponse struct {
  8860  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8861  	// string "dfareporting#mobileCarriersListResponse".
  8862  	Kind string `json:"kind,omitempty"`
  8863  
  8864  	// MobileCarriers: Mobile carrier collection.
  8865  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
  8866  
  8867  	// ServerResponse contains the HTTP response code and headers from the
  8868  	// server.
  8869  	googleapi.ServerResponse `json:"-"`
  8870  
  8871  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8872  	// unconditionally include in API requests. By default, fields with
  8873  	// empty or default values are omitted from API requests. However, any
  8874  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8875  	// sent to the server regardless of whether the field is empty or not.
  8876  	// This may be used to include empty fields in Patch requests.
  8877  	ForceSendFields []string `json:"-"`
  8878  
  8879  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8880  	// requests with the JSON null value. By default, fields with empty
  8881  	// values are omitted from API requests. However, any field with an
  8882  	// empty value appearing in NullFields will be sent to the server as
  8883  	// null. It is an error if a field in this list has a non-empty value.
  8884  	// This may be used to include null fields in Patch requests.
  8885  	NullFields []string `json:"-"`
  8886  }
  8887  
  8888  func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
  8889  	type NoMethod MobileCarriersListResponse
  8890  	raw := NoMethod(*s)
  8891  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8892  }
  8893  
  8894  // ObjectFilter: Object Filter.
  8895  type ObjectFilter struct {
  8896  	// Kind: Identifies what kind of resource this is. Value: the fixed
  8897  	// string "dfareporting#objectFilter".
  8898  	Kind string `json:"kind,omitempty"`
  8899  
  8900  	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
  8901  	// objects with these object IDs.
  8902  	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
  8903  
  8904  	// Status: Status of the filter. NONE means the user has access to none
  8905  	// of the objects. ALL means the user has access to all objects.
  8906  	// ASSIGNED means the user has access to the objects with IDs in the
  8907  	// objectIds list.
  8908  	//
  8909  	// Possible values:
  8910  	//   "NONE"
  8911  	//   "ASSIGNED"
  8912  	//   "ALL"
  8913  	Status string `json:"status,omitempty"`
  8914  
  8915  	// ForceSendFields is a list of field names (e.g. "Kind") to
  8916  	// unconditionally include in API requests. By default, fields with
  8917  	// empty or default values are omitted from API requests. However, any
  8918  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8919  	// sent to the server regardless of whether the field is empty or not.
  8920  	// This may be used to include empty fields in Patch requests.
  8921  	ForceSendFields []string `json:"-"`
  8922  
  8923  	// NullFields is a list of field names (e.g. "Kind") to include in API
  8924  	// requests with the JSON null value. By default, fields with empty
  8925  	// values are omitted from API requests. However, any field with an
  8926  	// empty value appearing in NullFields will be sent to the server as
  8927  	// null. It is an error if a field in this list has a non-empty value.
  8928  	// This may be used to include null fields in Patch requests.
  8929  	NullFields []string `json:"-"`
  8930  }
  8931  
  8932  func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
  8933  	type NoMethod ObjectFilter
  8934  	raw := NoMethod(*s)
  8935  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8936  }
  8937  
  8938  // OffsetPosition: Offset Position.
  8939  type OffsetPosition struct {
  8940  	// Left: Offset distance from left side of an asset or a window.
  8941  	Left int64 `json:"left,omitempty"`
  8942  
  8943  	// Top: Offset distance from top side of an asset or a window.
  8944  	Top int64 `json:"top,omitempty"`
  8945  
  8946  	// ForceSendFields is a list of field names (e.g. "Left") to
  8947  	// unconditionally include in API requests. By default, fields with
  8948  	// empty or default values are omitted from API requests. However, any
  8949  	// non-pointer, non-interface field appearing in ForceSendFields will be
  8950  	// sent to the server regardless of whether the field is empty or not.
  8951  	// This may be used to include empty fields in Patch requests.
  8952  	ForceSendFields []string `json:"-"`
  8953  
  8954  	// NullFields is a list of field names (e.g. "Left") to include in API
  8955  	// requests with the JSON null value. By default, fields with empty
  8956  	// values are omitted from API requests. However, any field with an
  8957  	// empty value appearing in NullFields will be sent to the server as
  8958  	// null. It is an error if a field in this list has a non-empty value.
  8959  	// This may be used to include null fields in Patch requests.
  8960  	NullFields []string `json:"-"`
  8961  }
  8962  
  8963  func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
  8964  	type NoMethod OffsetPosition
  8965  	raw := NoMethod(*s)
  8966  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  8967  }
  8968  
  8969  // OmnitureSettings: Omniture Integration Settings.
  8970  type OmnitureSettings struct {
  8971  	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
  8972  	// Omniture. This property can be enabled only if
  8973  	// omnitureIntegrationEnabled is true.
  8974  	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
  8975  
  8976  	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
  8977  	// This property can be enabled only when the "Advanced Ad Serving"
  8978  	// account setting is enabled.
  8979  	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
  8980  
  8981  	// ForceSendFields is a list of field names (e.g.
  8982  	// "OmnitureCostDataEnabled") to unconditionally include in API
  8983  	// requests. By default, fields with empty or default values are omitted
  8984  	// from API requests. However, any non-pointer, non-interface field
  8985  	// appearing in ForceSendFields will be sent to the server regardless of
  8986  	// whether the field is empty or not. This may be used to include empty
  8987  	// fields in Patch requests.
  8988  	ForceSendFields []string `json:"-"`
  8989  
  8990  	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
  8991  	// to include in API requests with the JSON null value. By default,
  8992  	// fields with empty values are omitted from API requests. However, any
  8993  	// field with an empty value appearing in NullFields will be sent to the
  8994  	// server as null. It is an error if a field in this list has a
  8995  	// non-empty value. This may be used to include null fields in Patch
  8996  	// requests.
  8997  	NullFields []string `json:"-"`
  8998  }
  8999  
  9000  func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
  9001  	type NoMethod OmnitureSettings
  9002  	raw := NoMethod(*s)
  9003  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9004  }
  9005  
  9006  // OperatingSystem: Contains information about an operating system that
  9007  // can be targeted by ads.
  9008  type OperatingSystem struct {
  9009  	// DartId: DART ID of this operating system. This is the ID used for
  9010  	// targeting.
  9011  	DartId int64 `json:"dartId,omitempty,string"`
  9012  
  9013  	// Desktop: Whether this operating system is for desktop.
  9014  	Desktop bool `json:"desktop,omitempty"`
  9015  
  9016  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9017  	// string "dfareporting#operatingSystem".
  9018  	Kind string `json:"kind,omitempty"`
  9019  
  9020  	// Mobile: Whether this operating system is for mobile.
  9021  	Mobile bool `json:"mobile,omitempty"`
  9022  
  9023  	// Name: Name of this operating system.
  9024  	Name string `json:"name,omitempty"`
  9025  
  9026  	// ServerResponse contains the HTTP response code and headers from the
  9027  	// server.
  9028  	googleapi.ServerResponse `json:"-"`
  9029  
  9030  	// ForceSendFields is a list of field names (e.g. "DartId") to
  9031  	// unconditionally include in API requests. By default, fields with
  9032  	// empty or default values are omitted from API requests. However, any
  9033  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9034  	// sent to the server regardless of whether the field is empty or not.
  9035  	// This may be used to include empty fields in Patch requests.
  9036  	ForceSendFields []string `json:"-"`
  9037  
  9038  	// NullFields is a list of field names (e.g. "DartId") to include in API
  9039  	// requests with the JSON null value. By default, fields with empty
  9040  	// values are omitted from API requests. However, any field with an
  9041  	// empty value appearing in NullFields will be sent to the server as
  9042  	// null. It is an error if a field in this list has a non-empty value.
  9043  	// This may be used to include null fields in Patch requests.
  9044  	NullFields []string `json:"-"`
  9045  }
  9046  
  9047  func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
  9048  	type NoMethod OperatingSystem
  9049  	raw := NoMethod(*s)
  9050  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9051  }
  9052  
  9053  // OperatingSystemVersion: Contains information about a particular
  9054  // version of an operating system that can be targeted by ads.
  9055  type OperatingSystemVersion struct {
  9056  	// Id: ID of this operating system version.
  9057  	Id int64 `json:"id,omitempty,string"`
  9058  
  9059  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9060  	// string "dfareporting#operatingSystemVersion".
  9061  	Kind string `json:"kind,omitempty"`
  9062  
  9063  	// MajorVersion: Major version (leftmost number) of this operating
  9064  	// system version.
  9065  	MajorVersion string `json:"majorVersion,omitempty"`
  9066  
  9067  	// MinorVersion: Minor version (number after the first dot) of this
  9068  	// operating system version.
  9069  	MinorVersion string `json:"minorVersion,omitempty"`
  9070  
  9071  	// Name: Name of this operating system version.
  9072  	Name string `json:"name,omitempty"`
  9073  
  9074  	// OperatingSystem: Operating system of this operating system version.
  9075  	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
  9076  
  9077  	// ServerResponse contains the HTTP response code and headers from the
  9078  	// server.
  9079  	googleapi.ServerResponse `json:"-"`
  9080  
  9081  	// ForceSendFields is a list of field names (e.g. "Id") to
  9082  	// unconditionally include in API requests. By default, fields with
  9083  	// empty or default values are omitted from API requests. However, any
  9084  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9085  	// sent to the server regardless of whether the field is empty or not.
  9086  	// This may be used to include empty fields in Patch requests.
  9087  	ForceSendFields []string `json:"-"`
  9088  
  9089  	// NullFields is a list of field names (e.g. "Id") to include in API
  9090  	// requests with the JSON null value. By default, fields with empty
  9091  	// values are omitted from API requests. However, any field with an
  9092  	// empty value appearing in NullFields will be sent to the server as
  9093  	// null. It is an error if a field in this list has a non-empty value.
  9094  	// This may be used to include null fields in Patch requests.
  9095  	NullFields []string `json:"-"`
  9096  }
  9097  
  9098  func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
  9099  	type NoMethod OperatingSystemVersion
  9100  	raw := NoMethod(*s)
  9101  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9102  }
  9103  
  9104  // OperatingSystemVersionsListResponse: Operating System Version List
  9105  // Response
  9106  type OperatingSystemVersionsListResponse struct {
  9107  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9108  	// string "dfareporting#operatingSystemVersionsListResponse".
  9109  	Kind string `json:"kind,omitempty"`
  9110  
  9111  	// OperatingSystemVersions: Operating system version collection.
  9112  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
  9113  
  9114  	// ServerResponse contains the HTTP response code and headers from the
  9115  	// server.
  9116  	googleapi.ServerResponse `json:"-"`
  9117  
  9118  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9119  	// unconditionally include in API requests. By default, fields with
  9120  	// empty or default values are omitted from API requests. However, any
  9121  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9122  	// sent to the server regardless of whether the field is empty or not.
  9123  	// This may be used to include empty fields in Patch requests.
  9124  	ForceSendFields []string `json:"-"`
  9125  
  9126  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9127  	// requests with the JSON null value. By default, fields with empty
  9128  	// values are omitted from API requests. However, any field with an
  9129  	// empty value appearing in NullFields will be sent to the server as
  9130  	// null. It is an error if a field in this list has a non-empty value.
  9131  	// This may be used to include null fields in Patch requests.
  9132  	NullFields []string `json:"-"`
  9133  }
  9134  
  9135  func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
  9136  	type NoMethod OperatingSystemVersionsListResponse
  9137  	raw := NoMethod(*s)
  9138  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9139  }
  9140  
  9141  // OperatingSystemsListResponse: Operating System List Response
  9142  type OperatingSystemsListResponse struct {
  9143  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9144  	// string "dfareporting#operatingSystemsListResponse".
  9145  	Kind string `json:"kind,omitempty"`
  9146  
  9147  	// OperatingSystems: Operating system collection.
  9148  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
  9149  
  9150  	// ServerResponse contains the HTTP response code and headers from the
  9151  	// server.
  9152  	googleapi.ServerResponse `json:"-"`
  9153  
  9154  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9155  	// unconditionally include in API requests. By default, fields with
  9156  	// empty or default values are omitted from API requests. However, any
  9157  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9158  	// sent to the server regardless of whether the field is empty or not.
  9159  	// This may be used to include empty fields in Patch requests.
  9160  	ForceSendFields []string `json:"-"`
  9161  
  9162  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9163  	// requests with the JSON null value. By default, fields with empty
  9164  	// values are omitted from API requests. However, any field with an
  9165  	// empty value appearing in NullFields will be sent to the server as
  9166  	// null. It is an error if a field in this list has a non-empty value.
  9167  	// This may be used to include null fields in Patch requests.
  9168  	NullFields []string `json:"-"`
  9169  }
  9170  
  9171  func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
  9172  	type NoMethod OperatingSystemsListResponse
  9173  	raw := NoMethod(*s)
  9174  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9175  }
  9176  
  9177  // OptimizationActivity: Creative optimization activity.
  9178  type OptimizationActivity struct {
  9179  	// FloodlightActivityId: Floodlight activity ID of this optimization
  9180  	// activity. This is a required field.
  9181  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
  9182  
  9183  	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
  9184  	// floodlight activity. This is a read-only, auto-generated field.
  9185  	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
  9186  
  9187  	// Weight: Weight associated with this optimization. The weight assigned
  9188  	// will be understood in proportion to the weights assigned to the other
  9189  	// optimization activities. Value must be greater than or equal to 1.
  9190  	Weight int64 `json:"weight,omitempty"`
  9191  
  9192  	// ForceSendFields is a list of field names (e.g.
  9193  	// "FloodlightActivityId") to unconditionally include in API requests.
  9194  	// By default, fields with empty or default values are omitted from API
  9195  	// requests. However, any non-pointer, non-interface field appearing in
  9196  	// ForceSendFields will be sent to the server regardless of whether the
  9197  	// field is empty or not. This may be used to include empty fields in
  9198  	// Patch requests.
  9199  	ForceSendFields []string `json:"-"`
  9200  
  9201  	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
  9202  	// include in API requests with the JSON null value. By default, fields
  9203  	// with empty values are omitted from API requests. However, any field
  9204  	// with an empty value appearing in NullFields will be sent to the
  9205  	// server as null. It is an error if a field in this list has a
  9206  	// non-empty value. This may be used to include null fields in Patch
  9207  	// requests.
  9208  	NullFields []string `json:"-"`
  9209  }
  9210  
  9211  func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
  9212  	type NoMethod OptimizationActivity
  9213  	raw := NoMethod(*s)
  9214  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9215  }
  9216  
  9217  // Order: Describes properties of a Planning order.
  9218  type Order struct {
  9219  	// AccountId: Account ID of this order.
  9220  	AccountId int64 `json:"accountId,omitempty,string"`
  9221  
  9222  	// AdvertiserId: Advertiser ID of this order.
  9223  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9224  
  9225  	// ApproverUserProfileIds: IDs for users that have to approve documents
  9226  	// created for this order.
  9227  	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
  9228  
  9229  	// BuyerInvoiceId: Buyer invoice ID associated with this order.
  9230  	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
  9231  
  9232  	// BuyerOrganizationName: Name of the buyer organization.
  9233  	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
  9234  
  9235  	// Comments: Comments in this order.
  9236  	Comments string `json:"comments,omitempty"`
  9237  
  9238  	// Contacts: Contacts for this order.
  9239  	Contacts []*OrderContact `json:"contacts,omitempty"`
  9240  
  9241  	// Id: ID of this order. This is a read-only, auto-generated field.
  9242  	Id int64 `json:"id,omitempty,string"`
  9243  
  9244  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9245  	// string "dfareporting#order".
  9246  	Kind string `json:"kind,omitempty"`
  9247  
  9248  	// LastModifiedInfo: Information about the most recent modification of
  9249  	// this order.
  9250  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9251  
  9252  	// Name: Name of this order.
  9253  	Name string `json:"name,omitempty"`
  9254  
  9255  	// Notes: Notes of this order.
  9256  	Notes string `json:"notes,omitempty"`
  9257  
  9258  	// PlanningTermId: ID of the terms and conditions template used in this
  9259  	// order.
  9260  	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
  9261  
  9262  	// ProjectId: Project ID of this order.
  9263  	ProjectId int64 `json:"projectId,omitempty,string"`
  9264  
  9265  	// SellerOrderId: Seller order ID associated with this order.
  9266  	SellerOrderId string `json:"sellerOrderId,omitempty"`
  9267  
  9268  	// SellerOrganizationName: Name of the seller organization.
  9269  	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
  9270  
  9271  	// SiteId: Site IDs this order is associated with.
  9272  	SiteId googleapi.Int64s `json:"siteId,omitempty"`
  9273  
  9274  	// SiteNames: Free-form site names this order is associated with.
  9275  	SiteNames []string `json:"siteNames,omitempty"`
  9276  
  9277  	// SubaccountId: Subaccount ID of this order.
  9278  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9279  
  9280  	// TermsAndConditions: Terms and conditions of this order.
  9281  	TermsAndConditions string `json:"termsAndConditions,omitempty"`
  9282  
  9283  	// ServerResponse contains the HTTP response code and headers from the
  9284  	// server.
  9285  	googleapi.ServerResponse `json:"-"`
  9286  
  9287  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9288  	// unconditionally include in API requests. By default, fields with
  9289  	// empty or default values are omitted from API requests. However, any
  9290  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9291  	// sent to the server regardless of whether the field is empty or not.
  9292  	// This may be used to include empty fields in Patch requests.
  9293  	ForceSendFields []string `json:"-"`
  9294  
  9295  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9296  	// API requests with the JSON null value. By default, fields with empty
  9297  	// values are omitted from API requests. However, any field with an
  9298  	// empty value appearing in NullFields will be sent to the server as
  9299  	// null. It is an error if a field in this list has a non-empty value.
  9300  	// This may be used to include null fields in Patch requests.
  9301  	NullFields []string `json:"-"`
  9302  }
  9303  
  9304  func (s *Order) MarshalJSON() ([]byte, error) {
  9305  	type NoMethod Order
  9306  	raw := NoMethod(*s)
  9307  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9308  }
  9309  
  9310  // OrderContact: Contact of an order.
  9311  type OrderContact struct {
  9312  	// ContactInfo: Free-form information about this contact. It could be
  9313  	// any information related to this contact in addition to type, title,
  9314  	// name, and signature user profile ID.
  9315  	ContactInfo string `json:"contactInfo,omitempty"`
  9316  
  9317  	// ContactName: Name of this contact.
  9318  	ContactName string `json:"contactName,omitempty"`
  9319  
  9320  	// ContactTitle: Title of this contact.
  9321  	ContactTitle string `json:"contactTitle,omitempty"`
  9322  
  9323  	// ContactType: Type of this contact.
  9324  	//
  9325  	// Possible values:
  9326  	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
  9327  	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
  9328  	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
  9329  	ContactType string `json:"contactType,omitempty"`
  9330  
  9331  	// SignatureUserProfileId: ID of the user profile containing the
  9332  	// signature that will be embedded into order documents.
  9333  	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
  9334  
  9335  	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
  9336  	// unconditionally include in API requests. By default, fields with
  9337  	// empty or default values are omitted from API requests. However, any
  9338  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9339  	// sent to the server regardless of whether the field is empty or not.
  9340  	// This may be used to include empty fields in Patch requests.
  9341  	ForceSendFields []string `json:"-"`
  9342  
  9343  	// NullFields is a list of field names (e.g. "ContactInfo") to include
  9344  	// in API requests with the JSON null value. By default, fields with
  9345  	// empty values are omitted from API requests. However, any field with
  9346  	// an empty value appearing in NullFields will be sent to the server as
  9347  	// null. It is an error if a field in this list has a non-empty value.
  9348  	// This may be used to include null fields in Patch requests.
  9349  	NullFields []string `json:"-"`
  9350  }
  9351  
  9352  func (s *OrderContact) MarshalJSON() ([]byte, error) {
  9353  	type NoMethod OrderContact
  9354  	raw := NoMethod(*s)
  9355  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9356  }
  9357  
  9358  // OrderDocument: Contains properties of a Planning order document.
  9359  type OrderDocument struct {
  9360  	// AccountId: Account ID of this order document.
  9361  	AccountId int64 `json:"accountId,omitempty,string"`
  9362  
  9363  	// AdvertiserId: Advertiser ID of this order document.
  9364  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9365  
  9366  	// AmendedOrderDocumentId: The amended order document ID of this order
  9367  	// document. An order document can be created by optionally amending
  9368  	// another order document so that the change history can be preserved.
  9369  	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
  9370  
  9371  	// ApprovedByUserProfileIds: IDs of users who have approved this order
  9372  	// document.
  9373  	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
  9374  
  9375  	// Cancelled: Whether this order document is cancelled.
  9376  	Cancelled bool `json:"cancelled,omitempty"`
  9377  
  9378  	// CreatedInfo: Information about the creation of this order document.
  9379  	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
  9380  
  9381  	EffectiveDate string `json:"effectiveDate,omitempty"`
  9382  
  9383  	// Id: ID of this order document.
  9384  	Id int64 `json:"id,omitempty,string"`
  9385  
  9386  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9387  	// string "dfareporting#orderDocument".
  9388  	Kind string `json:"kind,omitempty"`
  9389  
  9390  	// LastSentRecipients: List of email addresses that received the last
  9391  	// sent document.
  9392  	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
  9393  
  9394  	LastSentTime string `json:"lastSentTime,omitempty"`
  9395  
  9396  	// OrderId: ID of the order from which this order document is created.
  9397  	OrderId int64 `json:"orderId,omitempty,string"`
  9398  
  9399  	// ProjectId: Project ID of this order document.
  9400  	ProjectId int64 `json:"projectId,omitempty,string"`
  9401  
  9402  	// Signed: Whether this order document has been signed.
  9403  	Signed bool `json:"signed,omitempty"`
  9404  
  9405  	// SubaccountId: Subaccount ID of this order document.
  9406  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9407  
  9408  	// Title: Title of this order document.
  9409  	Title string `json:"title,omitempty"`
  9410  
  9411  	// Type: Type of this order document
  9412  	//
  9413  	// Possible values:
  9414  	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
  9415  	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
  9416  	Type string `json:"type,omitempty"`
  9417  
  9418  	// ServerResponse contains the HTTP response code and headers from the
  9419  	// server.
  9420  	googleapi.ServerResponse `json:"-"`
  9421  
  9422  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9423  	// unconditionally include in API requests. By default, fields with
  9424  	// empty or default values are omitted from API requests. However, any
  9425  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9426  	// sent to the server regardless of whether the field is empty or not.
  9427  	// This may be used to include empty fields in Patch requests.
  9428  	ForceSendFields []string `json:"-"`
  9429  
  9430  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9431  	// API requests with the JSON null value. By default, fields with empty
  9432  	// values are omitted from API requests. However, any field with an
  9433  	// empty value appearing in NullFields will be sent to the server as
  9434  	// null. It is an error if a field in this list has a non-empty value.
  9435  	// This may be used to include null fields in Patch requests.
  9436  	NullFields []string `json:"-"`
  9437  }
  9438  
  9439  func (s *OrderDocument) MarshalJSON() ([]byte, error) {
  9440  	type NoMethod OrderDocument
  9441  	raw := NoMethod(*s)
  9442  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9443  }
  9444  
  9445  // OrderDocumentsListResponse: Order document List Response
  9446  type OrderDocumentsListResponse struct {
  9447  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9448  	// string "dfareporting#orderDocumentsListResponse".
  9449  	Kind string `json:"kind,omitempty"`
  9450  
  9451  	// NextPageToken: Pagination token to be used for the next list
  9452  	// operation.
  9453  	NextPageToken string `json:"nextPageToken,omitempty"`
  9454  
  9455  	// OrderDocuments: Order document collection
  9456  	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
  9457  
  9458  	// ServerResponse contains the HTTP response code and headers from the
  9459  	// server.
  9460  	googleapi.ServerResponse `json:"-"`
  9461  
  9462  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9463  	// unconditionally include in API requests. By default, fields with
  9464  	// empty or default values are omitted from API requests. However, any
  9465  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9466  	// sent to the server regardless of whether the field is empty or not.
  9467  	// This may be used to include empty fields in Patch requests.
  9468  	ForceSendFields []string `json:"-"`
  9469  
  9470  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9471  	// requests with the JSON null value. By default, fields with empty
  9472  	// values are omitted from API requests. However, any field with an
  9473  	// empty value appearing in NullFields will be sent to the server as
  9474  	// null. It is an error if a field in this list has a non-empty value.
  9475  	// This may be used to include null fields in Patch requests.
  9476  	NullFields []string `json:"-"`
  9477  }
  9478  
  9479  func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
  9480  	type NoMethod OrderDocumentsListResponse
  9481  	raw := NoMethod(*s)
  9482  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9483  }
  9484  
  9485  // OrdersListResponse: Order List Response
  9486  type OrdersListResponse struct {
  9487  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9488  	// string "dfareporting#ordersListResponse".
  9489  	Kind string `json:"kind,omitempty"`
  9490  
  9491  	// NextPageToken: Pagination token to be used for the next list
  9492  	// operation.
  9493  	NextPageToken string `json:"nextPageToken,omitempty"`
  9494  
  9495  	// Orders: Order collection.
  9496  	Orders []*Order `json:"orders,omitempty"`
  9497  
  9498  	// ServerResponse contains the HTTP response code and headers from the
  9499  	// server.
  9500  	googleapi.ServerResponse `json:"-"`
  9501  
  9502  	// ForceSendFields is a list of field names (e.g. "Kind") to
  9503  	// unconditionally include in API requests. By default, fields with
  9504  	// empty or default values are omitted from API requests. However, any
  9505  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9506  	// sent to the server regardless of whether the field is empty or not.
  9507  	// This may be used to include empty fields in Patch requests.
  9508  	ForceSendFields []string `json:"-"`
  9509  
  9510  	// NullFields is a list of field names (e.g. "Kind") to include in API
  9511  	// requests with the JSON null value. By default, fields with empty
  9512  	// values are omitted from API requests. However, any field with an
  9513  	// empty value appearing in NullFields will be sent to the server as
  9514  	// null. It is an error if a field in this list has a non-empty value.
  9515  	// This may be used to include null fields in Patch requests.
  9516  	NullFields []string `json:"-"`
  9517  }
  9518  
  9519  func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
  9520  	type NoMethod OrdersListResponse
  9521  	raw := NoMethod(*s)
  9522  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9523  }
  9524  
  9525  // PathToConversionReportCompatibleFields: Represents fields that are
  9526  // compatible to be selected for a report of type "PATH_TO_CONVERSION".
  9527  type PathToConversionReportCompatibleFields struct {
  9528  	// ConversionDimensions: Conversion dimensions which are compatible to
  9529  	// be selected in the "conversionDimensions" section of the report.
  9530  	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
  9531  
  9532  	// CustomFloodlightVariables: Custom floodlight variables which are
  9533  	// compatible to be selected in the "customFloodlightVariables" section
  9534  	// of the report.
  9535  	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
  9536  
  9537  	// Kind: The kind of resource this is, in this case
  9538  	// dfareporting#pathToConversionReportCompatibleFields.
  9539  	Kind string `json:"kind,omitempty"`
  9540  
  9541  	// Metrics: Metrics which are compatible to be selected in the
  9542  	// "metricNames" section of the report.
  9543  	Metrics []*Metric `json:"metrics,omitempty"`
  9544  
  9545  	// PerInteractionDimensions: Per-interaction dimensions which are
  9546  	// compatible to be selected in the "perInteractionDimensions" section
  9547  	// of the report.
  9548  	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
  9549  
  9550  	// ForceSendFields is a list of field names (e.g.
  9551  	// "ConversionDimensions") to unconditionally include in API requests.
  9552  	// By default, fields with empty or default values are omitted from API
  9553  	// requests. However, any non-pointer, non-interface field appearing in
  9554  	// ForceSendFields will be sent to the server regardless of whether the
  9555  	// field is empty or not. This may be used to include empty fields in
  9556  	// Patch requests.
  9557  	ForceSendFields []string `json:"-"`
  9558  
  9559  	// NullFields is a list of field names (e.g. "ConversionDimensions") to
  9560  	// include in API requests with the JSON null value. By default, fields
  9561  	// with empty values are omitted from API requests. However, any field
  9562  	// with an empty value appearing in NullFields will be sent to the
  9563  	// server as null. It is an error if a field in this list has a
  9564  	// non-empty value. This may be used to include null fields in Patch
  9565  	// requests.
  9566  	NullFields []string `json:"-"`
  9567  }
  9568  
  9569  func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
  9570  	type NoMethod PathToConversionReportCompatibleFields
  9571  	raw := NoMethod(*s)
  9572  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9573  }
  9574  
  9575  // Placement: Contains properties of a placement.
  9576  type Placement struct {
  9577  	// AccountId: Account ID of this placement. This field can be left
  9578  	// blank.
  9579  	AccountId int64 `json:"accountId,omitempty,string"`
  9580  
  9581  	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
  9582  	// When true, ad blocking is disabled for this placement. When false,
  9583  	// the campaign and site settings take effect.
  9584  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
  9585  
  9586  	// AdditionalSizes: Additional sizes associated with this placement.
  9587  	// When inserting or updating a placement, only the size ID field is
  9588  	// used.
  9589  	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
  9590  
  9591  	// AdvertiserId: Advertiser ID of this placement. This field can be left
  9592  	// blank.
  9593  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9594  
  9595  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  9596  	// advertiser. This is a read-only, auto-generated field.
  9597  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  9598  
  9599  	// Archived: Whether this placement is archived.
  9600  	Archived bool `json:"archived,omitempty"`
  9601  
  9602  	// CampaignId: Campaign ID of this placement. This field is a required
  9603  	// field on insertion.
  9604  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9605  
  9606  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  9607  	// This is a read-only, auto-generated field.
  9608  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  9609  
  9610  	// Comment: Comments for this placement.
  9611  	Comment string `json:"comment,omitempty"`
  9612  
  9613  	// Compatibility: Placement compatibility. DISPLAY and
  9614  	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
  9615  	// or in mobile apps for regular or interstitial ads respectively. APP
  9616  	// and APP_INTERSTITIAL are no longer allowed for new placement
  9617  	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
  9618  	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
  9619  	// with the VAST standard. This field is required on insertion.
  9620  	//
  9621  	// Possible values:
  9622  	//   "DISPLAY"
  9623  	//   "DISPLAY_INTERSTITIAL"
  9624  	//   "APP"
  9625  	//   "APP_INTERSTITIAL"
  9626  	//   "IN_STREAM_VIDEO"
  9627  	//   "IN_STREAM_AUDIO"
  9628  	Compatibility string `json:"compatibility,omitempty"`
  9629  
  9630  	// ContentCategoryId: ID of the content category assigned to this
  9631  	// placement.
  9632  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  9633  
  9634  	// CreateInfo: Information about the creation of this placement. This is
  9635  	// a read-only field.
  9636  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  9637  
  9638  	// DirectorySiteId: Directory site ID of this placement. On insert, you
  9639  	// must set either this field or the siteId field to specify the site
  9640  	// associated with this placement. This is a required field that is
  9641  	// read-only after insertion.
  9642  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  9643  
  9644  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
  9645  	// directory site. This is a read-only, auto-generated field.
  9646  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
  9647  
  9648  	// ExternalId: External ID for this placement.
  9649  	ExternalId string `json:"externalId,omitempty"`
  9650  
  9651  	// Id: ID of this placement. This is a read-only, auto-generated field.
  9652  	Id int64 `json:"id,omitempty,string"`
  9653  
  9654  	// IdDimensionValue: Dimension value for the ID of this placement. This
  9655  	// is a read-only, auto-generated field.
  9656  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  9657  
  9658  	// KeyName: Key name of this placement. This is a read-only,
  9659  	// auto-generated field.
  9660  	KeyName string `json:"keyName,omitempty"`
  9661  
  9662  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9663  	// string "dfareporting#placement".
  9664  	Kind string `json:"kind,omitempty"`
  9665  
  9666  	// LastModifiedInfo: Information about the most recent modification of
  9667  	// this placement. This is a read-only field.
  9668  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9669  
  9670  	// LookbackConfiguration: Lookback window settings for this placement.
  9671  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
  9672  
  9673  	// Name: Name of this placement.This is a required field and must be
  9674  	// less than or equal to 256 characters long.
  9675  	Name string `json:"name,omitempty"`
  9676  
  9677  	// PaymentApproved: Whether payment was approved for this placement.
  9678  	// This is a read-only field relevant only to publisher-paid placements.
  9679  	PaymentApproved bool `json:"paymentApproved,omitempty"`
  9680  
  9681  	// PaymentSource: Payment source for this placement. This is a required
  9682  	// field that is read-only after insertion.
  9683  	//
  9684  	// Possible values:
  9685  	//   "PLACEMENT_AGENCY_PAID"
  9686  	//   "PLACEMENT_PUBLISHER_PAID"
  9687  	PaymentSource string `json:"paymentSource,omitempty"`
  9688  
  9689  	// PlacementGroupId: ID of this placement's group, if applicable.
  9690  	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
  9691  
  9692  	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
  9693  	// placement group. This is a read-only, auto-generated field.
  9694  	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
  9695  
  9696  	// PlacementStrategyId: ID of the placement strategy assigned to this
  9697  	// placement.
  9698  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  9699  
  9700  	// PricingSchedule: Pricing schedule of this placement. This field is
  9701  	// required on insertion, specifically subfields startDate, endDate and
  9702  	// pricingType.
  9703  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
  9704  
  9705  	// Primary: Whether this placement is the primary placement of a
  9706  	// roadblock (placement group). You cannot change this field from true
  9707  	// to false. Setting this field to true will automatically set the
  9708  	// primary field on the original primary placement of the roadblock to
  9709  	// false, and it will automatically set the roadblock's
  9710  	// primaryPlacementId field to the ID of this placement.
  9711  	Primary bool `json:"primary,omitempty"`
  9712  
  9713  	// PublisherUpdateInfo: Information about the last publisher update.
  9714  	// This is a read-only field.
  9715  	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
  9716  
  9717  	// SiteId: Site ID associated with this placement. On insert, you must
  9718  	// set either this field or the directorySiteId field to specify the
  9719  	// site associated with this placement. This is a required field that is
  9720  	// read-only after insertion.
  9721  	SiteId int64 `json:"siteId,omitempty,string"`
  9722  
  9723  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
  9724  	// a read-only, auto-generated field.
  9725  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
  9726  
  9727  	// Size: Size associated with this placement. When inserting or updating
  9728  	// a placement, only the size ID field is used. This field is required
  9729  	// on insertion.
  9730  	Size *Size `json:"size,omitempty"`
  9731  
  9732  	// SslRequired: Whether creatives assigned to this placement must be
  9733  	// SSL-compliant.
  9734  	SslRequired bool `json:"sslRequired,omitempty"`
  9735  
  9736  	// Status: Third-party placement status.
  9737  	//
  9738  	// Possible values:
  9739  	//   "PENDING_REVIEW"
  9740  	//   "PAYMENT_ACCEPTED"
  9741  	//   "PAYMENT_REJECTED"
  9742  	//   "ACKNOWLEDGE_REJECTION"
  9743  	//   "ACKNOWLEDGE_ACCEPTANCE"
  9744  	//   "DRAFT"
  9745  	Status string `json:"status,omitempty"`
  9746  
  9747  	// SubaccountId: Subaccount ID of this placement. This field can be left
  9748  	// blank.
  9749  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
  9750  
  9751  	// TagFormats: Tag formats to generate for this placement. This field is
  9752  	// required on insertion. Acceptable values are: -
  9753  	// "PLACEMENT_TAG_STANDARD" - "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -
  9754  	// "PLACEMENT_TAG_IFRAME_ILAYER" - "PLACEMENT_TAG_INTERNAL_REDIRECT" -
  9755  	// "PLACEMENT_TAG_JAVASCRIPT" -
  9756  	// "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
  9757  	// "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
  9758  	// "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
  9759  	// "PLACEMENT_TAG_CLICK_COMMANDS" -
  9760  	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -
  9761  	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -
  9762  	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" -
  9763  	// "PLACEMENT_TAG_TRACKING" - "PLACEMENT_TAG_TRACKING_IFRAME" -
  9764  	// "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
  9765  	//
  9766  	// Possible values:
  9767  	//   "PLACEMENT_TAG_STANDARD"
  9768  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
  9769  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
  9770  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
  9771  	//   "PLACEMENT_TAG_JAVASCRIPT"
  9772  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
  9773  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
  9774  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
  9775  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
  9776  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
  9777  	//   "PLACEMENT_TAG_TRACKING"
  9778  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
  9779  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
  9780  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
  9781  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
  9782  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
  9783  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
  9784  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
  9785  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
  9786  	//   "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
  9787  	TagFormats []string `json:"tagFormats,omitempty"`
  9788  
  9789  	// TagSetting: Tag settings for this placement.
  9790  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
  9791  
  9792  	// VideoActiveViewOptOut: Whether Verification and ActiveView are
  9793  	// disabled for in-stream video creatives for this placement. The same
  9794  	// setting videoActiveViewOptOut exists on the site level -- the opt out
  9795  	// occurs if either of these settings are true. These settings are
  9796  	// distinct from DirectorySites.settings.activeViewOptOut or
  9797  	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
  9798  	// However, Accounts.activeViewOptOut opts out both video traffic, as
  9799  	// well as display ads, from Verification and ActiveView.
  9800  	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
  9801  
  9802  	// VideoSettings: A collection of settings which affect video creatives
  9803  	// served through this placement. Applicable to placements with
  9804  	// IN_STREAM_VIDEO compatibility.
  9805  	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
  9806  
  9807  	// VpaidAdapterChoice: VPAID adapter setting for this placement.
  9808  	// Controls which VPAID format the measurement adapter will use for
  9809  	// in-stream video creatives assigned to this placement. *Note:* Flash
  9810  	// is no longer supported. This field now defaults to HTML5 when the
  9811  	// following values are provided: FLASH, BOTH.
  9812  	//
  9813  	// Possible values:
  9814  	//   "DEFAULT"
  9815  	//   "FLASH"
  9816  	//   "HTML5"
  9817  	//   "BOTH"
  9818  	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
  9819  
  9820  	// ServerResponse contains the HTTP response code and headers from the
  9821  	// server.
  9822  	googleapi.ServerResponse `json:"-"`
  9823  
  9824  	// ForceSendFields is a list of field names (e.g. "AccountId") to
  9825  	// unconditionally include in API requests. By default, fields with
  9826  	// empty or default values are omitted from API requests. However, any
  9827  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9828  	// sent to the server regardless of whether the field is empty or not.
  9829  	// This may be used to include empty fields in Patch requests.
  9830  	ForceSendFields []string `json:"-"`
  9831  
  9832  	// NullFields is a list of field names (e.g. "AccountId") to include in
  9833  	// API requests with the JSON null value. By default, fields with empty
  9834  	// values are omitted from API requests. However, any field with an
  9835  	// empty value appearing in NullFields will be sent to the server as
  9836  	// null. It is an error if a field in this list has a non-empty value.
  9837  	// This may be used to include null fields in Patch requests.
  9838  	NullFields []string `json:"-"`
  9839  }
  9840  
  9841  func (s *Placement) MarshalJSON() ([]byte, error) {
  9842  	type NoMethod Placement
  9843  	raw := NoMethod(*s)
  9844  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9845  }
  9846  
  9847  // PlacementAssignment: Placement Assignment.
  9848  type PlacementAssignment struct {
  9849  	// Active: Whether this placement assignment is active. When true, the
  9850  	// placement will be included in the ad's rotation.
  9851  	Active bool `json:"active,omitempty"`
  9852  
  9853  	// PlacementId: ID of the placement to be assigned. This is a required
  9854  	// field.
  9855  	PlacementId int64 `json:"placementId,omitempty,string"`
  9856  
  9857  	// PlacementIdDimensionValue: Dimension value for the ID of the
  9858  	// placement. This is a read-only, auto-generated field.
  9859  	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
  9860  
  9861  	// SslRequired: Whether the placement to be assigned requires SSL. This
  9862  	// is a read-only field that is auto-generated when the ad is inserted
  9863  	// or updated.
  9864  	SslRequired bool `json:"sslRequired,omitempty"`
  9865  
  9866  	// ForceSendFields is a list of field names (e.g. "Active") to
  9867  	// unconditionally include in API requests. By default, fields with
  9868  	// empty or default values are omitted from API requests. However, any
  9869  	// non-pointer, non-interface field appearing in ForceSendFields will be
  9870  	// sent to the server regardless of whether the field is empty or not.
  9871  	// This may be used to include empty fields in Patch requests.
  9872  	ForceSendFields []string `json:"-"`
  9873  
  9874  	// NullFields is a list of field names (e.g. "Active") to include in API
  9875  	// requests with the JSON null value. By default, fields with empty
  9876  	// values are omitted from API requests. However, any field with an
  9877  	// empty value appearing in NullFields will be sent to the server as
  9878  	// null. It is an error if a field in this list has a non-empty value.
  9879  	// This may be used to include null fields in Patch requests.
  9880  	NullFields []string `json:"-"`
  9881  }
  9882  
  9883  func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
  9884  	type NoMethod PlacementAssignment
  9885  	raw := NoMethod(*s)
  9886  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
  9887  }
  9888  
  9889  // PlacementGroup: Contains properties of a package or roadblock.
  9890  type PlacementGroup struct {
  9891  	// AccountId: Account ID of this placement group. This is a read-only
  9892  	// field that can be left blank.
  9893  	AccountId int64 `json:"accountId,omitempty,string"`
  9894  
  9895  	// AdvertiserId: Advertiser ID of this placement group. This is a
  9896  	// required field on insertion.
  9897  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
  9898  
  9899  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
  9900  	// advertiser. This is a read-only, auto-generated field.
  9901  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
  9902  
  9903  	// Archived: Whether this placement group is archived.
  9904  	Archived bool `json:"archived,omitempty"`
  9905  
  9906  	// CampaignId: Campaign ID of this placement group. This field is
  9907  	// required on insertion.
  9908  	CampaignId int64 `json:"campaignId,omitempty,string"`
  9909  
  9910  	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
  9911  	// This is a read-only, auto-generated field.
  9912  	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
  9913  
  9914  	// ChildPlacementIds: IDs of placements which are assigned to this
  9915  	// placement group. This is a read-only, auto-generated field.
  9916  	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
  9917  
  9918  	// Comment: Comments for this placement group.
  9919  	Comment string `json:"comment,omitempty"`
  9920  
  9921  	// ContentCategoryId: ID of the content category assigned to this
  9922  	// placement group.
  9923  	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
  9924  
  9925  	// CreateInfo: Information about the creation of this placement group.
  9926  	// This is a read-only field.
  9927  	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
  9928  
  9929  	// DirectorySiteId: Directory site ID associated with this placement
  9930  	// group. On insert, you must set either this field or the site_id field
  9931  	// to specify the site associated with this placement group. This is a
  9932  	// required field that is read-only after insertion.
  9933  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
  9934  
  9935  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
  9936  	// directory site. This is a read-only, auto-generated field.
  9937  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
  9938  
  9939  	// ExternalId: External ID for this placement.
  9940  	ExternalId string `json:"externalId,omitempty"`
  9941  
  9942  	// Id: ID of this placement group. This is a read-only, auto-generated
  9943  	// field.
  9944  	Id int64 `json:"id,omitempty,string"`
  9945  
  9946  	// IdDimensionValue: Dimension value for the ID of this placement group.
  9947  	// This is a read-only, auto-generated field.
  9948  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
  9949  
  9950  	// Kind: Identifies what kind of resource this is. Value: the fixed
  9951  	// string "dfareporting#placementGroup".
  9952  	Kind string `json:"kind,omitempty"`
  9953  
  9954  	// LastModifiedInfo: Information about the most recent modification of
  9955  	// this placement group. This is a read-only field.
  9956  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
  9957  
  9958  	// Name: Name of this placement group. This is a required field and must
  9959  	// be less than 256 characters long.
  9960  	Name string `json:"name,omitempty"`
  9961  
  9962  	// PlacementGroupType: Type of this placement group. A package is a
  9963  	// simple group of placements that acts as a single pricing point for a
  9964  	// group of tags. A roadblock is a group of placements that not only
  9965  	// acts as a single pricing point, but also assumes that all the tags in
  9966  	// it will be served at the same time. A roadblock requires one of its
  9967  	// assigned placements to be marked as primary for reporting. This field
  9968  	// is required on insertion.
  9969  	//
  9970  	// Possible values:
  9971  	//   "PLACEMENT_PACKAGE"
  9972  	//   "PLACEMENT_ROADBLOCK"
  9973  	PlacementGroupType string `json:"placementGroupType,omitempty"`
  9974  
  9975  	// PlacementStrategyId: ID of the placement strategy assigned to this
  9976  	// placement group.
  9977  	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
  9978  
  9979  	// PricingSchedule: Pricing schedule of this placement group. This field
  9980  	// is required on insertion.
  9981  	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
  9982  
  9983  	// PrimaryPlacementId: ID of the primary placement, used to calculate
  9984  	// the media cost of a roadblock (placement group). Modifying this field
  9985  	// will automatically modify the primary field on all affected roadblock
  9986  	// child placements.
  9987  	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
  9988  
  9989  	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
  9990  	// primary placement. This is a read-only, auto-generated field.
  9991  	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
  9992  
  9993  	// SiteId: Site ID associated with this placement group. On insert, you
  9994  	// must set either this field or the directorySiteId field to specify
  9995  	// the site associated with this placement group. This is a required
  9996  	// field that is read-only after insertion.
  9997  	SiteId int64 `json:"siteId,omitempty,string"`
  9998  
  9999  	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
 10000  	// a read-only, auto-generated field.
 10001  	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
 10002  
 10003  	// SubaccountId: Subaccount ID of this placement group. This is a
 10004  	// read-only field that can be left blank.
 10005  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10006  
 10007  	// ServerResponse contains the HTTP response code and headers from the
 10008  	// server.
 10009  	googleapi.ServerResponse `json:"-"`
 10010  
 10011  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10012  	// unconditionally include in API requests. By default, fields with
 10013  	// empty or default values are omitted from API requests. However, any
 10014  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10015  	// sent to the server regardless of whether the field is empty or not.
 10016  	// This may be used to include empty fields in Patch requests.
 10017  	ForceSendFields []string `json:"-"`
 10018  
 10019  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10020  	// API requests with the JSON null value. By default, fields with empty
 10021  	// values are omitted from API requests. However, any field with an
 10022  	// empty value appearing in NullFields will be sent to the server as
 10023  	// null. It is an error if a field in this list has a non-empty value.
 10024  	// This may be used to include null fields in Patch requests.
 10025  	NullFields []string `json:"-"`
 10026  }
 10027  
 10028  func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
 10029  	type NoMethod PlacementGroup
 10030  	raw := NoMethod(*s)
 10031  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10032  }
 10033  
 10034  // PlacementGroupsListResponse: Placement Group List Response
 10035  type PlacementGroupsListResponse struct {
 10036  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10037  	// string "dfareporting#placementGroupsListResponse".
 10038  	Kind string `json:"kind,omitempty"`
 10039  
 10040  	// NextPageToken: Pagination token to be used for the next list
 10041  	// operation.
 10042  	NextPageToken string `json:"nextPageToken,omitempty"`
 10043  
 10044  	// PlacementGroups: Placement group collection.
 10045  	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
 10046  
 10047  	// ServerResponse contains the HTTP response code and headers from the
 10048  	// server.
 10049  	googleapi.ServerResponse `json:"-"`
 10050  
 10051  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10052  	// unconditionally include in API requests. By default, fields with
 10053  	// empty or default values are omitted from API requests. However, any
 10054  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10055  	// sent to the server regardless of whether the field is empty or not.
 10056  	// This may be used to include empty fields in Patch requests.
 10057  	ForceSendFields []string `json:"-"`
 10058  
 10059  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10060  	// requests with the JSON null value. By default, fields with empty
 10061  	// values are omitted from API requests. However, any field with an
 10062  	// empty value appearing in NullFields will be sent to the server as
 10063  	// null. It is an error if a field in this list has a non-empty value.
 10064  	// This may be used to include null fields in Patch requests.
 10065  	NullFields []string `json:"-"`
 10066  }
 10067  
 10068  func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
 10069  	type NoMethod PlacementGroupsListResponse
 10070  	raw := NoMethod(*s)
 10071  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10072  }
 10073  
 10074  // PlacementStrategiesListResponse: Placement Strategy List Response
 10075  type PlacementStrategiesListResponse struct {
 10076  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10077  	// string "dfareporting#placementStrategiesListResponse".
 10078  	Kind string `json:"kind,omitempty"`
 10079  
 10080  	// NextPageToken: Pagination token to be used for the next list
 10081  	// operation.
 10082  	NextPageToken string `json:"nextPageToken,omitempty"`
 10083  
 10084  	// PlacementStrategies: Placement strategy collection.
 10085  	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
 10086  
 10087  	// ServerResponse contains the HTTP response code and headers from the
 10088  	// server.
 10089  	googleapi.ServerResponse `json:"-"`
 10090  
 10091  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10092  	// unconditionally include in API requests. By default, fields with
 10093  	// empty or default values are omitted from API requests. However, any
 10094  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10095  	// sent to the server regardless of whether the field is empty or not.
 10096  	// This may be used to include empty fields in Patch requests.
 10097  	ForceSendFields []string `json:"-"`
 10098  
 10099  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10100  	// requests with the JSON null value. By default, fields with empty
 10101  	// values are omitted from API requests. However, any field with an
 10102  	// empty value appearing in NullFields will be sent to the server as
 10103  	// null. It is an error if a field in this list has a non-empty value.
 10104  	// This may be used to include null fields in Patch requests.
 10105  	NullFields []string `json:"-"`
 10106  }
 10107  
 10108  func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
 10109  	type NoMethod PlacementStrategiesListResponse
 10110  	raw := NoMethod(*s)
 10111  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10112  }
 10113  
 10114  // PlacementStrategy: Contains properties of a placement strategy.
 10115  type PlacementStrategy struct {
 10116  	// AccountId: Account ID of this placement strategy.This is a read-only
 10117  	// field that can be left blank.
 10118  	AccountId int64 `json:"accountId,omitempty,string"`
 10119  
 10120  	// Id: ID of this placement strategy. This is a read-only,
 10121  	// auto-generated field.
 10122  	Id int64 `json:"id,omitempty,string"`
 10123  
 10124  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10125  	// string "dfareporting#placementStrategy".
 10126  	Kind string `json:"kind,omitempty"`
 10127  
 10128  	// Name: Name of this placement strategy. This is a required field. It
 10129  	// must be less than 256 characters long and unique among placement
 10130  	// strategies of the same account.
 10131  	Name string `json:"name,omitempty"`
 10132  
 10133  	// ServerResponse contains the HTTP response code and headers from the
 10134  	// server.
 10135  	googleapi.ServerResponse `json:"-"`
 10136  
 10137  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10138  	// unconditionally include in API requests. By default, fields with
 10139  	// empty or default values are omitted from API requests. However, any
 10140  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10141  	// sent to the server regardless of whether the field is empty or not.
 10142  	// This may be used to include empty fields in Patch requests.
 10143  	ForceSendFields []string `json:"-"`
 10144  
 10145  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10146  	// API requests with the JSON null value. By default, fields with empty
 10147  	// values are omitted from API requests. However, any field with an
 10148  	// empty value appearing in NullFields will be sent to the server as
 10149  	// null. It is an error if a field in this list has a non-empty value.
 10150  	// This may be used to include null fields in Patch requests.
 10151  	NullFields []string `json:"-"`
 10152  }
 10153  
 10154  func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
 10155  	type NoMethod PlacementStrategy
 10156  	raw := NoMethod(*s)
 10157  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10158  }
 10159  
 10160  // PlacementTag: Placement Tag
 10161  type PlacementTag struct {
 10162  	// PlacementId: Placement ID
 10163  	PlacementId int64 `json:"placementId,omitempty,string"`
 10164  
 10165  	// TagDatas: Tags generated for this placement.
 10166  	TagDatas []*TagData `json:"tagDatas,omitempty"`
 10167  
 10168  	// ForceSendFields is a list of field names (e.g. "PlacementId") to
 10169  	// unconditionally include in API requests. By default, fields with
 10170  	// empty or default values are omitted from API requests. However, any
 10171  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10172  	// sent to the server regardless of whether the field is empty or not.
 10173  	// This may be used to include empty fields in Patch requests.
 10174  	ForceSendFields []string `json:"-"`
 10175  
 10176  	// NullFields is a list of field names (e.g. "PlacementId") to include
 10177  	// in API requests with the JSON null value. By default, fields with
 10178  	// empty values are omitted from API requests. However, any field with
 10179  	// an empty value appearing in NullFields will be sent to the server as
 10180  	// null. It is an error if a field in this list has a non-empty value.
 10181  	// This may be used to include null fields in Patch requests.
 10182  	NullFields []string `json:"-"`
 10183  }
 10184  
 10185  func (s *PlacementTag) MarshalJSON() ([]byte, error) {
 10186  	type NoMethod PlacementTag
 10187  	raw := NoMethod(*s)
 10188  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10189  }
 10190  
 10191  // PlacementsGenerateTagsResponse: Placement GenerateTags Response
 10192  type PlacementsGenerateTagsResponse struct {
 10193  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10194  	// string "dfareporting#placementsGenerateTagsResponse".
 10195  	Kind string `json:"kind,omitempty"`
 10196  
 10197  	// PlacementTags: Set of generated tags for the specified placements.
 10198  	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
 10199  
 10200  	// ServerResponse contains the HTTP response code and headers from the
 10201  	// server.
 10202  	googleapi.ServerResponse `json:"-"`
 10203  
 10204  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10205  	// unconditionally include in API requests. By default, fields with
 10206  	// empty or default values are omitted from API requests. However, any
 10207  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10208  	// sent to the server regardless of whether the field is empty or not.
 10209  	// This may be used to include empty fields in Patch requests.
 10210  	ForceSendFields []string `json:"-"`
 10211  
 10212  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10213  	// requests with the JSON null value. By default, fields with empty
 10214  	// values are omitted from API requests. However, any field with an
 10215  	// empty value appearing in NullFields will be sent to the server as
 10216  	// null. It is an error if a field in this list has a non-empty value.
 10217  	// This may be used to include null fields in Patch requests.
 10218  	NullFields []string `json:"-"`
 10219  }
 10220  
 10221  func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
 10222  	type NoMethod PlacementsGenerateTagsResponse
 10223  	raw := NoMethod(*s)
 10224  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10225  }
 10226  
 10227  // PlacementsListResponse: Placement List Response
 10228  type PlacementsListResponse struct {
 10229  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10230  	// string "dfareporting#placementsListResponse".
 10231  	Kind string `json:"kind,omitempty"`
 10232  
 10233  	// NextPageToken: Pagination token to be used for the next list
 10234  	// operation.
 10235  	NextPageToken string `json:"nextPageToken,omitempty"`
 10236  
 10237  	// Placements: Placement collection.
 10238  	Placements []*Placement `json:"placements,omitempty"`
 10239  
 10240  	// ServerResponse contains the HTTP response code and headers from the
 10241  	// server.
 10242  	googleapi.ServerResponse `json:"-"`
 10243  
 10244  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10245  	// unconditionally include in API requests. By default, fields with
 10246  	// empty or default values are omitted from API requests. However, any
 10247  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10248  	// sent to the server regardless of whether the field is empty or not.
 10249  	// This may be used to include empty fields in Patch requests.
 10250  	ForceSendFields []string `json:"-"`
 10251  
 10252  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10253  	// requests with the JSON null value. By default, fields with empty
 10254  	// values are omitted from API requests. However, any field with an
 10255  	// empty value appearing in NullFields will be sent to the server as
 10256  	// null. It is an error if a field in this list has a non-empty value.
 10257  	// This may be used to include null fields in Patch requests.
 10258  	NullFields []string `json:"-"`
 10259  }
 10260  
 10261  func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
 10262  	type NoMethod PlacementsListResponse
 10263  	raw := NoMethod(*s)
 10264  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10265  }
 10266  
 10267  // PlatformType: Contains information about a platform type that can be
 10268  // targeted by ads.
 10269  type PlatformType struct {
 10270  	// Id: ID of this platform type.
 10271  	Id int64 `json:"id,omitempty,string"`
 10272  
 10273  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10274  	// string "dfareporting#platformType".
 10275  	Kind string `json:"kind,omitempty"`
 10276  
 10277  	// Name: Name of this platform type.
 10278  	Name string `json:"name,omitempty"`
 10279  
 10280  	// ServerResponse contains the HTTP response code and headers from the
 10281  	// server.
 10282  	googleapi.ServerResponse `json:"-"`
 10283  
 10284  	// ForceSendFields is a list of field names (e.g. "Id") to
 10285  	// unconditionally include in API requests. By default, fields with
 10286  	// empty or default values are omitted from API requests. However, any
 10287  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10288  	// sent to the server regardless of whether the field is empty or not.
 10289  	// This may be used to include empty fields in Patch requests.
 10290  	ForceSendFields []string `json:"-"`
 10291  
 10292  	// NullFields is a list of field names (e.g. "Id") to include in API
 10293  	// requests with the JSON null value. By default, fields with empty
 10294  	// values are omitted from API requests. However, any field with an
 10295  	// empty value appearing in NullFields will be sent to the server as
 10296  	// null. It is an error if a field in this list has a non-empty value.
 10297  	// This may be used to include null fields in Patch requests.
 10298  	NullFields []string `json:"-"`
 10299  }
 10300  
 10301  func (s *PlatformType) MarshalJSON() ([]byte, error) {
 10302  	type NoMethod PlatformType
 10303  	raw := NoMethod(*s)
 10304  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10305  }
 10306  
 10307  // PlatformTypesListResponse: Platform Type List Response
 10308  type PlatformTypesListResponse struct {
 10309  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10310  	// string "dfareporting#platformTypesListResponse".
 10311  	Kind string `json:"kind,omitempty"`
 10312  
 10313  	// PlatformTypes: Platform type collection.
 10314  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 10315  
 10316  	// ServerResponse contains the HTTP response code and headers from the
 10317  	// server.
 10318  	googleapi.ServerResponse `json:"-"`
 10319  
 10320  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10321  	// unconditionally include in API requests. By default, fields with
 10322  	// empty or default values are omitted from API requests. However, any
 10323  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10324  	// sent to the server regardless of whether the field is empty or not.
 10325  	// This may be used to include empty fields in Patch requests.
 10326  	ForceSendFields []string `json:"-"`
 10327  
 10328  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10329  	// requests with the JSON null value. By default, fields with empty
 10330  	// values are omitted from API requests. However, any field with an
 10331  	// empty value appearing in NullFields will be sent to the server as
 10332  	// null. It is an error if a field in this list has a non-empty value.
 10333  	// This may be used to include null fields in Patch requests.
 10334  	NullFields []string `json:"-"`
 10335  }
 10336  
 10337  func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
 10338  	type NoMethod PlatformTypesListResponse
 10339  	raw := NoMethod(*s)
 10340  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10341  }
 10342  
 10343  // PopupWindowProperties: Popup Window Properties.
 10344  type PopupWindowProperties struct {
 10345  	// Dimension: Popup dimension for a creative. This is a read-only field.
 10346  	// Applicable to the following creative types: all RICH_MEDIA and all
 10347  	// VPAID
 10348  	Dimension *Size `json:"dimension,omitempty"`
 10349  
 10350  	// Offset: Upper-left corner coordinates of the popup window. Applicable
 10351  	// if positionType is COORDINATES.
 10352  	Offset *OffsetPosition `json:"offset,omitempty"`
 10353  
 10354  	// PositionType: Popup window position either centered or at specific
 10355  	// coordinate.
 10356  	//
 10357  	// Possible values:
 10358  	//   "CENTER"
 10359  	//   "COORDINATES"
 10360  	PositionType string `json:"positionType,omitempty"`
 10361  
 10362  	// ShowAddressBar: Whether to display the browser address bar.
 10363  	ShowAddressBar bool `json:"showAddressBar,omitempty"`
 10364  
 10365  	// ShowMenuBar: Whether to display the browser menu bar.
 10366  	ShowMenuBar bool `json:"showMenuBar,omitempty"`
 10367  
 10368  	// ShowScrollBar: Whether to display the browser scroll bar.
 10369  	ShowScrollBar bool `json:"showScrollBar,omitempty"`
 10370  
 10371  	// ShowStatusBar: Whether to display the browser status bar.
 10372  	ShowStatusBar bool `json:"showStatusBar,omitempty"`
 10373  
 10374  	// ShowToolBar: Whether to display the browser tool bar.
 10375  	ShowToolBar bool `json:"showToolBar,omitempty"`
 10376  
 10377  	// Title: Title of popup window.
 10378  	Title string `json:"title,omitempty"`
 10379  
 10380  	// ForceSendFields is a list of field names (e.g. "Dimension") to
 10381  	// unconditionally include in API requests. By default, fields with
 10382  	// empty or default values are omitted from API requests. However, any
 10383  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10384  	// sent to the server regardless of whether the field is empty or not.
 10385  	// This may be used to include empty fields in Patch requests.
 10386  	ForceSendFields []string `json:"-"`
 10387  
 10388  	// NullFields is a list of field names (e.g. "Dimension") to include in
 10389  	// API requests with the JSON null value. By default, fields with empty
 10390  	// values are omitted from API requests. However, any field with an
 10391  	// empty value appearing in NullFields will be sent to the server as
 10392  	// null. It is an error if a field in this list has a non-empty value.
 10393  	// This may be used to include null fields in Patch requests.
 10394  	NullFields []string `json:"-"`
 10395  }
 10396  
 10397  func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
 10398  	type NoMethod PopupWindowProperties
 10399  	raw := NoMethod(*s)
 10400  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10401  }
 10402  
 10403  // PostalCode: Contains information about a postal code that can be
 10404  // targeted by ads.
 10405  type PostalCode struct {
 10406  	// Code: Postal code. This is equivalent to the id field.
 10407  	Code string `json:"code,omitempty"`
 10408  
 10409  	// CountryCode: Country code of the country to which this postal code
 10410  	// belongs.
 10411  	CountryCode string `json:"countryCode,omitempty"`
 10412  
 10413  	// CountryDartId: DART ID of the country to which this postal code
 10414  	// belongs.
 10415  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 10416  
 10417  	// Id: ID of this postal code.
 10418  	Id string `json:"id,omitempty"`
 10419  
 10420  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10421  	// string "dfareporting#postalCode".
 10422  	Kind string `json:"kind,omitempty"`
 10423  
 10424  	// ServerResponse contains the HTTP response code and headers from the
 10425  	// server.
 10426  	googleapi.ServerResponse `json:"-"`
 10427  
 10428  	// ForceSendFields is a list of field names (e.g. "Code") to
 10429  	// unconditionally include in API requests. By default, fields with
 10430  	// empty or default values are omitted from API requests. However, any
 10431  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10432  	// sent to the server regardless of whether the field is empty or not.
 10433  	// This may be used to include empty fields in Patch requests.
 10434  	ForceSendFields []string `json:"-"`
 10435  
 10436  	// NullFields is a list of field names (e.g. "Code") to include in API
 10437  	// requests with the JSON null value. By default, fields with empty
 10438  	// values are omitted from API requests. However, any field with an
 10439  	// empty value appearing in NullFields will be sent to the server as
 10440  	// null. It is an error if a field in this list has a non-empty value.
 10441  	// This may be used to include null fields in Patch requests.
 10442  	NullFields []string `json:"-"`
 10443  }
 10444  
 10445  func (s *PostalCode) MarshalJSON() ([]byte, error) {
 10446  	type NoMethod PostalCode
 10447  	raw := NoMethod(*s)
 10448  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10449  }
 10450  
 10451  // PostalCodesListResponse: Postal Code List Response
 10452  type PostalCodesListResponse struct {
 10453  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10454  	// string "dfareporting#postalCodesListResponse".
 10455  	Kind string `json:"kind,omitempty"`
 10456  
 10457  	// PostalCodes: Postal code collection.
 10458  	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
 10459  
 10460  	// ServerResponse contains the HTTP response code and headers from the
 10461  	// server.
 10462  	googleapi.ServerResponse `json:"-"`
 10463  
 10464  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10465  	// unconditionally include in API requests. By default, fields with
 10466  	// empty or default values are omitted from API requests. However, any
 10467  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10468  	// sent to the server regardless of whether the field is empty or not.
 10469  	// This may be used to include empty fields in Patch requests.
 10470  	ForceSendFields []string `json:"-"`
 10471  
 10472  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10473  	// requests with the JSON null value. By default, fields with empty
 10474  	// values are omitted from API requests. However, any field with an
 10475  	// empty value appearing in NullFields will be sent to the server as
 10476  	// null. It is an error if a field in this list has a non-empty value.
 10477  	// This may be used to include null fields in Patch requests.
 10478  	NullFields []string `json:"-"`
 10479  }
 10480  
 10481  func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
 10482  	type NoMethod PostalCodesListResponse
 10483  	raw := NoMethod(*s)
 10484  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10485  }
 10486  
 10487  // Pricing: Pricing Information
 10488  type Pricing struct {
 10489  	// CapCostType: Cap cost type of this inventory item.
 10490  	//
 10491  	// Possible values:
 10492  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
 10493  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
 10494  	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
 10495  	CapCostType string `json:"capCostType,omitempty"`
 10496  
 10497  	EndDate string `json:"endDate,omitempty"`
 10498  
 10499  	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
 10500  	// period) represents the inventory item pricing information for a
 10501  	// specific period of time.
 10502  	Flights []*Flight `json:"flights,omitempty"`
 10503  
 10504  	// GroupType: Group type of this inventory item if it represents a
 10505  	// placement group. Is null otherwise. There are two type of placement
 10506  	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
 10507  	// inventory items that acts as a single pricing point for a group of
 10508  	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
 10509  	// items that not only acts as a single pricing point, but also assumes
 10510  	// that all the tags in it will be served at the same time. A roadblock
 10511  	// requires one of its assigned inventory items to be marked as primary.
 10512  	//
 10513  	// Possible values:
 10514  	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
 10515  	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
 10516  	GroupType string `json:"groupType,omitempty"`
 10517  
 10518  	// PricingType: Pricing type of this inventory item.
 10519  	//
 10520  	// Possible values:
 10521  	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
 10522  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
 10523  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
 10524  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
 10525  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
 10526  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10527  	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
 10528  	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
 10529  	PricingType string `json:"pricingType,omitempty"`
 10530  
 10531  	StartDate string `json:"startDate,omitempty"`
 10532  
 10533  	// ForceSendFields is a list of field names (e.g. "CapCostType") to
 10534  	// unconditionally include in API requests. By default, fields with
 10535  	// empty or default values are omitted from API requests. However, any
 10536  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10537  	// sent to the server regardless of whether the field is empty or not.
 10538  	// This may be used to include empty fields in Patch requests.
 10539  	ForceSendFields []string `json:"-"`
 10540  
 10541  	// NullFields is a list of field names (e.g. "CapCostType") to include
 10542  	// in API requests with the JSON null value. By default, fields with
 10543  	// empty values are omitted from API requests. However, any field with
 10544  	// an empty value appearing in NullFields will be sent to the server as
 10545  	// null. It is an error if a field in this list has a non-empty value.
 10546  	// This may be used to include null fields in Patch requests.
 10547  	NullFields []string `json:"-"`
 10548  }
 10549  
 10550  func (s *Pricing) MarshalJSON() ([]byte, error) {
 10551  	type NoMethod Pricing
 10552  	raw := NoMethod(*s)
 10553  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10554  }
 10555  
 10556  // PricingSchedule: Pricing Schedule
 10557  type PricingSchedule struct {
 10558  	// CapCostOption: Placement cap cost option.
 10559  	//
 10560  	// Possible values:
 10561  	//   "CAP_COST_NONE"
 10562  	//   "CAP_COST_MONTHLY"
 10563  	//   "CAP_COST_CUMULATIVE"
 10564  	CapCostOption string `json:"capCostOption,omitempty"`
 10565  
 10566  	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
 10567  	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
 10568  
 10569  	EndDate string `json:"endDate,omitempty"`
 10570  
 10571  	// Flighted: Whether this placement is flighted. If true, pricing
 10572  	// periods will be computed automatically.
 10573  	Flighted bool `json:"flighted,omitempty"`
 10574  
 10575  	// FloodlightActivityId: Floodlight activity ID associated with this
 10576  	// placement. This field should be set when placement pricing type is
 10577  	// set to PRICING_TYPE_CPA.
 10578  	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
 10579  
 10580  	// PricingPeriods: Pricing periods for this placement.
 10581  	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
 10582  
 10583  	// PricingType: Placement pricing type. This field is required on
 10584  	// insertion.
 10585  	//
 10586  	// Possible values:
 10587  	//   "PRICING_TYPE_CPM"
 10588  	//   "PRICING_TYPE_CPC"
 10589  	//   "PRICING_TYPE_CPA"
 10590  	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 10591  	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
 10592  	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
 10593  	PricingType string `json:"pricingType,omitempty"`
 10594  
 10595  	StartDate string `json:"startDate,omitempty"`
 10596  
 10597  	TestingStartDate string `json:"testingStartDate,omitempty"`
 10598  
 10599  	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
 10600  	// unconditionally include in API requests. By default, fields with
 10601  	// empty or default values are omitted from API requests. However, any
 10602  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10603  	// sent to the server regardless of whether the field is empty or not.
 10604  	// This may be used to include empty fields in Patch requests.
 10605  	ForceSendFields []string `json:"-"`
 10606  
 10607  	// NullFields is a list of field names (e.g. "CapCostOption") to include
 10608  	// in API requests with the JSON null value. By default, fields with
 10609  	// empty values are omitted from API requests. However, any field with
 10610  	// an empty value appearing in NullFields will be sent to the server as
 10611  	// null. It is an error if a field in this list has a non-empty value.
 10612  	// This may be used to include null fields in Patch requests.
 10613  	NullFields []string `json:"-"`
 10614  }
 10615  
 10616  func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
 10617  	type NoMethod PricingSchedule
 10618  	raw := NoMethod(*s)
 10619  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10620  }
 10621  
 10622  // PricingSchedulePricingPeriod: Pricing Period
 10623  type PricingSchedulePricingPeriod struct {
 10624  	EndDate string `json:"endDate,omitempty"`
 10625  
 10626  	// PricingComment: Comments for this pricing period.
 10627  	PricingComment string `json:"pricingComment,omitempty"`
 10628  
 10629  	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
 10630  	// multipled by 1000000000). Acceptable values are 0 to
 10631  	// 1000000000000000000, inclusive.
 10632  	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
 10633  
 10634  	StartDate string `json:"startDate,omitempty"`
 10635  
 10636  	// Units: Units of this pricing period. Acceptable values are 0 to
 10637  	// 10000000000, inclusive.
 10638  	Units int64 `json:"units,omitempty,string"`
 10639  
 10640  	// ForceSendFields is a list of field names (e.g. "EndDate") to
 10641  	// unconditionally include in API requests. By default, fields with
 10642  	// empty or default values are omitted from API requests. However, any
 10643  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10644  	// sent to the server regardless of whether the field is empty or not.
 10645  	// This may be used to include empty fields in Patch requests.
 10646  	ForceSendFields []string `json:"-"`
 10647  
 10648  	// NullFields is a list of field names (e.g. "EndDate") to include in
 10649  	// API requests with the JSON null value. By default, fields with empty
 10650  	// values are omitted from API requests. However, any field with an
 10651  	// empty value appearing in NullFields will be sent to the server as
 10652  	// null. It is an error if a field in this list has a non-empty value.
 10653  	// This may be used to include null fields in Patch requests.
 10654  	NullFields []string `json:"-"`
 10655  }
 10656  
 10657  func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
 10658  	type NoMethod PricingSchedulePricingPeriod
 10659  	raw := NoMethod(*s)
 10660  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10661  }
 10662  
 10663  // Project: Contains properties of a Planning project.
 10664  type Project struct {
 10665  	// AccountId: Account ID of this project.
 10666  	AccountId int64 `json:"accountId,omitempty,string"`
 10667  
 10668  	// AdvertiserId: Advertiser ID of this project.
 10669  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 10670  
 10671  	// AudienceAgeGroup: Audience age group of this project.
 10672  	//
 10673  	// Possible values:
 10674  	//   "PLANNING_AUDIENCE_AGE_18_24"
 10675  	//   "PLANNING_AUDIENCE_AGE_25_34"
 10676  	//   "PLANNING_AUDIENCE_AGE_35_44"
 10677  	//   "PLANNING_AUDIENCE_AGE_45_54"
 10678  	//   "PLANNING_AUDIENCE_AGE_55_64"
 10679  	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
 10680  	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
 10681  	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
 10682  
 10683  	// AudienceGender: Audience gender of this project.
 10684  	//
 10685  	// Possible values:
 10686  	//   "PLANNING_AUDIENCE_GENDER_MALE"
 10687  	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
 10688  	AudienceGender string `json:"audienceGender,omitempty"`
 10689  
 10690  	// Budget: Budget of this project in the currency specified by the
 10691  	// current account. The value stored in this field represents only the
 10692  	// non-fractional amount. For example, for USD, the smallest value that
 10693  	// can be represented by this field is 1 US dollar.
 10694  	Budget int64 `json:"budget,omitempty,string"`
 10695  
 10696  	// ClientBillingCode: Client billing code of this project.
 10697  	ClientBillingCode string `json:"clientBillingCode,omitempty"`
 10698  
 10699  	// ClientName: Name of the project client.
 10700  	ClientName string `json:"clientName,omitempty"`
 10701  
 10702  	EndDate string `json:"endDate,omitempty"`
 10703  
 10704  	// Id: ID of this project. This is a read-only, auto-generated field.
 10705  	Id int64 `json:"id,omitempty,string"`
 10706  
 10707  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10708  	// string "dfareporting#project".
 10709  	Kind string `json:"kind,omitempty"`
 10710  
 10711  	// LastModifiedInfo: Information about the most recent modification of
 10712  	// this project.
 10713  	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
 10714  
 10715  	// Name: Name of this project.
 10716  	Name string `json:"name,omitempty"`
 10717  
 10718  	// Overview: Overview of this project.
 10719  	Overview string `json:"overview,omitempty"`
 10720  
 10721  	StartDate string `json:"startDate,omitempty"`
 10722  
 10723  	// SubaccountId: Subaccount ID of this project.
 10724  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 10725  
 10726  	// TargetClicks: Number of clicks that the advertiser is targeting.
 10727  	TargetClicks int64 `json:"targetClicks,omitempty,string"`
 10728  
 10729  	// TargetConversions: Number of conversions that the advertiser is
 10730  	// targeting.
 10731  	TargetConversions int64 `json:"targetConversions,omitempty,string"`
 10732  
 10733  	// TargetCpaNanos: CPA that the advertiser is targeting.
 10734  	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
 10735  
 10736  	// TargetCpcNanos: CPC that the advertiser is targeting.
 10737  	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
 10738  
 10739  	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
 10740  	// is targeting.
 10741  	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
 10742  
 10743  	// TargetCpmNanos: CPM that the advertiser is targeting.
 10744  	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
 10745  
 10746  	// TargetImpressions: Number of impressions that the advertiser is
 10747  	// targeting.
 10748  	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
 10749  
 10750  	// ServerResponse contains the HTTP response code and headers from the
 10751  	// server.
 10752  	googleapi.ServerResponse `json:"-"`
 10753  
 10754  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 10755  	// unconditionally include in API requests. By default, fields with
 10756  	// empty or default values are omitted from API requests. However, any
 10757  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10758  	// sent to the server regardless of whether the field is empty or not.
 10759  	// This may be used to include empty fields in Patch requests.
 10760  	ForceSendFields []string `json:"-"`
 10761  
 10762  	// NullFields is a list of field names (e.g. "AccountId") to include in
 10763  	// API requests with the JSON null value. By default, fields with empty
 10764  	// values are omitted from API requests. However, any field with an
 10765  	// empty value appearing in NullFields will be sent to the server as
 10766  	// null. It is an error if a field in this list has a non-empty value.
 10767  	// This may be used to include null fields in Patch requests.
 10768  	NullFields []string `json:"-"`
 10769  }
 10770  
 10771  func (s *Project) MarshalJSON() ([]byte, error) {
 10772  	type NoMethod Project
 10773  	raw := NoMethod(*s)
 10774  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10775  }
 10776  
 10777  // ProjectsListResponse: Project List Response
 10778  type ProjectsListResponse struct {
 10779  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10780  	// string "dfareporting#projectsListResponse".
 10781  	Kind string `json:"kind,omitempty"`
 10782  
 10783  	// NextPageToken: Pagination token to be used for the next list
 10784  	// operation.
 10785  	NextPageToken string `json:"nextPageToken,omitempty"`
 10786  
 10787  	// Projects: Project collection.
 10788  	Projects []*Project `json:"projects,omitempty"`
 10789  
 10790  	// ServerResponse contains the HTTP response code and headers from the
 10791  	// server.
 10792  	googleapi.ServerResponse `json:"-"`
 10793  
 10794  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10795  	// unconditionally include in API requests. By default, fields with
 10796  	// empty or default values are omitted from API requests. However, any
 10797  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10798  	// sent to the server regardless of whether the field is empty or not.
 10799  	// This may be used to include empty fields in Patch requests.
 10800  	ForceSendFields []string `json:"-"`
 10801  
 10802  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10803  	// requests with the JSON null value. By default, fields with empty
 10804  	// values are omitted from API requests. However, any field with an
 10805  	// empty value appearing in NullFields will be sent to the server as
 10806  	// null. It is an error if a field in this list has a non-empty value.
 10807  	// This may be used to include null fields in Patch requests.
 10808  	NullFields []string `json:"-"`
 10809  }
 10810  
 10811  func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
 10812  	type NoMethod ProjectsListResponse
 10813  	raw := NoMethod(*s)
 10814  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10815  }
 10816  
 10817  // ReachReportCompatibleFields: Represents fields that are compatible to
 10818  // be selected for a report of type "REACH".
 10819  type ReachReportCompatibleFields struct {
 10820  	// DimensionFilters: Dimensions which are compatible to be selected in
 10821  	// the "dimensionFilters" section of the report.
 10822  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 10823  
 10824  	// Dimensions: Dimensions which are compatible to be selected in the
 10825  	// "dimensions" section of the report.
 10826  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 10827  
 10828  	// Kind: The kind of resource this is, in this case
 10829  	// dfareporting#reachReportCompatibleFields.
 10830  	Kind string `json:"kind,omitempty"`
 10831  
 10832  	// Metrics: Metrics which are compatible to be selected in the
 10833  	// "metricNames" section of the report.
 10834  	Metrics []*Metric `json:"metrics,omitempty"`
 10835  
 10836  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 10837  	// as activity metrics to pivot on in the "activities" section of the
 10838  	// report.
 10839  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 10840  
 10841  	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
 10842  	// in the "reachByFrequencyMetricNames" section of the report.
 10843  	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
 10844  
 10845  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 10846  	// unconditionally include in API requests. By default, fields with
 10847  	// empty or default values are omitted from API requests. However, any
 10848  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10849  	// sent to the server regardless of whether the field is empty or not.
 10850  	// This may be used to include empty fields in Patch requests.
 10851  	ForceSendFields []string `json:"-"`
 10852  
 10853  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 10854  	// include in API requests with the JSON null value. By default, fields
 10855  	// with empty values are omitted from API requests. However, any field
 10856  	// with an empty value appearing in NullFields will be sent to the
 10857  	// server as null. It is an error if a field in this list has a
 10858  	// non-empty value. This may be used to include null fields in Patch
 10859  	// requests.
 10860  	NullFields []string `json:"-"`
 10861  }
 10862  
 10863  func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
 10864  	type NoMethod ReachReportCompatibleFields
 10865  	raw := NoMethod(*s)
 10866  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10867  }
 10868  
 10869  // Recipient: Represents a recipient.
 10870  type Recipient struct {
 10871  	// DeliveryType: The delivery type for the recipient.
 10872  	//
 10873  	// Possible values:
 10874  	//   "LINK"
 10875  	//   "ATTACHMENT"
 10876  	DeliveryType string `json:"deliveryType,omitempty"`
 10877  
 10878  	// Email: The email address of the recipient.
 10879  	Email string `json:"email,omitempty"`
 10880  
 10881  	// Kind: The kind of resource this is, in this case
 10882  	// dfareporting#recipient.
 10883  	Kind string `json:"kind,omitempty"`
 10884  
 10885  	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
 10886  	// unconditionally include in API requests. By default, fields with
 10887  	// empty or default values are omitted from API requests. However, any
 10888  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10889  	// sent to the server regardless of whether the field is empty or not.
 10890  	// This may be used to include empty fields in Patch requests.
 10891  	ForceSendFields []string `json:"-"`
 10892  
 10893  	// NullFields is a list of field names (e.g. "DeliveryType") to include
 10894  	// in API requests with the JSON null value. By default, fields with
 10895  	// empty values are omitted from API requests. However, any field with
 10896  	// an empty value appearing in NullFields will be sent to the server as
 10897  	// null. It is an error if a field in this list has a non-empty value.
 10898  	// This may be used to include null fields in Patch requests.
 10899  	NullFields []string `json:"-"`
 10900  }
 10901  
 10902  func (s *Recipient) MarshalJSON() ([]byte, error) {
 10903  	type NoMethod Recipient
 10904  	raw := NoMethod(*s)
 10905  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10906  }
 10907  
 10908  // Region: Contains information about a region that can be targeted by
 10909  // ads.
 10910  type Region struct {
 10911  	// CountryCode: Country code of the country to which this region
 10912  	// belongs.
 10913  	CountryCode string `json:"countryCode,omitempty"`
 10914  
 10915  	// CountryDartId: DART ID of the country to which this region belongs.
 10916  	CountryDartId int64 `json:"countryDartId,omitempty,string"`
 10917  
 10918  	// DartId: DART ID of this region.
 10919  	DartId int64 `json:"dartId,omitempty,string"`
 10920  
 10921  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10922  	// string "dfareporting#region".
 10923  	Kind string `json:"kind,omitempty"`
 10924  
 10925  	// Name: Name of this region.
 10926  	Name string `json:"name,omitempty"`
 10927  
 10928  	// RegionCode: Region code.
 10929  	RegionCode string `json:"regionCode,omitempty"`
 10930  
 10931  	// ForceSendFields is a list of field names (e.g. "CountryCode") to
 10932  	// unconditionally include in API requests. By default, fields with
 10933  	// empty or default values are omitted from API requests. However, any
 10934  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10935  	// sent to the server regardless of whether the field is empty or not.
 10936  	// This may be used to include empty fields in Patch requests.
 10937  	ForceSendFields []string `json:"-"`
 10938  
 10939  	// NullFields is a list of field names (e.g. "CountryCode") to include
 10940  	// in API requests with the JSON null value. By default, fields with
 10941  	// empty values are omitted from API requests. However, any field with
 10942  	// an empty value appearing in NullFields will be sent to the server as
 10943  	// null. It is an error if a field in this list has a non-empty value.
 10944  	// This may be used to include null fields in Patch requests.
 10945  	NullFields []string `json:"-"`
 10946  }
 10947  
 10948  func (s *Region) MarshalJSON() ([]byte, error) {
 10949  	type NoMethod Region
 10950  	raw := NoMethod(*s)
 10951  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10952  }
 10953  
 10954  // RegionsListResponse: Region List Response
 10955  type RegionsListResponse struct {
 10956  	// Kind: Identifies what kind of resource this is. Value: the fixed
 10957  	// string "dfareporting#regionsListResponse".
 10958  	Kind string `json:"kind,omitempty"`
 10959  
 10960  	// Regions: Region collection.
 10961  	Regions []*Region `json:"regions,omitempty"`
 10962  
 10963  	// ServerResponse contains the HTTP response code and headers from the
 10964  	// server.
 10965  	googleapi.ServerResponse `json:"-"`
 10966  
 10967  	// ForceSendFields is a list of field names (e.g. "Kind") to
 10968  	// unconditionally include in API requests. By default, fields with
 10969  	// empty or default values are omitted from API requests. However, any
 10970  	// non-pointer, non-interface field appearing in ForceSendFields will be
 10971  	// sent to the server regardless of whether the field is empty or not.
 10972  	// This may be used to include empty fields in Patch requests.
 10973  	ForceSendFields []string `json:"-"`
 10974  
 10975  	// NullFields is a list of field names (e.g. "Kind") to include in API
 10976  	// requests with the JSON null value. By default, fields with empty
 10977  	// values are omitted from API requests. However, any field with an
 10978  	// empty value appearing in NullFields will be sent to the server as
 10979  	// null. It is an error if a field in this list has a non-empty value.
 10980  	// This may be used to include null fields in Patch requests.
 10981  	NullFields []string `json:"-"`
 10982  }
 10983  
 10984  func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
 10985  	type NoMethod RegionsListResponse
 10986  	raw := NoMethod(*s)
 10987  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 10988  }
 10989  
 10990  // RemarketingList: Contains properties of a remarketing list.
 10991  // Remarketing enables you to create lists of users who have performed
 10992  // specific actions on a site, then target ads to members of those
 10993  // lists. This resource can be used to manage remarketing lists that are
 10994  // owned by your advertisers. To see all remarketing lists that are
 10995  // visible to your advertisers, including those that are shared to your
 10996  // advertiser or account, use the TargetableRemarketingLists resource.
 10997  type RemarketingList struct {
 10998  	// AccountId: Account ID of this remarketing list. This is a read-only,
 10999  	// auto-generated field that is only returned in GET requests.
 11000  	AccountId int64 `json:"accountId,omitempty,string"`
 11001  
 11002  	// Active: Whether this remarketing list is active.
 11003  	Active bool `json:"active,omitempty"`
 11004  
 11005  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 11006  	// remarketing list. This is a required field.
 11007  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 11008  
 11009  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 11010  	// advertiser. This is a read-only, auto-generated field.
 11011  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 11012  
 11013  	// Description: Remarketing list description.
 11014  	Description string `json:"description,omitempty"`
 11015  
 11016  	// Id: Remarketing list ID. This is a read-only, auto-generated field.
 11017  	Id int64 `json:"id,omitempty,string"`
 11018  
 11019  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11020  	// string "dfareporting#remarketingList".
 11021  	Kind string `json:"kind,omitempty"`
 11022  
 11023  	// LifeSpan: Number of days that a user should remain in the remarketing
 11024  	// list without an impression. Acceptable values are 1 to 540,
 11025  	// inclusive.
 11026  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 11027  
 11028  	// ListPopulationRule: Rule used to populate the remarketing list with
 11029  	// users.
 11030  	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
 11031  
 11032  	// ListSize: Number of users currently in the list. This is a read-only
 11033  	// field.
 11034  	ListSize int64 `json:"listSize,omitempty,string"`
 11035  
 11036  	// ListSource: Product from which this remarketing list was originated.
 11037  	//
 11038  	// Possible values:
 11039  	//   "REMARKETING_LIST_SOURCE_OTHER"
 11040  	//   "REMARKETING_LIST_SOURCE_ADX"
 11041  	//   "REMARKETING_LIST_SOURCE_DFP"
 11042  	//   "REMARKETING_LIST_SOURCE_XFP"
 11043  	//   "REMARKETING_LIST_SOURCE_DFA"
 11044  	//   "REMARKETING_LIST_SOURCE_GA"
 11045  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 11046  	//   "REMARKETING_LIST_SOURCE_DBM"
 11047  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 11048  	//   "REMARKETING_LIST_SOURCE_DMP"
 11049  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 11050  	ListSource string `json:"listSource,omitempty"`
 11051  
 11052  	// Name: Name of the remarketing list. This is a required field. Must be
 11053  	// no greater than 128 characters long.
 11054  	Name string `json:"name,omitempty"`
 11055  
 11056  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 11057  	// read-only, auto-generated field that is only returned in GET
 11058  	// requests.
 11059  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 11060  
 11061  	// ServerResponse contains the HTTP response code and headers from the
 11062  	// server.
 11063  	googleapi.ServerResponse `json:"-"`
 11064  
 11065  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11066  	// unconditionally include in API requests. By default, fields with
 11067  	// empty or default values are omitted from API requests. However, any
 11068  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11069  	// sent to the server regardless of whether the field is empty or not.
 11070  	// This may be used to include empty fields in Patch requests.
 11071  	ForceSendFields []string `json:"-"`
 11072  
 11073  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11074  	// API requests with the JSON null value. By default, fields with empty
 11075  	// values are omitted from API requests. However, any field with an
 11076  	// empty value appearing in NullFields will be sent to the server as
 11077  	// null. It is an error if a field in this list has a non-empty value.
 11078  	// This may be used to include null fields in Patch requests.
 11079  	NullFields []string `json:"-"`
 11080  }
 11081  
 11082  func (s *RemarketingList) MarshalJSON() ([]byte, error) {
 11083  	type NoMethod RemarketingList
 11084  	raw := NoMethod(*s)
 11085  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11086  }
 11087  
 11088  // RemarketingListShare: Contains properties of a remarketing list's
 11089  // sharing information. Sharing allows other accounts or advertisers to
 11090  // target to your remarketing lists. This resource can be used to manage
 11091  // remarketing list sharing to other accounts and advertisers.
 11092  type RemarketingListShare struct {
 11093  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11094  	// string "dfareporting#remarketingListShare".
 11095  	Kind string `json:"kind,omitempty"`
 11096  
 11097  	// RemarketingListId: Remarketing list ID. This is a read-only,
 11098  	// auto-generated field.
 11099  	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
 11100  
 11101  	// SharedAccountIds: Accounts that the remarketing list is shared with.
 11102  	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
 11103  
 11104  	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
 11105  	// with.
 11106  	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
 11107  
 11108  	// ServerResponse contains the HTTP response code and headers from the
 11109  	// server.
 11110  	googleapi.ServerResponse `json:"-"`
 11111  
 11112  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11113  	// unconditionally include in API requests. By default, fields with
 11114  	// empty or default values are omitted from API requests. However, any
 11115  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11116  	// sent to the server regardless of whether the field is empty or not.
 11117  	// This may be used to include empty fields in Patch requests.
 11118  	ForceSendFields []string `json:"-"`
 11119  
 11120  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11121  	// requests with the JSON null value. By default, fields with empty
 11122  	// values are omitted from API requests. However, any field with an
 11123  	// empty value appearing in NullFields will be sent to the server as
 11124  	// null. It is an error if a field in this list has a non-empty value.
 11125  	// This may be used to include null fields in Patch requests.
 11126  	NullFields []string `json:"-"`
 11127  }
 11128  
 11129  func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
 11130  	type NoMethod RemarketingListShare
 11131  	raw := NoMethod(*s)
 11132  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11133  }
 11134  
 11135  // RemarketingListsListResponse: Remarketing list response
 11136  type RemarketingListsListResponse struct {
 11137  	// Kind: Identifies what kind of resource this is. Value: the fixed
 11138  	// string "dfareporting#remarketingListsListResponse".
 11139  	Kind string `json:"kind,omitempty"`
 11140  
 11141  	// NextPageToken: Pagination token to be used for the next list
 11142  	// operation.
 11143  	NextPageToken string `json:"nextPageToken,omitempty"`
 11144  
 11145  	// RemarketingLists: Remarketing list collection.
 11146  	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
 11147  
 11148  	// ServerResponse contains the HTTP response code and headers from the
 11149  	// server.
 11150  	googleapi.ServerResponse `json:"-"`
 11151  
 11152  	// ForceSendFields is a list of field names (e.g. "Kind") to
 11153  	// unconditionally include in API requests. By default, fields with
 11154  	// empty or default values are omitted from API requests. However, any
 11155  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11156  	// sent to the server regardless of whether the field is empty or not.
 11157  	// This may be used to include empty fields in Patch requests.
 11158  	ForceSendFields []string `json:"-"`
 11159  
 11160  	// NullFields is a list of field names (e.g. "Kind") to include in API
 11161  	// requests with the JSON null value. By default, fields with empty
 11162  	// values are omitted from API requests. However, any field with an
 11163  	// empty value appearing in NullFields will be sent to the server as
 11164  	// null. It is an error if a field in this list has a non-empty value.
 11165  	// This may be used to include null fields in Patch requests.
 11166  	NullFields []string `json:"-"`
 11167  }
 11168  
 11169  func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 11170  	type NoMethod RemarketingListsListResponse
 11171  	raw := NoMethod(*s)
 11172  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11173  }
 11174  
 11175  // Report: Represents a Report resource.
 11176  type Report struct {
 11177  	// AccountId: The account ID to which this report belongs.
 11178  	AccountId int64 `json:"accountId,omitempty,string"`
 11179  
 11180  	// Criteria: The report criteria for a report of type "STANDARD".
 11181  	Criteria *ReportCriteria `json:"criteria,omitempty"`
 11182  
 11183  	// CrossDimensionReachCriteria: The report criteria for a report of type
 11184  	// "CROSS_DIMENSION_REACH".
 11185  	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
 11186  
 11187  	// Delivery: The report's email delivery settings.
 11188  	Delivery *ReportDelivery `json:"delivery,omitempty"`
 11189  
 11190  	// Etag: The eTag of this response for caching purposes.
 11191  	Etag string `json:"etag,omitempty"`
 11192  
 11193  	// FileName: The filename used when generating report files for this
 11194  	// report.
 11195  	FileName string `json:"fileName,omitempty"`
 11196  
 11197  	// FloodlightCriteria: The report criteria for a report of type
 11198  	// "FLOODLIGHT".
 11199  	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
 11200  
 11201  	// Format: The output format of the report. If not specified, default
 11202  	// format is "CSV". Note that the actual format in the completed report
 11203  	// file might differ if for instance the report's size exceeds the
 11204  	// format's capabilities. "CSV" will then be the fallback format.
 11205  	//
 11206  	// Possible values:
 11207  	//   "CSV"
 11208  	//   "EXCEL"
 11209  	Format string `json:"format,omitempty"`
 11210  
 11211  	// Id: The unique ID identifying this report resource.
 11212  	Id int64 `json:"id,omitempty,string"`
 11213  
 11214  	// Kind: The kind of resource this is, in this case dfareporting#report.
 11215  	Kind string `json:"kind,omitempty"`
 11216  
 11217  	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
 11218  	// this report was last modified.
 11219  	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
 11220  
 11221  	// Name: The name of the report.
 11222  	Name string `json:"name,omitempty"`
 11223  
 11224  	// OwnerProfileId: The user profile id of the owner of this report.
 11225  	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
 11226  
 11227  	// PathToConversionCriteria: The report criteria for a report of type
 11228  	// "PATH_TO_CONVERSION".
 11229  	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
 11230  
 11231  	// ReachCriteria: The report criteria for a report of type "REACH".
 11232  	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
 11233  
 11234  	// Schedule: The report's schedule. Can only be set if the report's
 11235  	// 'dateRange' is a relative date range and the relative date range is
 11236  	// not "TODAY".
 11237  	Schedule *ReportSchedule `json:"schedule,omitempty"`
 11238  
 11239  	// SubAccountId: The subaccount ID to which this report belongs if
 11240  	// applicable.
 11241  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 11242  
 11243  	// Type: The type of the report.
 11244  	//
 11245  	// Possible values:
 11246  	//   "STANDARD"
 11247  	//   "REACH"
 11248  	//   "PATH_TO_CONVERSION"
 11249  	//   "CROSS_DIMENSION_REACH"
 11250  	//   "FLOODLIGHT"
 11251  	Type string `json:"type,omitempty"`
 11252  
 11253  	// ServerResponse contains the HTTP response code and headers from the
 11254  	// server.
 11255  	googleapi.ServerResponse `json:"-"`
 11256  
 11257  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 11258  	// unconditionally include in API requests. By default, fields with
 11259  	// empty or default values are omitted from API requests. However, any
 11260  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11261  	// sent to the server regardless of whether the field is empty or not.
 11262  	// This may be used to include empty fields in Patch requests.
 11263  	ForceSendFields []string `json:"-"`
 11264  
 11265  	// NullFields is a list of field names (e.g. "AccountId") to include in
 11266  	// API requests with the JSON null value. By default, fields with empty
 11267  	// values are omitted from API requests. However, any field with an
 11268  	// empty value appearing in NullFields will be sent to the server as
 11269  	// null. It is an error if a field in this list has a non-empty value.
 11270  	// This may be used to include null fields in Patch requests.
 11271  	NullFields []string `json:"-"`
 11272  }
 11273  
 11274  func (s *Report) MarshalJSON() ([]byte, error) {
 11275  	type NoMethod Report
 11276  	raw := NoMethod(*s)
 11277  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11278  }
 11279  
 11280  // ReportCriteria: The report criteria for a report of type "STANDARD".
 11281  type ReportCriteria struct {
 11282  	// Activities: Activity group.
 11283  	Activities *Activities `json:"activities,omitempty"`
 11284  
 11285  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11286  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11287  
 11288  	// DateRange: The date range for which this report should be run.
 11289  	DateRange *DateRange `json:"dateRange,omitempty"`
 11290  
 11291  	// DimensionFilters: The list of filters on which dimensions are
 11292  	// filtered. Filters for different dimensions are ANDed, filters for the
 11293  	// same dimension are grouped together and ORed.
 11294  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11295  
 11296  	// Dimensions: The list of standard dimensions the report should
 11297  	// include.
 11298  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11299  
 11300  	// MetricNames: The list of names of metrics the report should include.
 11301  	MetricNames []string `json:"metricNames,omitempty"`
 11302  
 11303  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11304  	// unconditionally include in API requests. By default, fields with
 11305  	// empty or default values are omitted from API requests. However, any
 11306  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11307  	// sent to the server regardless of whether the field is empty or not.
 11308  	// This may be used to include empty fields in Patch requests.
 11309  	ForceSendFields []string `json:"-"`
 11310  
 11311  	// NullFields is a list of field names (e.g. "Activities") to include in
 11312  	// API requests with the JSON null value. By default, fields with empty
 11313  	// values are omitted from API requests. However, any field with an
 11314  	// empty value appearing in NullFields will be sent to the server as
 11315  	// null. It is an error if a field in this list has a non-empty value.
 11316  	// This may be used to include null fields in Patch requests.
 11317  	NullFields []string `json:"-"`
 11318  }
 11319  
 11320  func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
 11321  	type NoMethod ReportCriteria
 11322  	raw := NoMethod(*s)
 11323  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11324  }
 11325  
 11326  // ReportCrossDimensionReachCriteria: The report criteria for a report
 11327  // of type "CROSS_DIMENSION_REACH".
 11328  type ReportCrossDimensionReachCriteria struct {
 11329  	// Breakdown: The list of dimensions the report should include.
 11330  	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
 11331  
 11332  	// DateRange: The date range this report should be run for.
 11333  	DateRange *DateRange `json:"dateRange,omitempty"`
 11334  
 11335  	// Dimension: The dimension option.
 11336  	//
 11337  	// Possible values:
 11338  	//   "ADVERTISER"
 11339  	//   "CAMPAIGN"
 11340  	//   "SITE_BY_ADVERTISER"
 11341  	//   "SITE_BY_CAMPAIGN"
 11342  	Dimension string `json:"dimension,omitempty"`
 11343  
 11344  	// DimensionFilters: The list of filters on which dimensions are
 11345  	// filtered.
 11346  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11347  
 11348  	// MetricNames: The list of names of metrics the report should include.
 11349  	MetricNames []string `json:"metricNames,omitempty"`
 11350  
 11351  	// OverlapMetricNames: The list of names of overlap metrics the report
 11352  	// should include.
 11353  	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
 11354  
 11355  	// Pivoted: Whether the report is pivoted or not. Defaults to true.
 11356  	Pivoted bool `json:"pivoted,omitempty"`
 11357  
 11358  	// ForceSendFields is a list of field names (e.g. "Breakdown") to
 11359  	// unconditionally include in API requests. By default, fields with
 11360  	// empty or default values are omitted from API requests. However, any
 11361  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11362  	// sent to the server regardless of whether the field is empty or not.
 11363  	// This may be used to include empty fields in Patch requests.
 11364  	ForceSendFields []string `json:"-"`
 11365  
 11366  	// NullFields is a list of field names (e.g. "Breakdown") to include in
 11367  	// API requests with the JSON null value. By default, fields with empty
 11368  	// values are omitted from API requests. However, any field with an
 11369  	// empty value appearing in NullFields will be sent to the server as
 11370  	// null. It is an error if a field in this list has a non-empty value.
 11371  	// This may be used to include null fields in Patch requests.
 11372  	NullFields []string `json:"-"`
 11373  }
 11374  
 11375  func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
 11376  	type NoMethod ReportCrossDimensionReachCriteria
 11377  	raw := NoMethod(*s)
 11378  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11379  }
 11380  
 11381  // ReportDelivery: The report's email delivery settings.
 11382  type ReportDelivery struct {
 11383  	// EmailOwner: Whether the report should be emailed to the report owner.
 11384  	EmailOwner bool `json:"emailOwner,omitempty"`
 11385  
 11386  	// EmailOwnerDeliveryType: The type of delivery for the owner to
 11387  	// receive, if enabled.
 11388  	//
 11389  	// Possible values:
 11390  	//   "LINK"
 11391  	//   "ATTACHMENT"
 11392  	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
 11393  
 11394  	// Message: The message to be sent with each email.
 11395  	Message string `json:"message,omitempty"`
 11396  
 11397  	// Recipients: The list of recipients to which to email the report.
 11398  	Recipients []*Recipient `json:"recipients,omitempty"`
 11399  
 11400  	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
 11401  	// unconditionally include in API requests. By default, fields with
 11402  	// empty or default values are omitted from API requests. However, any
 11403  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11404  	// sent to the server regardless of whether the field is empty or not.
 11405  	// This may be used to include empty fields in Patch requests.
 11406  	ForceSendFields []string `json:"-"`
 11407  
 11408  	// NullFields is a list of field names (e.g. "EmailOwner") to include in
 11409  	// API requests with the JSON null value. By default, fields with empty
 11410  	// values are omitted from API requests. However, any field with an
 11411  	// empty value appearing in NullFields will be sent to the server as
 11412  	// null. It is an error if a field in this list has a non-empty value.
 11413  	// This may be used to include null fields in Patch requests.
 11414  	NullFields []string `json:"-"`
 11415  }
 11416  
 11417  func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
 11418  	type NoMethod ReportDelivery
 11419  	raw := NoMethod(*s)
 11420  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11421  }
 11422  
 11423  // ReportFloodlightCriteria: The report criteria for a report of type
 11424  // "FLOODLIGHT".
 11425  type ReportFloodlightCriteria struct {
 11426  	// CustomRichMediaEvents: The list of custom rich media events to
 11427  	// include.
 11428  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11429  
 11430  	// DateRange: The date range this report should be run for.
 11431  	DateRange *DateRange `json:"dateRange,omitempty"`
 11432  
 11433  	// DimensionFilters: The list of filters on which dimensions are
 11434  	// filtered. Filters for different dimensions are ANDed, filters for the
 11435  	// same dimension are grouped together and ORed.
 11436  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11437  
 11438  	// Dimensions: The list of dimensions the report should include.
 11439  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11440  
 11441  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11442  	// report. All advertisers associated with that ID will automatically be
 11443  	// added. The dimension of the value needs to be
 11444  	// 'dfa:floodlightConfigId'.
 11445  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11446  
 11447  	// MetricNames: The list of names of metrics the report should include.
 11448  	MetricNames []string `json:"metricNames,omitempty"`
 11449  
 11450  	// ReportProperties: The properties of the report.
 11451  	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
 11452  
 11453  	// ForceSendFields is a list of field names (e.g.
 11454  	// "CustomRichMediaEvents") to unconditionally include in API requests.
 11455  	// By default, fields with empty or default values are omitted from API
 11456  	// requests. However, any non-pointer, non-interface field appearing in
 11457  	// ForceSendFields will be sent to the server regardless of whether the
 11458  	// field is empty or not. This may be used to include empty fields in
 11459  	// Patch requests.
 11460  	ForceSendFields []string `json:"-"`
 11461  
 11462  	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
 11463  	// include in API requests with the JSON null value. By default, fields
 11464  	// with empty values are omitted from API requests. However, any field
 11465  	// with an empty value appearing in NullFields will be sent to the
 11466  	// server as null. It is an error if a field in this list has a
 11467  	// non-empty value. This may be used to include null fields in Patch
 11468  	// requests.
 11469  	NullFields []string `json:"-"`
 11470  }
 11471  
 11472  func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
 11473  	type NoMethod ReportFloodlightCriteria
 11474  	raw := NoMethod(*s)
 11475  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11476  }
 11477  
 11478  // ReportFloodlightCriteriaReportProperties: The properties of the
 11479  // report.
 11480  type ReportFloodlightCriteriaReportProperties struct {
 11481  	// IncludeAttributedIPConversions: Include conversions that have no
 11482  	// cookie, but do have an exposure path.
 11483  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11484  
 11485  	// IncludeUnattributedCookieConversions: Include conversions of users
 11486  	// with a DoubleClick cookie but without an exposure. That means the
 11487  	// user did not click or see an ad from the advertiser within the
 11488  	// Floodlight group, or that the interaction happened outside the
 11489  	// lookback window.
 11490  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11491  
 11492  	// IncludeUnattributedIPConversions: Include conversions that have no
 11493  	// associated cookies and no exposures. It’s therefore impossible to
 11494  	// know how the user was exposed to your ads during the lookback window
 11495  	// prior to a conversion.
 11496  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11497  
 11498  	// ForceSendFields is a list of field names (e.g.
 11499  	// "IncludeAttributedIPConversions") to unconditionally include in API
 11500  	// requests. By default, fields with empty or default values are omitted
 11501  	// from API requests. However, any non-pointer, non-interface field
 11502  	// appearing in ForceSendFields will be sent to the server regardless of
 11503  	// whether the field is empty or not. This may be used to include empty
 11504  	// fields in Patch requests.
 11505  	ForceSendFields []string `json:"-"`
 11506  
 11507  	// NullFields is a list of field names (e.g.
 11508  	// "IncludeAttributedIPConversions") to include in API requests with the
 11509  	// JSON null value. By default, fields with empty values are omitted
 11510  	// from API requests. However, any field with an empty value appearing
 11511  	// in NullFields will be sent to the server as null. It is an error if a
 11512  	// field in this list has a non-empty value. This may be used to include
 11513  	// null fields in Patch requests.
 11514  	NullFields []string `json:"-"`
 11515  }
 11516  
 11517  func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11518  	type NoMethod ReportFloodlightCriteriaReportProperties
 11519  	raw := NoMethod(*s)
 11520  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11521  }
 11522  
 11523  // ReportPathToConversionCriteria: The report criteria for a report of
 11524  // type "PATH_TO_CONVERSION".
 11525  type ReportPathToConversionCriteria struct {
 11526  	// ActivityFilters: The list of 'dfa:activity' values to filter on.
 11527  	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
 11528  
 11529  	// ConversionDimensions: The list of conversion dimensions the report
 11530  	// should include.
 11531  	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
 11532  
 11533  	// CustomFloodlightVariables: The list of custom floodlight variables
 11534  	// the report should include.
 11535  	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
 11536  
 11537  	// CustomRichMediaEvents: The list of custom rich media events to
 11538  	// include.
 11539  	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
 11540  
 11541  	// DateRange: The date range this report should be run for.
 11542  	DateRange *DateRange `json:"dateRange,omitempty"`
 11543  
 11544  	// FloodlightConfigId: The floodlight ID for which to show data in this
 11545  	// report. All advertisers associated with that ID will automatically be
 11546  	// added. The dimension of the value needs to be
 11547  	// 'dfa:floodlightConfigId'.
 11548  	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
 11549  
 11550  	// MetricNames: The list of names of metrics the report should include.
 11551  	MetricNames []string `json:"metricNames,omitempty"`
 11552  
 11553  	// PerInteractionDimensions: The list of per interaction dimensions the
 11554  	// report should include.
 11555  	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
 11556  
 11557  	// ReportProperties: The properties of the report.
 11558  	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
 11559  
 11560  	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
 11561  	// unconditionally include in API requests. By default, fields with
 11562  	// empty or default values are omitted from API requests. However, any
 11563  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11564  	// sent to the server regardless of whether the field is empty or not.
 11565  	// This may be used to include empty fields in Patch requests.
 11566  	ForceSendFields []string `json:"-"`
 11567  
 11568  	// NullFields is a list of field names (e.g. "ActivityFilters") to
 11569  	// include in API requests with the JSON null value. By default, fields
 11570  	// with empty values are omitted from API requests. However, any field
 11571  	// with an empty value appearing in NullFields will be sent to the
 11572  	// server as null. It is an error if a field in this list has a
 11573  	// non-empty value. This may be used to include null fields in Patch
 11574  	// requests.
 11575  	NullFields []string `json:"-"`
 11576  }
 11577  
 11578  func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
 11579  	type NoMethod ReportPathToConversionCriteria
 11580  	raw := NoMethod(*s)
 11581  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11582  }
 11583  
 11584  // ReportPathToConversionCriteriaReportProperties: The properties of the
 11585  // report.
 11586  type ReportPathToConversionCriteriaReportProperties struct {
 11587  	// ClicksLookbackWindow: CM360 checks to see if a click interaction
 11588  	// occurred within the specified period of time before a conversion. By
 11589  	// default the value is pulled from Floodlight or you can manually enter
 11590  	// a custom value. Valid values: 1-90.
 11591  	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
 11592  
 11593  	// ImpressionsLookbackWindow: CM360 checks to see if an impression
 11594  	// interaction occurred within the specified period of time before a
 11595  	// conversion. By default the value is pulled from Floodlight or you can
 11596  	// manually enter a custom value. Valid values: 1-90.
 11597  	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
 11598  
 11599  	// IncludeAttributedIPConversions: Deprecated: has no effect.
 11600  	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
 11601  
 11602  	// IncludeUnattributedCookieConversions: Include conversions of users
 11603  	// with a DoubleClick cookie but without an exposure. That means the
 11604  	// user did not click or see an ad from the advertiser within the
 11605  	// Floodlight group, or that the interaction happened outside the
 11606  	// lookback window.
 11607  	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
 11608  
 11609  	// IncludeUnattributedIPConversions: Include conversions that have no
 11610  	// associated cookies and no exposures. It’s therefore impossible to
 11611  	// know how the user was exposed to your ads during the lookback window
 11612  	// prior to a conversion.
 11613  	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
 11614  
 11615  	// MaximumClickInteractions: The maximum number of click interactions to
 11616  	// include in the report. Advertisers currently paying for E2C reports
 11617  	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
 11618  	// your network is paying for E2C, you can have up to 5 total exposures
 11619  	// per report.
 11620  	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
 11621  
 11622  	// MaximumImpressionInteractions: The maximum number of click
 11623  	// interactions to include in the report. Advertisers currently paying
 11624  	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
 11625  	// another advertiser in your network is paying for E2C, you can have up
 11626  	// to 5 total exposures per report.
 11627  	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
 11628  
 11629  	// MaximumInteractionGap: The maximum amount of time that can take place
 11630  	// between interactions (clicks or impressions) by the same user. Valid
 11631  	// values: 1-90.
 11632  	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
 11633  
 11634  	// PivotOnInteractionPath: Enable pivoting on interaction path.
 11635  	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
 11636  
 11637  	// ForceSendFields is a list of field names (e.g.
 11638  	// "ClicksLookbackWindow") to unconditionally include in API requests.
 11639  	// By default, fields with empty or default values are omitted from API
 11640  	// requests. However, any non-pointer, non-interface field appearing in
 11641  	// ForceSendFields will be sent to the server regardless of whether the
 11642  	// field is empty or not. This may be used to include empty fields in
 11643  	// Patch requests.
 11644  	ForceSendFields []string `json:"-"`
 11645  
 11646  	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
 11647  	// include in API requests with the JSON null value. By default, fields
 11648  	// with empty values are omitted from API requests. However, any field
 11649  	// with an empty value appearing in NullFields will be sent to the
 11650  	// server as null. It is an error if a field in this list has a
 11651  	// non-empty value. This may be used to include null fields in Patch
 11652  	// requests.
 11653  	NullFields []string `json:"-"`
 11654  }
 11655  
 11656  func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
 11657  	type NoMethod ReportPathToConversionCriteriaReportProperties
 11658  	raw := NoMethod(*s)
 11659  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11660  }
 11661  
 11662  // ReportReachCriteria: The report criteria for a report of type
 11663  // "REACH".
 11664  type ReportReachCriteria struct {
 11665  	// Activities: Activity group.
 11666  	Activities *Activities `json:"activities,omitempty"`
 11667  
 11668  	// CustomRichMediaEvents: Custom Rich Media Events group.
 11669  	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
 11670  
 11671  	// DateRange: The date range this report should be run for.
 11672  	DateRange *DateRange `json:"dateRange,omitempty"`
 11673  
 11674  	// DimensionFilters: The list of filters on which dimensions are
 11675  	// filtered. Filters for different dimensions are ANDed, filters for the
 11676  	// same dimension are grouped together and ORed.
 11677  	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
 11678  
 11679  	// Dimensions: The list of dimensions the report should include.
 11680  	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
 11681  
 11682  	// EnableAllDimensionCombinations: Whether to enable all reach dimension
 11683  	// combinations in the report. Defaults to false. If enabled, the date
 11684  	// range of the report should be within the last 42 days.
 11685  	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
 11686  
 11687  	// MetricNames: The list of names of metrics the report should include.
 11688  	MetricNames []string `json:"metricNames,omitempty"`
 11689  
 11690  	// ReachByFrequencyMetricNames: The list of names of Reach By Frequency
 11691  	// metrics the report should include.
 11692  	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
 11693  
 11694  	// ForceSendFields is a list of field names (e.g. "Activities") to
 11695  	// unconditionally include in API requests. By default, fields with
 11696  	// empty or default values are omitted from API requests. However, any
 11697  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11698  	// sent to the server regardless of whether the field is empty or not.
 11699  	// This may be used to include empty fields in Patch requests.
 11700  	ForceSendFields []string `json:"-"`
 11701  
 11702  	// NullFields is a list of field names (e.g. "Activities") to include in
 11703  	// API requests with the JSON null value. By default, fields with empty
 11704  	// values are omitted from API requests. However, any field with an
 11705  	// empty value appearing in NullFields will be sent to the server as
 11706  	// null. It is an error if a field in this list has a non-empty value.
 11707  	// This may be used to include null fields in Patch requests.
 11708  	NullFields []string `json:"-"`
 11709  }
 11710  
 11711  func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
 11712  	type NoMethod ReportReachCriteria
 11713  	raw := NoMethod(*s)
 11714  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11715  }
 11716  
 11717  // ReportSchedule: The report's schedule. Can only be set if the
 11718  // report's 'dateRange' is a relative date range and the relative date
 11719  // range is not "TODAY".
 11720  type ReportSchedule struct {
 11721  	// Active: Whether the schedule is active or not. Must be set to either
 11722  	// true or false.
 11723  	Active bool `json:"active,omitempty"`
 11724  
 11725  	// Every: Defines every how many days, weeks or months the report should
 11726  	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
 11727  	// "MONTHLY".
 11728  	Every int64 `json:"every,omitempty"`
 11729  
 11730  	ExpirationDate string `json:"expirationDate,omitempty"`
 11731  
 11732  	// Repeats: The interval for which the report is repeated. Note: -
 11733  	// "DAILY" also requires field "every" to be set. - "WEEKLY" also
 11734  	// requires fields "every" and "repeatsOnWeekDays" to be set. -
 11735  	// "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
 11736  	// set.
 11737  	Repeats string `json:"repeats,omitempty"`
 11738  
 11739  	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
 11740  	// reports should run.
 11741  	//
 11742  	// Possible values:
 11743  	//   "SUNDAY"
 11744  	//   "MONDAY"
 11745  	//   "TUESDAY"
 11746  	//   "WEDNESDAY"
 11747  	//   "THURSDAY"
 11748  	//   "FRIDAY"
 11749  	//   "SATURDAY"
 11750  	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
 11751  
 11752  	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
 11753  	// whether reports should be repeated on the same day of the month as
 11754  	// "startDate" or the same day of the week of the month. Example: If
 11755  	// 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH"
 11756  	// would run subsequent reports on the 2nd of every Month, and
 11757  	// "WEEK_OF_MONTH" would run subsequent reports on the first Monday of
 11758  	// the month.
 11759  	//
 11760  	// Possible values:
 11761  	//   "DAY_OF_MONTH"
 11762  	//   "WEEK_OF_MONTH"
 11763  	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
 11764  
 11765  	StartDate string `json:"startDate,omitempty"`
 11766  
 11767  	// ForceSendFields is a list of field names (e.g. "Active") to
 11768  	// unconditionally include in API requests. By default, fields with
 11769  	// empty or default values are omitted from API requests. However, any
 11770  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11771  	// sent to the server regardless of whether the field is empty or not.
 11772  	// This may be used to include empty fields in Patch requests.
 11773  	ForceSendFields []string `json:"-"`
 11774  
 11775  	// NullFields is a list of field names (e.g. "Active") to include in API
 11776  	// requests with the JSON null value. By default, fields with empty
 11777  	// values are omitted from API requests. However, any field with an
 11778  	// empty value appearing in NullFields will be sent to the server as
 11779  	// null. It is an error if a field in this list has a non-empty value.
 11780  	// This may be used to include null fields in Patch requests.
 11781  	NullFields []string `json:"-"`
 11782  }
 11783  
 11784  func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
 11785  	type NoMethod ReportSchedule
 11786  	raw := NoMethod(*s)
 11787  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11788  }
 11789  
 11790  // ReportCompatibleFields: Represents fields that are compatible to be
 11791  // selected for a report of type "STANDARD".
 11792  type ReportCompatibleFields struct {
 11793  	// DimensionFilters: Dimensions which are compatible to be selected in
 11794  	// the "dimensionFilters" section of the report.
 11795  	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
 11796  
 11797  	// Dimensions: Dimensions which are compatible to be selected in the
 11798  	// "dimensions" section of the report.
 11799  	Dimensions []*Dimension `json:"dimensions,omitempty"`
 11800  
 11801  	// Kind: The kind of resource this is, in this case
 11802  	// dfareporting#reportCompatibleFields.
 11803  	Kind string `json:"kind,omitempty"`
 11804  
 11805  	// Metrics: Metrics which are compatible to be selected in the
 11806  	// "metricNames" section of the report.
 11807  	Metrics []*Metric `json:"metrics,omitempty"`
 11808  
 11809  	// PivotedActivityMetrics: Metrics which are compatible to be selected
 11810  	// as activity metrics to pivot on in the "activities" section of the
 11811  	// report.
 11812  	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
 11813  
 11814  	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
 11815  	// unconditionally include in API requests. By default, fields with
 11816  	// empty or default values are omitted from API requests. However, any
 11817  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11818  	// sent to the server regardless of whether the field is empty or not.
 11819  	// This may be used to include empty fields in Patch requests.
 11820  	ForceSendFields []string `json:"-"`
 11821  
 11822  	// NullFields is a list of field names (e.g. "DimensionFilters") to
 11823  	// include in API requests with the JSON null value. By default, fields
 11824  	// with empty values are omitted from API requests. However, any field
 11825  	// with an empty value appearing in NullFields will be sent to the
 11826  	// server as null. It is an error if a field in this list has a
 11827  	// non-empty value. This may be used to include null fields in Patch
 11828  	// requests.
 11829  	NullFields []string `json:"-"`
 11830  }
 11831  
 11832  func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
 11833  	type NoMethod ReportCompatibleFields
 11834  	raw := NoMethod(*s)
 11835  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11836  }
 11837  
 11838  // ReportList: Represents the list of reports.
 11839  type ReportList struct {
 11840  	// Etag: The eTag of this response for caching purposes.
 11841  	Etag string `json:"etag,omitempty"`
 11842  
 11843  	// Items: The reports returned in this response.
 11844  	Items []*Report `json:"items,omitempty"`
 11845  
 11846  	// Kind: The kind of list this is, in this case dfareporting#reportList.
 11847  	Kind string `json:"kind,omitempty"`
 11848  
 11849  	// NextPageToken: Continuation token used to page through reports. To
 11850  	// retrieve the next page of results, set the next request's "pageToken"
 11851  	// to the value of this field. The page token is only valid for a
 11852  	// limited amount of time and should not be persisted.
 11853  	NextPageToken string `json:"nextPageToken,omitempty"`
 11854  
 11855  	// ServerResponse contains the HTTP response code and headers from the
 11856  	// server.
 11857  	googleapi.ServerResponse `json:"-"`
 11858  
 11859  	// ForceSendFields is a list of field names (e.g. "Etag") to
 11860  	// unconditionally include in API requests. By default, fields with
 11861  	// empty or default values are omitted from API requests. However, any
 11862  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11863  	// sent to the server regardless of whether the field is empty or not.
 11864  	// This may be used to include empty fields in Patch requests.
 11865  	ForceSendFields []string `json:"-"`
 11866  
 11867  	// NullFields is a list of field names (e.g. "Etag") to include in API
 11868  	// requests with the JSON null value. By default, fields with empty
 11869  	// values are omitted from API requests. However, any field with an
 11870  	// empty value appearing in NullFields will be sent to the server as
 11871  	// null. It is an error if a field in this list has a non-empty value.
 11872  	// This may be used to include null fields in Patch requests.
 11873  	NullFields []string `json:"-"`
 11874  }
 11875  
 11876  func (s *ReportList) MarshalJSON() ([]byte, error) {
 11877  	type NoMethod ReportList
 11878  	raw := NoMethod(*s)
 11879  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11880  }
 11881  
 11882  // ReportsConfiguration: Reporting Configuration
 11883  type ReportsConfiguration struct {
 11884  	// ExposureToConversionEnabled: Whether the exposure to conversion
 11885  	// report is enabled. This report shows detailed pathway information on
 11886  	// up to 10 of the most recent ad exposures seen by a user before
 11887  	// converting.
 11888  	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
 11889  
 11890  	// LookbackConfiguration: Default lookback windows for new advertisers
 11891  	// in this account.
 11892  	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
 11893  
 11894  	// ReportGenerationTimeZoneId: Report generation time zone ID of this
 11895  	// account. This is a required field that can only be changed by a
 11896  	// superuser. Acceptable values are: - "1" for "America/New_York" - "2"
 11897  	// for "Europe/London" - "3" for "Europe/Paris" - "4" for
 11898  	// "Africa/Johannesburg" - "5" for "Asia/Jerusalem" - "6" for
 11899  	// "Asia/Shanghai" - "7" for "Asia/Hong_Kong" - "8" for "Asia/Tokyo" -
 11900  	// "9" for "Australia/Sydney" - "10" for "Asia/Dubai" - "11" for
 11901  	// "America/Los_Angeles" - "12" for "Pacific/Auckland" - "13" for
 11902  	// "America/Sao_Paulo" - "16" for "America/Asuncion" - "17" for
 11903  	// "America/Chicago" - "18" for "America/Denver" - "19" for
 11904  	// "America/St_Johns" - "20" for "Asia/Dhaka" - "21" for "Asia/Jakarta"
 11905  	// - "22" for "Asia/Kabul" - "23" for "Asia/Karachi" - "24" for
 11906  	// "Asia/Calcutta" - "25" for "Asia/Pyongyang" - "26" for "Asia/Rangoon"
 11907  	// - "27" for "Atlantic/Cape_Verde" - "28" for "Atlantic/South_Georgia"
 11908  	// - "29" for "Australia/Adelaide" - "30" for "Australia/Lord_Howe" -
 11909  	// "31" for "Europe/Moscow" - "32" for "Pacific/Kiritimati" - "35" for
 11910  	// "Pacific/Norfolk" - "36" for "Pacific/Tongatapu"
 11911  	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
 11912  
 11913  	// ForceSendFields is a list of field names (e.g.
 11914  	// "ExposureToConversionEnabled") to unconditionally include in API
 11915  	// requests. By default, fields with empty or default values are omitted
 11916  	// from API requests. However, any non-pointer, non-interface field
 11917  	// appearing in ForceSendFields will be sent to the server regardless of
 11918  	// whether the field is empty or not. This may be used to include empty
 11919  	// fields in Patch requests.
 11920  	ForceSendFields []string `json:"-"`
 11921  
 11922  	// NullFields is a list of field names (e.g.
 11923  	// "ExposureToConversionEnabled") to include in API requests with the
 11924  	// JSON null value. By default, fields with empty values are omitted
 11925  	// from API requests. However, any field with an empty value appearing
 11926  	// in NullFields will be sent to the server as null. It is an error if a
 11927  	// field in this list has a non-empty value. This may be used to include
 11928  	// null fields in Patch requests.
 11929  	NullFields []string `json:"-"`
 11930  }
 11931  
 11932  func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
 11933  	type NoMethod ReportsConfiguration
 11934  	raw := NoMethod(*s)
 11935  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11936  }
 11937  
 11938  // RichMediaExitOverride: Rich Media Exit Override.
 11939  type RichMediaExitOverride struct {
 11940  	// ClickThroughUrl: Click-through URL of this rich media exit override.
 11941  	// Applicable if the enabled field is set to true.
 11942  	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
 11943  
 11944  	// Enabled: Whether to use the clickThroughUrl. If false, the
 11945  	// creative-level exit will be used.
 11946  	Enabled bool `json:"enabled,omitempty"`
 11947  
 11948  	// ExitId: ID for the override to refer to a specific exit in the
 11949  	// creative.
 11950  	ExitId int64 `json:"exitId,omitempty,string"`
 11951  
 11952  	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
 11953  	// unconditionally include in API requests. By default, fields with
 11954  	// empty or default values are omitted from API requests. However, any
 11955  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11956  	// sent to the server regardless of whether the field is empty or not.
 11957  	// This may be used to include empty fields in Patch requests.
 11958  	ForceSendFields []string `json:"-"`
 11959  
 11960  	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
 11961  	// include in API requests with the JSON null value. By default, fields
 11962  	// with empty values are omitted from API requests. However, any field
 11963  	// with an empty value appearing in NullFields will be sent to the
 11964  	// server as null. It is an error if a field in this list has a
 11965  	// non-empty value. This may be used to include null fields in Patch
 11966  	// requests.
 11967  	NullFields []string `json:"-"`
 11968  }
 11969  
 11970  func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
 11971  	type NoMethod RichMediaExitOverride
 11972  	raw := NoMethod(*s)
 11973  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 11974  }
 11975  
 11976  // Rule: A rule associates an asset with a targeting template for
 11977  // asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
 11978  type Rule struct {
 11979  	// AssetId: A creativeAssets[].id. This should refer to one of the
 11980  	// parent assets in this creative. This is a required field.
 11981  	AssetId int64 `json:"assetId,omitempty,string"`
 11982  
 11983  	// Name: A user-friendly name for this rule. This is a required field.
 11984  	Name string `json:"name,omitempty"`
 11985  
 11986  	// TargetingTemplateId: A targeting template ID. The targeting from the
 11987  	// targeting template will be used to determine whether this asset
 11988  	// should be served. This is a required field.
 11989  	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
 11990  
 11991  	// ForceSendFields is a list of field names (e.g. "AssetId") to
 11992  	// unconditionally include in API requests. By default, fields with
 11993  	// empty or default values are omitted from API requests. However, any
 11994  	// non-pointer, non-interface field appearing in ForceSendFields will be
 11995  	// sent to the server regardless of whether the field is empty or not.
 11996  	// This may be used to include empty fields in Patch requests.
 11997  	ForceSendFields []string `json:"-"`
 11998  
 11999  	// NullFields is a list of field names (e.g. "AssetId") to include in
 12000  	// API requests with the JSON null value. By default, fields with empty
 12001  	// values are omitted from API requests. However, any field with an
 12002  	// empty value appearing in NullFields will be sent to the server as
 12003  	// null. It is an error if a field in this list has a non-empty value.
 12004  	// This may be used to include null fields in Patch requests.
 12005  	NullFields []string `json:"-"`
 12006  }
 12007  
 12008  func (s *Rule) MarshalJSON() ([]byte, error) {
 12009  	type NoMethod Rule
 12010  	raw := NoMethod(*s)
 12011  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12012  }
 12013  
 12014  // Site: Contains properties of a site.
 12015  type Site struct {
 12016  	// AccountId: Account ID of this site. This is a read-only field that
 12017  	// can be left blank.
 12018  	AccountId int64 `json:"accountId,omitempty,string"`
 12019  
 12020  	// Approved: Whether this site is approved.
 12021  	Approved bool `json:"approved,omitempty"`
 12022  
 12023  	// DirectorySiteId: Directory site associated with this site. This is a
 12024  	// required field that is read-only after insertion.
 12025  	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
 12026  
 12027  	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
 12028  	// directory site. This is a read-only, auto-generated field.
 12029  	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
 12030  
 12031  	// Id: ID of this site. This is a read-only, auto-generated field.
 12032  	Id int64 `json:"id,omitempty,string"`
 12033  
 12034  	// IdDimensionValue: Dimension value for the ID of this site. This is a
 12035  	// read-only, auto-generated field.
 12036  	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
 12037  
 12038  	// KeyName: Key name of this site. This is a read-only, auto-generated
 12039  	// field.
 12040  	KeyName string `json:"keyName,omitempty"`
 12041  
 12042  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12043  	// string "dfareporting#site".
 12044  	Kind string `json:"kind,omitempty"`
 12045  
 12046  	// Name: Name of this site.This is a required field. Must be less than
 12047  	// 128 characters long. If this site is under a subaccount, the name
 12048  	// must be unique among sites of the same subaccount. Otherwise, this
 12049  	// site is a top-level site, and the name must be unique among top-level
 12050  	// sites of the same account.
 12051  	Name string `json:"name,omitempty"`
 12052  
 12053  	// SiteContacts: Site contacts.
 12054  	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
 12055  
 12056  	// SiteSettings: Site-wide settings.
 12057  	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
 12058  
 12059  	// SubaccountId: Subaccount ID of this site. This is a read-only field
 12060  	// that can be left blank.
 12061  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12062  
 12063  	// VideoSettings: Default video settings for new placements created
 12064  	// under this site. This value will be used to populate the
 12065  	// placements.videoSettings field, when no value is specified for the
 12066  	// new placement.
 12067  	VideoSettings *SiteVideoSettings `json:"videoSettings,omitempty"`
 12068  
 12069  	// ServerResponse contains the HTTP response code and headers from the
 12070  	// server.
 12071  	googleapi.ServerResponse `json:"-"`
 12072  
 12073  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12074  	// unconditionally include in API requests. By default, fields with
 12075  	// empty or default values are omitted from API requests. However, any
 12076  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12077  	// sent to the server regardless of whether the field is empty or not.
 12078  	// This may be used to include empty fields in Patch requests.
 12079  	ForceSendFields []string `json:"-"`
 12080  
 12081  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12082  	// API requests with the JSON null value. By default, fields with empty
 12083  	// values are omitted from API requests. However, any field with an
 12084  	// empty value appearing in NullFields will be sent to the server as
 12085  	// null. It is an error if a field in this list has a non-empty value.
 12086  	// This may be used to include null fields in Patch requests.
 12087  	NullFields []string `json:"-"`
 12088  }
 12089  
 12090  func (s *Site) MarshalJSON() ([]byte, error) {
 12091  	type NoMethod Site
 12092  	raw := NoMethod(*s)
 12093  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12094  }
 12095  
 12096  // SiteCompanionSetting: Companion Settings
 12097  type SiteCompanionSetting struct {
 12098  	// CompanionsDisabled: Whether companions are disabled for this site
 12099  	// template.
 12100  	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
 12101  
 12102  	// EnabledSizes: Allowlist of companion sizes to be served via this site
 12103  	// template. Set this list to null or empty to serve all companion
 12104  	// sizes.
 12105  	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
 12106  
 12107  	// ImageOnly: Whether to serve only static images as companions.
 12108  	ImageOnly bool `json:"imageOnly,omitempty"`
 12109  
 12110  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12111  	// string "dfareporting#siteCompanionSetting".
 12112  	Kind string `json:"kind,omitempty"`
 12113  
 12114  	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
 12115  	// to unconditionally include in API requests. By default, fields with
 12116  	// empty or default values are omitted from API requests. However, any
 12117  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12118  	// sent to the server regardless of whether the field is empty or not.
 12119  	// This may be used to include empty fields in Patch requests.
 12120  	ForceSendFields []string `json:"-"`
 12121  
 12122  	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
 12123  	// include in API requests with the JSON null value. By default, fields
 12124  	// with empty values are omitted from API requests. However, any field
 12125  	// with an empty value appearing in NullFields will be sent to the
 12126  	// server as null. It is an error if a field in this list has a
 12127  	// non-empty value. This may be used to include null fields in Patch
 12128  	// requests.
 12129  	NullFields []string `json:"-"`
 12130  }
 12131  
 12132  func (s *SiteCompanionSetting) MarshalJSON() ([]byte, error) {
 12133  	type NoMethod SiteCompanionSetting
 12134  	raw := NoMethod(*s)
 12135  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12136  }
 12137  
 12138  // SiteContact: Site Contact
 12139  type SiteContact struct {
 12140  	// Address: Address of this site contact.
 12141  	Address string `json:"address,omitempty"`
 12142  
 12143  	// ContactType: Site contact type.
 12144  	//
 12145  	// Possible values:
 12146  	//   "SALES_PERSON"
 12147  	//   "TRAFFICKER"
 12148  	ContactType string `json:"contactType,omitempty"`
 12149  
 12150  	// Email: Email address of this site contact. This is a required field.
 12151  	Email string `json:"email,omitempty"`
 12152  
 12153  	// FirstName: First name of this site contact.
 12154  	FirstName string `json:"firstName,omitempty"`
 12155  
 12156  	// Id: ID of this site contact. This is a read-only, auto-generated
 12157  	// field.
 12158  	Id int64 `json:"id,omitempty,string"`
 12159  
 12160  	// LastName: Last name of this site contact.
 12161  	LastName string `json:"lastName,omitempty"`
 12162  
 12163  	// Phone: Primary phone number of this site contact.
 12164  	Phone string `json:"phone,omitempty"`
 12165  
 12166  	// Title: Title or designation of this site contact.
 12167  	Title string `json:"title,omitempty"`
 12168  
 12169  	// ForceSendFields is a list of field names (e.g. "Address") to
 12170  	// unconditionally include in API requests. By default, fields with
 12171  	// empty or default values are omitted from API requests. However, any
 12172  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12173  	// sent to the server regardless of whether the field is empty or not.
 12174  	// This may be used to include empty fields in Patch requests.
 12175  	ForceSendFields []string `json:"-"`
 12176  
 12177  	// NullFields is a list of field names (e.g. "Address") to include in
 12178  	// API requests with the JSON null value. By default, fields with empty
 12179  	// values are omitted from API requests. However, any field with an
 12180  	// empty value appearing in NullFields will be sent to the server as
 12181  	// null. It is an error if a field in this list has a non-empty value.
 12182  	// This may be used to include null fields in Patch requests.
 12183  	NullFields []string `json:"-"`
 12184  }
 12185  
 12186  func (s *SiteContact) MarshalJSON() ([]byte, error) {
 12187  	type NoMethod SiteContact
 12188  	raw := NoMethod(*s)
 12189  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12190  }
 12191  
 12192  // SiteSettings: Site Settings
 12193  type SiteSettings struct {
 12194  	// ActiveViewOptOut: Whether active view creatives are disabled for this
 12195  	// site.
 12196  	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
 12197  
 12198  	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
 12199  	// true, ad blocking is disabled for all placements under the site,
 12200  	// regardless of the individual placement settings. When false, the
 12201  	// campaign and placement settings take effect.
 12202  	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
 12203  
 12204  	// DisableNewCookie: Whether new cookies are disabled for this site.
 12205  	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
 12206  
 12207  	// TagSetting: Configuration settings for dynamic and image floodlight
 12208  	// tags.
 12209  	TagSetting *TagSetting `json:"tagSetting,omitempty"`
 12210  
 12211  	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
 12212  	// for in-stream video creatives are disabled by default for new
 12213  	// placements created under this site. This value will be used to
 12214  	// populate the placement.videoActiveViewOptOut field, when no value is
 12215  	// specified for the new placement.
 12216  	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
 12217  
 12218  	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
 12219  	// placements created under this site. This value will be used to
 12220  	// populate the placements.vpaidAdapterChoice field, when no value is
 12221  	// specified for the new placement. Controls which VPAID format the
 12222  	// measurement adapter will use for in-stream video creatives assigned
 12223  	// to the placement. The publisher's specifications will typically
 12224  	// determine this setting. For VPAID creatives, the adapter format will
 12225  	// match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).
 12226  	// *Note:* Flash is no longer supported. This field now defaults to
 12227  	// HTML5 when the following values are provided: FLASH, BOTH.
 12228  	//
 12229  	// Possible values:
 12230  	//   "DEFAULT"
 12231  	//   "FLASH"
 12232  	//   "HTML5"
 12233  	//   "BOTH"
 12234  	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
 12235  
 12236  	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
 12237  	// unconditionally include in API requests. By default, fields with
 12238  	// empty or default values are omitted from API requests. However, any
 12239  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12240  	// sent to the server regardless of whether the field is empty or not.
 12241  	// This may be used to include empty fields in Patch requests.
 12242  	ForceSendFields []string `json:"-"`
 12243  
 12244  	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
 12245  	// include in API requests with the JSON null value. By default, fields
 12246  	// with empty values are omitted from API requests. However, any field
 12247  	// with an empty value appearing in NullFields will be sent to the
 12248  	// server as null. It is an error if a field in this list has a
 12249  	// non-empty value. This may be used to include null fields in Patch
 12250  	// requests.
 12251  	NullFields []string `json:"-"`
 12252  }
 12253  
 12254  func (s *SiteSettings) MarshalJSON() ([]byte, error) {
 12255  	type NoMethod SiteSettings
 12256  	raw := NoMethod(*s)
 12257  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12258  }
 12259  
 12260  // SiteSkippableSetting: Skippable Settings
 12261  type SiteSkippableSetting struct {
 12262  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12263  	// string "dfareporting#siteSkippableSetting".
 12264  	Kind string `json:"kind,omitempty"`
 12265  
 12266  	// ProgressOffset: Amount of time to play videos served to this site
 12267  	// template before counting a view. Applicable when skippable is true.
 12268  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
 12269  
 12270  	// SkipOffset: Amount of time to play videos served to this site before
 12271  	// the skip button should appear. Applicable when skippable is true.
 12272  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
 12273  
 12274  	// Skippable: Whether the user can skip creatives served to this site.
 12275  	// This will act as default for new placements created under this site.
 12276  	Skippable bool `json:"skippable,omitempty"`
 12277  
 12278  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12279  	// unconditionally include in API requests. By default, fields with
 12280  	// empty or default values are omitted from API requests. However, any
 12281  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12282  	// sent to the server regardless of whether the field is empty or not.
 12283  	// This may be used to include empty fields in Patch requests.
 12284  	ForceSendFields []string `json:"-"`
 12285  
 12286  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12287  	// requests with the JSON null value. By default, fields with empty
 12288  	// values are omitted from API requests. However, any field with an
 12289  	// empty value appearing in NullFields will be sent to the server as
 12290  	// null. It is an error if a field in this list has a non-empty value.
 12291  	// This may be used to include null fields in Patch requests.
 12292  	NullFields []string `json:"-"`
 12293  }
 12294  
 12295  func (s *SiteSkippableSetting) MarshalJSON() ([]byte, error) {
 12296  	type NoMethod SiteSkippableSetting
 12297  	raw := NoMethod(*s)
 12298  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12299  }
 12300  
 12301  // SiteTranscodeSetting: Transcode Settings
 12302  type SiteTranscodeSetting struct {
 12303  	// EnabledVideoFormats: Allowlist of video formats to be served to this
 12304  	// site template. Set this list to null or empty to serve all video
 12305  	// formats.
 12306  	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
 12307  
 12308  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12309  	// string "dfareporting#siteTranscodeSetting".
 12310  	Kind string `json:"kind,omitempty"`
 12311  
 12312  	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
 12313  	// to unconditionally include in API requests. By default, fields with
 12314  	// empty or default values are omitted from API requests. However, any
 12315  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12316  	// sent to the server regardless of whether the field is empty or not.
 12317  	// This may be used to include empty fields in Patch requests.
 12318  	ForceSendFields []string `json:"-"`
 12319  
 12320  	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
 12321  	// include in API requests with the JSON null value. By default, fields
 12322  	// with empty values are omitted from API requests. However, any field
 12323  	// with an empty value appearing in NullFields will be sent to the
 12324  	// server as null. It is an error if a field in this list has a
 12325  	// non-empty value. This may be used to include null fields in Patch
 12326  	// requests.
 12327  	NullFields []string `json:"-"`
 12328  }
 12329  
 12330  func (s *SiteTranscodeSetting) MarshalJSON() ([]byte, error) {
 12331  	type NoMethod SiteTranscodeSetting
 12332  	raw := NoMethod(*s)
 12333  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12334  }
 12335  
 12336  // SiteVideoSettings: Video Settings
 12337  type SiteVideoSettings struct {
 12338  	// CompanionSettings: Settings for the companion creatives of video
 12339  	// creatives served to this site.
 12340  	CompanionSettings *SiteCompanionSetting `json:"companionSettings,omitempty"`
 12341  
 12342  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12343  	// string "dfareporting#siteVideoSettings".
 12344  	Kind string `json:"kind,omitempty"`
 12345  
 12346  	// Orientation: Orientation of a site template used for video. This will
 12347  	// act as default for new placements created under this site.
 12348  	//
 12349  	// Possible values:
 12350  	//   "ANY"
 12351  	//   "LANDSCAPE"
 12352  	//   "PORTRAIT"
 12353  	Orientation string `json:"orientation,omitempty"`
 12354  
 12355  	// SkippableSettings: Settings for the skippability of video creatives
 12356  	// served to this site. This will act as default for new placements
 12357  	// created under this site.
 12358  	SkippableSettings *SiteSkippableSetting `json:"skippableSettings,omitempty"`
 12359  
 12360  	// TranscodeSettings: Settings for the transcodes of video creatives
 12361  	// served to this site. This will act as default for new placements
 12362  	// created under this site.
 12363  	TranscodeSettings *SiteTranscodeSetting `json:"transcodeSettings,omitempty"`
 12364  
 12365  	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
 12366  	// to unconditionally include in API requests. By default, fields with
 12367  	// empty or default values are omitted from API requests. However, any
 12368  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12369  	// sent to the server regardless of whether the field is empty or not.
 12370  	// This may be used to include empty fields in Patch requests.
 12371  	ForceSendFields []string `json:"-"`
 12372  
 12373  	// NullFields is a list of field names (e.g. "CompanionSettings") to
 12374  	// include in API requests with the JSON null value. By default, fields
 12375  	// with empty values are omitted from API requests. However, any field
 12376  	// with an empty value appearing in NullFields will be sent to the
 12377  	// server as null. It is an error if a field in this list has a
 12378  	// non-empty value. This may be used to include null fields in Patch
 12379  	// requests.
 12380  	NullFields []string `json:"-"`
 12381  }
 12382  
 12383  func (s *SiteVideoSettings) MarshalJSON() ([]byte, error) {
 12384  	type NoMethod SiteVideoSettings
 12385  	raw := NoMethod(*s)
 12386  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12387  }
 12388  
 12389  // SitesListResponse: Site List Response
 12390  type SitesListResponse struct {
 12391  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12392  	// string "dfareporting#sitesListResponse".
 12393  	Kind string `json:"kind,omitempty"`
 12394  
 12395  	// NextPageToken: Pagination token to be used for the next list
 12396  	// operation.
 12397  	NextPageToken string `json:"nextPageToken,omitempty"`
 12398  
 12399  	// Sites: Site collection.
 12400  	Sites []*Site `json:"sites,omitempty"`
 12401  
 12402  	// ServerResponse contains the HTTP response code and headers from the
 12403  	// server.
 12404  	googleapi.ServerResponse `json:"-"`
 12405  
 12406  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12407  	// unconditionally include in API requests. By default, fields with
 12408  	// empty or default values are omitted from API requests. However, any
 12409  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12410  	// sent to the server regardless of whether the field is empty or not.
 12411  	// This may be used to include empty fields in Patch requests.
 12412  	ForceSendFields []string `json:"-"`
 12413  
 12414  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12415  	// requests with the JSON null value. By default, fields with empty
 12416  	// values are omitted from API requests. However, any field with an
 12417  	// empty value appearing in NullFields will be sent to the server as
 12418  	// null. It is an error if a field in this list has a non-empty value.
 12419  	// This may be used to include null fields in Patch requests.
 12420  	NullFields []string `json:"-"`
 12421  }
 12422  
 12423  func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
 12424  	type NoMethod SitesListResponse
 12425  	raw := NoMethod(*s)
 12426  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12427  }
 12428  
 12429  // Size: Represents the dimensions of ads, placements, creatives, or
 12430  // creative assets.
 12431  type Size struct {
 12432  	// Height: Height of this size. Acceptable values are 0 to 32767,
 12433  	// inclusive.
 12434  	Height int64 `json:"height,omitempty"`
 12435  
 12436  	// Iab: IAB standard size. This is a read-only, auto-generated field.
 12437  	Iab bool `json:"iab,omitempty"`
 12438  
 12439  	// Id: ID of this size. This is a read-only, auto-generated field.
 12440  	Id int64 `json:"id,omitempty,string"`
 12441  
 12442  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12443  	// string "dfareporting#size".
 12444  	Kind string `json:"kind,omitempty"`
 12445  
 12446  	// Width: Width of this size. Acceptable values are 0 to 32767,
 12447  	// inclusive.
 12448  	Width int64 `json:"width,omitempty"`
 12449  
 12450  	// ServerResponse contains the HTTP response code and headers from the
 12451  	// server.
 12452  	googleapi.ServerResponse `json:"-"`
 12453  
 12454  	// ForceSendFields is a list of field names (e.g. "Height") to
 12455  	// unconditionally include in API requests. By default, fields with
 12456  	// empty or default values are omitted from API requests. However, any
 12457  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12458  	// sent to the server regardless of whether the field is empty or not.
 12459  	// This may be used to include empty fields in Patch requests.
 12460  	ForceSendFields []string `json:"-"`
 12461  
 12462  	// NullFields is a list of field names (e.g. "Height") to include in API
 12463  	// requests with the JSON null value. By default, fields with empty
 12464  	// values are omitted from API requests. However, any field with an
 12465  	// empty value appearing in NullFields will be sent to the server as
 12466  	// null. It is an error if a field in this list has a non-empty value.
 12467  	// This may be used to include null fields in Patch requests.
 12468  	NullFields []string `json:"-"`
 12469  }
 12470  
 12471  func (s *Size) MarshalJSON() ([]byte, error) {
 12472  	type NoMethod Size
 12473  	raw := NoMethod(*s)
 12474  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12475  }
 12476  
 12477  // SizesListResponse: Size List Response
 12478  type SizesListResponse struct {
 12479  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12480  	// string "dfareporting#sizesListResponse".
 12481  	Kind string `json:"kind,omitempty"`
 12482  
 12483  	// Sizes: Size collection.
 12484  	Sizes []*Size `json:"sizes,omitempty"`
 12485  
 12486  	// ServerResponse contains the HTTP response code and headers from the
 12487  	// server.
 12488  	googleapi.ServerResponse `json:"-"`
 12489  
 12490  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12491  	// unconditionally include in API requests. By default, fields with
 12492  	// empty or default values are omitted from API requests. However, any
 12493  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12494  	// sent to the server regardless of whether the field is empty or not.
 12495  	// This may be used to include empty fields in Patch requests.
 12496  	ForceSendFields []string `json:"-"`
 12497  
 12498  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12499  	// requests with the JSON null value. By default, fields with empty
 12500  	// values are omitted from API requests. However, any field with an
 12501  	// empty value appearing in NullFields will be sent to the server as
 12502  	// null. It is an error if a field in this list has a non-empty value.
 12503  	// This may be used to include null fields in Patch requests.
 12504  	NullFields []string `json:"-"`
 12505  }
 12506  
 12507  func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
 12508  	type NoMethod SizesListResponse
 12509  	raw := NoMethod(*s)
 12510  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12511  }
 12512  
 12513  // SkippableSetting: Skippable Settings
 12514  type SkippableSetting struct {
 12515  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12516  	// string "dfareporting#skippableSetting".
 12517  	Kind string `json:"kind,omitempty"`
 12518  
 12519  	// ProgressOffset: Amount of time to play videos served to this
 12520  	// placement before counting a view. Applicable when skippable is true.
 12521  	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
 12522  
 12523  	// SkipOffset: Amount of time to play videos served to this placement
 12524  	// before the skip button should appear. Applicable when skippable is
 12525  	// true.
 12526  	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
 12527  
 12528  	// Skippable: Whether the user can skip creatives served to this
 12529  	// placement.
 12530  	Skippable bool `json:"skippable,omitempty"`
 12531  
 12532  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12533  	// unconditionally include in API requests. By default, fields with
 12534  	// empty or default values are omitted from API requests. However, any
 12535  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12536  	// sent to the server regardless of whether the field is empty or not.
 12537  	// This may be used to include empty fields in Patch requests.
 12538  	ForceSendFields []string `json:"-"`
 12539  
 12540  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12541  	// requests with the JSON null value. By default, fields with empty
 12542  	// values are omitted from API requests. However, any field with an
 12543  	// empty value appearing in NullFields will be sent to the server as
 12544  	// null. It is an error if a field in this list has a non-empty value.
 12545  	// This may be used to include null fields in Patch requests.
 12546  	NullFields []string `json:"-"`
 12547  }
 12548  
 12549  func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
 12550  	type NoMethod SkippableSetting
 12551  	raw := NoMethod(*s)
 12552  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12553  }
 12554  
 12555  // SortedDimension: Represents a sorted dimension.
 12556  type SortedDimension struct {
 12557  	// Kind: The kind of resource this is, in this case
 12558  	// dfareporting#sortedDimension.
 12559  	Kind string `json:"kind,omitempty"`
 12560  
 12561  	// Name: The name of the dimension.
 12562  	Name string `json:"name,omitempty"`
 12563  
 12564  	// SortOrder: An optional sort order for the dimension column.
 12565  	//
 12566  	// Possible values:
 12567  	//   "ASCENDING"
 12568  	//   "DESCENDING"
 12569  	SortOrder string `json:"sortOrder,omitempty"`
 12570  
 12571  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12572  	// unconditionally include in API requests. By default, fields with
 12573  	// empty or default values are omitted from API requests. However, any
 12574  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12575  	// sent to the server regardless of whether the field is empty or not.
 12576  	// This may be used to include empty fields in Patch requests.
 12577  	ForceSendFields []string `json:"-"`
 12578  
 12579  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12580  	// requests with the JSON null value. By default, fields with empty
 12581  	// values are omitted from API requests. However, any field with an
 12582  	// empty value appearing in NullFields will be sent to the server as
 12583  	// null. It is an error if a field in this list has a non-empty value.
 12584  	// This may be used to include null fields in Patch requests.
 12585  	NullFields []string `json:"-"`
 12586  }
 12587  
 12588  func (s *SortedDimension) MarshalJSON() ([]byte, error) {
 12589  	type NoMethod SortedDimension
 12590  	raw := NoMethod(*s)
 12591  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12592  }
 12593  
 12594  // Subaccount: Contains properties of a Campaign Manager subaccount.
 12595  type Subaccount struct {
 12596  	// AccountId: ID of the account that contains this subaccount. This is a
 12597  	// read-only field that can be left blank.
 12598  	AccountId int64 `json:"accountId,omitempty,string"`
 12599  
 12600  	// AvailablePermissionIds: IDs of the available user role permissions
 12601  	// for this subaccount.
 12602  	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
 12603  
 12604  	// Id: ID of this subaccount. This is a read-only, auto-generated field.
 12605  	Id int64 `json:"id,omitempty,string"`
 12606  
 12607  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12608  	// string "dfareporting#subaccount".
 12609  	Kind string `json:"kind,omitempty"`
 12610  
 12611  	// Name: Name of this subaccount. This is a required field. Must be less
 12612  	// than 128 characters long and be unique among subaccounts of the same
 12613  	// account.
 12614  	Name string `json:"name,omitempty"`
 12615  
 12616  	// ServerResponse contains the HTTP response code and headers from the
 12617  	// server.
 12618  	googleapi.ServerResponse `json:"-"`
 12619  
 12620  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12621  	// unconditionally include in API requests. By default, fields with
 12622  	// empty or default values are omitted from API requests. However, any
 12623  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12624  	// sent to the server regardless of whether the field is empty or not.
 12625  	// This may be used to include empty fields in Patch requests.
 12626  	ForceSendFields []string `json:"-"`
 12627  
 12628  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12629  	// API requests with the JSON null value. By default, fields with empty
 12630  	// values are omitted from API requests. However, any field with an
 12631  	// empty value appearing in NullFields will be sent to the server as
 12632  	// null. It is an error if a field in this list has a non-empty value.
 12633  	// This may be used to include null fields in Patch requests.
 12634  	NullFields []string `json:"-"`
 12635  }
 12636  
 12637  func (s *Subaccount) MarshalJSON() ([]byte, error) {
 12638  	type NoMethod Subaccount
 12639  	raw := NoMethod(*s)
 12640  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12641  }
 12642  
 12643  // SubaccountsListResponse: Subaccount List Response
 12644  type SubaccountsListResponse struct {
 12645  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12646  	// string "dfareporting#subaccountsListResponse".
 12647  	Kind string `json:"kind,omitempty"`
 12648  
 12649  	// NextPageToken: Pagination token to be used for the next list
 12650  	// operation.
 12651  	NextPageToken string `json:"nextPageToken,omitempty"`
 12652  
 12653  	// Subaccounts: Subaccount collection.
 12654  	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
 12655  
 12656  	// ServerResponse contains the HTTP response code and headers from the
 12657  	// server.
 12658  	googleapi.ServerResponse `json:"-"`
 12659  
 12660  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12661  	// unconditionally include in API requests. By default, fields with
 12662  	// empty or default values are omitted from API requests. However, any
 12663  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12664  	// sent to the server regardless of whether the field is empty or not.
 12665  	// This may be used to include empty fields in Patch requests.
 12666  	ForceSendFields []string `json:"-"`
 12667  
 12668  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12669  	// requests with the JSON null value. By default, fields with empty
 12670  	// values are omitted from API requests. However, any field with an
 12671  	// empty value appearing in NullFields will be sent to the server as
 12672  	// null. It is an error if a field in this list has a non-empty value.
 12673  	// This may be used to include null fields in Patch requests.
 12674  	NullFields []string `json:"-"`
 12675  }
 12676  
 12677  func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
 12678  	type NoMethod SubaccountsListResponse
 12679  	raw := NoMethod(*s)
 12680  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12681  }
 12682  
 12683  // TagData: Placement Tag Data
 12684  type TagData struct {
 12685  	// AdId: Ad associated with this placement tag. Applicable only when
 12686  	// format is PLACEMENT_TAG_TRACKING.
 12687  	AdId int64 `json:"adId,omitempty,string"`
 12688  
 12689  	// ClickTag: Tag string to record a click.
 12690  	ClickTag string `json:"clickTag,omitempty"`
 12691  
 12692  	// CreativeId: Creative associated with this placement tag. Applicable
 12693  	// only when format is PLACEMENT_TAG_TRACKING.
 12694  	CreativeId int64 `json:"creativeId,omitempty,string"`
 12695  
 12696  	// Format: TagData tag format of this tag.
 12697  	//
 12698  	// Possible values:
 12699  	//   "PLACEMENT_TAG_STANDARD"
 12700  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 12701  	//   "PLACEMENT_TAG_IFRAME_ILAYER"
 12702  	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
 12703  	//   "PLACEMENT_TAG_JAVASCRIPT"
 12704  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 12705  	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 12706  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 12707  	//   "PLACEMENT_TAG_CLICK_COMMANDS"
 12708  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 12709  	//   "PLACEMENT_TAG_TRACKING"
 12710  	//   "PLACEMENT_TAG_TRACKING_IFRAME"
 12711  	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 12712  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 12713  	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 12714  	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 12715  	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 12716  	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 12717  	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 12718  	//   "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
 12719  	Format string `json:"format,omitempty"`
 12720  
 12721  	// ImpressionTag: Tag string for serving an ad.
 12722  	ImpressionTag string `json:"impressionTag,omitempty"`
 12723  
 12724  	// ForceSendFields is a list of field names (e.g. "AdId") to
 12725  	// unconditionally include in API requests. By default, fields with
 12726  	// empty or default values are omitted from API requests. However, any
 12727  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12728  	// sent to the server regardless of whether the field is empty or not.
 12729  	// This may be used to include empty fields in Patch requests.
 12730  	ForceSendFields []string `json:"-"`
 12731  
 12732  	// NullFields is a list of field names (e.g. "AdId") to include in API
 12733  	// requests with the JSON null value. By default, fields with empty
 12734  	// values are omitted from API requests. However, any field with an
 12735  	// empty value appearing in NullFields will be sent to the server as
 12736  	// null. It is an error if a field in this list has a non-empty value.
 12737  	// This may be used to include null fields in Patch requests.
 12738  	NullFields []string `json:"-"`
 12739  }
 12740  
 12741  func (s *TagData) MarshalJSON() ([]byte, error) {
 12742  	type NoMethod TagData
 12743  	raw := NoMethod(*s)
 12744  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12745  }
 12746  
 12747  // TagSetting: Tag Settings
 12748  type TagSetting struct {
 12749  	// AdditionalKeyValues: Additional key-values to be included in tags.
 12750  	// Each key-value pair must be of the form key=value, and pairs must be
 12751  	// separated by a semicolon (;). Keys and values must not contain
 12752  	// commas. For example, id=2;color=red is a valid value for this field.
 12753  	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
 12754  
 12755  	// IncludeClickThroughUrls: Whether static landing page URLs should be
 12756  	// included in the tags. This setting applies only to placements.
 12757  	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
 12758  
 12759  	// IncludeClickTracking: Whether click-tracking string should be
 12760  	// included in the tags.
 12761  	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
 12762  
 12763  	// KeywordOption: Option specifying how keywords are embedded in ad
 12764  	// tags. This setting can be used to specify whether keyword
 12765  	// placeholders are inserted in placement tags for this site. Publishers
 12766  	// can then add keywords to those placeholders.
 12767  	//
 12768  	// Possible values:
 12769  	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
 12770  	//   "IGNORE"
 12771  	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
 12772  	KeywordOption string `json:"keywordOption,omitempty"`
 12773  
 12774  	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
 12775  	// to unconditionally include in API requests. By default, fields with
 12776  	// empty or default values are omitted from API requests. However, any
 12777  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12778  	// sent to the server regardless of whether the field is empty or not.
 12779  	// This may be used to include empty fields in Patch requests.
 12780  	ForceSendFields []string `json:"-"`
 12781  
 12782  	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
 12783  	// include in API requests with the JSON null value. By default, fields
 12784  	// with empty values are omitted from API requests. However, any field
 12785  	// with an empty value appearing in NullFields will be sent to the
 12786  	// server as null. It is an error if a field in this list has a
 12787  	// non-empty value. This may be used to include null fields in Patch
 12788  	// requests.
 12789  	NullFields []string `json:"-"`
 12790  }
 12791  
 12792  func (s *TagSetting) MarshalJSON() ([]byte, error) {
 12793  	type NoMethod TagSetting
 12794  	raw := NoMethod(*s)
 12795  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12796  }
 12797  
 12798  // TagSettings: Dynamic and Image Tag Settings.
 12799  type TagSettings struct {
 12800  	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
 12801  	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
 12802  
 12803  	// ImageTagEnabled: Whether image tags are enabled.
 12804  	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
 12805  
 12806  	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
 12807  	// to unconditionally include in API requests. By default, fields with
 12808  	// empty or default values are omitted from API requests. However, any
 12809  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12810  	// sent to the server regardless of whether the field is empty or not.
 12811  	// This may be used to include empty fields in Patch requests.
 12812  	ForceSendFields []string `json:"-"`
 12813  
 12814  	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
 12815  	// include in API requests with the JSON null value. By default, fields
 12816  	// with empty values are omitted from API requests. However, any field
 12817  	// with an empty value appearing in NullFields will be sent to the
 12818  	// server as null. It is an error if a field in this list has a
 12819  	// non-empty value. This may be used to include null fields in Patch
 12820  	// requests.
 12821  	NullFields []string `json:"-"`
 12822  }
 12823  
 12824  func (s *TagSettings) MarshalJSON() ([]byte, error) {
 12825  	type NoMethod TagSettings
 12826  	raw := NoMethod(*s)
 12827  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12828  }
 12829  
 12830  // TargetWindow: Target Window.
 12831  type TargetWindow struct {
 12832  	// CustomHtml: User-entered value.
 12833  	CustomHtml string `json:"customHtml,omitempty"`
 12834  
 12835  	// TargetWindowOption: Type of browser window for which the backup image
 12836  	// of the flash creative can be displayed.
 12837  	//
 12838  	// Possible values:
 12839  	//   "NEW_WINDOW"
 12840  	//   "CURRENT_WINDOW"
 12841  	//   "CUSTOM"
 12842  	TargetWindowOption string `json:"targetWindowOption,omitempty"`
 12843  
 12844  	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
 12845  	// unconditionally include in API requests. By default, fields with
 12846  	// empty or default values are omitted from API requests. However, any
 12847  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12848  	// sent to the server regardless of whether the field is empty or not.
 12849  	// This may be used to include empty fields in Patch requests.
 12850  	ForceSendFields []string `json:"-"`
 12851  
 12852  	// NullFields is a list of field names (e.g. "CustomHtml") to include in
 12853  	// API requests with the JSON null value. By default, fields with empty
 12854  	// values are omitted from API requests. However, any field with an
 12855  	// empty value appearing in NullFields will be sent to the server as
 12856  	// null. It is an error if a field in this list has a non-empty value.
 12857  	// This may be used to include null fields in Patch requests.
 12858  	NullFields []string `json:"-"`
 12859  }
 12860  
 12861  func (s *TargetWindow) MarshalJSON() ([]byte, error) {
 12862  	type NoMethod TargetWindow
 12863  	raw := NoMethod(*s)
 12864  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12865  }
 12866  
 12867  // TargetableRemarketingList: Contains properties of a targetable
 12868  // remarketing list. Remarketing enables you to create lists of users
 12869  // who have performed specific actions on a site, then target ads to
 12870  // members of those lists. This resource is a read-only view of a
 12871  // remarketing list to be used to faciliate targeting ads to specific
 12872  // lists. Remarketing lists that are owned by your advertisers and those
 12873  // that are shared to your advertisers or account are accessible via
 12874  // this resource. To manage remarketing lists that are owned by your
 12875  // advertisers, use the RemarketingLists resource.
 12876  type TargetableRemarketingList struct {
 12877  	// AccountId: Account ID of this remarketing list. This is a read-only,
 12878  	// auto-generated field that is only returned in GET requests.
 12879  	AccountId int64 `json:"accountId,omitempty,string"`
 12880  
 12881  	// Active: Whether this targetable remarketing list is active.
 12882  	Active bool `json:"active,omitempty"`
 12883  
 12884  	// AdvertiserId: Dimension value for the advertiser ID that owns this
 12885  	// targetable remarketing list.
 12886  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 12887  
 12888  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 12889  	// advertiser.
 12890  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 12891  
 12892  	// Description: Targetable remarketing list description.
 12893  	Description string `json:"description,omitempty"`
 12894  
 12895  	// Id: Targetable remarketing list ID.
 12896  	Id int64 `json:"id,omitempty,string"`
 12897  
 12898  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12899  	// string "dfareporting#targetableRemarketingList".
 12900  	Kind string `json:"kind,omitempty"`
 12901  
 12902  	// LifeSpan: Number of days that a user should remain in the targetable
 12903  	// remarketing list without an impression.
 12904  	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
 12905  
 12906  	// ListSize: Number of users currently in the list. This is a read-only
 12907  	// field.
 12908  	ListSize int64 `json:"listSize,omitempty,string"`
 12909  
 12910  	// ListSource: Product from which this targetable remarketing list was
 12911  	// originated.
 12912  	//
 12913  	// Possible values:
 12914  	//   "REMARKETING_LIST_SOURCE_OTHER"
 12915  	//   "REMARKETING_LIST_SOURCE_ADX"
 12916  	//   "REMARKETING_LIST_SOURCE_DFP"
 12917  	//   "REMARKETING_LIST_SOURCE_XFP"
 12918  	//   "REMARKETING_LIST_SOURCE_DFA"
 12919  	//   "REMARKETING_LIST_SOURCE_GA"
 12920  	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
 12921  	//   "REMARKETING_LIST_SOURCE_DBM"
 12922  	//   "REMARKETING_LIST_SOURCE_GPLUS"
 12923  	//   "REMARKETING_LIST_SOURCE_DMP"
 12924  	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
 12925  	ListSource string `json:"listSource,omitempty"`
 12926  
 12927  	// Name: Name of the targetable remarketing list. Is no greater than 128
 12928  	// characters long.
 12929  	Name string `json:"name,omitempty"`
 12930  
 12931  	// SubaccountId: Subaccount ID of this remarketing list. This is a
 12932  	// read-only, auto-generated field that is only returned in GET
 12933  	// requests.
 12934  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 12935  
 12936  	// ServerResponse contains the HTTP response code and headers from the
 12937  	// server.
 12938  	googleapi.ServerResponse `json:"-"`
 12939  
 12940  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 12941  	// unconditionally include in API requests. By default, fields with
 12942  	// empty or default values are omitted from API requests. However, any
 12943  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12944  	// sent to the server regardless of whether the field is empty or not.
 12945  	// This may be used to include empty fields in Patch requests.
 12946  	ForceSendFields []string `json:"-"`
 12947  
 12948  	// NullFields is a list of field names (e.g. "AccountId") to include in
 12949  	// API requests with the JSON null value. By default, fields with empty
 12950  	// values are omitted from API requests. However, any field with an
 12951  	// empty value appearing in NullFields will be sent to the server as
 12952  	// null. It is an error if a field in this list has a non-empty value.
 12953  	// This may be used to include null fields in Patch requests.
 12954  	NullFields []string `json:"-"`
 12955  }
 12956  
 12957  func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
 12958  	type NoMethod TargetableRemarketingList
 12959  	raw := NoMethod(*s)
 12960  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 12961  }
 12962  
 12963  // TargetableRemarketingListsListResponse: Targetable remarketing list
 12964  // response
 12965  type TargetableRemarketingListsListResponse struct {
 12966  	// Kind: Identifies what kind of resource this is. Value: the fixed
 12967  	// string "dfareporting#targetableRemarketingListsListResponse".
 12968  	Kind string `json:"kind,omitempty"`
 12969  
 12970  	// NextPageToken: Pagination token to be used for the next list
 12971  	// operation.
 12972  	NextPageToken string `json:"nextPageToken,omitempty"`
 12973  
 12974  	// TargetableRemarketingLists: Targetable remarketing list collection.
 12975  	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
 12976  
 12977  	// ServerResponse contains the HTTP response code and headers from the
 12978  	// server.
 12979  	googleapi.ServerResponse `json:"-"`
 12980  
 12981  	// ForceSendFields is a list of field names (e.g. "Kind") to
 12982  	// unconditionally include in API requests. By default, fields with
 12983  	// empty or default values are omitted from API requests. However, any
 12984  	// non-pointer, non-interface field appearing in ForceSendFields will be
 12985  	// sent to the server regardless of whether the field is empty or not.
 12986  	// This may be used to include empty fields in Patch requests.
 12987  	ForceSendFields []string `json:"-"`
 12988  
 12989  	// NullFields is a list of field names (e.g. "Kind") to include in API
 12990  	// requests with the JSON null value. By default, fields with empty
 12991  	// values are omitted from API requests. However, any field with an
 12992  	// empty value appearing in NullFields will be sent to the server as
 12993  	// null. It is an error if a field in this list has a non-empty value.
 12994  	// This may be used to include null fields in Patch requests.
 12995  	NullFields []string `json:"-"`
 12996  }
 12997  
 12998  func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
 12999  	type NoMethod TargetableRemarketingListsListResponse
 13000  	raw := NoMethod(*s)
 13001  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13002  }
 13003  
 13004  // TargetingTemplate: Contains properties of a targeting template. A
 13005  // targeting template encapsulates targeting information which can be
 13006  // reused across multiple ads.
 13007  type TargetingTemplate struct {
 13008  	// AccountId: Account ID of this targeting template. This field, if left
 13009  	// unset, will be auto-generated on insert and is read-only after
 13010  	// insert.
 13011  	AccountId int64 `json:"accountId,omitempty,string"`
 13012  
 13013  	// AdvertiserId: Advertiser ID of this targeting template. This is a
 13014  	// required field on insert and is read-only after insert.
 13015  	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
 13016  
 13017  	// AdvertiserIdDimensionValue: Dimension value for the ID of the
 13018  	// advertiser. This is a read-only, auto-generated field.
 13019  	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
 13020  
 13021  	// DayPartTargeting: Time and day targeting criteria.
 13022  	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
 13023  
 13024  	// GeoTargeting: Geographical targeting criteria.
 13025  	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
 13026  
 13027  	// Id: ID of this targeting template. This is a read-only,
 13028  	// auto-generated field.
 13029  	Id int64 `json:"id,omitempty,string"`
 13030  
 13031  	// KeyValueTargetingExpression: Key-value targeting criteria.
 13032  	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
 13033  
 13034  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13035  	// string "dfareporting#targetingTemplate".
 13036  	Kind string `json:"kind,omitempty"`
 13037  
 13038  	// LanguageTargeting: Language targeting criteria.
 13039  	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
 13040  
 13041  	// ListTargetingExpression: Remarketing list targeting criteria.
 13042  	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
 13043  
 13044  	// Name: Name of this targeting template. This field is required. It
 13045  	// must be less than 256 characters long and unique within an
 13046  	// advertiser.
 13047  	Name string `json:"name,omitempty"`
 13048  
 13049  	// SubaccountId: Subaccount ID of this targeting template. This field,
 13050  	// if left unset, will be auto-generated on insert and is read-only
 13051  	// after insert.
 13052  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13053  
 13054  	// TechnologyTargeting: Technology platform targeting criteria.
 13055  	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
 13056  
 13057  	// ServerResponse contains the HTTP response code and headers from the
 13058  	// server.
 13059  	googleapi.ServerResponse `json:"-"`
 13060  
 13061  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13062  	// unconditionally include in API requests. By default, fields with
 13063  	// empty or default values are omitted from API requests. However, any
 13064  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13065  	// sent to the server regardless of whether the field is empty or not.
 13066  	// This may be used to include empty fields in Patch requests.
 13067  	ForceSendFields []string `json:"-"`
 13068  
 13069  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13070  	// API requests with the JSON null value. By default, fields with empty
 13071  	// values are omitted from API requests. However, any field with an
 13072  	// empty value appearing in NullFields will be sent to the server as
 13073  	// null. It is an error if a field in this list has a non-empty value.
 13074  	// This may be used to include null fields in Patch requests.
 13075  	NullFields []string `json:"-"`
 13076  }
 13077  
 13078  func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
 13079  	type NoMethod TargetingTemplate
 13080  	raw := NoMethod(*s)
 13081  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13082  }
 13083  
 13084  // TargetingTemplatesListResponse: Targeting Template List Response
 13085  type TargetingTemplatesListResponse struct {
 13086  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13087  	// string "dfareporting#targetingTemplatesListResponse".
 13088  	Kind string `json:"kind,omitempty"`
 13089  
 13090  	// NextPageToken: Pagination token to be used for the next list
 13091  	// operation.
 13092  	NextPageToken string `json:"nextPageToken,omitempty"`
 13093  
 13094  	// TargetingTemplates: Targeting template collection.
 13095  	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
 13096  
 13097  	// ServerResponse contains the HTTP response code and headers from the
 13098  	// server.
 13099  	googleapi.ServerResponse `json:"-"`
 13100  
 13101  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13102  	// unconditionally include in API requests. By default, fields with
 13103  	// empty or default values are omitted from API requests. However, any
 13104  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13105  	// sent to the server regardless of whether the field is empty or not.
 13106  	// This may be used to include empty fields in Patch requests.
 13107  	ForceSendFields []string `json:"-"`
 13108  
 13109  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13110  	// requests with the JSON null value. By default, fields with empty
 13111  	// values are omitted from API requests. However, any field with an
 13112  	// empty value appearing in NullFields will be sent to the server as
 13113  	// null. It is an error if a field in this list has a non-empty value.
 13114  	// This may be used to include null fields in Patch requests.
 13115  	NullFields []string `json:"-"`
 13116  }
 13117  
 13118  func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
 13119  	type NoMethod TargetingTemplatesListResponse
 13120  	raw := NoMethod(*s)
 13121  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13122  }
 13123  
 13124  // TechnologyTargeting: Technology Targeting.
 13125  type TechnologyTargeting struct {
 13126  	// Browsers: Browsers that this ad targets. For each browser either set
 13127  	// browserVersionId or dartId along with the version numbers. If both
 13128  	// are specified, only browserVersionId will be used. The other fields
 13129  	// are populated automatically when the ad is inserted or updated.
 13130  	Browsers []*Browser `json:"browsers,omitempty"`
 13131  
 13132  	// ConnectionTypes: Connection types that this ad targets. For each
 13133  	// connection type only id is required. The other fields are populated
 13134  	// automatically when the ad is inserted or updated.
 13135  	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
 13136  
 13137  	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
 13138  	// carrier only id is required, and the other fields are populated
 13139  	// automatically when the ad is inserted or updated. If targeting a
 13140  	// mobile carrier, do not set targeting for any zip codes.
 13141  	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
 13142  
 13143  	// OperatingSystemVersions: Operating system versions that this ad
 13144  	// targets. To target all versions, use operatingSystems. For each
 13145  	// operating system version, only id is required. The other fields are
 13146  	// populated automatically when the ad is inserted or updated. If
 13147  	// targeting an operating system version, do not set targeting for the
 13148  	// corresponding operating system in operatingSystems.
 13149  	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
 13150  
 13151  	// OperatingSystems: Operating systems that this ad targets. To target
 13152  	// specific versions, use operatingSystemVersions. For each operating
 13153  	// system only dartId is required. The other fields are populated
 13154  	// automatically when the ad is inserted or updated. If targeting an
 13155  	// operating system, do not set targeting for operating system versions
 13156  	// for the same operating system.
 13157  	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
 13158  
 13159  	// PlatformTypes: Platform types that this ad targets. For example,
 13160  	// desktop, mobile, or tablet. For each platform type, only id is
 13161  	// required, and the other fields are populated automatically when the
 13162  	// ad is inserted or updated.
 13163  	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
 13164  
 13165  	// ForceSendFields is a list of field names (e.g. "Browsers") to
 13166  	// unconditionally include in API requests. By default, fields with
 13167  	// empty or default values are omitted from API requests. However, any
 13168  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13169  	// sent to the server regardless of whether the field is empty or not.
 13170  	// This may be used to include empty fields in Patch requests.
 13171  	ForceSendFields []string `json:"-"`
 13172  
 13173  	// NullFields is a list of field names (e.g. "Browsers") to include in
 13174  	// API requests with the JSON null value. By default, fields with empty
 13175  	// values are omitted from API requests. However, any field with an
 13176  	// empty value appearing in NullFields will be sent to the server as
 13177  	// null. It is an error if a field in this list has a non-empty value.
 13178  	// This may be used to include null fields in Patch requests.
 13179  	NullFields []string `json:"-"`
 13180  }
 13181  
 13182  func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
 13183  	type NoMethod TechnologyTargeting
 13184  	raw := NoMethod(*s)
 13185  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13186  }
 13187  
 13188  // ThirdPartyAuthenticationToken: Third Party Authentication Token
 13189  type ThirdPartyAuthenticationToken struct {
 13190  	// Name: Name of the third-party authentication token.
 13191  	Name string `json:"name,omitempty"`
 13192  
 13193  	// Value: Value of the third-party authentication token. This is a
 13194  	// read-only, auto-generated field.
 13195  	Value string `json:"value,omitempty"`
 13196  
 13197  	// ForceSendFields is a list of field names (e.g. "Name") to
 13198  	// unconditionally include in API requests. By default, fields with
 13199  	// empty or default values are omitted from API requests. However, any
 13200  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13201  	// sent to the server regardless of whether the field is empty or not.
 13202  	// This may be used to include empty fields in Patch requests.
 13203  	ForceSendFields []string `json:"-"`
 13204  
 13205  	// NullFields is a list of field names (e.g. "Name") to include in API
 13206  	// requests with the JSON null value. By default, fields with empty
 13207  	// values are omitted from API requests. However, any field with an
 13208  	// empty value appearing in NullFields will be sent to the server as
 13209  	// null. It is an error if a field in this list has a non-empty value.
 13210  	// This may be used to include null fields in Patch requests.
 13211  	NullFields []string `json:"-"`
 13212  }
 13213  
 13214  func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
 13215  	type NoMethod ThirdPartyAuthenticationToken
 13216  	raw := NoMethod(*s)
 13217  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13218  }
 13219  
 13220  // ThirdPartyTrackingUrl: Third-party Tracking URL.
 13221  type ThirdPartyTrackingUrl struct {
 13222  	// ThirdPartyUrlType: Third-party URL type for in-stream video and
 13223  	// in-stream audio creatives.
 13224  	//
 13225  	// Possible values:
 13226  	//   "IMPRESSION"
 13227  	//   "CLICK_TRACKING"
 13228  	//   "VIDEO_START"
 13229  	//   "VIDEO_FIRST_QUARTILE"
 13230  	//   "VIDEO_MIDPOINT"
 13231  	//   "VIDEO_THIRD_QUARTILE"
 13232  	//   "VIDEO_COMPLETE"
 13233  	//   "VIDEO_MUTE"
 13234  	//   "VIDEO_PAUSE"
 13235  	//   "VIDEO_REWIND"
 13236  	//   "VIDEO_FULLSCREEN"
 13237  	//   "VIDEO_STOP"
 13238  	//   "VIDEO_CUSTOM"
 13239  	//   "SURVEY"
 13240  	//   "RICH_MEDIA_IMPRESSION"
 13241  	//   "RICH_MEDIA_RM_IMPRESSION"
 13242  	//   "RICH_MEDIA_BACKUP_IMPRESSION"
 13243  	//   "VIDEO_SKIP"
 13244  	//   "VIDEO_PROGRESS"
 13245  	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
 13246  
 13247  	// Url: URL for the specified third-party URL type.
 13248  	Url string `json:"url,omitempty"`
 13249  
 13250  	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
 13251  	// to unconditionally include in API requests. By default, fields with
 13252  	// empty or default values are omitted from API requests. However, any
 13253  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13254  	// sent to the server regardless of whether the field is empty or not.
 13255  	// This may be used to include empty fields in Patch requests.
 13256  	ForceSendFields []string `json:"-"`
 13257  
 13258  	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
 13259  	// include in API requests with the JSON null value. By default, fields
 13260  	// with empty values are omitted from API requests. However, any field
 13261  	// with an empty value appearing in NullFields will be sent to the
 13262  	// server as null. It is an error if a field in this list has a
 13263  	// non-empty value. This may be used to include null fields in Patch
 13264  	// requests.
 13265  	NullFields []string `json:"-"`
 13266  }
 13267  
 13268  func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
 13269  	type NoMethod ThirdPartyTrackingUrl
 13270  	raw := NoMethod(*s)
 13271  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13272  }
 13273  
 13274  // TranscodeSetting: Transcode Settings
 13275  type TranscodeSetting struct {
 13276  	// EnabledVideoFormats: Allowlist of video formats to be served to this
 13277  	// placement. Set this list to null or empty to serve all video formats.
 13278  	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
 13279  
 13280  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13281  	// string "dfareporting#transcodeSetting".
 13282  	Kind string `json:"kind,omitempty"`
 13283  
 13284  	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
 13285  	// to unconditionally include in API requests. By default, fields with
 13286  	// empty or default values are omitted from API requests. However, any
 13287  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13288  	// sent to the server regardless of whether the field is empty or not.
 13289  	// This may be used to include empty fields in Patch requests.
 13290  	ForceSendFields []string `json:"-"`
 13291  
 13292  	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
 13293  	// include in API requests with the JSON null value. By default, fields
 13294  	// with empty values are omitted from API requests. However, any field
 13295  	// with an empty value appearing in NullFields will be sent to the
 13296  	// server as null. It is an error if a field in this list has a
 13297  	// non-empty value. This may be used to include null fields in Patch
 13298  	// requests.
 13299  	NullFields []string `json:"-"`
 13300  }
 13301  
 13302  func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
 13303  	type NoMethod TranscodeSetting
 13304  	raw := NoMethod(*s)
 13305  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13306  }
 13307  
 13308  // UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
 13309  // to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
 13310  // VPAID.
 13311  type UniversalAdId struct {
 13312  	// Registry: Registry used for the Ad ID value.
 13313  	//
 13314  	// Possible values:
 13315  	//   "OTHER"
 13316  	//   "AD_ID.ORG"
 13317  	//   "CLEARCAST"
 13318  	//   "DCM"
 13319  	Registry string `json:"registry,omitempty"`
 13320  
 13321  	// Value: ID value for this creative. Only alphanumeric characters and
 13322  	// the following symbols are valid: "_/\-". Maximum length is 64
 13323  	// characters. Read only when registry is DCM.
 13324  	Value string `json:"value,omitempty"`
 13325  
 13326  	// ForceSendFields is a list of field names (e.g. "Registry") to
 13327  	// unconditionally include in API requests. By default, fields with
 13328  	// empty or default values are omitted from API requests. However, any
 13329  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13330  	// sent to the server regardless of whether the field is empty or not.
 13331  	// This may be used to include empty fields in Patch requests.
 13332  	ForceSendFields []string `json:"-"`
 13333  
 13334  	// NullFields is a list of field names (e.g. "Registry") to include in
 13335  	// API requests with the JSON null value. By default, fields with empty
 13336  	// values are omitted from API requests. However, any field with an
 13337  	// empty value appearing in NullFields will be sent to the server as
 13338  	// null. It is an error if a field in this list has a non-empty value.
 13339  	// This may be used to include null fields in Patch requests.
 13340  	NullFields []string `json:"-"`
 13341  }
 13342  
 13343  func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
 13344  	type NoMethod UniversalAdId
 13345  	raw := NoMethod(*s)
 13346  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13347  }
 13348  
 13349  // UserDefinedVariableConfiguration: User Defined Variable
 13350  // configuration.
 13351  type UserDefinedVariableConfiguration struct {
 13352  	// DataType: Data type for the variable. This is a required field.
 13353  	//
 13354  	// Possible values:
 13355  	//   "STRING"
 13356  	//   "NUMBER"
 13357  	DataType string `json:"dataType,omitempty"`
 13358  
 13359  	// ReportName: User-friendly name for the variable which will appear in
 13360  	// reports. This is a required field, must be less than 64 characters
 13361  	// long, and cannot contain the following characters: ""<>".
 13362  	ReportName string `json:"reportName,omitempty"`
 13363  
 13364  	// VariableType: Variable name in the tag. This is a required field.
 13365  	//
 13366  	// Possible values:
 13367  	//   "U1"
 13368  	//   "U2"
 13369  	//   "U3"
 13370  	//   "U4"
 13371  	//   "U5"
 13372  	//   "U6"
 13373  	//   "U7"
 13374  	//   "U8"
 13375  	//   "U9"
 13376  	//   "U10"
 13377  	//   "U11"
 13378  	//   "U12"
 13379  	//   "U13"
 13380  	//   "U14"
 13381  	//   "U15"
 13382  	//   "U16"
 13383  	//   "U17"
 13384  	//   "U18"
 13385  	//   "U19"
 13386  	//   "U20"
 13387  	//   "U21"
 13388  	//   "U22"
 13389  	//   "U23"
 13390  	//   "U24"
 13391  	//   "U25"
 13392  	//   "U26"
 13393  	//   "U27"
 13394  	//   "U28"
 13395  	//   "U29"
 13396  	//   "U30"
 13397  	//   "U31"
 13398  	//   "U32"
 13399  	//   "U33"
 13400  	//   "U34"
 13401  	//   "U35"
 13402  	//   "U36"
 13403  	//   "U37"
 13404  	//   "U38"
 13405  	//   "U39"
 13406  	//   "U40"
 13407  	//   "U41"
 13408  	//   "U42"
 13409  	//   "U43"
 13410  	//   "U44"
 13411  	//   "U45"
 13412  	//   "U46"
 13413  	//   "U47"
 13414  	//   "U48"
 13415  	//   "U49"
 13416  	//   "U50"
 13417  	//   "U51"
 13418  	//   "U52"
 13419  	//   "U53"
 13420  	//   "U54"
 13421  	//   "U55"
 13422  	//   "U56"
 13423  	//   "U57"
 13424  	//   "U58"
 13425  	//   "U59"
 13426  	//   "U60"
 13427  	//   "U61"
 13428  	//   "U62"
 13429  	//   "U63"
 13430  	//   "U64"
 13431  	//   "U65"
 13432  	//   "U66"
 13433  	//   "U67"
 13434  	//   "U68"
 13435  	//   "U69"
 13436  	//   "U70"
 13437  	//   "U71"
 13438  	//   "U72"
 13439  	//   "U73"
 13440  	//   "U74"
 13441  	//   "U75"
 13442  	//   "U76"
 13443  	//   "U77"
 13444  	//   "U78"
 13445  	//   "U79"
 13446  	//   "U80"
 13447  	//   "U81"
 13448  	//   "U82"
 13449  	//   "U83"
 13450  	//   "U84"
 13451  	//   "U85"
 13452  	//   "U86"
 13453  	//   "U87"
 13454  	//   "U88"
 13455  	//   "U89"
 13456  	//   "U90"
 13457  	//   "U91"
 13458  	//   "U92"
 13459  	//   "U93"
 13460  	//   "U94"
 13461  	//   "U95"
 13462  	//   "U96"
 13463  	//   "U97"
 13464  	//   "U98"
 13465  	//   "U99"
 13466  	//   "U100"
 13467  	VariableType string `json:"variableType,omitempty"`
 13468  
 13469  	// ForceSendFields is a list of field names (e.g. "DataType") to
 13470  	// unconditionally include in API requests. By default, fields with
 13471  	// empty or default values are omitted from API requests. However, any
 13472  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13473  	// sent to the server regardless of whether the field is empty or not.
 13474  	// This may be used to include empty fields in Patch requests.
 13475  	ForceSendFields []string `json:"-"`
 13476  
 13477  	// NullFields is a list of field names (e.g. "DataType") to include in
 13478  	// API requests with the JSON null value. By default, fields with empty
 13479  	// values are omitted from API requests. However, any field with an
 13480  	// empty value appearing in NullFields will be sent to the server as
 13481  	// null. It is an error if a field in this list has a non-empty value.
 13482  	// This may be used to include null fields in Patch requests.
 13483  	NullFields []string `json:"-"`
 13484  }
 13485  
 13486  func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
 13487  	type NoMethod UserDefinedVariableConfiguration
 13488  	raw := NoMethod(*s)
 13489  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13490  }
 13491  
 13492  // UserProfile: A UserProfile resource lets you list all DFA user
 13493  // profiles that are associated with a Google user account. The
 13494  // profile_id needs to be specified in other API requests.
 13495  type UserProfile struct {
 13496  	// AccountId: The account ID to which this profile belongs.
 13497  	AccountId int64 `json:"accountId,omitempty,string"`
 13498  
 13499  	// AccountName: The account name this profile belongs to.
 13500  	AccountName string `json:"accountName,omitempty"`
 13501  
 13502  	// Etag: Etag of this resource.
 13503  	Etag string `json:"etag,omitempty"`
 13504  
 13505  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13506  	// string "dfareporting#userProfile".
 13507  	Kind string `json:"kind,omitempty"`
 13508  
 13509  	// ProfileId: The unique ID of the user profile.
 13510  	ProfileId int64 `json:"profileId,omitempty,string"`
 13511  
 13512  	// SubAccountId: The sub account ID this profile belongs to if
 13513  	// applicable.
 13514  	SubAccountId int64 `json:"subAccountId,omitempty,string"`
 13515  
 13516  	// SubAccountName: The sub account name this profile belongs to if
 13517  	// applicable.
 13518  	SubAccountName string `json:"subAccountName,omitempty"`
 13519  
 13520  	// UserName: The user name.
 13521  	UserName string `json:"userName,omitempty"`
 13522  
 13523  	// ServerResponse contains the HTTP response code and headers from the
 13524  	// server.
 13525  	googleapi.ServerResponse `json:"-"`
 13526  
 13527  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13528  	// unconditionally include in API requests. By default, fields with
 13529  	// empty or default values are omitted from API requests. However, any
 13530  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13531  	// sent to the server regardless of whether the field is empty or not.
 13532  	// This may be used to include empty fields in Patch requests.
 13533  	ForceSendFields []string `json:"-"`
 13534  
 13535  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13536  	// API requests with the JSON null value. By default, fields with empty
 13537  	// values are omitted from API requests. However, any field with an
 13538  	// empty value appearing in NullFields will be sent to the server as
 13539  	// null. It is an error if a field in this list has a non-empty value.
 13540  	// This may be used to include null fields in Patch requests.
 13541  	NullFields []string `json:"-"`
 13542  }
 13543  
 13544  func (s *UserProfile) MarshalJSON() ([]byte, error) {
 13545  	type NoMethod UserProfile
 13546  	raw := NoMethod(*s)
 13547  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13548  }
 13549  
 13550  // UserProfileList: Represents the list of user profiles.
 13551  type UserProfileList struct {
 13552  	// Etag: Etag of this resource.
 13553  	Etag string `json:"etag,omitempty"`
 13554  
 13555  	// Items: The user profiles returned in this response.
 13556  	Items []*UserProfile `json:"items,omitempty"`
 13557  
 13558  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13559  	// string "dfareporting#userProfileList".
 13560  	Kind string `json:"kind,omitempty"`
 13561  
 13562  	// ServerResponse contains the HTTP response code and headers from the
 13563  	// server.
 13564  	googleapi.ServerResponse `json:"-"`
 13565  
 13566  	// ForceSendFields is a list of field names (e.g. "Etag") to
 13567  	// unconditionally include in API requests. By default, fields with
 13568  	// empty or default values are omitted from API requests. However, any
 13569  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13570  	// sent to the server regardless of whether the field is empty or not.
 13571  	// This may be used to include empty fields in Patch requests.
 13572  	ForceSendFields []string `json:"-"`
 13573  
 13574  	// NullFields is a list of field names (e.g. "Etag") to include in API
 13575  	// requests with the JSON null value. By default, fields with empty
 13576  	// values are omitted from API requests. However, any field with an
 13577  	// empty value appearing in NullFields will be sent to the server as
 13578  	// null. It is an error if a field in this list has a non-empty value.
 13579  	// This may be used to include null fields in Patch requests.
 13580  	NullFields []string `json:"-"`
 13581  }
 13582  
 13583  func (s *UserProfileList) MarshalJSON() ([]byte, error) {
 13584  	type NoMethod UserProfileList
 13585  	raw := NoMethod(*s)
 13586  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13587  }
 13588  
 13589  // UserRole: Contains properties of auser role, which is used to manage
 13590  // user access.
 13591  type UserRole struct {
 13592  	// AccountId: Account ID of this user role. This is a read-only field
 13593  	// that can be left blank.
 13594  	AccountId int64 `json:"accountId,omitempty,string"`
 13595  
 13596  	// DefaultUserRole: Whether this is a default user role. Default user
 13597  	// roles are created by the system for the account/subaccount and cannot
 13598  	// be modified or deleted. Each default user role comes with a basic set
 13599  	// of preassigned permissions.
 13600  	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
 13601  
 13602  	// Id: ID of this user role. This is a read-only, auto-generated field.
 13603  	Id int64 `json:"id,omitempty,string"`
 13604  
 13605  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13606  	// string "dfareporting#userRole".
 13607  	Kind string `json:"kind,omitempty"`
 13608  
 13609  	// Name: Name of this user role. This is a required field. Must be less
 13610  	// than 256 characters long. If this user role is under a subaccount,
 13611  	// the name must be unique among sites of the same subaccount.
 13612  	// Otherwise, this user role is a top-level user role, and the name must
 13613  	// be unique among top-level user roles of the same account.
 13614  	Name string `json:"name,omitempty"`
 13615  
 13616  	// ParentUserRoleId: ID of the user role that this user role is based on
 13617  	// or copied from. This is a required field.
 13618  	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
 13619  
 13620  	// Permissions: List of permissions associated with this user role.
 13621  	Permissions []*UserRolePermission `json:"permissions,omitempty"`
 13622  
 13623  	// SubaccountId: Subaccount ID of this user role. This is a read-only
 13624  	// field that can be left blank.
 13625  	SubaccountId int64 `json:"subaccountId,omitempty,string"`
 13626  
 13627  	// ServerResponse contains the HTTP response code and headers from the
 13628  	// server.
 13629  	googleapi.ServerResponse `json:"-"`
 13630  
 13631  	// ForceSendFields is a list of field names (e.g. "AccountId") to
 13632  	// unconditionally include in API requests. By default, fields with
 13633  	// empty or default values are omitted from API requests. However, any
 13634  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13635  	// sent to the server regardless of whether the field is empty or not.
 13636  	// This may be used to include empty fields in Patch requests.
 13637  	ForceSendFields []string `json:"-"`
 13638  
 13639  	// NullFields is a list of field names (e.g. "AccountId") to include in
 13640  	// API requests with the JSON null value. By default, fields with empty
 13641  	// values are omitted from API requests. However, any field with an
 13642  	// empty value appearing in NullFields will be sent to the server as
 13643  	// null. It is an error if a field in this list has a non-empty value.
 13644  	// This may be used to include null fields in Patch requests.
 13645  	NullFields []string `json:"-"`
 13646  }
 13647  
 13648  func (s *UserRole) MarshalJSON() ([]byte, error) {
 13649  	type NoMethod UserRole
 13650  	raw := NoMethod(*s)
 13651  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13652  }
 13653  
 13654  // UserRolePermission: Contains properties of a user role permission.
 13655  type UserRolePermission struct {
 13656  	// Availability: Levels of availability for a user role permission.
 13657  	//
 13658  	// Possible values:
 13659  	//   "NOT_AVAILABLE_BY_DEFAULT"
 13660  	//   "ACCOUNT_BY_DEFAULT"
 13661  	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
 13662  	//   "ACCOUNT_ALWAYS"
 13663  	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
 13664  	//   "USER_PROFILE_ONLY"
 13665  	Availability string `json:"availability,omitempty"`
 13666  
 13667  	// Id: ID of this user role permission.
 13668  	Id int64 `json:"id,omitempty,string"`
 13669  
 13670  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13671  	// string "dfareporting#userRolePermission".
 13672  	Kind string `json:"kind,omitempty"`
 13673  
 13674  	// Name: Name of this user role permission.
 13675  	Name string `json:"name,omitempty"`
 13676  
 13677  	// PermissionGroupId: ID of the permission group that this user role
 13678  	// permission belongs to.
 13679  	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
 13680  
 13681  	// ServerResponse contains the HTTP response code and headers from the
 13682  	// server.
 13683  	googleapi.ServerResponse `json:"-"`
 13684  
 13685  	// ForceSendFields is a list of field names (e.g. "Availability") to
 13686  	// unconditionally include in API requests. By default, fields with
 13687  	// empty or default values are omitted from API requests. However, any
 13688  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13689  	// sent to the server regardless of whether the field is empty or not.
 13690  	// This may be used to include empty fields in Patch requests.
 13691  	ForceSendFields []string `json:"-"`
 13692  
 13693  	// NullFields is a list of field names (e.g. "Availability") to include
 13694  	// in API requests with the JSON null value. By default, fields with
 13695  	// empty values are omitted from API requests. However, any field with
 13696  	// an empty value appearing in NullFields will be sent to the server as
 13697  	// null. It is an error if a field in this list has a non-empty value.
 13698  	// This may be used to include null fields in Patch requests.
 13699  	NullFields []string `json:"-"`
 13700  }
 13701  
 13702  func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
 13703  	type NoMethod UserRolePermission
 13704  	raw := NoMethod(*s)
 13705  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13706  }
 13707  
 13708  // UserRolePermissionGroup: Represents a grouping of related user role
 13709  // permissions.
 13710  type UserRolePermissionGroup struct {
 13711  	// Id: ID of this user role permission.
 13712  	Id int64 `json:"id,omitempty,string"`
 13713  
 13714  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13715  	// string "dfareporting#userRolePermissionGroup".
 13716  	Kind string `json:"kind,omitempty"`
 13717  
 13718  	// Name: Name of this user role permission group.
 13719  	Name string `json:"name,omitempty"`
 13720  
 13721  	// ServerResponse contains the HTTP response code and headers from the
 13722  	// server.
 13723  	googleapi.ServerResponse `json:"-"`
 13724  
 13725  	// ForceSendFields is a list of field names (e.g. "Id") to
 13726  	// unconditionally include in API requests. By default, fields with
 13727  	// empty or default values are omitted from API requests. However, any
 13728  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13729  	// sent to the server regardless of whether the field is empty or not.
 13730  	// This may be used to include empty fields in Patch requests.
 13731  	ForceSendFields []string `json:"-"`
 13732  
 13733  	// NullFields is a list of field names (e.g. "Id") to include in API
 13734  	// requests with the JSON null value. By default, fields with empty
 13735  	// values are omitted from API requests. However, any field with an
 13736  	// empty value appearing in NullFields will be sent to the server as
 13737  	// null. It is an error if a field in this list has a non-empty value.
 13738  	// This may be used to include null fields in Patch requests.
 13739  	NullFields []string `json:"-"`
 13740  }
 13741  
 13742  func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
 13743  	type NoMethod UserRolePermissionGroup
 13744  	raw := NoMethod(*s)
 13745  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13746  }
 13747  
 13748  // UserRolePermissionGroupsListResponse: User Role Permission Group List
 13749  // Response
 13750  type UserRolePermissionGroupsListResponse struct {
 13751  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13752  	// string "dfareporting#userRolePermissionGroupsListResponse".
 13753  	Kind string `json:"kind,omitempty"`
 13754  
 13755  	// UserRolePermissionGroups: User role permission group collection.
 13756  	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
 13757  
 13758  	// ServerResponse contains the HTTP response code and headers from the
 13759  	// server.
 13760  	googleapi.ServerResponse `json:"-"`
 13761  
 13762  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13763  	// unconditionally include in API requests. By default, fields with
 13764  	// empty or default values are omitted from API requests. However, any
 13765  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13766  	// sent to the server regardless of whether the field is empty or not.
 13767  	// This may be used to include empty fields in Patch requests.
 13768  	ForceSendFields []string `json:"-"`
 13769  
 13770  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13771  	// requests with the JSON null value. By default, fields with empty
 13772  	// values are omitted from API requests. However, any field with an
 13773  	// empty value appearing in NullFields will be sent to the server as
 13774  	// null. It is an error if a field in this list has a non-empty value.
 13775  	// This may be used to include null fields in Patch requests.
 13776  	NullFields []string `json:"-"`
 13777  }
 13778  
 13779  func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
 13780  	type NoMethod UserRolePermissionGroupsListResponse
 13781  	raw := NoMethod(*s)
 13782  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13783  }
 13784  
 13785  // UserRolePermissionsListResponse: User Role Permission List Response
 13786  type UserRolePermissionsListResponse struct {
 13787  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13788  	// string "dfareporting#userRolePermissionsListResponse".
 13789  	Kind string `json:"kind,omitempty"`
 13790  
 13791  	// UserRolePermissions: User role permission collection.
 13792  	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
 13793  
 13794  	// ServerResponse contains the HTTP response code and headers from the
 13795  	// server.
 13796  	googleapi.ServerResponse `json:"-"`
 13797  
 13798  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13799  	// unconditionally include in API requests. By default, fields with
 13800  	// empty or default values are omitted from API requests. However, any
 13801  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13802  	// sent to the server regardless of whether the field is empty or not.
 13803  	// This may be used to include empty fields in Patch requests.
 13804  	ForceSendFields []string `json:"-"`
 13805  
 13806  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13807  	// requests with the JSON null value. By default, fields with empty
 13808  	// values are omitted from API requests. However, any field with an
 13809  	// empty value appearing in NullFields will be sent to the server as
 13810  	// null. It is an error if a field in this list has a non-empty value.
 13811  	// This may be used to include null fields in Patch requests.
 13812  	NullFields []string `json:"-"`
 13813  }
 13814  
 13815  func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
 13816  	type NoMethod UserRolePermissionsListResponse
 13817  	raw := NoMethod(*s)
 13818  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13819  }
 13820  
 13821  // UserRolesListResponse: User Role List Response
 13822  type UserRolesListResponse struct {
 13823  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13824  	// string "dfareporting#userRolesListResponse".
 13825  	Kind string `json:"kind,omitempty"`
 13826  
 13827  	// NextPageToken: Pagination token to be used for the next list
 13828  	// operation.
 13829  	NextPageToken string `json:"nextPageToken,omitempty"`
 13830  
 13831  	// UserRoles: User role collection.
 13832  	UserRoles []*UserRole `json:"userRoles,omitempty"`
 13833  
 13834  	// ServerResponse contains the HTTP response code and headers from the
 13835  	// server.
 13836  	googleapi.ServerResponse `json:"-"`
 13837  
 13838  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13839  	// unconditionally include in API requests. By default, fields with
 13840  	// empty or default values are omitted from API requests. However, any
 13841  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13842  	// sent to the server regardless of whether the field is empty or not.
 13843  	// This may be used to include empty fields in Patch requests.
 13844  	ForceSendFields []string `json:"-"`
 13845  
 13846  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13847  	// requests with the JSON null value. By default, fields with empty
 13848  	// values are omitted from API requests. However, any field with an
 13849  	// empty value appearing in NullFields will be sent to the server as
 13850  	// null. It is an error if a field in this list has a non-empty value.
 13851  	// This may be used to include null fields in Patch requests.
 13852  	NullFields []string `json:"-"`
 13853  }
 13854  
 13855  func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
 13856  	type NoMethod UserRolesListResponse
 13857  	raw := NoMethod(*s)
 13858  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13859  }
 13860  
 13861  // VideoFormat: Contains information about supported video formats.
 13862  type VideoFormat struct {
 13863  	// FileType: File type of the video format.
 13864  	//
 13865  	// Possible values:
 13866  	//   "FLV"
 13867  	//   "THREEGPP"
 13868  	//   "MP4"
 13869  	//   "WEBM"
 13870  	//   "M3U8"
 13871  	FileType string `json:"fileType,omitempty"`
 13872  
 13873  	// Id: ID of the video format.
 13874  	Id int64 `json:"id,omitempty"`
 13875  
 13876  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13877  	// string "dfareporting#videoFormat".
 13878  	Kind string `json:"kind,omitempty"`
 13879  
 13880  	// Resolution: The resolution of this video format.
 13881  	Resolution *Size `json:"resolution,omitempty"`
 13882  
 13883  	// TargetBitRate: The target bit rate of this video format.
 13884  	TargetBitRate int64 `json:"targetBitRate,omitempty"`
 13885  
 13886  	// ServerResponse contains the HTTP response code and headers from the
 13887  	// server.
 13888  	googleapi.ServerResponse `json:"-"`
 13889  
 13890  	// ForceSendFields is a list of field names (e.g. "FileType") to
 13891  	// unconditionally include in API requests. By default, fields with
 13892  	// empty or default values are omitted from API requests. However, any
 13893  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13894  	// sent to the server regardless of whether the field is empty or not.
 13895  	// This may be used to include empty fields in Patch requests.
 13896  	ForceSendFields []string `json:"-"`
 13897  
 13898  	// NullFields is a list of field names (e.g. "FileType") to include in
 13899  	// API requests with the JSON null value. By default, fields with empty
 13900  	// values are omitted from API requests. However, any field with an
 13901  	// empty value appearing in NullFields will be sent to the server as
 13902  	// null. It is an error if a field in this list has a non-empty value.
 13903  	// This may be used to include null fields in Patch requests.
 13904  	NullFields []string `json:"-"`
 13905  }
 13906  
 13907  func (s *VideoFormat) MarshalJSON() ([]byte, error) {
 13908  	type NoMethod VideoFormat
 13909  	raw := NoMethod(*s)
 13910  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13911  }
 13912  
 13913  // VideoFormatsListResponse: Video Format List Response
 13914  type VideoFormatsListResponse struct {
 13915  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13916  	// string "dfareporting#videoFormatsListResponse".
 13917  	Kind string `json:"kind,omitempty"`
 13918  
 13919  	// VideoFormats: Video format collection.
 13920  	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
 13921  
 13922  	// ServerResponse contains the HTTP response code and headers from the
 13923  	// server.
 13924  	googleapi.ServerResponse `json:"-"`
 13925  
 13926  	// ForceSendFields is a list of field names (e.g. "Kind") to
 13927  	// unconditionally include in API requests. By default, fields with
 13928  	// empty or default values are omitted from API requests. However, any
 13929  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13930  	// sent to the server regardless of whether the field is empty or not.
 13931  	// This may be used to include empty fields in Patch requests.
 13932  	ForceSendFields []string `json:"-"`
 13933  
 13934  	// NullFields is a list of field names (e.g. "Kind") to include in API
 13935  	// requests with the JSON null value. By default, fields with empty
 13936  	// values are omitted from API requests. However, any field with an
 13937  	// empty value appearing in NullFields will be sent to the server as
 13938  	// null. It is an error if a field in this list has a non-empty value.
 13939  	// This may be used to include null fields in Patch requests.
 13940  	NullFields []string `json:"-"`
 13941  }
 13942  
 13943  func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
 13944  	type NoMethod VideoFormatsListResponse
 13945  	raw := NoMethod(*s)
 13946  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13947  }
 13948  
 13949  // VideoOffset: Video Offset
 13950  type VideoOffset struct {
 13951  	// OffsetPercentage: Duration, as a percentage of video duration. Do not
 13952  	// set when offsetSeconds is set. Acceptable values are 0 to 100,
 13953  	// inclusive.
 13954  	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
 13955  
 13956  	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
 13957  	// is set. Acceptable values are 0 to 86399, inclusive.
 13958  	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
 13959  
 13960  	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
 13961  	// unconditionally include in API requests. By default, fields with
 13962  	// empty or default values are omitted from API requests. However, any
 13963  	// non-pointer, non-interface field appearing in ForceSendFields will be
 13964  	// sent to the server regardless of whether the field is empty or not.
 13965  	// This may be used to include empty fields in Patch requests.
 13966  	ForceSendFields []string `json:"-"`
 13967  
 13968  	// NullFields is a list of field names (e.g. "OffsetPercentage") to
 13969  	// include in API requests with the JSON null value. By default, fields
 13970  	// with empty values are omitted from API requests. However, any field
 13971  	// with an empty value appearing in NullFields will be sent to the
 13972  	// server as null. It is an error if a field in this list has a
 13973  	// non-empty value. This may be used to include null fields in Patch
 13974  	// requests.
 13975  	NullFields []string `json:"-"`
 13976  }
 13977  
 13978  func (s *VideoOffset) MarshalJSON() ([]byte, error) {
 13979  	type NoMethod VideoOffset
 13980  	raw := NoMethod(*s)
 13981  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 13982  }
 13983  
 13984  // VideoSettings: Video Settings
 13985  type VideoSettings struct {
 13986  	// CompanionSettings: Settings for the companion creatives of video
 13987  	// creatives served to this placement.
 13988  	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
 13989  
 13990  	// Kind: Identifies what kind of resource this is. Value: the fixed
 13991  	// string "dfareporting#videoSettings".
 13992  	Kind string `json:"kind,omitempty"`
 13993  
 13994  	// Orientation: Orientation of a video placement. If this value is set,
 13995  	// placement will return assets matching the specified orientation.
 13996  	//
 13997  	// Possible values:
 13998  	//   "ANY"
 13999  	//   "LANDSCAPE"
 14000  	//   "PORTRAIT"
 14001  	Orientation string `json:"orientation,omitempty"`
 14002  
 14003  	// SkippableSettings: Settings for the skippability of video creatives
 14004  	// served to this placement. If this object is provided, the
 14005  	// creative-level skippable settings will be overridden.
 14006  	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
 14007  
 14008  	// TranscodeSettings: Settings for the transcodes of video creatives
 14009  	// served to this placement. If this object is provided, the
 14010  	// creative-level transcode settings will be overridden.
 14011  	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
 14012  
 14013  	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
 14014  	// to unconditionally include in API requests. By default, fields with
 14015  	// empty or default values are omitted from API requests. However, any
 14016  	// non-pointer, non-interface field appearing in ForceSendFields will be
 14017  	// sent to the server regardless of whether the field is empty or not.
 14018  	// This may be used to include empty fields in Patch requests.
 14019  	ForceSendFields []string `json:"-"`
 14020  
 14021  	// NullFields is a list of field names (e.g. "CompanionSettings") to
 14022  	// include in API requests with the JSON null value. By default, fields
 14023  	// with empty values are omitted from API requests. However, any field
 14024  	// with an empty value appearing in NullFields will be sent to the
 14025  	// server as null. It is an error if a field in this list has a
 14026  	// non-empty value. This may be used to include null fields in Patch
 14027  	// requests.
 14028  	NullFields []string `json:"-"`
 14029  }
 14030  
 14031  func (s *VideoSettings) MarshalJSON() ([]byte, error) {
 14032  	type NoMethod VideoSettings
 14033  	raw := NoMethod(*s)
 14034  	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
 14035  }
 14036  
 14037  // method id "dfareporting.accountActiveAdSummaries.get":
 14038  
 14039  type AccountActiveAdSummariesGetCall struct {
 14040  	s                *Service
 14041  	profileId        int64
 14042  	summaryAccountId int64
 14043  	urlParams_       gensupport.URLParams
 14044  	ifNoneMatch_     string
 14045  	ctx_             context.Context
 14046  	header_          http.Header
 14047  }
 14048  
 14049  // Get: Gets the account's active ad summary by account ID.
 14050  //
 14051  // - profileId: User profile ID associated with this request.
 14052  // - summaryAccountId: Account ID.
 14053  func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
 14054  	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14055  	c.profileId = profileId
 14056  	c.summaryAccountId = summaryAccountId
 14057  	return c
 14058  }
 14059  
 14060  // Fields allows partial responses to be retrieved. See
 14061  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14062  // for more information.
 14063  func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
 14064  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14065  	return c
 14066  }
 14067  
 14068  // IfNoneMatch sets the optional parameter which makes the operation
 14069  // fail if the object's ETag matches the given value. This is useful for
 14070  // getting updates only after the object has changed since the last
 14071  // request. Use googleapi.IsNotModified to check whether the response
 14072  // error from Do is the result of In-None-Match.
 14073  func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
 14074  	c.ifNoneMatch_ = entityTag
 14075  	return c
 14076  }
 14077  
 14078  // Context sets the context to be used in this call's Do method. Any
 14079  // pending HTTP request will be aborted if the provided context is
 14080  // canceled.
 14081  func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
 14082  	c.ctx_ = ctx
 14083  	return c
 14084  }
 14085  
 14086  // Header returns an http.Header that can be modified by the caller to
 14087  // add HTTP headers to the request.
 14088  func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
 14089  	if c.header_ == nil {
 14090  		c.header_ = make(http.Header)
 14091  	}
 14092  	return c.header_
 14093  }
 14094  
 14095  func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
 14096  	reqHeaders := make(http.Header)
 14097  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 14098  	for k, v := range c.header_ {
 14099  		reqHeaders[k] = v
 14100  	}
 14101  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14102  	if c.ifNoneMatch_ != "" {
 14103  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14104  	}
 14105  	var body io.Reader = nil
 14106  	c.urlParams_.Set("alt", alt)
 14107  	c.urlParams_.Set("prettyPrint", "false")
 14108  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
 14109  	urls += "?" + c.urlParams_.Encode()
 14110  	req, err := http.NewRequest("GET", urls, body)
 14111  	if err != nil {
 14112  		return nil, err
 14113  	}
 14114  	req.Header = reqHeaders
 14115  	googleapi.Expand(req.URL, map[string]string{
 14116  		"profileId":        strconv.FormatInt(c.profileId, 10),
 14117  		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
 14118  	})
 14119  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14120  }
 14121  
 14122  // Do executes the "dfareporting.accountActiveAdSummaries.get" call.
 14123  // Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
 14124  // non-2xx status code is an error. Response headers are in either
 14125  // *AccountActiveAdSummary.ServerResponse.Header or (if a response was
 14126  // returned at all) in error.(*googleapi.Error).Header. Use
 14127  // googleapi.IsNotModified to check whether the returned error was
 14128  // because http.StatusNotModified was returned.
 14129  func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
 14130  	gensupport.SetOptions(c.urlParams_, opts...)
 14131  	res, err := c.doRequest("json")
 14132  	if res != nil && res.StatusCode == http.StatusNotModified {
 14133  		if res.Body != nil {
 14134  			res.Body.Close()
 14135  		}
 14136  		return nil, &googleapi.Error{
 14137  			Code:   res.StatusCode,
 14138  			Header: res.Header,
 14139  		}
 14140  	}
 14141  	if err != nil {
 14142  		return nil, err
 14143  	}
 14144  	defer googleapi.CloseBody(res)
 14145  	if err := googleapi.CheckResponse(res); err != nil {
 14146  		return nil, err
 14147  	}
 14148  	ret := &AccountActiveAdSummary{
 14149  		ServerResponse: googleapi.ServerResponse{
 14150  			Header:         res.Header,
 14151  			HTTPStatusCode: res.StatusCode,
 14152  		},
 14153  	}
 14154  	target := &ret
 14155  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14156  		return nil, err
 14157  	}
 14158  	return ret, nil
 14159  	// {
 14160  	//   "description": "Gets the account's active ad summary by account ID.",
 14161  	//   "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 14162  	//   "httpMethod": "GET",
 14163  	//   "id": "dfareporting.accountActiveAdSummaries.get",
 14164  	//   "parameterOrder": [
 14165  	//     "profileId",
 14166  	//     "summaryAccountId"
 14167  	//   ],
 14168  	//   "parameters": {
 14169  	//     "profileId": {
 14170  	//       "description": "User profile ID associated with this request.",
 14171  	//       "format": "int64",
 14172  	//       "location": "path",
 14173  	//       "required": true,
 14174  	//       "type": "string"
 14175  	//     },
 14176  	//     "summaryAccountId": {
 14177  	//       "description": "Account ID.",
 14178  	//       "format": "int64",
 14179  	//       "location": "path",
 14180  	//       "required": true,
 14181  	//       "type": "string"
 14182  	//     }
 14183  	//   },
 14184  	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
 14185  	//   "response": {
 14186  	//     "$ref": "AccountActiveAdSummary"
 14187  	//   },
 14188  	//   "scopes": [
 14189  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14190  	//   ]
 14191  	// }
 14192  
 14193  }
 14194  
 14195  // method id "dfareporting.accountPermissionGroups.get":
 14196  
 14197  type AccountPermissionGroupsGetCall struct {
 14198  	s            *Service
 14199  	profileId    int64
 14200  	id           int64
 14201  	urlParams_   gensupport.URLParams
 14202  	ifNoneMatch_ string
 14203  	ctx_         context.Context
 14204  	header_      http.Header
 14205  }
 14206  
 14207  // Get: Gets one account permission group by ID.
 14208  //
 14209  // - id: Account permission group ID.
 14210  // - profileId: User profile ID associated with this request.
 14211  func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
 14212  	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14213  	c.profileId = profileId
 14214  	c.id = id
 14215  	return c
 14216  }
 14217  
 14218  // Fields allows partial responses to be retrieved. See
 14219  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14220  // for more information.
 14221  func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
 14222  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14223  	return c
 14224  }
 14225  
 14226  // IfNoneMatch sets the optional parameter which makes the operation
 14227  // fail if the object's ETag matches the given value. This is useful for
 14228  // getting updates only after the object has changed since the last
 14229  // request. Use googleapi.IsNotModified to check whether the response
 14230  // error from Do is the result of In-None-Match.
 14231  func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
 14232  	c.ifNoneMatch_ = entityTag
 14233  	return c
 14234  }
 14235  
 14236  // Context sets the context to be used in this call's Do method. Any
 14237  // pending HTTP request will be aborted if the provided context is
 14238  // canceled.
 14239  func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
 14240  	c.ctx_ = ctx
 14241  	return c
 14242  }
 14243  
 14244  // Header returns an http.Header that can be modified by the caller to
 14245  // add HTTP headers to the request.
 14246  func (c *AccountPermissionGroupsGetCall) Header() http.Header {
 14247  	if c.header_ == nil {
 14248  		c.header_ = make(http.Header)
 14249  	}
 14250  	return c.header_
 14251  }
 14252  
 14253  func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 14254  	reqHeaders := make(http.Header)
 14255  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 14256  	for k, v := range c.header_ {
 14257  		reqHeaders[k] = v
 14258  	}
 14259  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14260  	if c.ifNoneMatch_ != "" {
 14261  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14262  	}
 14263  	var body io.Reader = nil
 14264  	c.urlParams_.Set("alt", alt)
 14265  	c.urlParams_.Set("prettyPrint", "false")
 14266  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
 14267  	urls += "?" + c.urlParams_.Encode()
 14268  	req, err := http.NewRequest("GET", urls, body)
 14269  	if err != nil {
 14270  		return nil, err
 14271  	}
 14272  	req.Header = reqHeaders
 14273  	googleapi.Expand(req.URL, map[string]string{
 14274  		"profileId": strconv.FormatInt(c.profileId, 10),
 14275  		"id":        strconv.FormatInt(c.id, 10),
 14276  	})
 14277  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14278  }
 14279  
 14280  // Do executes the "dfareporting.accountPermissionGroups.get" call.
 14281  // Exactly one of *AccountPermissionGroup or error will be non-nil. Any
 14282  // non-2xx status code is an error. Response headers are in either
 14283  // *AccountPermissionGroup.ServerResponse.Header or (if a response was
 14284  // returned at all) in error.(*googleapi.Error).Header. Use
 14285  // googleapi.IsNotModified to check whether the returned error was
 14286  // because http.StatusNotModified was returned.
 14287  func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
 14288  	gensupport.SetOptions(c.urlParams_, opts...)
 14289  	res, err := c.doRequest("json")
 14290  	if res != nil && res.StatusCode == http.StatusNotModified {
 14291  		if res.Body != nil {
 14292  			res.Body.Close()
 14293  		}
 14294  		return nil, &googleapi.Error{
 14295  			Code:   res.StatusCode,
 14296  			Header: res.Header,
 14297  		}
 14298  	}
 14299  	if err != nil {
 14300  		return nil, err
 14301  	}
 14302  	defer googleapi.CloseBody(res)
 14303  	if err := googleapi.CheckResponse(res); err != nil {
 14304  		return nil, err
 14305  	}
 14306  	ret := &AccountPermissionGroup{
 14307  		ServerResponse: googleapi.ServerResponse{
 14308  			Header:         res.Header,
 14309  			HTTPStatusCode: res.StatusCode,
 14310  		},
 14311  	}
 14312  	target := &ret
 14313  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14314  		return nil, err
 14315  	}
 14316  	return ret, nil
 14317  	// {
 14318  	//   "description": "Gets one account permission group by ID.",
 14319  	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 14320  	//   "httpMethod": "GET",
 14321  	//   "id": "dfareporting.accountPermissionGroups.get",
 14322  	//   "parameterOrder": [
 14323  	//     "profileId",
 14324  	//     "id"
 14325  	//   ],
 14326  	//   "parameters": {
 14327  	//     "id": {
 14328  	//       "description": "Account permission group ID.",
 14329  	//       "format": "int64",
 14330  	//       "location": "path",
 14331  	//       "required": true,
 14332  	//       "type": "string"
 14333  	//     },
 14334  	//     "profileId": {
 14335  	//       "description": "User profile ID associated with this request.",
 14336  	//       "format": "int64",
 14337  	//       "location": "path",
 14338  	//       "required": true,
 14339  	//       "type": "string"
 14340  	//     }
 14341  	//   },
 14342  	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
 14343  	//   "response": {
 14344  	//     "$ref": "AccountPermissionGroup"
 14345  	//   },
 14346  	//   "scopes": [
 14347  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14348  	//   ]
 14349  	// }
 14350  
 14351  }
 14352  
 14353  // method id "dfareporting.accountPermissionGroups.list":
 14354  
 14355  type AccountPermissionGroupsListCall struct {
 14356  	s            *Service
 14357  	profileId    int64
 14358  	urlParams_   gensupport.URLParams
 14359  	ifNoneMatch_ string
 14360  	ctx_         context.Context
 14361  	header_      http.Header
 14362  }
 14363  
 14364  // List: Retrieves the list of account permission groups.
 14365  //
 14366  // - profileId: User profile ID associated with this request.
 14367  func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
 14368  	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14369  	c.profileId = profileId
 14370  	return c
 14371  }
 14372  
 14373  // Fields allows partial responses to be retrieved. See
 14374  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14375  // for more information.
 14376  func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
 14377  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14378  	return c
 14379  }
 14380  
 14381  // IfNoneMatch sets the optional parameter which makes the operation
 14382  // fail if the object's ETag matches the given value. This is useful for
 14383  // getting updates only after the object has changed since the last
 14384  // request. Use googleapi.IsNotModified to check whether the response
 14385  // error from Do is the result of In-None-Match.
 14386  func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
 14387  	c.ifNoneMatch_ = entityTag
 14388  	return c
 14389  }
 14390  
 14391  // Context sets the context to be used in this call's Do method. Any
 14392  // pending HTTP request will be aborted if the provided context is
 14393  // canceled.
 14394  func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
 14395  	c.ctx_ = ctx
 14396  	return c
 14397  }
 14398  
 14399  // Header returns an http.Header that can be modified by the caller to
 14400  // add HTTP headers to the request.
 14401  func (c *AccountPermissionGroupsListCall) Header() http.Header {
 14402  	if c.header_ == nil {
 14403  		c.header_ = make(http.Header)
 14404  	}
 14405  	return c.header_
 14406  }
 14407  
 14408  func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 14409  	reqHeaders := make(http.Header)
 14410  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 14411  	for k, v := range c.header_ {
 14412  		reqHeaders[k] = v
 14413  	}
 14414  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14415  	if c.ifNoneMatch_ != "" {
 14416  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14417  	}
 14418  	var body io.Reader = nil
 14419  	c.urlParams_.Set("alt", alt)
 14420  	c.urlParams_.Set("prettyPrint", "false")
 14421  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
 14422  	urls += "?" + c.urlParams_.Encode()
 14423  	req, err := http.NewRequest("GET", urls, body)
 14424  	if err != nil {
 14425  		return nil, err
 14426  	}
 14427  	req.Header = reqHeaders
 14428  	googleapi.Expand(req.URL, map[string]string{
 14429  		"profileId": strconv.FormatInt(c.profileId, 10),
 14430  	})
 14431  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14432  }
 14433  
 14434  // Do executes the "dfareporting.accountPermissionGroups.list" call.
 14435  // Exactly one of *AccountPermissionGroupsListResponse or error will be
 14436  // non-nil. Any non-2xx status code is an error. Response headers are in
 14437  // either *AccountPermissionGroupsListResponse.ServerResponse.Header or
 14438  // (if a response was returned at all) in
 14439  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 14440  // whether the returned error was because http.StatusNotModified was
 14441  // returned.
 14442  func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
 14443  	gensupport.SetOptions(c.urlParams_, opts...)
 14444  	res, err := c.doRequest("json")
 14445  	if res != nil && res.StatusCode == http.StatusNotModified {
 14446  		if res.Body != nil {
 14447  			res.Body.Close()
 14448  		}
 14449  		return nil, &googleapi.Error{
 14450  			Code:   res.StatusCode,
 14451  			Header: res.Header,
 14452  		}
 14453  	}
 14454  	if err != nil {
 14455  		return nil, err
 14456  	}
 14457  	defer googleapi.CloseBody(res)
 14458  	if err := googleapi.CheckResponse(res); err != nil {
 14459  		return nil, err
 14460  	}
 14461  	ret := &AccountPermissionGroupsListResponse{
 14462  		ServerResponse: googleapi.ServerResponse{
 14463  			Header:         res.Header,
 14464  			HTTPStatusCode: res.StatusCode,
 14465  		},
 14466  	}
 14467  	target := &ret
 14468  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14469  		return nil, err
 14470  	}
 14471  	return ret, nil
 14472  	// {
 14473  	//   "description": "Retrieves the list of account permission groups.",
 14474  	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups",
 14475  	//   "httpMethod": "GET",
 14476  	//   "id": "dfareporting.accountPermissionGroups.list",
 14477  	//   "parameterOrder": [
 14478  	//     "profileId"
 14479  	//   ],
 14480  	//   "parameters": {
 14481  	//     "profileId": {
 14482  	//       "description": "User profile ID associated with this request.",
 14483  	//       "format": "int64",
 14484  	//       "location": "path",
 14485  	//       "required": true,
 14486  	//       "type": "string"
 14487  	//     }
 14488  	//   },
 14489  	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
 14490  	//   "response": {
 14491  	//     "$ref": "AccountPermissionGroupsListResponse"
 14492  	//   },
 14493  	//   "scopes": [
 14494  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14495  	//   ]
 14496  	// }
 14497  
 14498  }
 14499  
 14500  // method id "dfareporting.accountPermissions.get":
 14501  
 14502  type AccountPermissionsGetCall struct {
 14503  	s            *Service
 14504  	profileId    int64
 14505  	id           int64
 14506  	urlParams_   gensupport.URLParams
 14507  	ifNoneMatch_ string
 14508  	ctx_         context.Context
 14509  	header_      http.Header
 14510  }
 14511  
 14512  // Get: Gets one account permission by ID.
 14513  //
 14514  // - id: Account permission ID.
 14515  // - profileId: User profile ID associated with this request.
 14516  func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
 14517  	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14518  	c.profileId = profileId
 14519  	c.id = id
 14520  	return c
 14521  }
 14522  
 14523  // Fields allows partial responses to be retrieved. See
 14524  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14525  // for more information.
 14526  func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
 14527  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14528  	return c
 14529  }
 14530  
 14531  // IfNoneMatch sets the optional parameter which makes the operation
 14532  // fail if the object's ETag matches the given value. This is useful for
 14533  // getting updates only after the object has changed since the last
 14534  // request. Use googleapi.IsNotModified to check whether the response
 14535  // error from Do is the result of In-None-Match.
 14536  func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
 14537  	c.ifNoneMatch_ = entityTag
 14538  	return c
 14539  }
 14540  
 14541  // Context sets the context to be used in this call's Do method. Any
 14542  // pending HTTP request will be aborted if the provided context is
 14543  // canceled.
 14544  func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
 14545  	c.ctx_ = ctx
 14546  	return c
 14547  }
 14548  
 14549  // Header returns an http.Header that can be modified by the caller to
 14550  // add HTTP headers to the request.
 14551  func (c *AccountPermissionsGetCall) Header() http.Header {
 14552  	if c.header_ == nil {
 14553  		c.header_ = make(http.Header)
 14554  	}
 14555  	return c.header_
 14556  }
 14557  
 14558  func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 14559  	reqHeaders := make(http.Header)
 14560  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 14561  	for k, v := range c.header_ {
 14562  		reqHeaders[k] = v
 14563  	}
 14564  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14565  	if c.ifNoneMatch_ != "" {
 14566  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14567  	}
 14568  	var body io.Reader = nil
 14569  	c.urlParams_.Set("alt", alt)
 14570  	c.urlParams_.Set("prettyPrint", "false")
 14571  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
 14572  	urls += "?" + c.urlParams_.Encode()
 14573  	req, err := http.NewRequest("GET", urls, body)
 14574  	if err != nil {
 14575  		return nil, err
 14576  	}
 14577  	req.Header = reqHeaders
 14578  	googleapi.Expand(req.URL, map[string]string{
 14579  		"profileId": strconv.FormatInt(c.profileId, 10),
 14580  		"id":        strconv.FormatInt(c.id, 10),
 14581  	})
 14582  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14583  }
 14584  
 14585  // Do executes the "dfareporting.accountPermissions.get" call.
 14586  // Exactly one of *AccountPermission or error will be non-nil. Any
 14587  // non-2xx status code is an error. Response headers are in either
 14588  // *AccountPermission.ServerResponse.Header or (if a response was
 14589  // returned at all) in error.(*googleapi.Error).Header. Use
 14590  // googleapi.IsNotModified to check whether the returned error was
 14591  // because http.StatusNotModified was returned.
 14592  func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
 14593  	gensupport.SetOptions(c.urlParams_, opts...)
 14594  	res, err := c.doRequest("json")
 14595  	if res != nil && res.StatusCode == http.StatusNotModified {
 14596  		if res.Body != nil {
 14597  			res.Body.Close()
 14598  		}
 14599  		return nil, &googleapi.Error{
 14600  			Code:   res.StatusCode,
 14601  			Header: res.Header,
 14602  		}
 14603  	}
 14604  	if err != nil {
 14605  		return nil, err
 14606  	}
 14607  	defer googleapi.CloseBody(res)
 14608  	if err := googleapi.CheckResponse(res); err != nil {
 14609  		return nil, err
 14610  	}
 14611  	ret := &AccountPermission{
 14612  		ServerResponse: googleapi.ServerResponse{
 14613  			Header:         res.Header,
 14614  			HTTPStatusCode: res.StatusCode,
 14615  		},
 14616  	}
 14617  	target := &ret
 14618  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14619  		return nil, err
 14620  	}
 14621  	return ret, nil
 14622  	// {
 14623  	//   "description": "Gets one account permission by ID.",
 14624  	//   "flatPath": "userprofiles/{profileId}/accountPermissions/{id}",
 14625  	//   "httpMethod": "GET",
 14626  	//   "id": "dfareporting.accountPermissions.get",
 14627  	//   "parameterOrder": [
 14628  	//     "profileId",
 14629  	//     "id"
 14630  	//   ],
 14631  	//   "parameters": {
 14632  	//     "id": {
 14633  	//       "description": "Account permission ID.",
 14634  	//       "format": "int64",
 14635  	//       "location": "path",
 14636  	//       "required": true,
 14637  	//       "type": "string"
 14638  	//     },
 14639  	//     "profileId": {
 14640  	//       "description": "User profile ID associated with this request.",
 14641  	//       "format": "int64",
 14642  	//       "location": "path",
 14643  	//       "required": true,
 14644  	//       "type": "string"
 14645  	//     }
 14646  	//   },
 14647  	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
 14648  	//   "response": {
 14649  	//     "$ref": "AccountPermission"
 14650  	//   },
 14651  	//   "scopes": [
 14652  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14653  	//   ]
 14654  	// }
 14655  
 14656  }
 14657  
 14658  // method id "dfareporting.accountPermissions.list":
 14659  
 14660  type AccountPermissionsListCall struct {
 14661  	s            *Service
 14662  	profileId    int64
 14663  	urlParams_   gensupport.URLParams
 14664  	ifNoneMatch_ string
 14665  	ctx_         context.Context
 14666  	header_      http.Header
 14667  }
 14668  
 14669  // List: Retrieves the list of account permissions.
 14670  //
 14671  // - profileId: User profile ID associated with this request.
 14672  func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
 14673  	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14674  	c.profileId = profileId
 14675  	return c
 14676  }
 14677  
 14678  // Fields allows partial responses to be retrieved. See
 14679  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14680  // for more information.
 14681  func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
 14682  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14683  	return c
 14684  }
 14685  
 14686  // IfNoneMatch sets the optional parameter which makes the operation
 14687  // fail if the object's ETag matches the given value. This is useful for
 14688  // getting updates only after the object has changed since the last
 14689  // request. Use googleapi.IsNotModified to check whether the response
 14690  // error from Do is the result of In-None-Match.
 14691  func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
 14692  	c.ifNoneMatch_ = entityTag
 14693  	return c
 14694  }
 14695  
 14696  // Context sets the context to be used in this call's Do method. Any
 14697  // pending HTTP request will be aborted if the provided context is
 14698  // canceled.
 14699  func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
 14700  	c.ctx_ = ctx
 14701  	return c
 14702  }
 14703  
 14704  // Header returns an http.Header that can be modified by the caller to
 14705  // add HTTP headers to the request.
 14706  func (c *AccountPermissionsListCall) Header() http.Header {
 14707  	if c.header_ == nil {
 14708  		c.header_ = make(http.Header)
 14709  	}
 14710  	return c.header_
 14711  }
 14712  
 14713  func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
 14714  	reqHeaders := make(http.Header)
 14715  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 14716  	for k, v := range c.header_ {
 14717  		reqHeaders[k] = v
 14718  	}
 14719  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14720  	if c.ifNoneMatch_ != "" {
 14721  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14722  	}
 14723  	var body io.Reader = nil
 14724  	c.urlParams_.Set("alt", alt)
 14725  	c.urlParams_.Set("prettyPrint", "false")
 14726  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
 14727  	urls += "?" + c.urlParams_.Encode()
 14728  	req, err := http.NewRequest("GET", urls, body)
 14729  	if err != nil {
 14730  		return nil, err
 14731  	}
 14732  	req.Header = reqHeaders
 14733  	googleapi.Expand(req.URL, map[string]string{
 14734  		"profileId": strconv.FormatInt(c.profileId, 10),
 14735  	})
 14736  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14737  }
 14738  
 14739  // Do executes the "dfareporting.accountPermissions.list" call.
 14740  // Exactly one of *AccountPermissionsListResponse or error will be
 14741  // non-nil. Any non-2xx status code is an error. Response headers are in
 14742  // either *AccountPermissionsListResponse.ServerResponse.Header or (if a
 14743  // response was returned at all) in error.(*googleapi.Error).Header. Use
 14744  // googleapi.IsNotModified to check whether the returned error was
 14745  // because http.StatusNotModified was returned.
 14746  func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
 14747  	gensupport.SetOptions(c.urlParams_, opts...)
 14748  	res, err := c.doRequest("json")
 14749  	if res != nil && res.StatusCode == http.StatusNotModified {
 14750  		if res.Body != nil {
 14751  			res.Body.Close()
 14752  		}
 14753  		return nil, &googleapi.Error{
 14754  			Code:   res.StatusCode,
 14755  			Header: res.Header,
 14756  		}
 14757  	}
 14758  	if err != nil {
 14759  		return nil, err
 14760  	}
 14761  	defer googleapi.CloseBody(res)
 14762  	if err := googleapi.CheckResponse(res); err != nil {
 14763  		return nil, err
 14764  	}
 14765  	ret := &AccountPermissionsListResponse{
 14766  		ServerResponse: googleapi.ServerResponse{
 14767  			Header:         res.Header,
 14768  			HTTPStatusCode: res.StatusCode,
 14769  		},
 14770  	}
 14771  	target := &ret
 14772  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14773  		return nil, err
 14774  	}
 14775  	return ret, nil
 14776  	// {
 14777  	//   "description": "Retrieves the list of account permissions.",
 14778  	//   "flatPath": "userprofiles/{profileId}/accountPermissions",
 14779  	//   "httpMethod": "GET",
 14780  	//   "id": "dfareporting.accountPermissions.list",
 14781  	//   "parameterOrder": [
 14782  	//     "profileId"
 14783  	//   ],
 14784  	//   "parameters": {
 14785  	//     "profileId": {
 14786  	//       "description": "User profile ID associated with this request.",
 14787  	//       "format": "int64",
 14788  	//       "location": "path",
 14789  	//       "required": true,
 14790  	//       "type": "string"
 14791  	//     }
 14792  	//   },
 14793  	//   "path": "userprofiles/{profileId}/accountPermissions",
 14794  	//   "response": {
 14795  	//     "$ref": "AccountPermissionsListResponse"
 14796  	//   },
 14797  	//   "scopes": [
 14798  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14799  	//   ]
 14800  	// }
 14801  
 14802  }
 14803  
 14804  // method id "dfareporting.accountUserProfiles.get":
 14805  
 14806  type AccountUserProfilesGetCall struct {
 14807  	s            *Service
 14808  	profileId    int64
 14809  	id           int64
 14810  	urlParams_   gensupport.URLParams
 14811  	ifNoneMatch_ string
 14812  	ctx_         context.Context
 14813  	header_      http.Header
 14814  }
 14815  
 14816  // Get: Gets one account user profile by ID.
 14817  //
 14818  // - id: User profile ID.
 14819  // - profileId: User profile ID associated with this request.
 14820  func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
 14821  	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14822  	c.profileId = profileId
 14823  	c.id = id
 14824  	return c
 14825  }
 14826  
 14827  // Fields allows partial responses to be retrieved. See
 14828  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14829  // for more information.
 14830  func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
 14831  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14832  	return c
 14833  }
 14834  
 14835  // IfNoneMatch sets the optional parameter which makes the operation
 14836  // fail if the object's ETag matches the given value. This is useful for
 14837  // getting updates only after the object has changed since the last
 14838  // request. Use googleapi.IsNotModified to check whether the response
 14839  // error from Do is the result of In-None-Match.
 14840  func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
 14841  	c.ifNoneMatch_ = entityTag
 14842  	return c
 14843  }
 14844  
 14845  // Context sets the context to be used in this call's Do method. Any
 14846  // pending HTTP request will be aborted if the provided context is
 14847  // canceled.
 14848  func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
 14849  	c.ctx_ = ctx
 14850  	return c
 14851  }
 14852  
 14853  // Header returns an http.Header that can be modified by the caller to
 14854  // add HTTP headers to the request.
 14855  func (c *AccountUserProfilesGetCall) Header() http.Header {
 14856  	if c.header_ == nil {
 14857  		c.header_ = make(http.Header)
 14858  	}
 14859  	return c.header_
 14860  }
 14861  
 14862  func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 14863  	reqHeaders := make(http.Header)
 14864  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 14865  	for k, v := range c.header_ {
 14866  		reqHeaders[k] = v
 14867  	}
 14868  	reqHeaders.Set("User-Agent", c.s.userAgent())
 14869  	if c.ifNoneMatch_ != "" {
 14870  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 14871  	}
 14872  	var body io.Reader = nil
 14873  	c.urlParams_.Set("alt", alt)
 14874  	c.urlParams_.Set("prettyPrint", "false")
 14875  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
 14876  	urls += "?" + c.urlParams_.Encode()
 14877  	req, err := http.NewRequest("GET", urls, body)
 14878  	if err != nil {
 14879  		return nil, err
 14880  	}
 14881  	req.Header = reqHeaders
 14882  	googleapi.Expand(req.URL, map[string]string{
 14883  		"profileId": strconv.FormatInt(c.profileId, 10),
 14884  		"id":        strconv.FormatInt(c.id, 10),
 14885  	})
 14886  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 14887  }
 14888  
 14889  // Do executes the "dfareporting.accountUserProfiles.get" call.
 14890  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 14891  // non-2xx status code is an error. Response headers are in either
 14892  // *AccountUserProfile.ServerResponse.Header or (if a response was
 14893  // returned at all) in error.(*googleapi.Error).Header. Use
 14894  // googleapi.IsNotModified to check whether the returned error was
 14895  // because http.StatusNotModified was returned.
 14896  func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 14897  	gensupport.SetOptions(c.urlParams_, opts...)
 14898  	res, err := c.doRequest("json")
 14899  	if res != nil && res.StatusCode == http.StatusNotModified {
 14900  		if res.Body != nil {
 14901  			res.Body.Close()
 14902  		}
 14903  		return nil, &googleapi.Error{
 14904  			Code:   res.StatusCode,
 14905  			Header: res.Header,
 14906  		}
 14907  	}
 14908  	if err != nil {
 14909  		return nil, err
 14910  	}
 14911  	defer googleapi.CloseBody(res)
 14912  	if err := googleapi.CheckResponse(res); err != nil {
 14913  		return nil, err
 14914  	}
 14915  	ret := &AccountUserProfile{
 14916  		ServerResponse: googleapi.ServerResponse{
 14917  			Header:         res.Header,
 14918  			HTTPStatusCode: res.StatusCode,
 14919  		},
 14920  	}
 14921  	target := &ret
 14922  	if err := gensupport.DecodeResponse(target, res); err != nil {
 14923  		return nil, err
 14924  	}
 14925  	return ret, nil
 14926  	// {
 14927  	//   "description": "Gets one account user profile by ID.",
 14928  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}",
 14929  	//   "httpMethod": "GET",
 14930  	//   "id": "dfareporting.accountUserProfiles.get",
 14931  	//   "parameterOrder": [
 14932  	//     "profileId",
 14933  	//     "id"
 14934  	//   ],
 14935  	//   "parameters": {
 14936  	//     "id": {
 14937  	//       "description": "User profile ID.",
 14938  	//       "format": "int64",
 14939  	//       "location": "path",
 14940  	//       "required": true,
 14941  	//       "type": "string"
 14942  	//     },
 14943  	//     "profileId": {
 14944  	//       "description": "User profile ID associated with this request.",
 14945  	//       "format": "int64",
 14946  	//       "location": "path",
 14947  	//       "required": true,
 14948  	//       "type": "string"
 14949  	//     }
 14950  	//   },
 14951  	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
 14952  	//   "response": {
 14953  	//     "$ref": "AccountUserProfile"
 14954  	//   },
 14955  	//   "scopes": [
 14956  	//     "https://www.googleapis.com/auth/dfatrafficking"
 14957  	//   ]
 14958  	// }
 14959  
 14960  }
 14961  
 14962  // method id "dfareporting.accountUserProfiles.insert":
 14963  
 14964  type AccountUserProfilesInsertCall struct {
 14965  	s                  *Service
 14966  	profileId          int64
 14967  	accountuserprofile *AccountUserProfile
 14968  	urlParams_         gensupport.URLParams
 14969  	ctx_               context.Context
 14970  	header_            http.Header
 14971  }
 14972  
 14973  // Insert: Inserts a new account user profile.
 14974  //
 14975  // - profileId: User profile ID associated with this request.
 14976  func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
 14977  	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 14978  	c.profileId = profileId
 14979  	c.accountuserprofile = accountuserprofile
 14980  	return c
 14981  }
 14982  
 14983  // Fields allows partial responses to be retrieved. See
 14984  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 14985  // for more information.
 14986  func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
 14987  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 14988  	return c
 14989  }
 14990  
 14991  // Context sets the context to be used in this call's Do method. Any
 14992  // pending HTTP request will be aborted if the provided context is
 14993  // canceled.
 14994  func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
 14995  	c.ctx_ = ctx
 14996  	return c
 14997  }
 14998  
 14999  // Header returns an http.Header that can be modified by the caller to
 15000  // add HTTP headers to the request.
 15001  func (c *AccountUserProfilesInsertCall) Header() http.Header {
 15002  	if c.header_ == nil {
 15003  		c.header_ = make(http.Header)
 15004  	}
 15005  	return c.header_
 15006  }
 15007  
 15008  func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
 15009  	reqHeaders := make(http.Header)
 15010  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15011  	for k, v := range c.header_ {
 15012  		reqHeaders[k] = v
 15013  	}
 15014  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15015  	var body io.Reader = nil
 15016  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15017  	if err != nil {
 15018  		return nil, err
 15019  	}
 15020  	reqHeaders.Set("Content-Type", "application/json")
 15021  	c.urlParams_.Set("alt", alt)
 15022  	c.urlParams_.Set("prettyPrint", "false")
 15023  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15024  	urls += "?" + c.urlParams_.Encode()
 15025  	req, err := http.NewRequest("POST", urls, body)
 15026  	if err != nil {
 15027  		return nil, err
 15028  	}
 15029  	req.Header = reqHeaders
 15030  	googleapi.Expand(req.URL, map[string]string{
 15031  		"profileId": strconv.FormatInt(c.profileId, 10),
 15032  	})
 15033  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15034  }
 15035  
 15036  // Do executes the "dfareporting.accountUserProfiles.insert" call.
 15037  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15038  // non-2xx status code is an error. Response headers are in either
 15039  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15040  // returned at all) in error.(*googleapi.Error).Header. Use
 15041  // googleapi.IsNotModified to check whether the returned error was
 15042  // because http.StatusNotModified was returned.
 15043  func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15044  	gensupport.SetOptions(c.urlParams_, opts...)
 15045  	res, err := c.doRequest("json")
 15046  	if res != nil && res.StatusCode == http.StatusNotModified {
 15047  		if res.Body != nil {
 15048  			res.Body.Close()
 15049  		}
 15050  		return nil, &googleapi.Error{
 15051  			Code:   res.StatusCode,
 15052  			Header: res.Header,
 15053  		}
 15054  	}
 15055  	if err != nil {
 15056  		return nil, err
 15057  	}
 15058  	defer googleapi.CloseBody(res)
 15059  	if err := googleapi.CheckResponse(res); err != nil {
 15060  		return nil, err
 15061  	}
 15062  	ret := &AccountUserProfile{
 15063  		ServerResponse: googleapi.ServerResponse{
 15064  			Header:         res.Header,
 15065  			HTTPStatusCode: res.StatusCode,
 15066  		},
 15067  	}
 15068  	target := &ret
 15069  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15070  		return nil, err
 15071  	}
 15072  	return ret, nil
 15073  	// {
 15074  	//   "description": "Inserts a new account user profile.",
 15075  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 15076  	//   "httpMethod": "POST",
 15077  	//   "id": "dfareporting.accountUserProfiles.insert",
 15078  	//   "parameterOrder": [
 15079  	//     "profileId"
 15080  	//   ],
 15081  	//   "parameters": {
 15082  	//     "profileId": {
 15083  	//       "description": "User profile ID associated with this request.",
 15084  	//       "format": "int64",
 15085  	//       "location": "path",
 15086  	//       "required": true,
 15087  	//       "type": "string"
 15088  	//     }
 15089  	//   },
 15090  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15091  	//   "request": {
 15092  	//     "$ref": "AccountUserProfile"
 15093  	//   },
 15094  	//   "response": {
 15095  	//     "$ref": "AccountUserProfile"
 15096  	//   },
 15097  	//   "scopes": [
 15098  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15099  	//   ]
 15100  	// }
 15101  
 15102  }
 15103  
 15104  // method id "dfareporting.accountUserProfiles.list":
 15105  
 15106  type AccountUserProfilesListCall struct {
 15107  	s            *Service
 15108  	profileId    int64
 15109  	urlParams_   gensupport.URLParams
 15110  	ifNoneMatch_ string
 15111  	ctx_         context.Context
 15112  	header_      http.Header
 15113  }
 15114  
 15115  // List: Retrieves a list of account user profiles, possibly filtered.
 15116  // This method supports paging.
 15117  //
 15118  // - profileId: User profile ID associated with this request.
 15119  func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
 15120  	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15121  	c.profileId = profileId
 15122  	return c
 15123  }
 15124  
 15125  // Active sets the optional parameter "active": Select only active user
 15126  // profiles.
 15127  func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
 15128  	c.urlParams_.Set("active", fmt.Sprint(active))
 15129  	return c
 15130  }
 15131  
 15132  // Ids sets the optional parameter "ids": Select only user profiles with
 15133  // these IDs.
 15134  func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
 15135  	var ids_ []string
 15136  	for _, v := range ids {
 15137  		ids_ = append(ids_, fmt.Sprint(v))
 15138  	}
 15139  	c.urlParams_.SetMulti("ids", ids_)
 15140  	return c
 15141  }
 15142  
 15143  // MaxResults sets the optional parameter "maxResults": Maximum number
 15144  // of results to return.
 15145  func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
 15146  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15147  	return c
 15148  }
 15149  
 15150  // PageToken sets the optional parameter "pageToken": Value of the
 15151  // nextPageToken from the previous result page.
 15152  func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
 15153  	c.urlParams_.Set("pageToken", pageToken)
 15154  	return c
 15155  }
 15156  
 15157  // SearchString sets the optional parameter "searchString": Allows
 15158  // searching for objects by name, ID or email. Wildcards (*) are
 15159  // allowed. For example, "user profile*2015" will return objects with
 15160  // names like "user profile June 2015", "user profile April 2015", or
 15161  // simply "user profile 2015". Most of the searches also add wildcards
 15162  // implicitly at the start and the end of the search string. For
 15163  // example, a search string of "user profile" will match objects with
 15164  // name "my user profile", "user profile 2015", or simply "user
 15165  // profile".
 15166  func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
 15167  	c.urlParams_.Set("searchString", searchString)
 15168  	return c
 15169  }
 15170  
 15171  // SortField sets the optional parameter "sortField": Field by which to
 15172  // sort the list.
 15173  //
 15174  // Possible values:
 15175  //
 15176  //	"ID" (default)
 15177  //	"NAME"
 15178  func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
 15179  	c.urlParams_.Set("sortField", sortField)
 15180  	return c
 15181  }
 15182  
 15183  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 15184  // results.
 15185  //
 15186  // Possible values:
 15187  //
 15188  //	"ASCENDING" (default)
 15189  //	"DESCENDING"
 15190  func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
 15191  	c.urlParams_.Set("sortOrder", sortOrder)
 15192  	return c
 15193  }
 15194  
 15195  // SubaccountId sets the optional parameter "subaccountId": Select only
 15196  // user profiles with the specified subaccount ID.
 15197  func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
 15198  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 15199  	return c
 15200  }
 15201  
 15202  // UserRoleId sets the optional parameter "userRoleId": Select only user
 15203  // profiles with the specified user role ID.
 15204  func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
 15205  	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
 15206  	return c
 15207  }
 15208  
 15209  // Fields allows partial responses to be retrieved. See
 15210  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15211  // for more information.
 15212  func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
 15213  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15214  	return c
 15215  }
 15216  
 15217  // IfNoneMatch sets the optional parameter which makes the operation
 15218  // fail if the object's ETag matches the given value. This is useful for
 15219  // getting updates only after the object has changed since the last
 15220  // request. Use googleapi.IsNotModified to check whether the response
 15221  // error from Do is the result of In-None-Match.
 15222  func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
 15223  	c.ifNoneMatch_ = entityTag
 15224  	return c
 15225  }
 15226  
 15227  // Context sets the context to be used in this call's Do method. Any
 15228  // pending HTTP request will be aborted if the provided context is
 15229  // canceled.
 15230  func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
 15231  	c.ctx_ = ctx
 15232  	return c
 15233  }
 15234  
 15235  // Header returns an http.Header that can be modified by the caller to
 15236  // add HTTP headers to the request.
 15237  func (c *AccountUserProfilesListCall) Header() http.Header {
 15238  	if c.header_ == nil {
 15239  		c.header_ = make(http.Header)
 15240  	}
 15241  	return c.header_
 15242  }
 15243  
 15244  func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 15245  	reqHeaders := make(http.Header)
 15246  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15247  	for k, v := range c.header_ {
 15248  		reqHeaders[k] = v
 15249  	}
 15250  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15251  	if c.ifNoneMatch_ != "" {
 15252  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15253  	}
 15254  	var body io.Reader = nil
 15255  	c.urlParams_.Set("alt", alt)
 15256  	c.urlParams_.Set("prettyPrint", "false")
 15257  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15258  	urls += "?" + c.urlParams_.Encode()
 15259  	req, err := http.NewRequest("GET", urls, body)
 15260  	if err != nil {
 15261  		return nil, err
 15262  	}
 15263  	req.Header = reqHeaders
 15264  	googleapi.Expand(req.URL, map[string]string{
 15265  		"profileId": strconv.FormatInt(c.profileId, 10),
 15266  	})
 15267  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15268  }
 15269  
 15270  // Do executes the "dfareporting.accountUserProfiles.list" call.
 15271  // Exactly one of *AccountUserProfilesListResponse or error will be
 15272  // non-nil. Any non-2xx status code is an error. Response headers are in
 15273  // either *AccountUserProfilesListResponse.ServerResponse.Header or (if
 15274  // a response was returned at all) in error.(*googleapi.Error).Header.
 15275  // Use googleapi.IsNotModified to check whether the returned error was
 15276  // because http.StatusNotModified was returned.
 15277  func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
 15278  	gensupport.SetOptions(c.urlParams_, opts...)
 15279  	res, err := c.doRequest("json")
 15280  	if res != nil && res.StatusCode == http.StatusNotModified {
 15281  		if res.Body != nil {
 15282  			res.Body.Close()
 15283  		}
 15284  		return nil, &googleapi.Error{
 15285  			Code:   res.StatusCode,
 15286  			Header: res.Header,
 15287  		}
 15288  	}
 15289  	if err != nil {
 15290  		return nil, err
 15291  	}
 15292  	defer googleapi.CloseBody(res)
 15293  	if err := googleapi.CheckResponse(res); err != nil {
 15294  		return nil, err
 15295  	}
 15296  	ret := &AccountUserProfilesListResponse{
 15297  		ServerResponse: googleapi.ServerResponse{
 15298  			Header:         res.Header,
 15299  			HTTPStatusCode: res.StatusCode,
 15300  		},
 15301  	}
 15302  	target := &ret
 15303  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15304  		return nil, err
 15305  	}
 15306  	return ret, nil
 15307  	// {
 15308  	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
 15309  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 15310  	//   "httpMethod": "GET",
 15311  	//   "id": "dfareporting.accountUserProfiles.list",
 15312  	//   "parameterOrder": [
 15313  	//     "profileId"
 15314  	//   ],
 15315  	//   "parameters": {
 15316  	//     "active": {
 15317  	//       "description": "Select only active user profiles.",
 15318  	//       "location": "query",
 15319  	//       "type": "boolean"
 15320  	//     },
 15321  	//     "ids": {
 15322  	//       "description": "Select only user profiles with these IDs.",
 15323  	//       "format": "int64",
 15324  	//       "location": "query",
 15325  	//       "repeated": true,
 15326  	//       "type": "string"
 15327  	//     },
 15328  	//     "maxResults": {
 15329  	//       "default": "1000",
 15330  	//       "description": "Maximum number of results to return.",
 15331  	//       "format": "int32",
 15332  	//       "location": "query",
 15333  	//       "maximum": "1000",
 15334  	//       "minimum": "0",
 15335  	//       "type": "integer"
 15336  	//     },
 15337  	//     "pageToken": {
 15338  	//       "description": "Value of the nextPageToken from the previous result page.",
 15339  	//       "location": "query",
 15340  	//       "type": "string"
 15341  	//     },
 15342  	//     "profileId": {
 15343  	//       "description": "User profile ID associated with this request.",
 15344  	//       "format": "int64",
 15345  	//       "location": "path",
 15346  	//       "required": true,
 15347  	//       "type": "string"
 15348  	//     },
 15349  	//     "searchString": {
 15350  	//       "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\".",
 15351  	//       "location": "query",
 15352  	//       "type": "string"
 15353  	//     },
 15354  	//     "sortField": {
 15355  	//       "default": "ID",
 15356  	//       "description": "Field by which to sort the list.",
 15357  	//       "enum": [
 15358  	//         "ID",
 15359  	//         "NAME"
 15360  	//       ],
 15361  	//       "enumDescriptions": [
 15362  	//         "",
 15363  	//         ""
 15364  	//       ],
 15365  	//       "location": "query",
 15366  	//       "type": "string"
 15367  	//     },
 15368  	//     "sortOrder": {
 15369  	//       "default": "ASCENDING",
 15370  	//       "description": "Order of sorted results.",
 15371  	//       "enum": [
 15372  	//         "ASCENDING",
 15373  	//         "DESCENDING"
 15374  	//       ],
 15375  	//       "enumDescriptions": [
 15376  	//         "",
 15377  	//         ""
 15378  	//       ],
 15379  	//       "location": "query",
 15380  	//       "type": "string"
 15381  	//     },
 15382  	//     "subaccountId": {
 15383  	//       "description": "Select only user profiles with the specified subaccount ID.",
 15384  	//       "format": "int64",
 15385  	//       "location": "query",
 15386  	//       "type": "string"
 15387  	//     },
 15388  	//     "userRoleId": {
 15389  	//       "description": "Select only user profiles with the specified user role ID.",
 15390  	//       "format": "int64",
 15391  	//       "location": "query",
 15392  	//       "type": "string"
 15393  	//     }
 15394  	//   },
 15395  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15396  	//   "response": {
 15397  	//     "$ref": "AccountUserProfilesListResponse"
 15398  	//   },
 15399  	//   "scopes": [
 15400  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15401  	//   ]
 15402  	// }
 15403  
 15404  }
 15405  
 15406  // Pages invokes f for each page of results.
 15407  // A non-nil error returned from f will halt the iteration.
 15408  // The provided context supersedes any context provided to the Context method.
 15409  func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
 15410  	c.ctx_ = ctx
 15411  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 15412  	for {
 15413  		x, err := c.Do()
 15414  		if err != nil {
 15415  			return err
 15416  		}
 15417  		if err := f(x); err != nil {
 15418  			return err
 15419  		}
 15420  		if x.NextPageToken == "" {
 15421  			return nil
 15422  		}
 15423  		c.PageToken(x.NextPageToken)
 15424  	}
 15425  }
 15426  
 15427  // method id "dfareporting.accountUserProfiles.patch":
 15428  
 15429  type AccountUserProfilesPatchCall struct {
 15430  	s                  *Service
 15431  	profileId          int64
 15432  	accountuserprofile *AccountUserProfile
 15433  	urlParams_         gensupport.URLParams
 15434  	ctx_               context.Context
 15435  	header_            http.Header
 15436  }
 15437  
 15438  // Patch: Updates an existing account user profile. This method supports
 15439  // patch semantics.
 15440  //
 15441  // - id: AccountUserProfile ID.
 15442  // - profileId: User profile ID associated with this request.
 15443  func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
 15444  	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15445  	c.profileId = profileId
 15446  	c.urlParams_.Set("id", fmt.Sprint(id))
 15447  	c.accountuserprofile = accountuserprofile
 15448  	return c
 15449  }
 15450  
 15451  // Fields allows partial responses to be retrieved. See
 15452  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15453  // for more information.
 15454  func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
 15455  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15456  	return c
 15457  }
 15458  
 15459  // Context sets the context to be used in this call's Do method. Any
 15460  // pending HTTP request will be aborted if the provided context is
 15461  // canceled.
 15462  func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
 15463  	c.ctx_ = ctx
 15464  	return c
 15465  }
 15466  
 15467  // Header returns an http.Header that can be modified by the caller to
 15468  // add HTTP headers to the request.
 15469  func (c *AccountUserProfilesPatchCall) Header() http.Header {
 15470  	if c.header_ == nil {
 15471  		c.header_ = make(http.Header)
 15472  	}
 15473  	return c.header_
 15474  }
 15475  
 15476  func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
 15477  	reqHeaders := make(http.Header)
 15478  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15479  	for k, v := range c.header_ {
 15480  		reqHeaders[k] = v
 15481  	}
 15482  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15483  	var body io.Reader = nil
 15484  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15485  	if err != nil {
 15486  		return nil, err
 15487  	}
 15488  	reqHeaders.Set("Content-Type", "application/json")
 15489  	c.urlParams_.Set("alt", alt)
 15490  	c.urlParams_.Set("prettyPrint", "false")
 15491  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15492  	urls += "?" + c.urlParams_.Encode()
 15493  	req, err := http.NewRequest("PATCH", urls, body)
 15494  	if err != nil {
 15495  		return nil, err
 15496  	}
 15497  	req.Header = reqHeaders
 15498  	googleapi.Expand(req.URL, map[string]string{
 15499  		"profileId": strconv.FormatInt(c.profileId, 10),
 15500  	})
 15501  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15502  }
 15503  
 15504  // Do executes the "dfareporting.accountUserProfiles.patch" call.
 15505  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15506  // non-2xx status code is an error. Response headers are in either
 15507  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15508  // returned at all) in error.(*googleapi.Error).Header. Use
 15509  // googleapi.IsNotModified to check whether the returned error was
 15510  // because http.StatusNotModified was returned.
 15511  func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15512  	gensupport.SetOptions(c.urlParams_, opts...)
 15513  	res, err := c.doRequest("json")
 15514  	if res != nil && res.StatusCode == http.StatusNotModified {
 15515  		if res.Body != nil {
 15516  			res.Body.Close()
 15517  		}
 15518  		return nil, &googleapi.Error{
 15519  			Code:   res.StatusCode,
 15520  			Header: res.Header,
 15521  		}
 15522  	}
 15523  	if err != nil {
 15524  		return nil, err
 15525  	}
 15526  	defer googleapi.CloseBody(res)
 15527  	if err := googleapi.CheckResponse(res); err != nil {
 15528  		return nil, err
 15529  	}
 15530  	ret := &AccountUserProfile{
 15531  		ServerResponse: googleapi.ServerResponse{
 15532  			Header:         res.Header,
 15533  			HTTPStatusCode: res.StatusCode,
 15534  		},
 15535  	}
 15536  	target := &ret
 15537  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15538  		return nil, err
 15539  	}
 15540  	return ret, nil
 15541  	// {
 15542  	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
 15543  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 15544  	//   "httpMethod": "PATCH",
 15545  	//   "id": "dfareporting.accountUserProfiles.patch",
 15546  	//   "parameterOrder": [
 15547  	//     "profileId",
 15548  	//     "id"
 15549  	//   ],
 15550  	//   "parameters": {
 15551  	//     "id": {
 15552  	//       "description": "AccountUserProfile ID.",
 15553  	//       "format": "int64",
 15554  	//       "location": "query",
 15555  	//       "required": true,
 15556  	//       "type": "string"
 15557  	//     },
 15558  	//     "profileId": {
 15559  	//       "description": "User profile ID associated with this request.",
 15560  	//       "format": "int64",
 15561  	//       "location": "path",
 15562  	//       "required": true,
 15563  	//       "type": "string"
 15564  	//     }
 15565  	//   },
 15566  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15567  	//   "request": {
 15568  	//     "$ref": "AccountUserProfile"
 15569  	//   },
 15570  	//   "response": {
 15571  	//     "$ref": "AccountUserProfile"
 15572  	//   },
 15573  	//   "scopes": [
 15574  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15575  	//   ]
 15576  	// }
 15577  
 15578  }
 15579  
 15580  // method id "dfareporting.accountUserProfiles.update":
 15581  
 15582  type AccountUserProfilesUpdateCall struct {
 15583  	s                  *Service
 15584  	profileId          int64
 15585  	accountuserprofile *AccountUserProfile
 15586  	urlParams_         gensupport.URLParams
 15587  	ctx_               context.Context
 15588  	header_            http.Header
 15589  }
 15590  
 15591  // Update: Updates an existing account user profile.
 15592  //
 15593  // - profileId: User profile ID associated with this request.
 15594  func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
 15595  	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15596  	c.profileId = profileId
 15597  	c.accountuserprofile = accountuserprofile
 15598  	return c
 15599  }
 15600  
 15601  // Fields allows partial responses to be retrieved. See
 15602  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15603  // for more information.
 15604  func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
 15605  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15606  	return c
 15607  }
 15608  
 15609  // Context sets the context to be used in this call's Do method. Any
 15610  // pending HTTP request will be aborted if the provided context is
 15611  // canceled.
 15612  func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
 15613  	c.ctx_ = ctx
 15614  	return c
 15615  }
 15616  
 15617  // Header returns an http.Header that can be modified by the caller to
 15618  // add HTTP headers to the request.
 15619  func (c *AccountUserProfilesUpdateCall) Header() http.Header {
 15620  	if c.header_ == nil {
 15621  		c.header_ = make(http.Header)
 15622  	}
 15623  	return c.header_
 15624  }
 15625  
 15626  func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
 15627  	reqHeaders := make(http.Header)
 15628  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15629  	for k, v := range c.header_ {
 15630  		reqHeaders[k] = v
 15631  	}
 15632  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15633  	var body io.Reader = nil
 15634  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
 15635  	if err != nil {
 15636  		return nil, err
 15637  	}
 15638  	reqHeaders.Set("Content-Type", "application/json")
 15639  	c.urlParams_.Set("alt", alt)
 15640  	c.urlParams_.Set("prettyPrint", "false")
 15641  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
 15642  	urls += "?" + c.urlParams_.Encode()
 15643  	req, err := http.NewRequest("PUT", urls, body)
 15644  	if err != nil {
 15645  		return nil, err
 15646  	}
 15647  	req.Header = reqHeaders
 15648  	googleapi.Expand(req.URL, map[string]string{
 15649  		"profileId": strconv.FormatInt(c.profileId, 10),
 15650  	})
 15651  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15652  }
 15653  
 15654  // Do executes the "dfareporting.accountUserProfiles.update" call.
 15655  // Exactly one of *AccountUserProfile or error will be non-nil. Any
 15656  // non-2xx status code is an error. Response headers are in either
 15657  // *AccountUserProfile.ServerResponse.Header or (if a response was
 15658  // returned at all) in error.(*googleapi.Error).Header. Use
 15659  // googleapi.IsNotModified to check whether the returned error was
 15660  // because http.StatusNotModified was returned.
 15661  func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
 15662  	gensupport.SetOptions(c.urlParams_, opts...)
 15663  	res, err := c.doRequest("json")
 15664  	if res != nil && res.StatusCode == http.StatusNotModified {
 15665  		if res.Body != nil {
 15666  			res.Body.Close()
 15667  		}
 15668  		return nil, &googleapi.Error{
 15669  			Code:   res.StatusCode,
 15670  			Header: res.Header,
 15671  		}
 15672  	}
 15673  	if err != nil {
 15674  		return nil, err
 15675  	}
 15676  	defer googleapi.CloseBody(res)
 15677  	if err := googleapi.CheckResponse(res); err != nil {
 15678  		return nil, err
 15679  	}
 15680  	ret := &AccountUserProfile{
 15681  		ServerResponse: googleapi.ServerResponse{
 15682  			Header:         res.Header,
 15683  			HTTPStatusCode: res.StatusCode,
 15684  		},
 15685  	}
 15686  	target := &ret
 15687  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15688  		return nil, err
 15689  	}
 15690  	return ret, nil
 15691  	// {
 15692  	//   "description": "Updates an existing account user profile.",
 15693  	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
 15694  	//   "httpMethod": "PUT",
 15695  	//   "id": "dfareporting.accountUserProfiles.update",
 15696  	//   "parameterOrder": [
 15697  	//     "profileId"
 15698  	//   ],
 15699  	//   "parameters": {
 15700  	//     "profileId": {
 15701  	//       "description": "User profile ID associated with this request.",
 15702  	//       "format": "int64",
 15703  	//       "location": "path",
 15704  	//       "required": true,
 15705  	//       "type": "string"
 15706  	//     }
 15707  	//   },
 15708  	//   "path": "userprofiles/{profileId}/accountUserProfiles",
 15709  	//   "request": {
 15710  	//     "$ref": "AccountUserProfile"
 15711  	//   },
 15712  	//   "response": {
 15713  	//     "$ref": "AccountUserProfile"
 15714  	//   },
 15715  	//   "scopes": [
 15716  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15717  	//   ]
 15718  	// }
 15719  
 15720  }
 15721  
 15722  // method id "dfareporting.accounts.get":
 15723  
 15724  type AccountsGetCall struct {
 15725  	s            *Service
 15726  	profileId    int64
 15727  	id           int64
 15728  	urlParams_   gensupport.URLParams
 15729  	ifNoneMatch_ string
 15730  	ctx_         context.Context
 15731  	header_      http.Header
 15732  }
 15733  
 15734  // Get: Gets one account by ID.
 15735  //
 15736  // - id: Account ID.
 15737  // - profileId: User profile ID associated with this request.
 15738  func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
 15739  	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15740  	c.profileId = profileId
 15741  	c.id = id
 15742  	return c
 15743  }
 15744  
 15745  // Fields allows partial responses to be retrieved. See
 15746  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15747  // for more information.
 15748  func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
 15749  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15750  	return c
 15751  }
 15752  
 15753  // IfNoneMatch sets the optional parameter which makes the operation
 15754  // fail if the object's ETag matches the given value. This is useful for
 15755  // getting updates only after the object has changed since the last
 15756  // request. Use googleapi.IsNotModified to check whether the response
 15757  // error from Do is the result of In-None-Match.
 15758  func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
 15759  	c.ifNoneMatch_ = entityTag
 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 *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
 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 *AccountsGetCall) Header() http.Header {
 15774  	if c.header_ == nil {
 15775  		c.header_ = make(http.Header)
 15776  	}
 15777  	return c.header_
 15778  }
 15779  
 15780  func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
 15781  	reqHeaders := make(http.Header)
 15782  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 15783  	for k, v := range c.header_ {
 15784  		reqHeaders[k] = v
 15785  	}
 15786  	reqHeaders.Set("User-Agent", c.s.userAgent())
 15787  	if c.ifNoneMatch_ != "" {
 15788  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 15789  	}
 15790  	var body io.Reader = nil
 15791  	c.urlParams_.Set("alt", alt)
 15792  	c.urlParams_.Set("prettyPrint", "false")
 15793  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
 15794  	urls += "?" + c.urlParams_.Encode()
 15795  	req, err := http.NewRequest("GET", urls, body)
 15796  	if err != nil {
 15797  		return nil, err
 15798  	}
 15799  	req.Header = reqHeaders
 15800  	googleapi.Expand(req.URL, map[string]string{
 15801  		"profileId": strconv.FormatInt(c.profileId, 10),
 15802  		"id":        strconv.FormatInt(c.id, 10),
 15803  	})
 15804  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 15805  }
 15806  
 15807  // Do executes the "dfareporting.accounts.get" call.
 15808  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 15809  // code is an error. Response headers are in either
 15810  // *Account.ServerResponse.Header or (if a response was returned at all)
 15811  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 15812  // check whether the returned error was because http.StatusNotModified
 15813  // was returned.
 15814  func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 15815  	gensupport.SetOptions(c.urlParams_, opts...)
 15816  	res, err := c.doRequest("json")
 15817  	if res != nil && res.StatusCode == http.StatusNotModified {
 15818  		if res.Body != nil {
 15819  			res.Body.Close()
 15820  		}
 15821  		return nil, &googleapi.Error{
 15822  			Code:   res.StatusCode,
 15823  			Header: res.Header,
 15824  		}
 15825  	}
 15826  	if err != nil {
 15827  		return nil, err
 15828  	}
 15829  	defer googleapi.CloseBody(res)
 15830  	if err := googleapi.CheckResponse(res); err != nil {
 15831  		return nil, err
 15832  	}
 15833  	ret := &Account{
 15834  		ServerResponse: googleapi.ServerResponse{
 15835  			Header:         res.Header,
 15836  			HTTPStatusCode: res.StatusCode,
 15837  		},
 15838  	}
 15839  	target := &ret
 15840  	if err := gensupport.DecodeResponse(target, res); err != nil {
 15841  		return nil, err
 15842  	}
 15843  	return ret, nil
 15844  	// {
 15845  	//   "description": "Gets one account by ID.",
 15846  	//   "flatPath": "userprofiles/{profileId}/accounts/{id}",
 15847  	//   "httpMethod": "GET",
 15848  	//   "id": "dfareporting.accounts.get",
 15849  	//   "parameterOrder": [
 15850  	//     "profileId",
 15851  	//     "id"
 15852  	//   ],
 15853  	//   "parameters": {
 15854  	//     "id": {
 15855  	//       "description": "Account ID.",
 15856  	//       "format": "int64",
 15857  	//       "location": "path",
 15858  	//       "required": true,
 15859  	//       "type": "string"
 15860  	//     },
 15861  	//     "profileId": {
 15862  	//       "description": "User profile ID associated with this request.",
 15863  	//       "format": "int64",
 15864  	//       "location": "path",
 15865  	//       "required": true,
 15866  	//       "type": "string"
 15867  	//     }
 15868  	//   },
 15869  	//   "path": "userprofiles/{profileId}/accounts/{id}",
 15870  	//   "response": {
 15871  	//     "$ref": "Account"
 15872  	//   },
 15873  	//   "scopes": [
 15874  	//     "https://www.googleapis.com/auth/dfatrafficking"
 15875  	//   ]
 15876  	// }
 15877  
 15878  }
 15879  
 15880  // method id "dfareporting.accounts.list":
 15881  
 15882  type AccountsListCall struct {
 15883  	s            *Service
 15884  	profileId    int64
 15885  	urlParams_   gensupport.URLParams
 15886  	ifNoneMatch_ string
 15887  	ctx_         context.Context
 15888  	header_      http.Header
 15889  }
 15890  
 15891  // List: Retrieves the list of accounts, possibly filtered. This method
 15892  // supports paging.
 15893  //
 15894  // - profileId: User profile ID associated with this request.
 15895  func (r *AccountsService) List(profileId int64) *AccountsListCall {
 15896  	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 15897  	c.profileId = profileId
 15898  	return c
 15899  }
 15900  
 15901  // Active sets the optional parameter "active": Select only active
 15902  // accounts. Don't set this field to select both active and non-active
 15903  // accounts.
 15904  func (c *AccountsListCall) Active(active bool) *AccountsListCall {
 15905  	c.urlParams_.Set("active", fmt.Sprint(active))
 15906  	return c
 15907  }
 15908  
 15909  // Ids sets the optional parameter "ids": Select only accounts with
 15910  // these IDs.
 15911  func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
 15912  	var ids_ []string
 15913  	for _, v := range ids {
 15914  		ids_ = append(ids_, fmt.Sprint(v))
 15915  	}
 15916  	c.urlParams_.SetMulti("ids", ids_)
 15917  	return c
 15918  }
 15919  
 15920  // MaxResults sets the optional parameter "maxResults": Maximum number
 15921  // of results to return.
 15922  func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
 15923  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 15924  	return c
 15925  }
 15926  
 15927  // PageToken sets the optional parameter "pageToken": Value of the
 15928  // nextPageToken from the previous result page.
 15929  func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
 15930  	c.urlParams_.Set("pageToken", pageToken)
 15931  	return c
 15932  }
 15933  
 15934  // SearchString sets the optional parameter "searchString": Allows
 15935  // searching for objects by name or ID. Wildcards (*) are allowed. For
 15936  // example, "account*2015" will return objects with names like "account
 15937  // June 2015", "account April 2015", or simply "account 2015". Most of
 15938  // the searches also add wildcards implicitly at the start and the end
 15939  // of the search string. For example, a search string of "account" will
 15940  // match objects with name "my account", "account 2015", or simply
 15941  // "account".
 15942  func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
 15943  	c.urlParams_.Set("searchString", searchString)
 15944  	return c
 15945  }
 15946  
 15947  // SortField sets the optional parameter "sortField": Field by which to
 15948  // sort the list.
 15949  //
 15950  // Possible values:
 15951  //
 15952  //	"ID" (default)
 15953  //	"NAME"
 15954  func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
 15955  	c.urlParams_.Set("sortField", sortField)
 15956  	return c
 15957  }
 15958  
 15959  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 15960  // results.
 15961  //
 15962  // Possible values:
 15963  //
 15964  //	"ASCENDING" (default)
 15965  //	"DESCENDING"
 15966  func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
 15967  	c.urlParams_.Set("sortOrder", sortOrder)
 15968  	return c
 15969  }
 15970  
 15971  // Fields allows partial responses to be retrieved. See
 15972  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 15973  // for more information.
 15974  func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
 15975  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 15976  	return c
 15977  }
 15978  
 15979  // IfNoneMatch sets the optional parameter which makes the operation
 15980  // fail if the object's ETag matches the given value. This is useful for
 15981  // getting updates only after the object has changed since the last
 15982  // request. Use googleapi.IsNotModified to check whether the response
 15983  // error from Do is the result of In-None-Match.
 15984  func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
 15985  	c.ifNoneMatch_ = entityTag
 15986  	return c
 15987  }
 15988  
 15989  // Context sets the context to be used in this call's Do method. Any
 15990  // pending HTTP request will be aborted if the provided context is
 15991  // canceled.
 15992  func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
 15993  	c.ctx_ = ctx
 15994  	return c
 15995  }
 15996  
 15997  // Header returns an http.Header that can be modified by the caller to
 15998  // add HTTP headers to the request.
 15999  func (c *AccountsListCall) Header() http.Header {
 16000  	if c.header_ == nil {
 16001  		c.header_ = make(http.Header)
 16002  	}
 16003  	return c.header_
 16004  }
 16005  
 16006  func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
 16007  	reqHeaders := make(http.Header)
 16008  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16009  	for k, v := range c.header_ {
 16010  		reqHeaders[k] = v
 16011  	}
 16012  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16013  	if c.ifNoneMatch_ != "" {
 16014  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16015  	}
 16016  	var body io.Reader = nil
 16017  	c.urlParams_.Set("alt", alt)
 16018  	c.urlParams_.Set("prettyPrint", "false")
 16019  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16020  	urls += "?" + c.urlParams_.Encode()
 16021  	req, err := http.NewRequest("GET", urls, body)
 16022  	if err != nil {
 16023  		return nil, err
 16024  	}
 16025  	req.Header = reqHeaders
 16026  	googleapi.Expand(req.URL, map[string]string{
 16027  		"profileId": strconv.FormatInt(c.profileId, 10),
 16028  	})
 16029  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16030  }
 16031  
 16032  // Do executes the "dfareporting.accounts.list" call.
 16033  // Exactly one of *AccountsListResponse or error will be non-nil. Any
 16034  // non-2xx status code is an error. Response headers are in either
 16035  // *AccountsListResponse.ServerResponse.Header or (if a response was
 16036  // returned at all) in error.(*googleapi.Error).Header. Use
 16037  // googleapi.IsNotModified to check whether the returned error was
 16038  // because http.StatusNotModified was returned.
 16039  func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
 16040  	gensupport.SetOptions(c.urlParams_, opts...)
 16041  	res, err := c.doRequest("json")
 16042  	if res != nil && res.StatusCode == http.StatusNotModified {
 16043  		if res.Body != nil {
 16044  			res.Body.Close()
 16045  		}
 16046  		return nil, &googleapi.Error{
 16047  			Code:   res.StatusCode,
 16048  			Header: res.Header,
 16049  		}
 16050  	}
 16051  	if err != nil {
 16052  		return nil, err
 16053  	}
 16054  	defer googleapi.CloseBody(res)
 16055  	if err := googleapi.CheckResponse(res); err != nil {
 16056  		return nil, err
 16057  	}
 16058  	ret := &AccountsListResponse{
 16059  		ServerResponse: googleapi.ServerResponse{
 16060  			Header:         res.Header,
 16061  			HTTPStatusCode: res.StatusCode,
 16062  		},
 16063  	}
 16064  	target := &ret
 16065  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16066  		return nil, err
 16067  	}
 16068  	return ret, nil
 16069  	// {
 16070  	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
 16071  	//   "flatPath": "userprofiles/{profileId}/accounts",
 16072  	//   "httpMethod": "GET",
 16073  	//   "id": "dfareporting.accounts.list",
 16074  	//   "parameterOrder": [
 16075  	//     "profileId"
 16076  	//   ],
 16077  	//   "parameters": {
 16078  	//     "active": {
 16079  	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
 16080  	//       "location": "query",
 16081  	//       "type": "boolean"
 16082  	//     },
 16083  	//     "ids": {
 16084  	//       "description": "Select only accounts with these IDs.",
 16085  	//       "format": "int64",
 16086  	//       "location": "query",
 16087  	//       "repeated": true,
 16088  	//       "type": "string"
 16089  	//     },
 16090  	//     "maxResults": {
 16091  	//       "default": "1000",
 16092  	//       "description": "Maximum number of results to return.",
 16093  	//       "format": "int32",
 16094  	//       "location": "query",
 16095  	//       "maximum": "1000",
 16096  	//       "minimum": "0",
 16097  	//       "type": "integer"
 16098  	//     },
 16099  	//     "pageToken": {
 16100  	//       "description": "Value of the nextPageToken from the previous result page.",
 16101  	//       "location": "query",
 16102  	//       "type": "string"
 16103  	//     },
 16104  	//     "profileId": {
 16105  	//       "description": "User profile ID associated with this request.",
 16106  	//       "format": "int64",
 16107  	//       "location": "path",
 16108  	//       "required": true,
 16109  	//       "type": "string"
 16110  	//     },
 16111  	//     "searchString": {
 16112  	//       "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\".",
 16113  	//       "location": "query",
 16114  	//       "type": "string"
 16115  	//     },
 16116  	//     "sortField": {
 16117  	//       "default": "ID",
 16118  	//       "description": "Field by which to sort the list.",
 16119  	//       "enum": [
 16120  	//         "ID",
 16121  	//         "NAME"
 16122  	//       ],
 16123  	//       "enumDescriptions": [
 16124  	//         "",
 16125  	//         ""
 16126  	//       ],
 16127  	//       "location": "query",
 16128  	//       "type": "string"
 16129  	//     },
 16130  	//     "sortOrder": {
 16131  	//       "default": "ASCENDING",
 16132  	//       "description": "Order of sorted results.",
 16133  	//       "enum": [
 16134  	//         "ASCENDING",
 16135  	//         "DESCENDING"
 16136  	//       ],
 16137  	//       "enumDescriptions": [
 16138  	//         "",
 16139  	//         ""
 16140  	//       ],
 16141  	//       "location": "query",
 16142  	//       "type": "string"
 16143  	//     }
 16144  	//   },
 16145  	//   "path": "userprofiles/{profileId}/accounts",
 16146  	//   "response": {
 16147  	//     "$ref": "AccountsListResponse"
 16148  	//   },
 16149  	//   "scopes": [
 16150  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16151  	//   ]
 16152  	// }
 16153  
 16154  }
 16155  
 16156  // Pages invokes f for each page of results.
 16157  // A non-nil error returned from f will halt the iteration.
 16158  // The provided context supersedes any context provided to the Context method.
 16159  func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
 16160  	c.ctx_ = ctx
 16161  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 16162  	for {
 16163  		x, err := c.Do()
 16164  		if err != nil {
 16165  			return err
 16166  		}
 16167  		if err := f(x); err != nil {
 16168  			return err
 16169  		}
 16170  		if x.NextPageToken == "" {
 16171  			return nil
 16172  		}
 16173  		c.PageToken(x.NextPageToken)
 16174  	}
 16175  }
 16176  
 16177  // method id "dfareporting.accounts.patch":
 16178  
 16179  type AccountsPatchCall struct {
 16180  	s          *Service
 16181  	profileId  int64
 16182  	account    *Account
 16183  	urlParams_ gensupport.URLParams
 16184  	ctx_       context.Context
 16185  	header_    http.Header
 16186  }
 16187  
 16188  // Patch: Updates an existing account. This method supports patch
 16189  // semantics.
 16190  //
 16191  // - id: Account ID.
 16192  // - profileId: User profile ID associated with this request.
 16193  func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
 16194  	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16195  	c.profileId = profileId
 16196  	c.urlParams_.Set("id", fmt.Sprint(id))
 16197  	c.account = account
 16198  	return c
 16199  }
 16200  
 16201  // Fields allows partial responses to be retrieved. See
 16202  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16203  // for more information.
 16204  func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
 16205  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16206  	return c
 16207  }
 16208  
 16209  // Context sets the context to be used in this call's Do method. Any
 16210  // pending HTTP request will be aborted if the provided context is
 16211  // canceled.
 16212  func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
 16213  	c.ctx_ = ctx
 16214  	return c
 16215  }
 16216  
 16217  // Header returns an http.Header that can be modified by the caller to
 16218  // add HTTP headers to the request.
 16219  func (c *AccountsPatchCall) Header() http.Header {
 16220  	if c.header_ == nil {
 16221  		c.header_ = make(http.Header)
 16222  	}
 16223  	return c.header_
 16224  }
 16225  
 16226  func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 16227  	reqHeaders := make(http.Header)
 16228  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16229  	for k, v := range c.header_ {
 16230  		reqHeaders[k] = v
 16231  	}
 16232  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16233  	var body io.Reader = nil
 16234  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16235  	if err != nil {
 16236  		return nil, err
 16237  	}
 16238  	reqHeaders.Set("Content-Type", "application/json")
 16239  	c.urlParams_.Set("alt", alt)
 16240  	c.urlParams_.Set("prettyPrint", "false")
 16241  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16242  	urls += "?" + c.urlParams_.Encode()
 16243  	req, err := http.NewRequest("PATCH", urls, body)
 16244  	if err != nil {
 16245  		return nil, err
 16246  	}
 16247  	req.Header = reqHeaders
 16248  	googleapi.Expand(req.URL, map[string]string{
 16249  		"profileId": strconv.FormatInt(c.profileId, 10),
 16250  	})
 16251  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16252  }
 16253  
 16254  // Do executes the "dfareporting.accounts.patch" call.
 16255  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16256  // code is an error. Response headers are in either
 16257  // *Account.ServerResponse.Header or (if a response was returned at all)
 16258  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16259  // check whether the returned error was because http.StatusNotModified
 16260  // was returned.
 16261  func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16262  	gensupport.SetOptions(c.urlParams_, opts...)
 16263  	res, err := c.doRequest("json")
 16264  	if res != nil && res.StatusCode == http.StatusNotModified {
 16265  		if res.Body != nil {
 16266  			res.Body.Close()
 16267  		}
 16268  		return nil, &googleapi.Error{
 16269  			Code:   res.StatusCode,
 16270  			Header: res.Header,
 16271  		}
 16272  	}
 16273  	if err != nil {
 16274  		return nil, err
 16275  	}
 16276  	defer googleapi.CloseBody(res)
 16277  	if err := googleapi.CheckResponse(res); err != nil {
 16278  		return nil, err
 16279  	}
 16280  	ret := &Account{
 16281  		ServerResponse: googleapi.ServerResponse{
 16282  			Header:         res.Header,
 16283  			HTTPStatusCode: res.StatusCode,
 16284  		},
 16285  	}
 16286  	target := &ret
 16287  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16288  		return nil, err
 16289  	}
 16290  	return ret, nil
 16291  	// {
 16292  	//   "description": "Updates an existing account. This method supports patch semantics.",
 16293  	//   "flatPath": "userprofiles/{profileId}/accounts",
 16294  	//   "httpMethod": "PATCH",
 16295  	//   "id": "dfareporting.accounts.patch",
 16296  	//   "parameterOrder": [
 16297  	//     "profileId",
 16298  	//     "id"
 16299  	//   ],
 16300  	//   "parameters": {
 16301  	//     "id": {
 16302  	//       "description": "Account ID.",
 16303  	//       "format": "int64",
 16304  	//       "location": "query",
 16305  	//       "required": true,
 16306  	//       "type": "string"
 16307  	//     },
 16308  	//     "profileId": {
 16309  	//       "description": "User profile ID associated with this request.",
 16310  	//       "format": "int64",
 16311  	//       "location": "path",
 16312  	//       "required": true,
 16313  	//       "type": "string"
 16314  	//     }
 16315  	//   },
 16316  	//   "path": "userprofiles/{profileId}/accounts",
 16317  	//   "request": {
 16318  	//     "$ref": "Account"
 16319  	//   },
 16320  	//   "response": {
 16321  	//     "$ref": "Account"
 16322  	//   },
 16323  	//   "scopes": [
 16324  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16325  	//   ]
 16326  	// }
 16327  
 16328  }
 16329  
 16330  // method id "dfareporting.accounts.update":
 16331  
 16332  type AccountsUpdateCall struct {
 16333  	s          *Service
 16334  	profileId  int64
 16335  	account    *Account
 16336  	urlParams_ gensupport.URLParams
 16337  	ctx_       context.Context
 16338  	header_    http.Header
 16339  }
 16340  
 16341  // Update: Updates an existing account.
 16342  //
 16343  // - profileId: User profile ID associated with this request.
 16344  func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
 16345  	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16346  	c.profileId = profileId
 16347  	c.account = account
 16348  	return c
 16349  }
 16350  
 16351  // Fields allows partial responses to be retrieved. See
 16352  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16353  // for more information.
 16354  func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
 16355  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16356  	return c
 16357  }
 16358  
 16359  // Context sets the context to be used in this call's Do method. Any
 16360  // pending HTTP request will be aborted if the provided context is
 16361  // canceled.
 16362  func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
 16363  	c.ctx_ = ctx
 16364  	return c
 16365  }
 16366  
 16367  // Header returns an http.Header that can be modified by the caller to
 16368  // add HTTP headers to the request.
 16369  func (c *AccountsUpdateCall) Header() http.Header {
 16370  	if c.header_ == nil {
 16371  		c.header_ = make(http.Header)
 16372  	}
 16373  	return c.header_
 16374  }
 16375  
 16376  func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 16377  	reqHeaders := make(http.Header)
 16378  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16379  	for k, v := range c.header_ {
 16380  		reqHeaders[k] = v
 16381  	}
 16382  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16383  	var body io.Reader = nil
 16384  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
 16385  	if err != nil {
 16386  		return nil, err
 16387  	}
 16388  	reqHeaders.Set("Content-Type", "application/json")
 16389  	c.urlParams_.Set("alt", alt)
 16390  	c.urlParams_.Set("prettyPrint", "false")
 16391  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
 16392  	urls += "?" + c.urlParams_.Encode()
 16393  	req, err := http.NewRequest("PUT", urls, body)
 16394  	if err != nil {
 16395  		return nil, err
 16396  	}
 16397  	req.Header = reqHeaders
 16398  	googleapi.Expand(req.URL, map[string]string{
 16399  		"profileId": strconv.FormatInt(c.profileId, 10),
 16400  	})
 16401  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16402  }
 16403  
 16404  // Do executes the "dfareporting.accounts.update" call.
 16405  // Exactly one of *Account or error will be non-nil. Any non-2xx status
 16406  // code is an error. Response headers are in either
 16407  // *Account.ServerResponse.Header or (if a response was returned at all)
 16408  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 16409  // check whether the returned error was because http.StatusNotModified
 16410  // was returned.
 16411  func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
 16412  	gensupport.SetOptions(c.urlParams_, opts...)
 16413  	res, err := c.doRequest("json")
 16414  	if res != nil && res.StatusCode == http.StatusNotModified {
 16415  		if res.Body != nil {
 16416  			res.Body.Close()
 16417  		}
 16418  		return nil, &googleapi.Error{
 16419  			Code:   res.StatusCode,
 16420  			Header: res.Header,
 16421  		}
 16422  	}
 16423  	if err != nil {
 16424  		return nil, err
 16425  	}
 16426  	defer googleapi.CloseBody(res)
 16427  	if err := googleapi.CheckResponse(res); err != nil {
 16428  		return nil, err
 16429  	}
 16430  	ret := &Account{
 16431  		ServerResponse: googleapi.ServerResponse{
 16432  			Header:         res.Header,
 16433  			HTTPStatusCode: res.StatusCode,
 16434  		},
 16435  	}
 16436  	target := &ret
 16437  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16438  		return nil, err
 16439  	}
 16440  	return ret, nil
 16441  	// {
 16442  	//   "description": "Updates an existing account.",
 16443  	//   "flatPath": "userprofiles/{profileId}/accounts",
 16444  	//   "httpMethod": "PUT",
 16445  	//   "id": "dfareporting.accounts.update",
 16446  	//   "parameterOrder": [
 16447  	//     "profileId"
 16448  	//   ],
 16449  	//   "parameters": {
 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.ads.get":
 16473  
 16474  type AdsGetCall struct {
 16475  	s            *Service
 16476  	profileId    int64
 16477  	id           int64
 16478  	urlParams_   gensupport.URLParams
 16479  	ifNoneMatch_ string
 16480  	ctx_         context.Context
 16481  	header_      http.Header
 16482  }
 16483  
 16484  // Get: Gets one ad by ID.
 16485  //
 16486  // - id: Ad ID.
 16487  // - profileId: User profile ID associated with this request.
 16488  func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
 16489  	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16490  	c.profileId = profileId
 16491  	c.id = id
 16492  	return c
 16493  }
 16494  
 16495  // Fields allows partial responses to be retrieved. See
 16496  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16497  // for more information.
 16498  func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
 16499  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16500  	return c
 16501  }
 16502  
 16503  // IfNoneMatch sets the optional parameter which makes the operation
 16504  // fail if the object's ETag matches the given value. This is useful for
 16505  // getting updates only after the object has changed since the last
 16506  // request. Use googleapi.IsNotModified to check whether the response
 16507  // error from Do is the result of In-None-Match.
 16508  func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
 16509  	c.ifNoneMatch_ = entityTag
 16510  	return c
 16511  }
 16512  
 16513  // Context sets the context to be used in this call's Do method. Any
 16514  // pending HTTP request will be aborted if the provided context is
 16515  // canceled.
 16516  func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
 16517  	c.ctx_ = ctx
 16518  	return c
 16519  }
 16520  
 16521  // Header returns an http.Header that can be modified by the caller to
 16522  // add HTTP headers to the request.
 16523  func (c *AdsGetCall) Header() http.Header {
 16524  	if c.header_ == nil {
 16525  		c.header_ = make(http.Header)
 16526  	}
 16527  	return c.header_
 16528  }
 16529  
 16530  func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
 16531  	reqHeaders := make(http.Header)
 16532  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16533  	for k, v := range c.header_ {
 16534  		reqHeaders[k] = v
 16535  	}
 16536  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16537  	if c.ifNoneMatch_ != "" {
 16538  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 16539  	}
 16540  	var body io.Reader = nil
 16541  	c.urlParams_.Set("alt", alt)
 16542  	c.urlParams_.Set("prettyPrint", "false")
 16543  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
 16544  	urls += "?" + c.urlParams_.Encode()
 16545  	req, err := http.NewRequest("GET", urls, body)
 16546  	if err != nil {
 16547  		return nil, err
 16548  	}
 16549  	req.Header = reqHeaders
 16550  	googleapi.Expand(req.URL, map[string]string{
 16551  		"profileId": strconv.FormatInt(c.profileId, 10),
 16552  		"id":        strconv.FormatInt(c.id, 10),
 16553  	})
 16554  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16555  }
 16556  
 16557  // Do executes the "dfareporting.ads.get" call.
 16558  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16559  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16560  // or (if a response was returned at all) in
 16561  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16562  // whether the returned error was because http.StatusNotModified was
 16563  // returned.
 16564  func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16565  	gensupport.SetOptions(c.urlParams_, opts...)
 16566  	res, err := c.doRequest("json")
 16567  	if res != nil && res.StatusCode == http.StatusNotModified {
 16568  		if res.Body != nil {
 16569  			res.Body.Close()
 16570  		}
 16571  		return nil, &googleapi.Error{
 16572  			Code:   res.StatusCode,
 16573  			Header: res.Header,
 16574  		}
 16575  	}
 16576  	if err != nil {
 16577  		return nil, err
 16578  	}
 16579  	defer googleapi.CloseBody(res)
 16580  	if err := googleapi.CheckResponse(res); err != nil {
 16581  		return nil, err
 16582  	}
 16583  	ret := &Ad{
 16584  		ServerResponse: googleapi.ServerResponse{
 16585  			Header:         res.Header,
 16586  			HTTPStatusCode: res.StatusCode,
 16587  		},
 16588  	}
 16589  	target := &ret
 16590  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16591  		return nil, err
 16592  	}
 16593  	return ret, nil
 16594  	// {
 16595  	//   "description": "Gets one ad by ID.",
 16596  	//   "flatPath": "userprofiles/{profileId}/ads/{id}",
 16597  	//   "httpMethod": "GET",
 16598  	//   "id": "dfareporting.ads.get",
 16599  	//   "parameterOrder": [
 16600  	//     "profileId",
 16601  	//     "id"
 16602  	//   ],
 16603  	//   "parameters": {
 16604  	//     "id": {
 16605  	//       "description": "Ad ID.",
 16606  	//       "format": "int64",
 16607  	//       "location": "path",
 16608  	//       "required": true,
 16609  	//       "type": "string"
 16610  	//     },
 16611  	//     "profileId": {
 16612  	//       "description": "User profile ID associated with this request.",
 16613  	//       "format": "int64",
 16614  	//       "location": "path",
 16615  	//       "required": true,
 16616  	//       "type": "string"
 16617  	//     }
 16618  	//   },
 16619  	//   "path": "userprofiles/{profileId}/ads/{id}",
 16620  	//   "response": {
 16621  	//     "$ref": "Ad"
 16622  	//   },
 16623  	//   "scopes": [
 16624  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16625  	//   ]
 16626  	// }
 16627  
 16628  }
 16629  
 16630  // method id "dfareporting.ads.insert":
 16631  
 16632  type AdsInsertCall struct {
 16633  	s          *Service
 16634  	profileId  int64
 16635  	ad         *Ad
 16636  	urlParams_ gensupport.URLParams
 16637  	ctx_       context.Context
 16638  	header_    http.Header
 16639  }
 16640  
 16641  // Insert: Inserts a new ad.
 16642  //
 16643  // - profileId: User profile ID associated with this request.
 16644  func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
 16645  	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16646  	c.profileId = profileId
 16647  	c.ad = ad
 16648  	return c
 16649  }
 16650  
 16651  // Fields allows partial responses to be retrieved. See
 16652  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 16653  // for more information.
 16654  func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
 16655  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 16656  	return c
 16657  }
 16658  
 16659  // Context sets the context to be used in this call's Do method. Any
 16660  // pending HTTP request will be aborted if the provided context is
 16661  // canceled.
 16662  func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
 16663  	c.ctx_ = ctx
 16664  	return c
 16665  }
 16666  
 16667  // Header returns an http.Header that can be modified by the caller to
 16668  // add HTTP headers to the request.
 16669  func (c *AdsInsertCall) Header() http.Header {
 16670  	if c.header_ == nil {
 16671  		c.header_ = make(http.Header)
 16672  	}
 16673  	return c.header_
 16674  }
 16675  
 16676  func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
 16677  	reqHeaders := make(http.Header)
 16678  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 16679  	for k, v := range c.header_ {
 16680  		reqHeaders[k] = v
 16681  	}
 16682  	reqHeaders.Set("User-Agent", c.s.userAgent())
 16683  	var body io.Reader = nil
 16684  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 16685  	if err != nil {
 16686  		return nil, err
 16687  	}
 16688  	reqHeaders.Set("Content-Type", "application/json")
 16689  	c.urlParams_.Set("alt", alt)
 16690  	c.urlParams_.Set("prettyPrint", "false")
 16691  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 16692  	urls += "?" + c.urlParams_.Encode()
 16693  	req, err := http.NewRequest("POST", urls, body)
 16694  	if err != nil {
 16695  		return nil, err
 16696  	}
 16697  	req.Header = reqHeaders
 16698  	googleapi.Expand(req.URL, map[string]string{
 16699  		"profileId": strconv.FormatInt(c.profileId, 10),
 16700  	})
 16701  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 16702  }
 16703  
 16704  // Do executes the "dfareporting.ads.insert" call.
 16705  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 16706  // is an error. Response headers are in either *Ad.ServerResponse.Header
 16707  // or (if a response was returned at all) in
 16708  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 16709  // whether the returned error was because http.StatusNotModified was
 16710  // returned.
 16711  func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 16712  	gensupport.SetOptions(c.urlParams_, opts...)
 16713  	res, err := c.doRequest("json")
 16714  	if res != nil && res.StatusCode == http.StatusNotModified {
 16715  		if res.Body != nil {
 16716  			res.Body.Close()
 16717  		}
 16718  		return nil, &googleapi.Error{
 16719  			Code:   res.StatusCode,
 16720  			Header: res.Header,
 16721  		}
 16722  	}
 16723  	if err != nil {
 16724  		return nil, err
 16725  	}
 16726  	defer googleapi.CloseBody(res)
 16727  	if err := googleapi.CheckResponse(res); err != nil {
 16728  		return nil, err
 16729  	}
 16730  	ret := &Ad{
 16731  		ServerResponse: googleapi.ServerResponse{
 16732  			Header:         res.Header,
 16733  			HTTPStatusCode: res.StatusCode,
 16734  		},
 16735  	}
 16736  	target := &ret
 16737  	if err := gensupport.DecodeResponse(target, res); err != nil {
 16738  		return nil, err
 16739  	}
 16740  	return ret, nil
 16741  	// {
 16742  	//   "description": "Inserts a new ad.",
 16743  	//   "flatPath": "userprofiles/{profileId}/ads",
 16744  	//   "httpMethod": "POST",
 16745  	//   "id": "dfareporting.ads.insert",
 16746  	//   "parameterOrder": [
 16747  	//     "profileId"
 16748  	//   ],
 16749  	//   "parameters": {
 16750  	//     "profileId": {
 16751  	//       "description": "User profile ID associated with this request.",
 16752  	//       "format": "int64",
 16753  	//       "location": "path",
 16754  	//       "required": true,
 16755  	//       "type": "string"
 16756  	//     }
 16757  	//   },
 16758  	//   "path": "userprofiles/{profileId}/ads",
 16759  	//   "request": {
 16760  	//     "$ref": "Ad"
 16761  	//   },
 16762  	//   "response": {
 16763  	//     "$ref": "Ad"
 16764  	//   },
 16765  	//   "scopes": [
 16766  	//     "https://www.googleapis.com/auth/dfatrafficking"
 16767  	//   ]
 16768  	// }
 16769  
 16770  }
 16771  
 16772  // method id "dfareporting.ads.list":
 16773  
 16774  type AdsListCall struct {
 16775  	s            *Service
 16776  	profileId    int64
 16777  	urlParams_   gensupport.URLParams
 16778  	ifNoneMatch_ string
 16779  	ctx_         context.Context
 16780  	header_      http.Header
 16781  }
 16782  
 16783  // List: Retrieves a list of ads, possibly filtered. This method
 16784  // supports paging.
 16785  //
 16786  // - profileId: User profile ID associated with this request.
 16787  func (r *AdsService) List(profileId int64) *AdsListCall {
 16788  	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 16789  	c.profileId = profileId
 16790  	return c
 16791  }
 16792  
 16793  // Active sets the optional parameter "active": Select only active ads.
 16794  func (c *AdsListCall) Active(active bool) *AdsListCall {
 16795  	c.urlParams_.Set("active", fmt.Sprint(active))
 16796  	return c
 16797  }
 16798  
 16799  // AdvertiserId sets the optional parameter "advertiserId": Select only
 16800  // ads with this advertiser ID.
 16801  func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
 16802  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 16803  	return c
 16804  }
 16805  
 16806  // Archived sets the optional parameter "archived": Select only archived
 16807  // ads.
 16808  func (c *AdsListCall) Archived(archived bool) *AdsListCall {
 16809  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 16810  	return c
 16811  }
 16812  
 16813  // AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
 16814  // Select only ads with these audience segment IDs.
 16815  func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
 16816  	var audienceSegmentIds_ []string
 16817  	for _, v := range audienceSegmentIds {
 16818  		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
 16819  	}
 16820  	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
 16821  	return c
 16822  }
 16823  
 16824  // CampaignIds sets the optional parameter "campaignIds": Select only
 16825  // ads with these campaign IDs.
 16826  func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
 16827  	var campaignIds_ []string
 16828  	for _, v := range campaignIds {
 16829  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 16830  	}
 16831  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 16832  	return c
 16833  }
 16834  
 16835  // Compatibility sets the optional parameter "compatibility": Select
 16836  // default ads with the specified compatibility. Applicable when type is
 16837  // AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
 16838  // rendering either on desktop or on mobile devices for regular or
 16839  // interstitial ads, respectively. APP and APP_INTERSTITIAL are for
 16840  // rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
 16841  // in-stream video ads developed with the VAST standard.
 16842  //
 16843  // Possible values:
 16844  //
 16845  //	"DISPLAY"
 16846  //	"DISPLAY_INTERSTITIAL"
 16847  //	"APP"
 16848  //	"APP_INTERSTITIAL"
 16849  //	"IN_STREAM_VIDEO"
 16850  //	"IN_STREAM_AUDIO"
 16851  func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
 16852  	c.urlParams_.Set("compatibility", compatibility)
 16853  	return c
 16854  }
 16855  
 16856  // CreativeIds sets the optional parameter "creativeIds": Select only
 16857  // ads with these creative IDs assigned.
 16858  func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
 16859  	var creativeIds_ []string
 16860  	for _, v := range creativeIds {
 16861  		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
 16862  	}
 16863  	c.urlParams_.SetMulti("creativeIds", creativeIds_)
 16864  	return c
 16865  }
 16866  
 16867  // CreativeOptimizationConfigurationIds sets the optional parameter
 16868  // "creativeOptimizationConfigurationIds": Select only ads with these
 16869  // creative optimization configuration IDs.
 16870  func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
 16871  	var creativeOptimizationConfigurationIds_ []string
 16872  	for _, v := range creativeOptimizationConfigurationIds {
 16873  		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
 16874  	}
 16875  	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
 16876  	return c
 16877  }
 16878  
 16879  // DynamicClickTracker sets the optional parameter
 16880  // "dynamicClickTracker": Select only dynamic click trackers. Applicable
 16881  // when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
 16882  // trackers. If false, select static click trackers. Leave unset to
 16883  // select both.
 16884  func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
 16885  	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
 16886  	return c
 16887  }
 16888  
 16889  // Ids sets the optional parameter "ids": Select only ads with these
 16890  // IDs.
 16891  func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
 16892  	var ids_ []string
 16893  	for _, v := range ids {
 16894  		ids_ = append(ids_, fmt.Sprint(v))
 16895  	}
 16896  	c.urlParams_.SetMulti("ids", ids_)
 16897  	return c
 16898  }
 16899  
 16900  // LandingPageIds sets the optional parameter "landingPageIds": Select
 16901  // only ads with these landing page IDs.
 16902  func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
 16903  	var landingPageIds_ []string
 16904  	for _, v := range landingPageIds {
 16905  		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
 16906  	}
 16907  	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
 16908  	return c
 16909  }
 16910  
 16911  // MaxResults sets the optional parameter "maxResults": Maximum number
 16912  // of results to return.
 16913  func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
 16914  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 16915  	return c
 16916  }
 16917  
 16918  // OverriddenEventTagId sets the optional parameter
 16919  // "overriddenEventTagId": Select only ads with this event tag override
 16920  // ID.
 16921  func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
 16922  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 16923  	return c
 16924  }
 16925  
 16926  // PageToken sets the optional parameter "pageToken": Value of the
 16927  // nextPageToken from the previous result page.
 16928  func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
 16929  	c.urlParams_.Set("pageToken", pageToken)
 16930  	return c
 16931  }
 16932  
 16933  // PlacementIds sets the optional parameter "placementIds": Select only
 16934  // ads with these placement IDs assigned.
 16935  func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
 16936  	var placementIds_ []string
 16937  	for _, v := range placementIds {
 16938  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 16939  	}
 16940  	c.urlParams_.SetMulti("placementIds", placementIds_)
 16941  	return c
 16942  }
 16943  
 16944  // RemarketingListIds sets the optional parameter "remarketingListIds":
 16945  // Select only ads whose list targeting expression use these remarketing
 16946  // list IDs.
 16947  func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
 16948  	var remarketingListIds_ []string
 16949  	for _, v := range remarketingListIds {
 16950  		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
 16951  	}
 16952  	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
 16953  	return c
 16954  }
 16955  
 16956  // SearchString sets the optional parameter "searchString": Allows
 16957  // searching for objects by name or ID. Wildcards (*) are allowed. For
 16958  // example, "ad*2015" will return objects with names like "ad June
 16959  // 2015", "ad April 2015", or simply "ad 2015". Most of the searches
 16960  // also add wildcards implicitly at the start and the end of the search
 16961  // string. For example, a search string of "ad" will match objects with
 16962  // name "my ad", "ad 2015", or simply "ad".
 16963  func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
 16964  	c.urlParams_.Set("searchString", searchString)
 16965  	return c
 16966  }
 16967  
 16968  // SizeIds sets the optional parameter "sizeIds": Select only ads with
 16969  // these size IDs.
 16970  func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
 16971  	var sizeIds_ []string
 16972  	for _, v := range sizeIds {
 16973  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 16974  	}
 16975  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 16976  	return c
 16977  }
 16978  
 16979  // SortField sets the optional parameter "sortField": Field by which to
 16980  // sort the list.
 16981  //
 16982  // Possible values:
 16983  //
 16984  //	"ID" (default)
 16985  //	"NAME"
 16986  func (c *AdsListCall) SortField(sortField string) *AdsListCall {
 16987  	c.urlParams_.Set("sortField", sortField)
 16988  	return c
 16989  }
 16990  
 16991  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 16992  // results.
 16993  //
 16994  // Possible values:
 16995  //
 16996  //	"ASCENDING" (default)
 16997  //	"DESCENDING"
 16998  func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
 16999  	c.urlParams_.Set("sortOrder", sortOrder)
 17000  	return c
 17001  }
 17002  
 17003  // SslCompliant sets the optional parameter "sslCompliant": Select only
 17004  // ads that are SSL-compliant.
 17005  func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
 17006  	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
 17007  	return c
 17008  }
 17009  
 17010  // SslRequired sets the optional parameter "sslRequired": Select only
 17011  // ads that require SSL.
 17012  func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
 17013  	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
 17014  	return c
 17015  }
 17016  
 17017  // Type sets the optional parameter "type": Select only ads with these
 17018  // types.
 17019  //
 17020  // Possible values:
 17021  //
 17022  //	"AD_SERVING_STANDARD_AD"
 17023  //	"AD_SERVING_DEFAULT_AD"
 17024  //	"AD_SERVING_CLICK_TRACKER"
 17025  //	"AD_SERVING_TRACKING"
 17026  //	"AD_SERVING_BRAND_SAFE_AD"
 17027  func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
 17028  	c.urlParams_.SetMulti("type", append([]string{}, type_...))
 17029  	return c
 17030  }
 17031  
 17032  // Fields allows partial responses to be retrieved. See
 17033  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17034  // for more information.
 17035  func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
 17036  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17037  	return c
 17038  }
 17039  
 17040  // IfNoneMatch sets the optional parameter which makes the operation
 17041  // fail if the object's ETag matches the given value. This is useful for
 17042  // getting updates only after the object has changed since the last
 17043  // request. Use googleapi.IsNotModified to check whether the response
 17044  // error from Do is the result of In-None-Match.
 17045  func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
 17046  	c.ifNoneMatch_ = entityTag
 17047  	return c
 17048  }
 17049  
 17050  // Context sets the context to be used in this call's Do method. Any
 17051  // pending HTTP request will be aborted if the provided context is
 17052  // canceled.
 17053  func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
 17054  	c.ctx_ = ctx
 17055  	return c
 17056  }
 17057  
 17058  // Header returns an http.Header that can be modified by the caller to
 17059  // add HTTP headers to the request.
 17060  func (c *AdsListCall) Header() http.Header {
 17061  	if c.header_ == nil {
 17062  		c.header_ = make(http.Header)
 17063  	}
 17064  	return c.header_
 17065  }
 17066  
 17067  func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
 17068  	reqHeaders := make(http.Header)
 17069  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17070  	for k, v := range c.header_ {
 17071  		reqHeaders[k] = v
 17072  	}
 17073  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17074  	if c.ifNoneMatch_ != "" {
 17075  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17076  	}
 17077  	var body io.Reader = nil
 17078  	c.urlParams_.Set("alt", alt)
 17079  	c.urlParams_.Set("prettyPrint", "false")
 17080  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17081  	urls += "?" + c.urlParams_.Encode()
 17082  	req, err := http.NewRequest("GET", urls, body)
 17083  	if err != nil {
 17084  		return nil, err
 17085  	}
 17086  	req.Header = reqHeaders
 17087  	googleapi.Expand(req.URL, map[string]string{
 17088  		"profileId": strconv.FormatInt(c.profileId, 10),
 17089  	})
 17090  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17091  }
 17092  
 17093  // Do executes the "dfareporting.ads.list" call.
 17094  // Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
 17095  // status code is an error. Response headers are in either
 17096  // *AdsListResponse.ServerResponse.Header or (if a response was returned
 17097  // at all) in error.(*googleapi.Error).Header. Use
 17098  // googleapi.IsNotModified to check whether the returned error was
 17099  // because http.StatusNotModified was returned.
 17100  func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
 17101  	gensupport.SetOptions(c.urlParams_, opts...)
 17102  	res, err := c.doRequest("json")
 17103  	if res != nil && res.StatusCode == http.StatusNotModified {
 17104  		if res.Body != nil {
 17105  			res.Body.Close()
 17106  		}
 17107  		return nil, &googleapi.Error{
 17108  			Code:   res.StatusCode,
 17109  			Header: res.Header,
 17110  		}
 17111  	}
 17112  	if err != nil {
 17113  		return nil, err
 17114  	}
 17115  	defer googleapi.CloseBody(res)
 17116  	if err := googleapi.CheckResponse(res); err != nil {
 17117  		return nil, err
 17118  	}
 17119  	ret := &AdsListResponse{
 17120  		ServerResponse: googleapi.ServerResponse{
 17121  			Header:         res.Header,
 17122  			HTTPStatusCode: res.StatusCode,
 17123  		},
 17124  	}
 17125  	target := &ret
 17126  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17127  		return nil, err
 17128  	}
 17129  	return ret, nil
 17130  	// {
 17131  	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
 17132  	//   "flatPath": "userprofiles/{profileId}/ads",
 17133  	//   "httpMethod": "GET",
 17134  	//   "id": "dfareporting.ads.list",
 17135  	//   "parameterOrder": [
 17136  	//     "profileId"
 17137  	//   ],
 17138  	//   "parameters": {
 17139  	//     "active": {
 17140  	//       "description": "Select only active ads.",
 17141  	//       "location": "query",
 17142  	//       "type": "boolean"
 17143  	//     },
 17144  	//     "advertiserId": {
 17145  	//       "description": "Select only ads with this advertiser ID.",
 17146  	//       "format": "int64",
 17147  	//       "location": "query",
 17148  	//       "type": "string"
 17149  	//     },
 17150  	//     "archived": {
 17151  	//       "description": "Select only archived ads.",
 17152  	//       "location": "query",
 17153  	//       "type": "boolean"
 17154  	//     },
 17155  	//     "audienceSegmentIds": {
 17156  	//       "description": "Select only ads with these audience segment IDs.",
 17157  	//       "format": "int64",
 17158  	//       "location": "query",
 17159  	//       "repeated": true,
 17160  	//       "type": "string"
 17161  	//     },
 17162  	//     "campaignIds": {
 17163  	//       "description": "Select only ads with these campaign IDs.",
 17164  	//       "format": "int64",
 17165  	//       "location": "query",
 17166  	//       "repeated": true,
 17167  	//       "type": "string"
 17168  	//     },
 17169  	//     "compatibility": {
 17170  	//       "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.",
 17171  	//       "enum": [
 17172  	//         "DISPLAY",
 17173  	//         "DISPLAY_INTERSTITIAL",
 17174  	//         "APP",
 17175  	//         "APP_INTERSTITIAL",
 17176  	//         "IN_STREAM_VIDEO",
 17177  	//         "IN_STREAM_AUDIO"
 17178  	//       ],
 17179  	//       "enumDescriptions": [
 17180  	//         "",
 17181  	//         "",
 17182  	//         "",
 17183  	//         "",
 17184  	//         "",
 17185  	//         ""
 17186  	//       ],
 17187  	//       "location": "query",
 17188  	//       "type": "string"
 17189  	//     },
 17190  	//     "creativeIds": {
 17191  	//       "description": "Select only ads with these creative IDs assigned.",
 17192  	//       "format": "int64",
 17193  	//       "location": "query",
 17194  	//       "repeated": true,
 17195  	//       "type": "string"
 17196  	//     },
 17197  	//     "creativeOptimizationConfigurationIds": {
 17198  	//       "description": "Select only ads with these creative optimization configuration IDs.",
 17199  	//       "format": "int64",
 17200  	//       "location": "query",
 17201  	//       "repeated": true,
 17202  	//       "type": "string"
 17203  	//     },
 17204  	//     "dynamicClickTracker": {
 17205  	//       "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.",
 17206  	//       "location": "query",
 17207  	//       "type": "boolean"
 17208  	//     },
 17209  	//     "ids": {
 17210  	//       "description": "Select only ads with these IDs.",
 17211  	//       "format": "int64",
 17212  	//       "location": "query",
 17213  	//       "repeated": true,
 17214  	//       "type": "string"
 17215  	//     },
 17216  	//     "landingPageIds": {
 17217  	//       "description": "Select only ads with these landing page IDs.",
 17218  	//       "format": "int64",
 17219  	//       "location": "query",
 17220  	//       "repeated": true,
 17221  	//       "type": "string"
 17222  	//     },
 17223  	//     "maxResults": {
 17224  	//       "default": "1000",
 17225  	//       "description": "Maximum number of results to return.",
 17226  	//       "format": "int32",
 17227  	//       "location": "query",
 17228  	//       "maximum": "1000",
 17229  	//       "minimum": "0",
 17230  	//       "type": "integer"
 17231  	//     },
 17232  	//     "overriddenEventTagId": {
 17233  	//       "description": "Select only ads with this event tag override ID.",
 17234  	//       "format": "int64",
 17235  	//       "location": "query",
 17236  	//       "type": "string"
 17237  	//     },
 17238  	//     "pageToken": {
 17239  	//       "description": "Value of the nextPageToken from the previous result page.",
 17240  	//       "location": "query",
 17241  	//       "type": "string"
 17242  	//     },
 17243  	//     "placementIds": {
 17244  	//       "description": "Select only ads with these placement IDs assigned.",
 17245  	//       "format": "int64",
 17246  	//       "location": "query",
 17247  	//       "repeated": true,
 17248  	//       "type": "string"
 17249  	//     },
 17250  	//     "profileId": {
 17251  	//       "description": "User profile ID associated with this request.",
 17252  	//       "format": "int64",
 17253  	//       "location": "path",
 17254  	//       "required": true,
 17255  	//       "type": "string"
 17256  	//     },
 17257  	//     "remarketingListIds": {
 17258  	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
 17259  	//       "format": "int64",
 17260  	//       "location": "query",
 17261  	//       "repeated": true,
 17262  	//       "type": "string"
 17263  	//     },
 17264  	//     "searchString": {
 17265  	//       "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\".",
 17266  	//       "location": "query",
 17267  	//       "type": "string"
 17268  	//     },
 17269  	//     "sizeIds": {
 17270  	//       "description": "Select only ads with these size IDs.",
 17271  	//       "format": "int64",
 17272  	//       "location": "query",
 17273  	//       "repeated": true,
 17274  	//       "type": "string"
 17275  	//     },
 17276  	//     "sortField": {
 17277  	//       "default": "ID",
 17278  	//       "description": "Field by which to sort the list.",
 17279  	//       "enum": [
 17280  	//         "ID",
 17281  	//         "NAME"
 17282  	//       ],
 17283  	//       "enumDescriptions": [
 17284  	//         "",
 17285  	//         ""
 17286  	//       ],
 17287  	//       "location": "query",
 17288  	//       "type": "string"
 17289  	//     },
 17290  	//     "sortOrder": {
 17291  	//       "default": "ASCENDING",
 17292  	//       "description": "Order of sorted results.",
 17293  	//       "enum": [
 17294  	//         "ASCENDING",
 17295  	//         "DESCENDING"
 17296  	//       ],
 17297  	//       "enumDescriptions": [
 17298  	//         "",
 17299  	//         ""
 17300  	//       ],
 17301  	//       "location": "query",
 17302  	//       "type": "string"
 17303  	//     },
 17304  	//     "sslCompliant": {
 17305  	//       "description": "Select only ads that are SSL-compliant.",
 17306  	//       "location": "query",
 17307  	//       "type": "boolean"
 17308  	//     },
 17309  	//     "sslRequired": {
 17310  	//       "description": "Select only ads that require SSL.",
 17311  	//       "location": "query",
 17312  	//       "type": "boolean"
 17313  	//     },
 17314  	//     "type": {
 17315  	//       "description": "Select only ads with these types.",
 17316  	//       "enum": [
 17317  	//         "AD_SERVING_STANDARD_AD",
 17318  	//         "AD_SERVING_DEFAULT_AD",
 17319  	//         "AD_SERVING_CLICK_TRACKER",
 17320  	//         "AD_SERVING_TRACKING",
 17321  	//         "AD_SERVING_BRAND_SAFE_AD"
 17322  	//       ],
 17323  	//       "enumDescriptions": [
 17324  	//         "",
 17325  	//         "",
 17326  	//         "",
 17327  	//         "",
 17328  	//         ""
 17329  	//       ],
 17330  	//       "location": "query",
 17331  	//       "repeated": true,
 17332  	//       "type": "string"
 17333  	//     }
 17334  	//   },
 17335  	//   "path": "userprofiles/{profileId}/ads",
 17336  	//   "response": {
 17337  	//     "$ref": "AdsListResponse"
 17338  	//   },
 17339  	//   "scopes": [
 17340  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17341  	//   ]
 17342  	// }
 17343  
 17344  }
 17345  
 17346  // Pages invokes f for each page of results.
 17347  // A non-nil error returned from f will halt the iteration.
 17348  // The provided context supersedes any context provided to the Context method.
 17349  func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
 17350  	c.ctx_ = ctx
 17351  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 17352  	for {
 17353  		x, err := c.Do()
 17354  		if err != nil {
 17355  			return err
 17356  		}
 17357  		if err := f(x); err != nil {
 17358  			return err
 17359  		}
 17360  		if x.NextPageToken == "" {
 17361  			return nil
 17362  		}
 17363  		c.PageToken(x.NextPageToken)
 17364  	}
 17365  }
 17366  
 17367  // method id "dfareporting.ads.patch":
 17368  
 17369  type AdsPatchCall struct {
 17370  	s          *Service
 17371  	profileId  int64
 17372  	ad         *Ad
 17373  	urlParams_ gensupport.URLParams
 17374  	ctx_       context.Context
 17375  	header_    http.Header
 17376  }
 17377  
 17378  // Patch: Updates an existing ad. This method supports patch semantics.
 17379  //
 17380  // - id: Ad ID.
 17381  // - profileId: User profile ID associated with this request.
 17382  func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
 17383  	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17384  	c.profileId = profileId
 17385  	c.urlParams_.Set("id", fmt.Sprint(id))
 17386  	c.ad = ad
 17387  	return c
 17388  }
 17389  
 17390  // Fields allows partial responses to be retrieved. See
 17391  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17392  // for more information.
 17393  func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
 17394  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17395  	return c
 17396  }
 17397  
 17398  // Context sets the context to be used in this call's Do method. Any
 17399  // pending HTTP request will be aborted if the provided context is
 17400  // canceled.
 17401  func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
 17402  	c.ctx_ = ctx
 17403  	return c
 17404  }
 17405  
 17406  // Header returns an http.Header that can be modified by the caller to
 17407  // add HTTP headers to the request.
 17408  func (c *AdsPatchCall) Header() http.Header {
 17409  	if c.header_ == nil {
 17410  		c.header_ = make(http.Header)
 17411  	}
 17412  	return c.header_
 17413  }
 17414  
 17415  func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
 17416  	reqHeaders := make(http.Header)
 17417  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17418  	for k, v := range c.header_ {
 17419  		reqHeaders[k] = v
 17420  	}
 17421  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17422  	var body io.Reader = nil
 17423  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17424  	if err != nil {
 17425  		return nil, err
 17426  	}
 17427  	reqHeaders.Set("Content-Type", "application/json")
 17428  	c.urlParams_.Set("alt", alt)
 17429  	c.urlParams_.Set("prettyPrint", "false")
 17430  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17431  	urls += "?" + c.urlParams_.Encode()
 17432  	req, err := http.NewRequest("PATCH", urls, body)
 17433  	if err != nil {
 17434  		return nil, err
 17435  	}
 17436  	req.Header = reqHeaders
 17437  	googleapi.Expand(req.URL, map[string]string{
 17438  		"profileId": strconv.FormatInt(c.profileId, 10),
 17439  	})
 17440  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17441  }
 17442  
 17443  // Do executes the "dfareporting.ads.patch" call.
 17444  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17445  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17446  // or (if a response was returned at all) in
 17447  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17448  // whether the returned error was because http.StatusNotModified was
 17449  // returned.
 17450  func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17451  	gensupport.SetOptions(c.urlParams_, opts...)
 17452  	res, err := c.doRequest("json")
 17453  	if res != nil && res.StatusCode == http.StatusNotModified {
 17454  		if res.Body != nil {
 17455  			res.Body.Close()
 17456  		}
 17457  		return nil, &googleapi.Error{
 17458  			Code:   res.StatusCode,
 17459  			Header: res.Header,
 17460  		}
 17461  	}
 17462  	if err != nil {
 17463  		return nil, err
 17464  	}
 17465  	defer googleapi.CloseBody(res)
 17466  	if err := googleapi.CheckResponse(res); err != nil {
 17467  		return nil, err
 17468  	}
 17469  	ret := &Ad{
 17470  		ServerResponse: googleapi.ServerResponse{
 17471  			Header:         res.Header,
 17472  			HTTPStatusCode: res.StatusCode,
 17473  		},
 17474  	}
 17475  	target := &ret
 17476  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17477  		return nil, err
 17478  	}
 17479  	return ret, nil
 17480  	// {
 17481  	//   "description": "Updates an existing ad. This method supports patch semantics.",
 17482  	//   "flatPath": "userprofiles/{profileId}/ads",
 17483  	//   "httpMethod": "PATCH",
 17484  	//   "id": "dfareporting.ads.patch",
 17485  	//   "parameterOrder": [
 17486  	//     "profileId",
 17487  	//     "id"
 17488  	//   ],
 17489  	//   "parameters": {
 17490  	//     "id": {
 17491  	//       "description": "Ad ID.",
 17492  	//       "format": "int64",
 17493  	//       "location": "query",
 17494  	//       "required": true,
 17495  	//       "type": "string"
 17496  	//     },
 17497  	//     "profileId": {
 17498  	//       "description": "User profile ID associated with this request.",
 17499  	//       "format": "int64",
 17500  	//       "location": "path",
 17501  	//       "required": true,
 17502  	//       "type": "string"
 17503  	//     }
 17504  	//   },
 17505  	//   "path": "userprofiles/{profileId}/ads",
 17506  	//   "request": {
 17507  	//     "$ref": "Ad"
 17508  	//   },
 17509  	//   "response": {
 17510  	//     "$ref": "Ad"
 17511  	//   },
 17512  	//   "scopes": [
 17513  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17514  	//   ]
 17515  	// }
 17516  
 17517  }
 17518  
 17519  // method id "dfareporting.ads.update":
 17520  
 17521  type AdsUpdateCall struct {
 17522  	s          *Service
 17523  	profileId  int64
 17524  	ad         *Ad
 17525  	urlParams_ gensupport.URLParams
 17526  	ctx_       context.Context
 17527  	header_    http.Header
 17528  }
 17529  
 17530  // Update: Updates an existing ad.
 17531  //
 17532  // - profileId: User profile ID associated with this request.
 17533  func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
 17534  	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17535  	c.profileId = profileId
 17536  	c.ad = ad
 17537  	return c
 17538  }
 17539  
 17540  // Fields allows partial responses to be retrieved. See
 17541  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17542  // for more information.
 17543  func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
 17544  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17545  	return c
 17546  }
 17547  
 17548  // Context sets the context to be used in this call's Do method. Any
 17549  // pending HTTP request will be aborted if the provided context is
 17550  // canceled.
 17551  func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
 17552  	c.ctx_ = ctx
 17553  	return c
 17554  }
 17555  
 17556  // Header returns an http.Header that can be modified by the caller to
 17557  // add HTTP headers to the request.
 17558  func (c *AdsUpdateCall) Header() http.Header {
 17559  	if c.header_ == nil {
 17560  		c.header_ = make(http.Header)
 17561  	}
 17562  	return c.header_
 17563  }
 17564  
 17565  func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
 17566  	reqHeaders := make(http.Header)
 17567  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17568  	for k, v := range c.header_ {
 17569  		reqHeaders[k] = v
 17570  	}
 17571  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17572  	var body io.Reader = nil
 17573  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
 17574  	if err != nil {
 17575  		return nil, err
 17576  	}
 17577  	reqHeaders.Set("Content-Type", "application/json")
 17578  	c.urlParams_.Set("alt", alt)
 17579  	c.urlParams_.Set("prettyPrint", "false")
 17580  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
 17581  	urls += "?" + c.urlParams_.Encode()
 17582  	req, err := http.NewRequest("PUT", urls, body)
 17583  	if err != nil {
 17584  		return nil, err
 17585  	}
 17586  	req.Header = reqHeaders
 17587  	googleapi.Expand(req.URL, map[string]string{
 17588  		"profileId": strconv.FormatInt(c.profileId, 10),
 17589  	})
 17590  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17591  }
 17592  
 17593  // Do executes the "dfareporting.ads.update" call.
 17594  // Exactly one of *Ad or error will be non-nil. Any non-2xx status code
 17595  // is an error. Response headers are in either *Ad.ServerResponse.Header
 17596  // or (if a response was returned at all) in
 17597  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 17598  // whether the returned error was because http.StatusNotModified was
 17599  // returned.
 17600  func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
 17601  	gensupport.SetOptions(c.urlParams_, opts...)
 17602  	res, err := c.doRequest("json")
 17603  	if res != nil && res.StatusCode == http.StatusNotModified {
 17604  		if res.Body != nil {
 17605  			res.Body.Close()
 17606  		}
 17607  		return nil, &googleapi.Error{
 17608  			Code:   res.StatusCode,
 17609  			Header: res.Header,
 17610  		}
 17611  	}
 17612  	if err != nil {
 17613  		return nil, err
 17614  	}
 17615  	defer googleapi.CloseBody(res)
 17616  	if err := googleapi.CheckResponse(res); err != nil {
 17617  		return nil, err
 17618  	}
 17619  	ret := &Ad{
 17620  		ServerResponse: googleapi.ServerResponse{
 17621  			Header:         res.Header,
 17622  			HTTPStatusCode: res.StatusCode,
 17623  		},
 17624  	}
 17625  	target := &ret
 17626  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17627  		return nil, err
 17628  	}
 17629  	return ret, nil
 17630  	// {
 17631  	//   "description": "Updates an existing ad.",
 17632  	//   "flatPath": "userprofiles/{profileId}/ads",
 17633  	//   "httpMethod": "PUT",
 17634  	//   "id": "dfareporting.ads.update",
 17635  	//   "parameterOrder": [
 17636  	//     "profileId"
 17637  	//   ],
 17638  	//   "parameters": {
 17639  	//     "profileId": {
 17640  	//       "description": "User profile ID associated with this request.",
 17641  	//       "format": "int64",
 17642  	//       "location": "path",
 17643  	//       "required": true,
 17644  	//       "type": "string"
 17645  	//     }
 17646  	//   },
 17647  	//   "path": "userprofiles/{profileId}/ads",
 17648  	//   "request": {
 17649  	//     "$ref": "Ad"
 17650  	//   },
 17651  	//   "response": {
 17652  	//     "$ref": "Ad"
 17653  	//   },
 17654  	//   "scopes": [
 17655  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17656  	//   ]
 17657  	// }
 17658  
 17659  }
 17660  
 17661  // method id "dfareporting.advertiserGroups.delete":
 17662  
 17663  type AdvertiserGroupsDeleteCall struct {
 17664  	s          *Service
 17665  	profileId  int64
 17666  	id         int64
 17667  	urlParams_ gensupport.URLParams
 17668  	ctx_       context.Context
 17669  	header_    http.Header
 17670  }
 17671  
 17672  // Delete: Deletes an existing advertiser group.
 17673  //
 17674  // - id: Advertiser group ID.
 17675  // - profileId: User profile ID associated with this request.
 17676  func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
 17677  	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17678  	c.profileId = profileId
 17679  	c.id = id
 17680  	return c
 17681  }
 17682  
 17683  // Fields allows partial responses to be retrieved. See
 17684  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17685  // for more information.
 17686  func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
 17687  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17688  	return c
 17689  }
 17690  
 17691  // Context sets the context to be used in this call's Do method. Any
 17692  // pending HTTP request will be aborted if the provided context is
 17693  // canceled.
 17694  func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
 17695  	c.ctx_ = ctx
 17696  	return c
 17697  }
 17698  
 17699  // Header returns an http.Header that can be modified by the caller to
 17700  // add HTTP headers to the request.
 17701  func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
 17702  	if c.header_ == nil {
 17703  		c.header_ = make(http.Header)
 17704  	}
 17705  	return c.header_
 17706  }
 17707  
 17708  func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
 17709  	reqHeaders := make(http.Header)
 17710  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17711  	for k, v := range c.header_ {
 17712  		reqHeaders[k] = v
 17713  	}
 17714  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17715  	var body io.Reader = nil
 17716  	c.urlParams_.Set("alt", alt)
 17717  	c.urlParams_.Set("prettyPrint", "false")
 17718  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17719  	urls += "?" + c.urlParams_.Encode()
 17720  	req, err := http.NewRequest("DELETE", urls, body)
 17721  	if err != nil {
 17722  		return nil, err
 17723  	}
 17724  	req.Header = reqHeaders
 17725  	googleapi.Expand(req.URL, map[string]string{
 17726  		"profileId": strconv.FormatInt(c.profileId, 10),
 17727  		"id":        strconv.FormatInt(c.id, 10),
 17728  	})
 17729  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17730  }
 17731  
 17732  // Do executes the "dfareporting.advertiserGroups.delete" call.
 17733  func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
 17734  	gensupport.SetOptions(c.urlParams_, opts...)
 17735  	res, err := c.doRequest("json")
 17736  	if err != nil {
 17737  		return err
 17738  	}
 17739  	defer googleapi.CloseBody(res)
 17740  	if err := googleapi.CheckResponse(res); err != nil {
 17741  		return err
 17742  	}
 17743  	return nil
 17744  	// {
 17745  	//   "description": "Deletes an existing advertiser group.",
 17746  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
 17747  	//   "httpMethod": "DELETE",
 17748  	//   "id": "dfareporting.advertiserGroups.delete",
 17749  	//   "parameterOrder": [
 17750  	//     "profileId",
 17751  	//     "id"
 17752  	//   ],
 17753  	//   "parameters": {
 17754  	//     "id": {
 17755  	//       "description": "Advertiser group ID.",
 17756  	//       "format": "int64",
 17757  	//       "location": "path",
 17758  	//       "required": true,
 17759  	//       "type": "string"
 17760  	//     },
 17761  	//     "profileId": {
 17762  	//       "description": "User profile ID associated with this request.",
 17763  	//       "format": "int64",
 17764  	//       "location": "path",
 17765  	//       "required": true,
 17766  	//       "type": "string"
 17767  	//     }
 17768  	//   },
 17769  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17770  	//   "scopes": [
 17771  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17772  	//   ]
 17773  	// }
 17774  
 17775  }
 17776  
 17777  // method id "dfareporting.advertiserGroups.get":
 17778  
 17779  type AdvertiserGroupsGetCall struct {
 17780  	s            *Service
 17781  	profileId    int64
 17782  	id           int64
 17783  	urlParams_   gensupport.URLParams
 17784  	ifNoneMatch_ string
 17785  	ctx_         context.Context
 17786  	header_      http.Header
 17787  }
 17788  
 17789  // Get: Gets one advertiser group by ID.
 17790  //
 17791  // - id: Advertiser group ID.
 17792  // - profileId: User profile ID associated with this request.
 17793  func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
 17794  	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17795  	c.profileId = profileId
 17796  	c.id = id
 17797  	return c
 17798  }
 17799  
 17800  // Fields allows partial responses to be retrieved. See
 17801  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17802  // for more information.
 17803  func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
 17804  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17805  	return c
 17806  }
 17807  
 17808  // IfNoneMatch sets the optional parameter which makes the operation
 17809  // fail if the object's ETag matches the given value. This is useful for
 17810  // getting updates only after the object has changed since the last
 17811  // request. Use googleapi.IsNotModified to check whether the response
 17812  // error from Do is the result of In-None-Match.
 17813  func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
 17814  	c.ifNoneMatch_ = entityTag
 17815  	return c
 17816  }
 17817  
 17818  // Context sets the context to be used in this call's Do method. Any
 17819  // pending HTTP request will be aborted if the provided context is
 17820  // canceled.
 17821  func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
 17822  	c.ctx_ = ctx
 17823  	return c
 17824  }
 17825  
 17826  // Header returns an http.Header that can be modified by the caller to
 17827  // add HTTP headers to the request.
 17828  func (c *AdvertiserGroupsGetCall) Header() http.Header {
 17829  	if c.header_ == nil {
 17830  		c.header_ = make(http.Header)
 17831  	}
 17832  	return c.header_
 17833  }
 17834  
 17835  func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 17836  	reqHeaders := make(http.Header)
 17837  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17838  	for k, v := range c.header_ {
 17839  		reqHeaders[k] = v
 17840  	}
 17841  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17842  	if c.ifNoneMatch_ != "" {
 17843  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 17844  	}
 17845  	var body io.Reader = nil
 17846  	c.urlParams_.Set("alt", alt)
 17847  	c.urlParams_.Set("prettyPrint", "false")
 17848  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
 17849  	urls += "?" + c.urlParams_.Encode()
 17850  	req, err := http.NewRequest("GET", urls, body)
 17851  	if err != nil {
 17852  		return nil, err
 17853  	}
 17854  	req.Header = reqHeaders
 17855  	googleapi.Expand(req.URL, map[string]string{
 17856  		"profileId": strconv.FormatInt(c.profileId, 10),
 17857  		"id":        strconv.FormatInt(c.id, 10),
 17858  	})
 17859  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 17860  }
 17861  
 17862  // Do executes the "dfareporting.advertiserGroups.get" call.
 17863  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 17864  // status code is an error. Response headers are in either
 17865  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 17866  // at all) in error.(*googleapi.Error).Header. Use
 17867  // googleapi.IsNotModified to check whether the returned error was
 17868  // because http.StatusNotModified was returned.
 17869  func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 17870  	gensupport.SetOptions(c.urlParams_, opts...)
 17871  	res, err := c.doRequest("json")
 17872  	if res != nil && res.StatusCode == http.StatusNotModified {
 17873  		if res.Body != nil {
 17874  			res.Body.Close()
 17875  		}
 17876  		return nil, &googleapi.Error{
 17877  			Code:   res.StatusCode,
 17878  			Header: res.Header,
 17879  		}
 17880  	}
 17881  	if err != nil {
 17882  		return nil, err
 17883  	}
 17884  	defer googleapi.CloseBody(res)
 17885  	if err := googleapi.CheckResponse(res); err != nil {
 17886  		return nil, err
 17887  	}
 17888  	ret := &AdvertiserGroup{
 17889  		ServerResponse: googleapi.ServerResponse{
 17890  			Header:         res.Header,
 17891  			HTTPStatusCode: res.StatusCode,
 17892  		},
 17893  	}
 17894  	target := &ret
 17895  	if err := gensupport.DecodeResponse(target, res); err != nil {
 17896  		return nil, err
 17897  	}
 17898  	return ret, nil
 17899  	// {
 17900  	//   "description": "Gets one advertiser group by ID.",
 17901  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
 17902  	//   "httpMethod": "GET",
 17903  	//   "id": "dfareporting.advertiserGroups.get",
 17904  	//   "parameterOrder": [
 17905  	//     "profileId",
 17906  	//     "id"
 17907  	//   ],
 17908  	//   "parameters": {
 17909  	//     "id": {
 17910  	//       "description": "Advertiser group ID.",
 17911  	//       "format": "int64",
 17912  	//       "location": "path",
 17913  	//       "required": true,
 17914  	//       "type": "string"
 17915  	//     },
 17916  	//     "profileId": {
 17917  	//       "description": "User profile ID associated with this request.",
 17918  	//       "format": "int64",
 17919  	//       "location": "path",
 17920  	//       "required": true,
 17921  	//       "type": "string"
 17922  	//     }
 17923  	//   },
 17924  	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
 17925  	//   "response": {
 17926  	//     "$ref": "AdvertiserGroup"
 17927  	//   },
 17928  	//   "scopes": [
 17929  	//     "https://www.googleapis.com/auth/dfatrafficking"
 17930  	//   ]
 17931  	// }
 17932  
 17933  }
 17934  
 17935  // method id "dfareporting.advertiserGroups.insert":
 17936  
 17937  type AdvertiserGroupsInsertCall struct {
 17938  	s               *Service
 17939  	profileId       int64
 17940  	advertisergroup *AdvertiserGroup
 17941  	urlParams_      gensupport.URLParams
 17942  	ctx_            context.Context
 17943  	header_         http.Header
 17944  }
 17945  
 17946  // Insert: Inserts a new advertiser group.
 17947  //
 17948  // - profileId: User profile ID associated with this request.
 17949  func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
 17950  	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 17951  	c.profileId = profileId
 17952  	c.advertisergroup = advertisergroup
 17953  	return c
 17954  }
 17955  
 17956  // Fields allows partial responses to be retrieved. See
 17957  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 17958  // for more information.
 17959  func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
 17960  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 17961  	return c
 17962  }
 17963  
 17964  // Context sets the context to be used in this call's Do method. Any
 17965  // pending HTTP request will be aborted if the provided context is
 17966  // canceled.
 17967  func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
 17968  	c.ctx_ = ctx
 17969  	return c
 17970  }
 17971  
 17972  // Header returns an http.Header that can be modified by the caller to
 17973  // add HTTP headers to the request.
 17974  func (c *AdvertiserGroupsInsertCall) Header() http.Header {
 17975  	if c.header_ == nil {
 17976  		c.header_ = make(http.Header)
 17977  	}
 17978  	return c.header_
 17979  }
 17980  
 17981  func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 17982  	reqHeaders := make(http.Header)
 17983  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 17984  	for k, v := range c.header_ {
 17985  		reqHeaders[k] = v
 17986  	}
 17987  	reqHeaders.Set("User-Agent", c.s.userAgent())
 17988  	var body io.Reader = nil
 17989  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 17990  	if err != nil {
 17991  		return nil, err
 17992  	}
 17993  	reqHeaders.Set("Content-Type", "application/json")
 17994  	c.urlParams_.Set("alt", alt)
 17995  	c.urlParams_.Set("prettyPrint", "false")
 17996  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 17997  	urls += "?" + c.urlParams_.Encode()
 17998  	req, err := http.NewRequest("POST", urls, body)
 17999  	if err != nil {
 18000  		return nil, err
 18001  	}
 18002  	req.Header = reqHeaders
 18003  	googleapi.Expand(req.URL, map[string]string{
 18004  		"profileId": strconv.FormatInt(c.profileId, 10),
 18005  	})
 18006  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18007  }
 18008  
 18009  // Do executes the "dfareporting.advertiserGroups.insert" call.
 18010  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18011  // status code is an error. Response headers are in either
 18012  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18013  // at all) in error.(*googleapi.Error).Header. Use
 18014  // googleapi.IsNotModified to check whether the returned error was
 18015  // because http.StatusNotModified was returned.
 18016  func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18017  	gensupport.SetOptions(c.urlParams_, opts...)
 18018  	res, err := c.doRequest("json")
 18019  	if res != nil && res.StatusCode == http.StatusNotModified {
 18020  		if res.Body != nil {
 18021  			res.Body.Close()
 18022  		}
 18023  		return nil, &googleapi.Error{
 18024  			Code:   res.StatusCode,
 18025  			Header: res.Header,
 18026  		}
 18027  	}
 18028  	if err != nil {
 18029  		return nil, err
 18030  	}
 18031  	defer googleapi.CloseBody(res)
 18032  	if err := googleapi.CheckResponse(res); err != nil {
 18033  		return nil, err
 18034  	}
 18035  	ret := &AdvertiserGroup{
 18036  		ServerResponse: googleapi.ServerResponse{
 18037  			Header:         res.Header,
 18038  			HTTPStatusCode: res.StatusCode,
 18039  		},
 18040  	}
 18041  	target := &ret
 18042  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18043  		return nil, err
 18044  	}
 18045  	return ret, nil
 18046  	// {
 18047  	//   "description": "Inserts a new advertiser group.",
 18048  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 18049  	//   "httpMethod": "POST",
 18050  	//   "id": "dfareporting.advertiserGroups.insert",
 18051  	//   "parameterOrder": [
 18052  	//     "profileId"
 18053  	//   ],
 18054  	//   "parameters": {
 18055  	//     "profileId": {
 18056  	//       "description": "User profile ID associated with this request.",
 18057  	//       "format": "int64",
 18058  	//       "location": "path",
 18059  	//       "required": true,
 18060  	//       "type": "string"
 18061  	//     }
 18062  	//   },
 18063  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18064  	//   "request": {
 18065  	//     "$ref": "AdvertiserGroup"
 18066  	//   },
 18067  	//   "response": {
 18068  	//     "$ref": "AdvertiserGroup"
 18069  	//   },
 18070  	//   "scopes": [
 18071  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18072  	//   ]
 18073  	// }
 18074  
 18075  }
 18076  
 18077  // method id "dfareporting.advertiserGroups.list":
 18078  
 18079  type AdvertiserGroupsListCall struct {
 18080  	s            *Service
 18081  	profileId    int64
 18082  	urlParams_   gensupport.URLParams
 18083  	ifNoneMatch_ string
 18084  	ctx_         context.Context
 18085  	header_      http.Header
 18086  }
 18087  
 18088  // List: Retrieves a list of advertiser groups, possibly filtered. This
 18089  // method supports paging.
 18090  //
 18091  // - profileId: User profile ID associated with this request.
 18092  func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
 18093  	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18094  	c.profileId = profileId
 18095  	return c
 18096  }
 18097  
 18098  // Ids sets the optional parameter "ids": Select only advertiser groups
 18099  // with these IDs.
 18100  func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
 18101  	var ids_ []string
 18102  	for _, v := range ids {
 18103  		ids_ = append(ids_, fmt.Sprint(v))
 18104  	}
 18105  	c.urlParams_.SetMulti("ids", ids_)
 18106  	return c
 18107  }
 18108  
 18109  // MaxResults sets the optional parameter "maxResults": Maximum number
 18110  // of results to return.
 18111  func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
 18112  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 18113  	return c
 18114  }
 18115  
 18116  // PageToken sets the optional parameter "pageToken": Value of the
 18117  // nextPageToken from the previous result page.
 18118  func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
 18119  	c.urlParams_.Set("pageToken", pageToken)
 18120  	return c
 18121  }
 18122  
 18123  // SearchString sets the optional parameter "searchString": Allows
 18124  // searching for objects by name or ID. Wildcards (*) are allowed. For
 18125  // example, "advertiser*2015" will return objects with names like
 18126  // "advertiser group June 2015", "advertiser group April 2015", or
 18127  // simply "advertiser group 2015". Most of the searches also add
 18128  // wildcards implicitly at the start and the end of the search string.
 18129  // For example, a search string of "advertisergroup" will match objects
 18130  // with name "my advertisergroup", "advertisergroup 2015", or simply
 18131  // "advertisergroup".
 18132  func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
 18133  	c.urlParams_.Set("searchString", searchString)
 18134  	return c
 18135  }
 18136  
 18137  // SortField sets the optional parameter "sortField": Field by which to
 18138  // sort the list.
 18139  //
 18140  // Possible values:
 18141  //
 18142  //	"ID" (default)
 18143  //	"NAME"
 18144  func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
 18145  	c.urlParams_.Set("sortField", sortField)
 18146  	return c
 18147  }
 18148  
 18149  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 18150  // results.
 18151  //
 18152  // Possible values:
 18153  //
 18154  //	"ASCENDING" (default)
 18155  //	"DESCENDING"
 18156  func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
 18157  	c.urlParams_.Set("sortOrder", sortOrder)
 18158  	return c
 18159  }
 18160  
 18161  // Fields allows partial responses to be retrieved. See
 18162  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18163  // for more information.
 18164  func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
 18165  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18166  	return c
 18167  }
 18168  
 18169  // IfNoneMatch sets the optional parameter which makes the operation
 18170  // fail if the object's ETag matches the given value. This is useful for
 18171  // getting updates only after the object has changed since the last
 18172  // request. Use googleapi.IsNotModified to check whether the response
 18173  // error from Do is the result of In-None-Match.
 18174  func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
 18175  	c.ifNoneMatch_ = entityTag
 18176  	return c
 18177  }
 18178  
 18179  // Context sets the context to be used in this call's Do method. Any
 18180  // pending HTTP request will be aborted if the provided context is
 18181  // canceled.
 18182  func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
 18183  	c.ctx_ = ctx
 18184  	return c
 18185  }
 18186  
 18187  // Header returns an http.Header that can be modified by the caller to
 18188  // add HTTP headers to the request.
 18189  func (c *AdvertiserGroupsListCall) Header() http.Header {
 18190  	if c.header_ == nil {
 18191  		c.header_ = make(http.Header)
 18192  	}
 18193  	return c.header_
 18194  }
 18195  
 18196  func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
 18197  	reqHeaders := make(http.Header)
 18198  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18199  	for k, v := range c.header_ {
 18200  		reqHeaders[k] = v
 18201  	}
 18202  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18203  	if c.ifNoneMatch_ != "" {
 18204  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18205  	}
 18206  	var body io.Reader = nil
 18207  	c.urlParams_.Set("alt", alt)
 18208  	c.urlParams_.Set("prettyPrint", "false")
 18209  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18210  	urls += "?" + c.urlParams_.Encode()
 18211  	req, err := http.NewRequest("GET", urls, body)
 18212  	if err != nil {
 18213  		return nil, err
 18214  	}
 18215  	req.Header = reqHeaders
 18216  	googleapi.Expand(req.URL, map[string]string{
 18217  		"profileId": strconv.FormatInt(c.profileId, 10),
 18218  	})
 18219  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18220  }
 18221  
 18222  // Do executes the "dfareporting.advertiserGroups.list" call.
 18223  // Exactly one of *AdvertiserGroupsListResponse or error will be
 18224  // non-nil. Any non-2xx status code is an error. Response headers are in
 18225  // either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
 18226  // response was returned at all) in error.(*googleapi.Error).Header. Use
 18227  // googleapi.IsNotModified to check whether the returned error was
 18228  // because http.StatusNotModified was returned.
 18229  func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
 18230  	gensupport.SetOptions(c.urlParams_, opts...)
 18231  	res, err := c.doRequest("json")
 18232  	if res != nil && res.StatusCode == http.StatusNotModified {
 18233  		if res.Body != nil {
 18234  			res.Body.Close()
 18235  		}
 18236  		return nil, &googleapi.Error{
 18237  			Code:   res.StatusCode,
 18238  			Header: res.Header,
 18239  		}
 18240  	}
 18241  	if err != nil {
 18242  		return nil, err
 18243  	}
 18244  	defer googleapi.CloseBody(res)
 18245  	if err := googleapi.CheckResponse(res); err != nil {
 18246  		return nil, err
 18247  	}
 18248  	ret := &AdvertiserGroupsListResponse{
 18249  		ServerResponse: googleapi.ServerResponse{
 18250  			Header:         res.Header,
 18251  			HTTPStatusCode: res.StatusCode,
 18252  		},
 18253  	}
 18254  	target := &ret
 18255  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18256  		return nil, err
 18257  	}
 18258  	return ret, nil
 18259  	// {
 18260  	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
 18261  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 18262  	//   "httpMethod": "GET",
 18263  	//   "id": "dfareporting.advertiserGroups.list",
 18264  	//   "parameterOrder": [
 18265  	//     "profileId"
 18266  	//   ],
 18267  	//   "parameters": {
 18268  	//     "ids": {
 18269  	//       "description": "Select only advertiser groups with these IDs.",
 18270  	//       "format": "int64",
 18271  	//       "location": "query",
 18272  	//       "repeated": true,
 18273  	//       "type": "string"
 18274  	//     },
 18275  	//     "maxResults": {
 18276  	//       "default": "1000",
 18277  	//       "description": "Maximum number of results to return.",
 18278  	//       "format": "int32",
 18279  	//       "location": "query",
 18280  	//       "maximum": "1000",
 18281  	//       "minimum": "0",
 18282  	//       "type": "integer"
 18283  	//     },
 18284  	//     "pageToken": {
 18285  	//       "description": "Value of the nextPageToken from the previous result page.",
 18286  	//       "location": "query",
 18287  	//       "type": "string"
 18288  	//     },
 18289  	//     "profileId": {
 18290  	//       "description": "User profile ID associated with this request.",
 18291  	//       "format": "int64",
 18292  	//       "location": "path",
 18293  	//       "required": true,
 18294  	//       "type": "string"
 18295  	//     },
 18296  	//     "searchString": {
 18297  	//       "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\".",
 18298  	//       "location": "query",
 18299  	//       "type": "string"
 18300  	//     },
 18301  	//     "sortField": {
 18302  	//       "default": "ID",
 18303  	//       "description": "Field by which to sort the list.",
 18304  	//       "enum": [
 18305  	//         "ID",
 18306  	//         "NAME"
 18307  	//       ],
 18308  	//       "enumDescriptions": [
 18309  	//         "",
 18310  	//         ""
 18311  	//       ],
 18312  	//       "location": "query",
 18313  	//       "type": "string"
 18314  	//     },
 18315  	//     "sortOrder": {
 18316  	//       "default": "ASCENDING",
 18317  	//       "description": "Order of sorted results.",
 18318  	//       "enum": [
 18319  	//         "ASCENDING",
 18320  	//         "DESCENDING"
 18321  	//       ],
 18322  	//       "enumDescriptions": [
 18323  	//         "",
 18324  	//         ""
 18325  	//       ],
 18326  	//       "location": "query",
 18327  	//       "type": "string"
 18328  	//     }
 18329  	//   },
 18330  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18331  	//   "response": {
 18332  	//     "$ref": "AdvertiserGroupsListResponse"
 18333  	//   },
 18334  	//   "scopes": [
 18335  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18336  	//   ]
 18337  	// }
 18338  
 18339  }
 18340  
 18341  // Pages invokes f for each page of results.
 18342  // A non-nil error returned from f will halt the iteration.
 18343  // The provided context supersedes any context provided to the Context method.
 18344  func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
 18345  	c.ctx_ = ctx
 18346  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 18347  	for {
 18348  		x, err := c.Do()
 18349  		if err != nil {
 18350  			return err
 18351  		}
 18352  		if err := f(x); err != nil {
 18353  			return err
 18354  		}
 18355  		if x.NextPageToken == "" {
 18356  			return nil
 18357  		}
 18358  		c.PageToken(x.NextPageToken)
 18359  	}
 18360  }
 18361  
 18362  // method id "dfareporting.advertiserGroups.patch":
 18363  
 18364  type AdvertiserGroupsPatchCall struct {
 18365  	s               *Service
 18366  	profileId       int64
 18367  	advertisergroup *AdvertiserGroup
 18368  	urlParams_      gensupport.URLParams
 18369  	ctx_            context.Context
 18370  	header_         http.Header
 18371  }
 18372  
 18373  // Patch: Updates an existing advertiser group. This method supports
 18374  // patch semantics.
 18375  //
 18376  // - id: AdvertiserGroup ID.
 18377  // - profileId: User profile ID associated with this request.
 18378  func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
 18379  	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18380  	c.profileId = profileId
 18381  	c.urlParams_.Set("id", fmt.Sprint(id))
 18382  	c.advertisergroup = advertisergroup
 18383  	return c
 18384  }
 18385  
 18386  // Fields allows partial responses to be retrieved. See
 18387  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18388  // for more information.
 18389  func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
 18390  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18391  	return c
 18392  }
 18393  
 18394  // Context sets the context to be used in this call's Do method. Any
 18395  // pending HTTP request will be aborted if the provided context is
 18396  // canceled.
 18397  func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
 18398  	c.ctx_ = ctx
 18399  	return c
 18400  }
 18401  
 18402  // Header returns an http.Header that can be modified by the caller to
 18403  // add HTTP headers to the request.
 18404  func (c *AdvertiserGroupsPatchCall) Header() http.Header {
 18405  	if c.header_ == nil {
 18406  		c.header_ = make(http.Header)
 18407  	}
 18408  	return c.header_
 18409  }
 18410  
 18411  func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 18412  	reqHeaders := make(http.Header)
 18413  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18414  	for k, v := range c.header_ {
 18415  		reqHeaders[k] = v
 18416  	}
 18417  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18418  	var body io.Reader = nil
 18419  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18420  	if err != nil {
 18421  		return nil, err
 18422  	}
 18423  	reqHeaders.Set("Content-Type", "application/json")
 18424  	c.urlParams_.Set("alt", alt)
 18425  	c.urlParams_.Set("prettyPrint", "false")
 18426  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18427  	urls += "?" + c.urlParams_.Encode()
 18428  	req, err := http.NewRequest("PATCH", urls, body)
 18429  	if err != nil {
 18430  		return nil, err
 18431  	}
 18432  	req.Header = reqHeaders
 18433  	googleapi.Expand(req.URL, map[string]string{
 18434  		"profileId": strconv.FormatInt(c.profileId, 10),
 18435  	})
 18436  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18437  }
 18438  
 18439  // Do executes the "dfareporting.advertiserGroups.patch" call.
 18440  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18441  // status code is an error. Response headers are in either
 18442  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18443  // at all) in error.(*googleapi.Error).Header. Use
 18444  // googleapi.IsNotModified to check whether the returned error was
 18445  // because http.StatusNotModified was returned.
 18446  func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18447  	gensupport.SetOptions(c.urlParams_, opts...)
 18448  	res, err := c.doRequest("json")
 18449  	if res != nil && res.StatusCode == http.StatusNotModified {
 18450  		if res.Body != nil {
 18451  			res.Body.Close()
 18452  		}
 18453  		return nil, &googleapi.Error{
 18454  			Code:   res.StatusCode,
 18455  			Header: res.Header,
 18456  		}
 18457  	}
 18458  	if err != nil {
 18459  		return nil, err
 18460  	}
 18461  	defer googleapi.CloseBody(res)
 18462  	if err := googleapi.CheckResponse(res); err != nil {
 18463  		return nil, err
 18464  	}
 18465  	ret := &AdvertiserGroup{
 18466  		ServerResponse: googleapi.ServerResponse{
 18467  			Header:         res.Header,
 18468  			HTTPStatusCode: res.StatusCode,
 18469  		},
 18470  	}
 18471  	target := &ret
 18472  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18473  		return nil, err
 18474  	}
 18475  	return ret, nil
 18476  	// {
 18477  	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
 18478  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 18479  	//   "httpMethod": "PATCH",
 18480  	//   "id": "dfareporting.advertiserGroups.patch",
 18481  	//   "parameterOrder": [
 18482  	//     "profileId",
 18483  	//     "id"
 18484  	//   ],
 18485  	//   "parameters": {
 18486  	//     "id": {
 18487  	//       "description": "AdvertiserGroup ID.",
 18488  	//       "format": "int64",
 18489  	//       "location": "query",
 18490  	//       "required": true,
 18491  	//       "type": "string"
 18492  	//     },
 18493  	//     "profileId": {
 18494  	//       "description": "User profile ID associated with this request.",
 18495  	//       "format": "int64",
 18496  	//       "location": "path",
 18497  	//       "required": true,
 18498  	//       "type": "string"
 18499  	//     }
 18500  	//   },
 18501  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18502  	//   "request": {
 18503  	//     "$ref": "AdvertiserGroup"
 18504  	//   },
 18505  	//   "response": {
 18506  	//     "$ref": "AdvertiserGroup"
 18507  	//   },
 18508  	//   "scopes": [
 18509  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18510  	//   ]
 18511  	// }
 18512  
 18513  }
 18514  
 18515  // method id "dfareporting.advertiserGroups.update":
 18516  
 18517  type AdvertiserGroupsUpdateCall struct {
 18518  	s               *Service
 18519  	profileId       int64
 18520  	advertisergroup *AdvertiserGroup
 18521  	urlParams_      gensupport.URLParams
 18522  	ctx_            context.Context
 18523  	header_         http.Header
 18524  }
 18525  
 18526  // Update: Updates an existing advertiser group.
 18527  //
 18528  // - profileId: User profile ID associated with this request.
 18529  func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
 18530  	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18531  	c.profileId = profileId
 18532  	c.advertisergroup = advertisergroup
 18533  	return c
 18534  }
 18535  
 18536  // Fields allows partial responses to be retrieved. See
 18537  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18538  // for more information.
 18539  func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
 18540  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18541  	return c
 18542  }
 18543  
 18544  // Context sets the context to be used in this call's Do method. Any
 18545  // pending HTTP request will be aborted if the provided context is
 18546  // canceled.
 18547  func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
 18548  	c.ctx_ = ctx
 18549  	return c
 18550  }
 18551  
 18552  // Header returns an http.Header that can be modified by the caller to
 18553  // add HTTP headers to the request.
 18554  func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
 18555  	if c.header_ == nil {
 18556  		c.header_ = make(http.Header)
 18557  	}
 18558  	return c.header_
 18559  }
 18560  
 18561  func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 18562  	reqHeaders := make(http.Header)
 18563  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18564  	for k, v := range c.header_ {
 18565  		reqHeaders[k] = v
 18566  	}
 18567  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18568  	var body io.Reader = nil
 18569  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
 18570  	if err != nil {
 18571  		return nil, err
 18572  	}
 18573  	reqHeaders.Set("Content-Type", "application/json")
 18574  	c.urlParams_.Set("alt", alt)
 18575  	c.urlParams_.Set("prettyPrint", "false")
 18576  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
 18577  	urls += "?" + c.urlParams_.Encode()
 18578  	req, err := http.NewRequest("PUT", urls, body)
 18579  	if err != nil {
 18580  		return nil, err
 18581  	}
 18582  	req.Header = reqHeaders
 18583  	googleapi.Expand(req.URL, map[string]string{
 18584  		"profileId": strconv.FormatInt(c.profileId, 10),
 18585  	})
 18586  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18587  }
 18588  
 18589  // Do executes the "dfareporting.advertiserGroups.update" call.
 18590  // Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
 18591  // status code is an error. Response headers are in either
 18592  // *AdvertiserGroup.ServerResponse.Header or (if a response was returned
 18593  // at all) in error.(*googleapi.Error).Header. Use
 18594  // googleapi.IsNotModified to check whether the returned error was
 18595  // because http.StatusNotModified was returned.
 18596  func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
 18597  	gensupport.SetOptions(c.urlParams_, opts...)
 18598  	res, err := c.doRequest("json")
 18599  	if res != nil && res.StatusCode == http.StatusNotModified {
 18600  		if res.Body != nil {
 18601  			res.Body.Close()
 18602  		}
 18603  		return nil, &googleapi.Error{
 18604  			Code:   res.StatusCode,
 18605  			Header: res.Header,
 18606  		}
 18607  	}
 18608  	if err != nil {
 18609  		return nil, err
 18610  	}
 18611  	defer googleapi.CloseBody(res)
 18612  	if err := googleapi.CheckResponse(res); err != nil {
 18613  		return nil, err
 18614  	}
 18615  	ret := &AdvertiserGroup{
 18616  		ServerResponse: googleapi.ServerResponse{
 18617  			Header:         res.Header,
 18618  			HTTPStatusCode: res.StatusCode,
 18619  		},
 18620  	}
 18621  	target := &ret
 18622  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18623  		return nil, err
 18624  	}
 18625  	return ret, nil
 18626  	// {
 18627  	//   "description": "Updates an existing advertiser group.",
 18628  	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
 18629  	//   "httpMethod": "PUT",
 18630  	//   "id": "dfareporting.advertiserGroups.update",
 18631  	//   "parameterOrder": [
 18632  	//     "profileId"
 18633  	//   ],
 18634  	//   "parameters": {
 18635  	//     "profileId": {
 18636  	//       "description": "User profile ID associated with this request.",
 18637  	//       "format": "int64",
 18638  	//       "location": "path",
 18639  	//       "required": true,
 18640  	//       "type": "string"
 18641  	//     }
 18642  	//   },
 18643  	//   "path": "userprofiles/{profileId}/advertiserGroups",
 18644  	//   "request": {
 18645  	//     "$ref": "AdvertiserGroup"
 18646  	//   },
 18647  	//   "response": {
 18648  	//     "$ref": "AdvertiserGroup"
 18649  	//   },
 18650  	//   "scopes": [
 18651  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18652  	//   ]
 18653  	// }
 18654  
 18655  }
 18656  
 18657  // method id "dfareporting.advertiserLandingPages.get":
 18658  
 18659  type AdvertiserLandingPagesGetCall struct {
 18660  	s            *Service
 18661  	profileId    int64
 18662  	id           int64
 18663  	urlParams_   gensupport.URLParams
 18664  	ifNoneMatch_ string
 18665  	ctx_         context.Context
 18666  	header_      http.Header
 18667  }
 18668  
 18669  // Get: Gets one landing page by ID.
 18670  //
 18671  // - id: Landing page ID.
 18672  // - profileId: User profile ID associated with this request.
 18673  func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
 18674  	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18675  	c.profileId = profileId
 18676  	c.id = id
 18677  	return c
 18678  }
 18679  
 18680  // Fields allows partial responses to be retrieved. See
 18681  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18682  // for more information.
 18683  func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
 18684  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18685  	return c
 18686  }
 18687  
 18688  // IfNoneMatch sets the optional parameter which makes the operation
 18689  // fail if the object's ETag matches the given value. This is useful for
 18690  // getting updates only after the object has changed since the last
 18691  // request. Use googleapi.IsNotModified to check whether the response
 18692  // error from Do is the result of In-None-Match.
 18693  func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
 18694  	c.ifNoneMatch_ = entityTag
 18695  	return c
 18696  }
 18697  
 18698  // Context sets the context to be used in this call's Do method. Any
 18699  // pending HTTP request will be aborted if the provided context is
 18700  // canceled.
 18701  func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
 18702  	c.ctx_ = ctx
 18703  	return c
 18704  }
 18705  
 18706  // Header returns an http.Header that can be modified by the caller to
 18707  // add HTTP headers to the request.
 18708  func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
 18709  	if c.header_ == nil {
 18710  		c.header_ = make(http.Header)
 18711  	}
 18712  	return c.header_
 18713  }
 18714  
 18715  func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
 18716  	reqHeaders := make(http.Header)
 18717  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18718  	for k, v := range c.header_ {
 18719  		reqHeaders[k] = v
 18720  	}
 18721  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18722  	if c.ifNoneMatch_ != "" {
 18723  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 18724  	}
 18725  	var body io.Reader = nil
 18726  	c.urlParams_.Set("alt", alt)
 18727  	c.urlParams_.Set("prettyPrint", "false")
 18728  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
 18729  	urls += "?" + c.urlParams_.Encode()
 18730  	req, err := http.NewRequest("GET", urls, body)
 18731  	if err != nil {
 18732  		return nil, err
 18733  	}
 18734  	req.Header = reqHeaders
 18735  	googleapi.Expand(req.URL, map[string]string{
 18736  		"profileId": strconv.FormatInt(c.profileId, 10),
 18737  		"id":        strconv.FormatInt(c.id, 10),
 18738  	})
 18739  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18740  }
 18741  
 18742  // Do executes the "dfareporting.advertiserLandingPages.get" call.
 18743  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 18744  // status code is an error. Response headers are in either
 18745  // *LandingPage.ServerResponse.Header or (if a response was returned at
 18746  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18747  // to check whether the returned error was because
 18748  // http.StatusNotModified was returned.
 18749  func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 18750  	gensupport.SetOptions(c.urlParams_, opts...)
 18751  	res, err := c.doRequest("json")
 18752  	if res != nil && res.StatusCode == http.StatusNotModified {
 18753  		if res.Body != nil {
 18754  			res.Body.Close()
 18755  		}
 18756  		return nil, &googleapi.Error{
 18757  			Code:   res.StatusCode,
 18758  			Header: res.Header,
 18759  		}
 18760  	}
 18761  	if err != nil {
 18762  		return nil, err
 18763  	}
 18764  	defer googleapi.CloseBody(res)
 18765  	if err := googleapi.CheckResponse(res); err != nil {
 18766  		return nil, err
 18767  	}
 18768  	ret := &LandingPage{
 18769  		ServerResponse: googleapi.ServerResponse{
 18770  			Header:         res.Header,
 18771  			HTTPStatusCode: res.StatusCode,
 18772  		},
 18773  	}
 18774  	target := &ret
 18775  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18776  		return nil, err
 18777  	}
 18778  	return ret, nil
 18779  	// {
 18780  	//   "description": "Gets one landing page by ID.",
 18781  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}",
 18782  	//   "httpMethod": "GET",
 18783  	//   "id": "dfareporting.advertiserLandingPages.get",
 18784  	//   "parameterOrder": [
 18785  	//     "profileId",
 18786  	//     "id"
 18787  	//   ],
 18788  	//   "parameters": {
 18789  	//     "id": {
 18790  	//       "description": "Landing page ID.",
 18791  	//       "format": "int64",
 18792  	//       "location": "path",
 18793  	//       "required": true,
 18794  	//       "type": "string"
 18795  	//     },
 18796  	//     "profileId": {
 18797  	//       "description": "User profile ID associated with this request.",
 18798  	//       "format": "int64",
 18799  	//       "location": "path",
 18800  	//       "required": true,
 18801  	//       "type": "string"
 18802  	//     }
 18803  	//   },
 18804  	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
 18805  	//   "response": {
 18806  	//     "$ref": "LandingPage"
 18807  	//   },
 18808  	//   "scopes": [
 18809  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18810  	//   ]
 18811  	// }
 18812  
 18813  }
 18814  
 18815  // method id "dfareporting.advertiserLandingPages.insert":
 18816  
 18817  type AdvertiserLandingPagesInsertCall struct {
 18818  	s           *Service
 18819  	profileId   int64
 18820  	landingpage *LandingPage
 18821  	urlParams_  gensupport.URLParams
 18822  	ctx_        context.Context
 18823  	header_     http.Header
 18824  }
 18825  
 18826  // Insert: Inserts a new landing page.
 18827  //
 18828  // - profileId: User profile ID associated with this request.
 18829  func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
 18830  	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18831  	c.profileId = profileId
 18832  	c.landingpage = landingpage
 18833  	return c
 18834  }
 18835  
 18836  // Fields allows partial responses to be retrieved. See
 18837  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 18838  // for more information.
 18839  func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
 18840  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 18841  	return c
 18842  }
 18843  
 18844  // Context sets the context to be used in this call's Do method. Any
 18845  // pending HTTP request will be aborted if the provided context is
 18846  // canceled.
 18847  func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
 18848  	c.ctx_ = ctx
 18849  	return c
 18850  }
 18851  
 18852  // Header returns an http.Header that can be modified by the caller to
 18853  // add HTTP headers to the request.
 18854  func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
 18855  	if c.header_ == nil {
 18856  		c.header_ = make(http.Header)
 18857  	}
 18858  	return c.header_
 18859  }
 18860  
 18861  func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
 18862  	reqHeaders := make(http.Header)
 18863  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 18864  	for k, v := range c.header_ {
 18865  		reqHeaders[k] = v
 18866  	}
 18867  	reqHeaders.Set("User-Agent", c.s.userAgent())
 18868  	var body io.Reader = nil
 18869  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 18870  	if err != nil {
 18871  		return nil, err
 18872  	}
 18873  	reqHeaders.Set("Content-Type", "application/json")
 18874  	c.urlParams_.Set("alt", alt)
 18875  	c.urlParams_.Set("prettyPrint", "false")
 18876  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 18877  	urls += "?" + c.urlParams_.Encode()
 18878  	req, err := http.NewRequest("POST", urls, body)
 18879  	if err != nil {
 18880  		return nil, err
 18881  	}
 18882  	req.Header = reqHeaders
 18883  	googleapi.Expand(req.URL, map[string]string{
 18884  		"profileId": strconv.FormatInt(c.profileId, 10),
 18885  	})
 18886  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 18887  }
 18888  
 18889  // Do executes the "dfareporting.advertiserLandingPages.insert" call.
 18890  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 18891  // status code is an error. Response headers are in either
 18892  // *LandingPage.ServerResponse.Header or (if a response was returned at
 18893  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 18894  // to check whether the returned error was because
 18895  // http.StatusNotModified was returned.
 18896  func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 18897  	gensupport.SetOptions(c.urlParams_, opts...)
 18898  	res, err := c.doRequest("json")
 18899  	if res != nil && res.StatusCode == http.StatusNotModified {
 18900  		if res.Body != nil {
 18901  			res.Body.Close()
 18902  		}
 18903  		return nil, &googleapi.Error{
 18904  			Code:   res.StatusCode,
 18905  			Header: res.Header,
 18906  		}
 18907  	}
 18908  	if err != nil {
 18909  		return nil, err
 18910  	}
 18911  	defer googleapi.CloseBody(res)
 18912  	if err := googleapi.CheckResponse(res); err != nil {
 18913  		return nil, err
 18914  	}
 18915  	ret := &LandingPage{
 18916  		ServerResponse: googleapi.ServerResponse{
 18917  			Header:         res.Header,
 18918  			HTTPStatusCode: res.StatusCode,
 18919  		},
 18920  	}
 18921  	target := &ret
 18922  	if err := gensupport.DecodeResponse(target, res); err != nil {
 18923  		return nil, err
 18924  	}
 18925  	return ret, nil
 18926  	// {
 18927  	//   "description": "Inserts a new landing page.",
 18928  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 18929  	//   "httpMethod": "POST",
 18930  	//   "id": "dfareporting.advertiserLandingPages.insert",
 18931  	//   "parameterOrder": [
 18932  	//     "profileId"
 18933  	//   ],
 18934  	//   "parameters": {
 18935  	//     "profileId": {
 18936  	//       "description": "User profile ID associated with this request.",
 18937  	//       "format": "int64",
 18938  	//       "location": "path",
 18939  	//       "required": true,
 18940  	//       "type": "string"
 18941  	//     }
 18942  	//   },
 18943  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 18944  	//   "request": {
 18945  	//     "$ref": "LandingPage"
 18946  	//   },
 18947  	//   "response": {
 18948  	//     "$ref": "LandingPage"
 18949  	//   },
 18950  	//   "scopes": [
 18951  	//     "https://www.googleapis.com/auth/dfatrafficking"
 18952  	//   ]
 18953  	// }
 18954  
 18955  }
 18956  
 18957  // method id "dfareporting.advertiserLandingPages.list":
 18958  
 18959  type AdvertiserLandingPagesListCall struct {
 18960  	s            *Service
 18961  	profileId    int64
 18962  	urlParams_   gensupport.URLParams
 18963  	ifNoneMatch_ string
 18964  	ctx_         context.Context
 18965  	header_      http.Header
 18966  }
 18967  
 18968  // List: Retrieves a list of landing pages.
 18969  //
 18970  // - profileId: User profile ID associated with this request.
 18971  func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
 18972  	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 18973  	c.profileId = profileId
 18974  	return c
 18975  }
 18976  
 18977  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 18978  // only landing pages that belong to these advertisers.
 18979  func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
 18980  	var advertiserIds_ []string
 18981  	for _, v := range advertiserIds {
 18982  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 18983  	}
 18984  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 18985  	return c
 18986  }
 18987  
 18988  // Archived sets the optional parameter "archived": Select only archived
 18989  // landing pages. Don't set this field to select both archived and
 18990  // non-archived landing pages.
 18991  func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
 18992  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 18993  	return c
 18994  }
 18995  
 18996  // CampaignIds sets the optional parameter "campaignIds": Select only
 18997  // landing pages that are associated with these campaigns.
 18998  func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
 18999  	var campaignIds_ []string
 19000  	for _, v := range campaignIds {
 19001  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 19002  	}
 19003  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 19004  	return c
 19005  }
 19006  
 19007  // Ids sets the optional parameter "ids": Select only landing pages with
 19008  // these IDs.
 19009  func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
 19010  	var ids_ []string
 19011  	for _, v := range ids {
 19012  		ids_ = append(ids_, fmt.Sprint(v))
 19013  	}
 19014  	c.urlParams_.SetMulti("ids", ids_)
 19015  	return c
 19016  }
 19017  
 19018  // MaxResults sets the optional parameter "maxResults": Maximum number
 19019  // of results to return.
 19020  func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
 19021  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19022  	return c
 19023  }
 19024  
 19025  // PageToken sets the optional parameter "pageToken": Value of the
 19026  // nextPageToken from the previous result page.
 19027  func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
 19028  	c.urlParams_.Set("pageToken", pageToken)
 19029  	return c
 19030  }
 19031  
 19032  // SearchString sets the optional parameter "searchString": Allows
 19033  // searching for landing pages by name or ID. Wildcards (*) are allowed.
 19034  // For example, "landingpage*2017" will return landing pages with names
 19035  // like "landingpage July 2017", "landingpage March 2017", or simply
 19036  // "landingpage 2017". Most of the searches also add wildcards
 19037  // implicitly at the start and the end of the search string. For
 19038  // example, a search string of "landingpage" will match campaigns with
 19039  // name "my landingpage", "landingpage 2015", or simply "landingpage".
 19040  func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
 19041  	c.urlParams_.Set("searchString", searchString)
 19042  	return c
 19043  }
 19044  
 19045  // SortField sets the optional parameter "sortField": Field by which to
 19046  // sort the list.
 19047  //
 19048  // Possible values:
 19049  //
 19050  //	"ID" (default)
 19051  //	"NAME"
 19052  func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
 19053  	c.urlParams_.Set("sortField", sortField)
 19054  	return c
 19055  }
 19056  
 19057  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 19058  // results.
 19059  //
 19060  // Possible values:
 19061  //
 19062  //	"ASCENDING" (default)
 19063  //	"DESCENDING"
 19064  func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
 19065  	c.urlParams_.Set("sortOrder", sortOrder)
 19066  	return c
 19067  }
 19068  
 19069  // SubaccountId sets the optional parameter "subaccountId": Select only
 19070  // landing pages that belong to this subaccount.
 19071  func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
 19072  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 19073  	return c
 19074  }
 19075  
 19076  // Fields allows partial responses to be retrieved. See
 19077  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19078  // for more information.
 19079  func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
 19080  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19081  	return c
 19082  }
 19083  
 19084  // IfNoneMatch sets the optional parameter which makes the operation
 19085  // fail if the object's ETag matches the given value. This is useful for
 19086  // getting updates only after the object has changed since the last
 19087  // request. Use googleapi.IsNotModified to check whether the response
 19088  // error from Do is the result of In-None-Match.
 19089  func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
 19090  	c.ifNoneMatch_ = entityTag
 19091  	return c
 19092  }
 19093  
 19094  // Context sets the context to be used in this call's Do method. Any
 19095  // pending HTTP request will be aborted if the provided context is
 19096  // canceled.
 19097  func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
 19098  	c.ctx_ = ctx
 19099  	return c
 19100  }
 19101  
 19102  // Header returns an http.Header that can be modified by the caller to
 19103  // add HTTP headers to the request.
 19104  func (c *AdvertiserLandingPagesListCall) Header() http.Header {
 19105  	if c.header_ == nil {
 19106  		c.header_ = make(http.Header)
 19107  	}
 19108  	return c.header_
 19109  }
 19110  
 19111  func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
 19112  	reqHeaders := make(http.Header)
 19113  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19114  	for k, v := range c.header_ {
 19115  		reqHeaders[k] = v
 19116  	}
 19117  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19118  	if c.ifNoneMatch_ != "" {
 19119  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19120  	}
 19121  	var body io.Reader = nil
 19122  	c.urlParams_.Set("alt", alt)
 19123  	c.urlParams_.Set("prettyPrint", "false")
 19124  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19125  	urls += "?" + c.urlParams_.Encode()
 19126  	req, err := http.NewRequest("GET", urls, body)
 19127  	if err != nil {
 19128  		return nil, err
 19129  	}
 19130  	req.Header = reqHeaders
 19131  	googleapi.Expand(req.URL, map[string]string{
 19132  		"profileId": strconv.FormatInt(c.profileId, 10),
 19133  	})
 19134  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19135  }
 19136  
 19137  // Do executes the "dfareporting.advertiserLandingPages.list" call.
 19138  // Exactly one of *AdvertiserLandingPagesListResponse or error will be
 19139  // non-nil. Any non-2xx status code is an error. Response headers are in
 19140  // either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
 19141  // (if a response was returned at all) in
 19142  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 19143  // whether the returned error was because http.StatusNotModified was
 19144  // returned.
 19145  func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
 19146  	gensupport.SetOptions(c.urlParams_, opts...)
 19147  	res, err := c.doRequest("json")
 19148  	if res != nil && res.StatusCode == http.StatusNotModified {
 19149  		if res.Body != nil {
 19150  			res.Body.Close()
 19151  		}
 19152  		return nil, &googleapi.Error{
 19153  			Code:   res.StatusCode,
 19154  			Header: res.Header,
 19155  		}
 19156  	}
 19157  	if err != nil {
 19158  		return nil, err
 19159  	}
 19160  	defer googleapi.CloseBody(res)
 19161  	if err := googleapi.CheckResponse(res); err != nil {
 19162  		return nil, err
 19163  	}
 19164  	ret := &AdvertiserLandingPagesListResponse{
 19165  		ServerResponse: googleapi.ServerResponse{
 19166  			Header:         res.Header,
 19167  			HTTPStatusCode: res.StatusCode,
 19168  		},
 19169  	}
 19170  	target := &ret
 19171  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19172  		return nil, err
 19173  	}
 19174  	return ret, nil
 19175  	// {
 19176  	//   "description": "Retrieves a list of landing pages.",
 19177  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 19178  	//   "httpMethod": "GET",
 19179  	//   "id": "dfareporting.advertiserLandingPages.list",
 19180  	//   "parameterOrder": [
 19181  	//     "profileId"
 19182  	//   ],
 19183  	//   "parameters": {
 19184  	//     "advertiserIds": {
 19185  	//       "description": "Select only landing pages that belong to these advertisers.",
 19186  	//       "format": "int64",
 19187  	//       "location": "query",
 19188  	//       "repeated": true,
 19189  	//       "type": "string"
 19190  	//     },
 19191  	//     "archived": {
 19192  	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
 19193  	//       "location": "query",
 19194  	//       "type": "boolean"
 19195  	//     },
 19196  	//     "campaignIds": {
 19197  	//       "description": "Select only landing pages that are associated with these campaigns.",
 19198  	//       "format": "int64",
 19199  	//       "location": "query",
 19200  	//       "repeated": true,
 19201  	//       "type": "string"
 19202  	//     },
 19203  	//     "ids": {
 19204  	//       "description": "Select only landing pages with these IDs.",
 19205  	//       "format": "int64",
 19206  	//       "location": "query",
 19207  	//       "repeated": true,
 19208  	//       "type": "string"
 19209  	//     },
 19210  	//     "maxResults": {
 19211  	//       "default": "1000",
 19212  	//       "description": "Maximum number of results to return.",
 19213  	//       "format": "int32",
 19214  	//       "location": "query",
 19215  	//       "maximum": "1000",
 19216  	//       "minimum": "0",
 19217  	//       "type": "integer"
 19218  	//     },
 19219  	//     "pageToken": {
 19220  	//       "description": "Value of the nextPageToken from the previous result page.",
 19221  	//       "location": "query",
 19222  	//       "type": "string"
 19223  	//     },
 19224  	//     "profileId": {
 19225  	//       "description": "User profile ID associated with this request.",
 19226  	//       "format": "int64",
 19227  	//       "location": "path",
 19228  	//       "required": true,
 19229  	//       "type": "string"
 19230  	//     },
 19231  	//     "searchString": {
 19232  	//       "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\".",
 19233  	//       "location": "query",
 19234  	//       "type": "string"
 19235  	//     },
 19236  	//     "sortField": {
 19237  	//       "default": "ID",
 19238  	//       "description": "Field by which to sort the list.",
 19239  	//       "enum": [
 19240  	//         "ID",
 19241  	//         "NAME"
 19242  	//       ],
 19243  	//       "enumDescriptions": [
 19244  	//         "",
 19245  	//         ""
 19246  	//       ],
 19247  	//       "location": "query",
 19248  	//       "type": "string"
 19249  	//     },
 19250  	//     "sortOrder": {
 19251  	//       "default": "ASCENDING",
 19252  	//       "description": "Order of sorted results.",
 19253  	//       "enum": [
 19254  	//         "ASCENDING",
 19255  	//         "DESCENDING"
 19256  	//       ],
 19257  	//       "enumDescriptions": [
 19258  	//         "",
 19259  	//         ""
 19260  	//       ],
 19261  	//       "location": "query",
 19262  	//       "type": "string"
 19263  	//     },
 19264  	//     "subaccountId": {
 19265  	//       "description": "Select only landing pages that belong to this subaccount.",
 19266  	//       "format": "int64",
 19267  	//       "location": "query",
 19268  	//       "type": "string"
 19269  	//     }
 19270  	//   },
 19271  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19272  	//   "response": {
 19273  	//     "$ref": "AdvertiserLandingPagesListResponse"
 19274  	//   },
 19275  	//   "scopes": [
 19276  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19277  	//   ]
 19278  	// }
 19279  
 19280  }
 19281  
 19282  // Pages invokes f for each page of results.
 19283  // A non-nil error returned from f will halt the iteration.
 19284  // The provided context supersedes any context provided to the Context method.
 19285  func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
 19286  	c.ctx_ = ctx
 19287  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 19288  	for {
 19289  		x, err := c.Do()
 19290  		if err != nil {
 19291  			return err
 19292  		}
 19293  		if err := f(x); err != nil {
 19294  			return err
 19295  		}
 19296  		if x.NextPageToken == "" {
 19297  			return nil
 19298  		}
 19299  		c.PageToken(x.NextPageToken)
 19300  	}
 19301  }
 19302  
 19303  // method id "dfareporting.advertiserLandingPages.patch":
 19304  
 19305  type AdvertiserLandingPagesPatchCall struct {
 19306  	s           *Service
 19307  	profileId   int64
 19308  	landingpage *LandingPage
 19309  	urlParams_  gensupport.URLParams
 19310  	ctx_        context.Context
 19311  	header_     http.Header
 19312  }
 19313  
 19314  // Patch: Updates an existing advertiser landing page. This method
 19315  // supports patch semantics.
 19316  //
 19317  // - id: LandingPage ID.
 19318  // - profileId: User profile ID associated with this request.
 19319  func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
 19320  	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19321  	c.profileId = profileId
 19322  	c.urlParams_.Set("id", fmt.Sprint(id))
 19323  	c.landingpage = landingpage
 19324  	return c
 19325  }
 19326  
 19327  // Fields allows partial responses to be retrieved. See
 19328  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19329  // for more information.
 19330  func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
 19331  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19332  	return c
 19333  }
 19334  
 19335  // Context sets the context to be used in this call's Do method. Any
 19336  // pending HTTP request will be aborted if the provided context is
 19337  // canceled.
 19338  func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
 19339  	c.ctx_ = ctx
 19340  	return c
 19341  }
 19342  
 19343  // Header returns an http.Header that can be modified by the caller to
 19344  // add HTTP headers to the request.
 19345  func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
 19346  	if c.header_ == nil {
 19347  		c.header_ = make(http.Header)
 19348  	}
 19349  	return c.header_
 19350  }
 19351  
 19352  func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
 19353  	reqHeaders := make(http.Header)
 19354  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19355  	for k, v := range c.header_ {
 19356  		reqHeaders[k] = v
 19357  	}
 19358  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19359  	var body io.Reader = nil
 19360  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19361  	if err != nil {
 19362  		return nil, err
 19363  	}
 19364  	reqHeaders.Set("Content-Type", "application/json")
 19365  	c.urlParams_.Set("alt", alt)
 19366  	c.urlParams_.Set("prettyPrint", "false")
 19367  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19368  	urls += "?" + c.urlParams_.Encode()
 19369  	req, err := http.NewRequest("PATCH", urls, body)
 19370  	if err != nil {
 19371  		return nil, err
 19372  	}
 19373  	req.Header = reqHeaders
 19374  	googleapi.Expand(req.URL, map[string]string{
 19375  		"profileId": strconv.FormatInt(c.profileId, 10),
 19376  	})
 19377  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19378  }
 19379  
 19380  // Do executes the "dfareporting.advertiserLandingPages.patch" call.
 19381  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19382  // status code is an error. Response headers are in either
 19383  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19384  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19385  // to check whether the returned error was because
 19386  // http.StatusNotModified was returned.
 19387  func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19388  	gensupport.SetOptions(c.urlParams_, opts...)
 19389  	res, err := c.doRequest("json")
 19390  	if res != nil && res.StatusCode == http.StatusNotModified {
 19391  		if res.Body != nil {
 19392  			res.Body.Close()
 19393  		}
 19394  		return nil, &googleapi.Error{
 19395  			Code:   res.StatusCode,
 19396  			Header: res.Header,
 19397  		}
 19398  	}
 19399  	if err != nil {
 19400  		return nil, err
 19401  	}
 19402  	defer googleapi.CloseBody(res)
 19403  	if err := googleapi.CheckResponse(res); err != nil {
 19404  		return nil, err
 19405  	}
 19406  	ret := &LandingPage{
 19407  		ServerResponse: googleapi.ServerResponse{
 19408  			Header:         res.Header,
 19409  			HTTPStatusCode: res.StatusCode,
 19410  		},
 19411  	}
 19412  	target := &ret
 19413  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19414  		return nil, err
 19415  	}
 19416  	return ret, nil
 19417  	// {
 19418  	//   "description": "Updates an existing advertiser landing page. This method supports patch semantics.",
 19419  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 19420  	//   "httpMethod": "PATCH",
 19421  	//   "id": "dfareporting.advertiserLandingPages.patch",
 19422  	//   "parameterOrder": [
 19423  	//     "profileId",
 19424  	//     "id"
 19425  	//   ],
 19426  	//   "parameters": {
 19427  	//     "id": {
 19428  	//       "description": "LandingPage ID.",
 19429  	//       "format": "int64",
 19430  	//       "location": "query",
 19431  	//       "required": true,
 19432  	//       "type": "string"
 19433  	//     },
 19434  	//     "profileId": {
 19435  	//       "description": "User profile ID associated with this request.",
 19436  	//       "format": "int64",
 19437  	//       "location": "path",
 19438  	//       "required": true,
 19439  	//       "type": "string"
 19440  	//     }
 19441  	//   },
 19442  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19443  	//   "request": {
 19444  	//     "$ref": "LandingPage"
 19445  	//   },
 19446  	//   "response": {
 19447  	//     "$ref": "LandingPage"
 19448  	//   },
 19449  	//   "scopes": [
 19450  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19451  	//   ]
 19452  	// }
 19453  
 19454  }
 19455  
 19456  // method id "dfareporting.advertiserLandingPages.update":
 19457  
 19458  type AdvertiserLandingPagesUpdateCall struct {
 19459  	s           *Service
 19460  	profileId   int64
 19461  	landingpage *LandingPage
 19462  	urlParams_  gensupport.URLParams
 19463  	ctx_        context.Context
 19464  	header_     http.Header
 19465  }
 19466  
 19467  // Update: Updates an existing landing page.
 19468  //
 19469  // - profileId: User profile ID associated with this request.
 19470  func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
 19471  	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19472  	c.profileId = profileId
 19473  	c.landingpage = landingpage
 19474  	return c
 19475  }
 19476  
 19477  // Fields allows partial responses to be retrieved. See
 19478  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19479  // for more information.
 19480  func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
 19481  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19482  	return c
 19483  }
 19484  
 19485  // Context sets the context to be used in this call's Do method. Any
 19486  // pending HTTP request will be aborted if the provided context is
 19487  // canceled.
 19488  func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
 19489  	c.ctx_ = ctx
 19490  	return c
 19491  }
 19492  
 19493  // Header returns an http.Header that can be modified by the caller to
 19494  // add HTTP headers to the request.
 19495  func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
 19496  	if c.header_ == nil {
 19497  		c.header_ = make(http.Header)
 19498  	}
 19499  	return c.header_
 19500  }
 19501  
 19502  func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
 19503  	reqHeaders := make(http.Header)
 19504  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19505  	for k, v := range c.header_ {
 19506  		reqHeaders[k] = v
 19507  	}
 19508  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19509  	var body io.Reader = nil
 19510  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
 19511  	if err != nil {
 19512  		return nil, err
 19513  	}
 19514  	reqHeaders.Set("Content-Type", "application/json")
 19515  	c.urlParams_.Set("alt", alt)
 19516  	c.urlParams_.Set("prettyPrint", "false")
 19517  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
 19518  	urls += "?" + c.urlParams_.Encode()
 19519  	req, err := http.NewRequest("PUT", urls, body)
 19520  	if err != nil {
 19521  		return nil, err
 19522  	}
 19523  	req.Header = reqHeaders
 19524  	googleapi.Expand(req.URL, map[string]string{
 19525  		"profileId": strconv.FormatInt(c.profileId, 10),
 19526  	})
 19527  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19528  }
 19529  
 19530  // Do executes the "dfareporting.advertiserLandingPages.update" call.
 19531  // Exactly one of *LandingPage or error will be non-nil. Any non-2xx
 19532  // status code is an error. Response headers are in either
 19533  // *LandingPage.ServerResponse.Header or (if a response was returned at
 19534  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19535  // to check whether the returned error was because
 19536  // http.StatusNotModified was returned.
 19537  func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
 19538  	gensupport.SetOptions(c.urlParams_, opts...)
 19539  	res, err := c.doRequest("json")
 19540  	if res != nil && res.StatusCode == http.StatusNotModified {
 19541  		if res.Body != nil {
 19542  			res.Body.Close()
 19543  		}
 19544  		return nil, &googleapi.Error{
 19545  			Code:   res.StatusCode,
 19546  			Header: res.Header,
 19547  		}
 19548  	}
 19549  	if err != nil {
 19550  		return nil, err
 19551  	}
 19552  	defer googleapi.CloseBody(res)
 19553  	if err := googleapi.CheckResponse(res); err != nil {
 19554  		return nil, err
 19555  	}
 19556  	ret := &LandingPage{
 19557  		ServerResponse: googleapi.ServerResponse{
 19558  			Header:         res.Header,
 19559  			HTTPStatusCode: res.StatusCode,
 19560  		},
 19561  	}
 19562  	target := &ret
 19563  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19564  		return nil, err
 19565  	}
 19566  	return ret, nil
 19567  	// {
 19568  	//   "description": "Updates an existing landing page.",
 19569  	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
 19570  	//   "httpMethod": "PUT",
 19571  	//   "id": "dfareporting.advertiserLandingPages.update",
 19572  	//   "parameterOrder": [
 19573  	//     "profileId"
 19574  	//   ],
 19575  	//   "parameters": {
 19576  	//     "profileId": {
 19577  	//       "description": "User profile ID associated with this request.",
 19578  	//       "format": "int64",
 19579  	//       "location": "path",
 19580  	//       "required": true,
 19581  	//       "type": "string"
 19582  	//     }
 19583  	//   },
 19584  	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
 19585  	//   "request": {
 19586  	//     "$ref": "LandingPage"
 19587  	//   },
 19588  	//   "response": {
 19589  	//     "$ref": "LandingPage"
 19590  	//   },
 19591  	//   "scopes": [
 19592  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19593  	//   ]
 19594  	// }
 19595  
 19596  }
 19597  
 19598  // method id "dfareporting.advertisers.get":
 19599  
 19600  type AdvertisersGetCall struct {
 19601  	s            *Service
 19602  	profileId    int64
 19603  	id           int64
 19604  	urlParams_   gensupport.URLParams
 19605  	ifNoneMatch_ string
 19606  	ctx_         context.Context
 19607  	header_      http.Header
 19608  }
 19609  
 19610  // Get: Gets one advertiser by ID.
 19611  //
 19612  // - id: Advertiser ID.
 19613  // - profileId: User profile ID associated with this request.
 19614  func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
 19615  	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19616  	c.profileId = profileId
 19617  	c.id = id
 19618  	return c
 19619  }
 19620  
 19621  // Fields allows partial responses to be retrieved. See
 19622  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19623  // for more information.
 19624  func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
 19625  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19626  	return c
 19627  }
 19628  
 19629  // IfNoneMatch sets the optional parameter which makes the operation
 19630  // fail if the object's ETag matches the given value. This is useful for
 19631  // getting updates only after the object has changed since the last
 19632  // request. Use googleapi.IsNotModified to check whether the response
 19633  // error from Do is the result of In-None-Match.
 19634  func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
 19635  	c.ifNoneMatch_ = entityTag
 19636  	return c
 19637  }
 19638  
 19639  // Context sets the context to be used in this call's Do method. Any
 19640  // pending HTTP request will be aborted if the provided context is
 19641  // canceled.
 19642  func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
 19643  	c.ctx_ = ctx
 19644  	return c
 19645  }
 19646  
 19647  // Header returns an http.Header that can be modified by the caller to
 19648  // add HTTP headers to the request.
 19649  func (c *AdvertisersGetCall) Header() http.Header {
 19650  	if c.header_ == nil {
 19651  		c.header_ = make(http.Header)
 19652  	}
 19653  	return c.header_
 19654  }
 19655  
 19656  func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
 19657  	reqHeaders := make(http.Header)
 19658  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19659  	for k, v := range c.header_ {
 19660  		reqHeaders[k] = v
 19661  	}
 19662  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19663  	if c.ifNoneMatch_ != "" {
 19664  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 19665  	}
 19666  	var body io.Reader = nil
 19667  	c.urlParams_.Set("alt", alt)
 19668  	c.urlParams_.Set("prettyPrint", "false")
 19669  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
 19670  	urls += "?" + c.urlParams_.Encode()
 19671  	req, err := http.NewRequest("GET", urls, body)
 19672  	if err != nil {
 19673  		return nil, err
 19674  	}
 19675  	req.Header = reqHeaders
 19676  	googleapi.Expand(req.URL, map[string]string{
 19677  		"profileId": strconv.FormatInt(c.profileId, 10),
 19678  		"id":        strconv.FormatInt(c.id, 10),
 19679  	})
 19680  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19681  }
 19682  
 19683  // Do executes the "dfareporting.advertisers.get" call.
 19684  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19685  // status code is an error. Response headers are in either
 19686  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19687  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19688  // to check whether the returned error was because
 19689  // http.StatusNotModified was returned.
 19690  func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19691  	gensupport.SetOptions(c.urlParams_, opts...)
 19692  	res, err := c.doRequest("json")
 19693  	if res != nil && res.StatusCode == http.StatusNotModified {
 19694  		if res.Body != nil {
 19695  			res.Body.Close()
 19696  		}
 19697  		return nil, &googleapi.Error{
 19698  			Code:   res.StatusCode,
 19699  			Header: res.Header,
 19700  		}
 19701  	}
 19702  	if err != nil {
 19703  		return nil, err
 19704  	}
 19705  	defer googleapi.CloseBody(res)
 19706  	if err := googleapi.CheckResponse(res); err != nil {
 19707  		return nil, err
 19708  	}
 19709  	ret := &Advertiser{
 19710  		ServerResponse: googleapi.ServerResponse{
 19711  			Header:         res.Header,
 19712  			HTTPStatusCode: res.StatusCode,
 19713  		},
 19714  	}
 19715  	target := &ret
 19716  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19717  		return nil, err
 19718  	}
 19719  	return ret, nil
 19720  	// {
 19721  	//   "description": "Gets one advertiser by ID.",
 19722  	//   "flatPath": "userprofiles/{profileId}/advertisers/{id}",
 19723  	//   "httpMethod": "GET",
 19724  	//   "id": "dfareporting.advertisers.get",
 19725  	//   "parameterOrder": [
 19726  	//     "profileId",
 19727  	//     "id"
 19728  	//   ],
 19729  	//   "parameters": {
 19730  	//     "id": {
 19731  	//       "description": "Advertiser ID.",
 19732  	//       "format": "int64",
 19733  	//       "location": "path",
 19734  	//       "required": true,
 19735  	//       "type": "string"
 19736  	//     },
 19737  	//     "profileId": {
 19738  	//       "description": "User profile ID associated with this request.",
 19739  	//       "format": "int64",
 19740  	//       "location": "path",
 19741  	//       "required": true,
 19742  	//       "type": "string"
 19743  	//     }
 19744  	//   },
 19745  	//   "path": "userprofiles/{profileId}/advertisers/{id}",
 19746  	//   "response": {
 19747  	//     "$ref": "Advertiser"
 19748  	//   },
 19749  	//   "scopes": [
 19750  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19751  	//   ]
 19752  	// }
 19753  
 19754  }
 19755  
 19756  // method id "dfareporting.advertisers.insert":
 19757  
 19758  type AdvertisersInsertCall struct {
 19759  	s          *Service
 19760  	profileId  int64
 19761  	advertiser *Advertiser
 19762  	urlParams_ gensupport.URLParams
 19763  	ctx_       context.Context
 19764  	header_    http.Header
 19765  }
 19766  
 19767  // Insert: Inserts a new advertiser.
 19768  //
 19769  // - profileId: User profile ID associated with this request.
 19770  func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
 19771  	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19772  	c.profileId = profileId
 19773  	c.advertiser = advertiser
 19774  	return c
 19775  }
 19776  
 19777  // Fields allows partial responses to be retrieved. See
 19778  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 19779  // for more information.
 19780  func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
 19781  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 19782  	return c
 19783  }
 19784  
 19785  // Context sets the context to be used in this call's Do method. Any
 19786  // pending HTTP request will be aborted if the provided context is
 19787  // canceled.
 19788  func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
 19789  	c.ctx_ = ctx
 19790  	return c
 19791  }
 19792  
 19793  // Header returns an http.Header that can be modified by the caller to
 19794  // add HTTP headers to the request.
 19795  func (c *AdvertisersInsertCall) Header() http.Header {
 19796  	if c.header_ == nil {
 19797  		c.header_ = make(http.Header)
 19798  	}
 19799  	return c.header_
 19800  }
 19801  
 19802  func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
 19803  	reqHeaders := make(http.Header)
 19804  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 19805  	for k, v := range c.header_ {
 19806  		reqHeaders[k] = v
 19807  	}
 19808  	reqHeaders.Set("User-Agent", c.s.userAgent())
 19809  	var body io.Reader = nil
 19810  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 19811  	if err != nil {
 19812  		return nil, err
 19813  	}
 19814  	reqHeaders.Set("Content-Type", "application/json")
 19815  	c.urlParams_.Set("alt", alt)
 19816  	c.urlParams_.Set("prettyPrint", "false")
 19817  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 19818  	urls += "?" + c.urlParams_.Encode()
 19819  	req, err := http.NewRequest("POST", urls, body)
 19820  	if err != nil {
 19821  		return nil, err
 19822  	}
 19823  	req.Header = reqHeaders
 19824  	googleapi.Expand(req.URL, map[string]string{
 19825  		"profileId": strconv.FormatInt(c.profileId, 10),
 19826  	})
 19827  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 19828  }
 19829  
 19830  // Do executes the "dfareporting.advertisers.insert" call.
 19831  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 19832  // status code is an error. Response headers are in either
 19833  // *Advertiser.ServerResponse.Header or (if a response was returned at
 19834  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 19835  // to check whether the returned error was because
 19836  // http.StatusNotModified was returned.
 19837  func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 19838  	gensupport.SetOptions(c.urlParams_, opts...)
 19839  	res, err := c.doRequest("json")
 19840  	if res != nil && res.StatusCode == http.StatusNotModified {
 19841  		if res.Body != nil {
 19842  			res.Body.Close()
 19843  		}
 19844  		return nil, &googleapi.Error{
 19845  			Code:   res.StatusCode,
 19846  			Header: res.Header,
 19847  		}
 19848  	}
 19849  	if err != nil {
 19850  		return nil, err
 19851  	}
 19852  	defer googleapi.CloseBody(res)
 19853  	if err := googleapi.CheckResponse(res); err != nil {
 19854  		return nil, err
 19855  	}
 19856  	ret := &Advertiser{
 19857  		ServerResponse: googleapi.ServerResponse{
 19858  			Header:         res.Header,
 19859  			HTTPStatusCode: res.StatusCode,
 19860  		},
 19861  	}
 19862  	target := &ret
 19863  	if err := gensupport.DecodeResponse(target, res); err != nil {
 19864  		return nil, err
 19865  	}
 19866  	return ret, nil
 19867  	// {
 19868  	//   "description": "Inserts a new advertiser.",
 19869  	//   "flatPath": "userprofiles/{profileId}/advertisers",
 19870  	//   "httpMethod": "POST",
 19871  	//   "id": "dfareporting.advertisers.insert",
 19872  	//   "parameterOrder": [
 19873  	//     "profileId"
 19874  	//   ],
 19875  	//   "parameters": {
 19876  	//     "profileId": {
 19877  	//       "description": "User profile ID associated with this request.",
 19878  	//       "format": "int64",
 19879  	//       "location": "path",
 19880  	//       "required": true,
 19881  	//       "type": "string"
 19882  	//     }
 19883  	//   },
 19884  	//   "path": "userprofiles/{profileId}/advertisers",
 19885  	//   "request": {
 19886  	//     "$ref": "Advertiser"
 19887  	//   },
 19888  	//   "response": {
 19889  	//     "$ref": "Advertiser"
 19890  	//   },
 19891  	//   "scopes": [
 19892  	//     "https://www.googleapis.com/auth/dfatrafficking"
 19893  	//   ]
 19894  	// }
 19895  
 19896  }
 19897  
 19898  // method id "dfareporting.advertisers.list":
 19899  
 19900  type AdvertisersListCall struct {
 19901  	s            *Service
 19902  	profileId    int64
 19903  	urlParams_   gensupport.URLParams
 19904  	ifNoneMatch_ string
 19905  	ctx_         context.Context
 19906  	header_      http.Header
 19907  }
 19908  
 19909  // List: Retrieves a list of advertisers, possibly filtered. This method
 19910  // supports paging.
 19911  //
 19912  // - profileId: User profile ID associated with this request.
 19913  func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
 19914  	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 19915  	c.profileId = profileId
 19916  	return c
 19917  }
 19918  
 19919  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 19920  // Select only advertisers with these advertiser group IDs.
 19921  func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
 19922  	var advertiserGroupIds_ []string
 19923  	for _, v := range advertiserGroupIds {
 19924  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 19925  	}
 19926  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 19927  	return c
 19928  }
 19929  
 19930  // FloodlightConfigurationIds sets the optional parameter
 19931  // "floodlightConfigurationIds": Select only advertisers with these
 19932  // floodlight configuration IDs.
 19933  func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
 19934  	var floodlightConfigurationIds_ []string
 19935  	for _, v := range floodlightConfigurationIds {
 19936  		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
 19937  	}
 19938  	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
 19939  	return c
 19940  }
 19941  
 19942  // Ids sets the optional parameter "ids": Select only advertisers with
 19943  // these IDs.
 19944  func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
 19945  	var ids_ []string
 19946  	for _, v := range ids {
 19947  		ids_ = append(ids_, fmt.Sprint(v))
 19948  	}
 19949  	c.urlParams_.SetMulti("ids", ids_)
 19950  	return c
 19951  }
 19952  
 19953  // IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
 19954  // "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
 19955  // do not belong to any advertiser group.
 19956  func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
 19957  	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
 19958  	return c
 19959  }
 19960  
 19961  // MaxResults sets the optional parameter "maxResults": Maximum number
 19962  // of results to return.
 19963  func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
 19964  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 19965  	return c
 19966  }
 19967  
 19968  // OnlyParent sets the optional parameter "onlyParent": Select only
 19969  // advertisers which use another advertiser's floodlight configuration.
 19970  func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
 19971  	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
 19972  	return c
 19973  }
 19974  
 19975  // PageToken sets the optional parameter "pageToken": Value of the
 19976  // nextPageToken from the previous result page.
 19977  func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
 19978  	c.urlParams_.Set("pageToken", pageToken)
 19979  	return c
 19980  }
 19981  
 19982  // SearchString sets the optional parameter "searchString": Allows
 19983  // searching for objects by name or ID. Wildcards (*) are allowed. For
 19984  // example, "advertiser*2015" will return objects with names like
 19985  // "advertiser June 2015", "advertiser April 2015", or simply
 19986  // "advertiser 2015". Most of the searches also add wildcards implicitly
 19987  // at the start and the end of the search string. For example, a search
 19988  // string of "advertiser" will match objects with name "my advertiser",
 19989  // "advertiser 2015", or simply "advertiser" .
 19990  func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
 19991  	c.urlParams_.Set("searchString", searchString)
 19992  	return c
 19993  }
 19994  
 19995  // SortField sets the optional parameter "sortField": Field by which to
 19996  // sort the list.
 19997  //
 19998  // Possible values:
 19999  //
 20000  //	"ID" (default)
 20001  //	"NAME"
 20002  func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
 20003  	c.urlParams_.Set("sortField", sortField)
 20004  	return c
 20005  }
 20006  
 20007  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 20008  // results.
 20009  //
 20010  // Possible values:
 20011  //
 20012  //	"ASCENDING" (default)
 20013  //	"DESCENDING"
 20014  func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
 20015  	c.urlParams_.Set("sortOrder", sortOrder)
 20016  	return c
 20017  }
 20018  
 20019  // Status sets the optional parameter "status": Select only advertisers
 20020  // with the specified status.
 20021  //
 20022  // Possible values:
 20023  //
 20024  //	"APPROVED"
 20025  //	"ON_HOLD"
 20026  func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
 20027  	c.urlParams_.Set("status", status)
 20028  	return c
 20029  }
 20030  
 20031  // SubaccountId sets the optional parameter "subaccountId": Select only
 20032  // advertisers with these subaccount IDs.
 20033  func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
 20034  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 20035  	return c
 20036  }
 20037  
 20038  // Fields allows partial responses to be retrieved. See
 20039  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20040  // for more information.
 20041  func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
 20042  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20043  	return c
 20044  }
 20045  
 20046  // IfNoneMatch sets the optional parameter which makes the operation
 20047  // fail if the object's ETag matches the given value. This is useful for
 20048  // getting updates only after the object has changed since the last
 20049  // request. Use googleapi.IsNotModified to check whether the response
 20050  // error from Do is the result of In-None-Match.
 20051  func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
 20052  	c.ifNoneMatch_ = entityTag
 20053  	return c
 20054  }
 20055  
 20056  // Context sets the context to be used in this call's Do method. Any
 20057  // pending HTTP request will be aborted if the provided context is
 20058  // canceled.
 20059  func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
 20060  	c.ctx_ = ctx
 20061  	return c
 20062  }
 20063  
 20064  // Header returns an http.Header that can be modified by the caller to
 20065  // add HTTP headers to the request.
 20066  func (c *AdvertisersListCall) Header() http.Header {
 20067  	if c.header_ == nil {
 20068  		c.header_ = make(http.Header)
 20069  	}
 20070  	return c.header_
 20071  }
 20072  
 20073  func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
 20074  	reqHeaders := make(http.Header)
 20075  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20076  	for k, v := range c.header_ {
 20077  		reqHeaders[k] = v
 20078  	}
 20079  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20080  	if c.ifNoneMatch_ != "" {
 20081  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20082  	}
 20083  	var body io.Reader = nil
 20084  	c.urlParams_.Set("alt", alt)
 20085  	c.urlParams_.Set("prettyPrint", "false")
 20086  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20087  	urls += "?" + c.urlParams_.Encode()
 20088  	req, err := http.NewRequest("GET", urls, body)
 20089  	if err != nil {
 20090  		return nil, err
 20091  	}
 20092  	req.Header = reqHeaders
 20093  	googleapi.Expand(req.URL, map[string]string{
 20094  		"profileId": strconv.FormatInt(c.profileId, 10),
 20095  	})
 20096  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20097  }
 20098  
 20099  // Do executes the "dfareporting.advertisers.list" call.
 20100  // Exactly one of *AdvertisersListResponse or error will be non-nil. Any
 20101  // non-2xx status code is an error. Response headers are in either
 20102  // *AdvertisersListResponse.ServerResponse.Header or (if a response was
 20103  // returned at all) in error.(*googleapi.Error).Header. Use
 20104  // googleapi.IsNotModified to check whether the returned error was
 20105  // because http.StatusNotModified was returned.
 20106  func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
 20107  	gensupport.SetOptions(c.urlParams_, opts...)
 20108  	res, err := c.doRequest("json")
 20109  	if res != nil && res.StatusCode == http.StatusNotModified {
 20110  		if res.Body != nil {
 20111  			res.Body.Close()
 20112  		}
 20113  		return nil, &googleapi.Error{
 20114  			Code:   res.StatusCode,
 20115  			Header: res.Header,
 20116  		}
 20117  	}
 20118  	if err != nil {
 20119  		return nil, err
 20120  	}
 20121  	defer googleapi.CloseBody(res)
 20122  	if err := googleapi.CheckResponse(res); err != nil {
 20123  		return nil, err
 20124  	}
 20125  	ret := &AdvertisersListResponse{
 20126  		ServerResponse: googleapi.ServerResponse{
 20127  			Header:         res.Header,
 20128  			HTTPStatusCode: res.StatusCode,
 20129  		},
 20130  	}
 20131  	target := &ret
 20132  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20133  		return nil, err
 20134  	}
 20135  	return ret, nil
 20136  	// {
 20137  	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
 20138  	//   "flatPath": "userprofiles/{profileId}/advertisers",
 20139  	//   "httpMethod": "GET",
 20140  	//   "id": "dfareporting.advertisers.list",
 20141  	//   "parameterOrder": [
 20142  	//     "profileId"
 20143  	//   ],
 20144  	//   "parameters": {
 20145  	//     "advertiserGroupIds": {
 20146  	//       "description": "Select only advertisers with these advertiser group IDs.",
 20147  	//       "format": "int64",
 20148  	//       "location": "query",
 20149  	//       "repeated": true,
 20150  	//       "type": "string"
 20151  	//     },
 20152  	//     "floodlightConfigurationIds": {
 20153  	//       "description": "Select only advertisers with these floodlight configuration IDs.",
 20154  	//       "format": "int64",
 20155  	//       "location": "query",
 20156  	//       "repeated": true,
 20157  	//       "type": "string"
 20158  	//     },
 20159  	//     "ids": {
 20160  	//       "description": "Select only advertisers with these IDs.",
 20161  	//       "format": "int64",
 20162  	//       "location": "query",
 20163  	//       "repeated": true,
 20164  	//       "type": "string"
 20165  	//     },
 20166  	//     "includeAdvertisersWithoutGroupsOnly": {
 20167  	//       "description": "Select only advertisers which do not belong to any advertiser group.",
 20168  	//       "location": "query",
 20169  	//       "type": "boolean"
 20170  	//     },
 20171  	//     "maxResults": {
 20172  	//       "default": "1000",
 20173  	//       "description": "Maximum number of results to return.",
 20174  	//       "format": "int32",
 20175  	//       "location": "query",
 20176  	//       "maximum": "1000",
 20177  	//       "minimum": "0",
 20178  	//       "type": "integer"
 20179  	//     },
 20180  	//     "onlyParent": {
 20181  	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
 20182  	//       "location": "query",
 20183  	//       "type": "boolean"
 20184  	//     },
 20185  	//     "pageToken": {
 20186  	//       "description": "Value of the nextPageToken from the previous result page.",
 20187  	//       "location": "query",
 20188  	//       "type": "string"
 20189  	//     },
 20190  	//     "profileId": {
 20191  	//       "description": "User profile ID associated with this request.",
 20192  	//       "format": "int64",
 20193  	//       "location": "path",
 20194  	//       "required": true,
 20195  	//       "type": "string"
 20196  	//     },
 20197  	//     "searchString": {
 20198  	//       "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\" .",
 20199  	//       "location": "query",
 20200  	//       "type": "string"
 20201  	//     },
 20202  	//     "sortField": {
 20203  	//       "default": "ID",
 20204  	//       "description": "Field by which to sort the list.",
 20205  	//       "enum": [
 20206  	//         "ID",
 20207  	//         "NAME"
 20208  	//       ],
 20209  	//       "enumDescriptions": [
 20210  	//         "",
 20211  	//         ""
 20212  	//       ],
 20213  	//       "location": "query",
 20214  	//       "type": "string"
 20215  	//     },
 20216  	//     "sortOrder": {
 20217  	//       "default": "ASCENDING",
 20218  	//       "description": "Order of sorted results.",
 20219  	//       "enum": [
 20220  	//         "ASCENDING",
 20221  	//         "DESCENDING"
 20222  	//       ],
 20223  	//       "enumDescriptions": [
 20224  	//         "",
 20225  	//         ""
 20226  	//       ],
 20227  	//       "location": "query",
 20228  	//       "type": "string"
 20229  	//     },
 20230  	//     "status": {
 20231  	//       "description": "Select only advertisers with the specified status.",
 20232  	//       "enum": [
 20233  	//         "APPROVED",
 20234  	//         "ON_HOLD"
 20235  	//       ],
 20236  	//       "enumDescriptions": [
 20237  	//         "",
 20238  	//         ""
 20239  	//       ],
 20240  	//       "location": "query",
 20241  	//       "type": "string"
 20242  	//     },
 20243  	//     "subaccountId": {
 20244  	//       "description": "Select only advertisers with these subaccount IDs.",
 20245  	//       "format": "int64",
 20246  	//       "location": "query",
 20247  	//       "type": "string"
 20248  	//     }
 20249  	//   },
 20250  	//   "path": "userprofiles/{profileId}/advertisers",
 20251  	//   "response": {
 20252  	//     "$ref": "AdvertisersListResponse"
 20253  	//   },
 20254  	//   "scopes": [
 20255  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20256  	//   ]
 20257  	// }
 20258  
 20259  }
 20260  
 20261  // Pages invokes f for each page of results.
 20262  // A non-nil error returned from f will halt the iteration.
 20263  // The provided context supersedes any context provided to the Context method.
 20264  func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
 20265  	c.ctx_ = ctx
 20266  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 20267  	for {
 20268  		x, err := c.Do()
 20269  		if err != nil {
 20270  			return err
 20271  		}
 20272  		if err := f(x); err != nil {
 20273  			return err
 20274  		}
 20275  		if x.NextPageToken == "" {
 20276  			return nil
 20277  		}
 20278  		c.PageToken(x.NextPageToken)
 20279  	}
 20280  }
 20281  
 20282  // method id "dfareporting.advertisers.patch":
 20283  
 20284  type AdvertisersPatchCall struct {
 20285  	s          *Service
 20286  	profileId  int64
 20287  	advertiser *Advertiser
 20288  	urlParams_ gensupport.URLParams
 20289  	ctx_       context.Context
 20290  	header_    http.Header
 20291  }
 20292  
 20293  // Patch: Updates an existing advertiser. This method supports patch
 20294  // semantics.
 20295  //
 20296  // - id: Advertiser ID.
 20297  // - profileId: User profile ID associated with this request.
 20298  func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
 20299  	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20300  	c.profileId = profileId
 20301  	c.urlParams_.Set("id", fmt.Sprint(id))
 20302  	c.advertiser = advertiser
 20303  	return c
 20304  }
 20305  
 20306  // Fields allows partial responses to be retrieved. See
 20307  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20308  // for more information.
 20309  func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
 20310  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20311  	return c
 20312  }
 20313  
 20314  // Context sets the context to be used in this call's Do method. Any
 20315  // pending HTTP request will be aborted if the provided context is
 20316  // canceled.
 20317  func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
 20318  	c.ctx_ = ctx
 20319  	return c
 20320  }
 20321  
 20322  // Header returns an http.Header that can be modified by the caller to
 20323  // add HTTP headers to the request.
 20324  func (c *AdvertisersPatchCall) Header() http.Header {
 20325  	if c.header_ == nil {
 20326  		c.header_ = make(http.Header)
 20327  	}
 20328  	return c.header_
 20329  }
 20330  
 20331  func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
 20332  	reqHeaders := make(http.Header)
 20333  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20334  	for k, v := range c.header_ {
 20335  		reqHeaders[k] = v
 20336  	}
 20337  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20338  	var body io.Reader = nil
 20339  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20340  	if err != nil {
 20341  		return nil, err
 20342  	}
 20343  	reqHeaders.Set("Content-Type", "application/json")
 20344  	c.urlParams_.Set("alt", alt)
 20345  	c.urlParams_.Set("prettyPrint", "false")
 20346  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20347  	urls += "?" + c.urlParams_.Encode()
 20348  	req, err := http.NewRequest("PATCH", urls, body)
 20349  	if err != nil {
 20350  		return nil, err
 20351  	}
 20352  	req.Header = reqHeaders
 20353  	googleapi.Expand(req.URL, map[string]string{
 20354  		"profileId": strconv.FormatInt(c.profileId, 10),
 20355  	})
 20356  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20357  }
 20358  
 20359  // Do executes the "dfareporting.advertisers.patch" call.
 20360  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20361  // status code is an error. Response headers are in either
 20362  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20363  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20364  // to check whether the returned error was because
 20365  // http.StatusNotModified was returned.
 20366  func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20367  	gensupport.SetOptions(c.urlParams_, opts...)
 20368  	res, err := c.doRequest("json")
 20369  	if res != nil && res.StatusCode == http.StatusNotModified {
 20370  		if res.Body != nil {
 20371  			res.Body.Close()
 20372  		}
 20373  		return nil, &googleapi.Error{
 20374  			Code:   res.StatusCode,
 20375  			Header: res.Header,
 20376  		}
 20377  	}
 20378  	if err != nil {
 20379  		return nil, err
 20380  	}
 20381  	defer googleapi.CloseBody(res)
 20382  	if err := googleapi.CheckResponse(res); err != nil {
 20383  		return nil, err
 20384  	}
 20385  	ret := &Advertiser{
 20386  		ServerResponse: googleapi.ServerResponse{
 20387  			Header:         res.Header,
 20388  			HTTPStatusCode: res.StatusCode,
 20389  		},
 20390  	}
 20391  	target := &ret
 20392  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20393  		return nil, err
 20394  	}
 20395  	return ret, nil
 20396  	// {
 20397  	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
 20398  	//   "flatPath": "userprofiles/{profileId}/advertisers",
 20399  	//   "httpMethod": "PATCH",
 20400  	//   "id": "dfareporting.advertisers.patch",
 20401  	//   "parameterOrder": [
 20402  	//     "profileId",
 20403  	//     "id"
 20404  	//   ],
 20405  	//   "parameters": {
 20406  	//     "id": {
 20407  	//       "description": "Advertiser ID.",
 20408  	//       "format": "int64",
 20409  	//       "location": "query",
 20410  	//       "required": true,
 20411  	//       "type": "string"
 20412  	//     },
 20413  	//     "profileId": {
 20414  	//       "description": "User profile ID associated with this request.",
 20415  	//       "format": "int64",
 20416  	//       "location": "path",
 20417  	//       "required": true,
 20418  	//       "type": "string"
 20419  	//     }
 20420  	//   },
 20421  	//   "path": "userprofiles/{profileId}/advertisers",
 20422  	//   "request": {
 20423  	//     "$ref": "Advertiser"
 20424  	//   },
 20425  	//   "response": {
 20426  	//     "$ref": "Advertiser"
 20427  	//   },
 20428  	//   "scopes": [
 20429  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20430  	//   ]
 20431  	// }
 20432  
 20433  }
 20434  
 20435  // method id "dfareporting.advertisers.update":
 20436  
 20437  type AdvertisersUpdateCall struct {
 20438  	s          *Service
 20439  	profileId  int64
 20440  	advertiser *Advertiser
 20441  	urlParams_ gensupport.URLParams
 20442  	ctx_       context.Context
 20443  	header_    http.Header
 20444  }
 20445  
 20446  // Update: Updates an existing advertiser.
 20447  //
 20448  // - profileId: User profile ID associated with this request.
 20449  func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
 20450  	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20451  	c.profileId = profileId
 20452  	c.advertiser = advertiser
 20453  	return c
 20454  }
 20455  
 20456  // Fields allows partial responses to be retrieved. See
 20457  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20458  // for more information.
 20459  func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
 20460  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20461  	return c
 20462  }
 20463  
 20464  // Context sets the context to be used in this call's Do method. Any
 20465  // pending HTTP request will be aborted if the provided context is
 20466  // canceled.
 20467  func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
 20468  	c.ctx_ = ctx
 20469  	return c
 20470  }
 20471  
 20472  // Header returns an http.Header that can be modified by the caller to
 20473  // add HTTP headers to the request.
 20474  func (c *AdvertisersUpdateCall) Header() http.Header {
 20475  	if c.header_ == nil {
 20476  		c.header_ = make(http.Header)
 20477  	}
 20478  	return c.header_
 20479  }
 20480  
 20481  func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
 20482  	reqHeaders := make(http.Header)
 20483  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20484  	for k, v := range c.header_ {
 20485  		reqHeaders[k] = v
 20486  	}
 20487  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20488  	var body io.Reader = nil
 20489  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
 20490  	if err != nil {
 20491  		return nil, err
 20492  	}
 20493  	reqHeaders.Set("Content-Type", "application/json")
 20494  	c.urlParams_.Set("alt", alt)
 20495  	c.urlParams_.Set("prettyPrint", "false")
 20496  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
 20497  	urls += "?" + c.urlParams_.Encode()
 20498  	req, err := http.NewRequest("PUT", urls, body)
 20499  	if err != nil {
 20500  		return nil, err
 20501  	}
 20502  	req.Header = reqHeaders
 20503  	googleapi.Expand(req.URL, map[string]string{
 20504  		"profileId": strconv.FormatInt(c.profileId, 10),
 20505  	})
 20506  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20507  }
 20508  
 20509  // Do executes the "dfareporting.advertisers.update" call.
 20510  // Exactly one of *Advertiser or error will be non-nil. Any non-2xx
 20511  // status code is an error. Response headers are in either
 20512  // *Advertiser.ServerResponse.Header or (if a response was returned at
 20513  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 20514  // to check whether the returned error was because
 20515  // http.StatusNotModified was returned.
 20516  func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
 20517  	gensupport.SetOptions(c.urlParams_, opts...)
 20518  	res, err := c.doRequest("json")
 20519  	if res != nil && res.StatusCode == http.StatusNotModified {
 20520  		if res.Body != nil {
 20521  			res.Body.Close()
 20522  		}
 20523  		return nil, &googleapi.Error{
 20524  			Code:   res.StatusCode,
 20525  			Header: res.Header,
 20526  		}
 20527  	}
 20528  	if err != nil {
 20529  		return nil, err
 20530  	}
 20531  	defer googleapi.CloseBody(res)
 20532  	if err := googleapi.CheckResponse(res); err != nil {
 20533  		return nil, err
 20534  	}
 20535  	ret := &Advertiser{
 20536  		ServerResponse: googleapi.ServerResponse{
 20537  			Header:         res.Header,
 20538  			HTTPStatusCode: res.StatusCode,
 20539  		},
 20540  	}
 20541  	target := &ret
 20542  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20543  		return nil, err
 20544  	}
 20545  	return ret, nil
 20546  	// {
 20547  	//   "description": "Updates an existing advertiser.",
 20548  	//   "flatPath": "userprofiles/{profileId}/advertisers",
 20549  	//   "httpMethod": "PUT",
 20550  	//   "id": "dfareporting.advertisers.update",
 20551  	//   "parameterOrder": [
 20552  	//     "profileId"
 20553  	//   ],
 20554  	//   "parameters": {
 20555  	//     "profileId": {
 20556  	//       "description": "User profile ID associated with this request.",
 20557  	//       "format": "int64",
 20558  	//       "location": "path",
 20559  	//       "required": true,
 20560  	//       "type": "string"
 20561  	//     }
 20562  	//   },
 20563  	//   "path": "userprofiles/{profileId}/advertisers",
 20564  	//   "request": {
 20565  	//     "$ref": "Advertiser"
 20566  	//   },
 20567  	//   "response": {
 20568  	//     "$ref": "Advertiser"
 20569  	//   },
 20570  	//   "scopes": [
 20571  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20572  	//   ]
 20573  	// }
 20574  
 20575  }
 20576  
 20577  // method id "dfareporting.browsers.list":
 20578  
 20579  type BrowsersListCall struct {
 20580  	s            *Service
 20581  	profileId    int64
 20582  	urlParams_   gensupport.URLParams
 20583  	ifNoneMatch_ string
 20584  	ctx_         context.Context
 20585  	header_      http.Header
 20586  }
 20587  
 20588  // List: Retrieves a list of browsers.
 20589  //
 20590  // - profileId: User profile ID associated with this request.
 20591  func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
 20592  	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20593  	c.profileId = profileId
 20594  	return c
 20595  }
 20596  
 20597  // Fields allows partial responses to be retrieved. See
 20598  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20599  // for more information.
 20600  func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
 20601  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20602  	return c
 20603  }
 20604  
 20605  // IfNoneMatch sets the optional parameter which makes the operation
 20606  // fail if the object's ETag matches the given value. This is useful for
 20607  // getting updates only after the object has changed since the last
 20608  // request. Use googleapi.IsNotModified to check whether the response
 20609  // error from Do is the result of In-None-Match.
 20610  func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
 20611  	c.ifNoneMatch_ = entityTag
 20612  	return c
 20613  }
 20614  
 20615  // Context sets the context to be used in this call's Do method. Any
 20616  // pending HTTP request will be aborted if the provided context is
 20617  // canceled.
 20618  func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
 20619  	c.ctx_ = ctx
 20620  	return c
 20621  }
 20622  
 20623  // Header returns an http.Header that can be modified by the caller to
 20624  // add HTTP headers to the request.
 20625  func (c *BrowsersListCall) Header() http.Header {
 20626  	if c.header_ == nil {
 20627  		c.header_ = make(http.Header)
 20628  	}
 20629  	return c.header_
 20630  }
 20631  
 20632  func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
 20633  	reqHeaders := make(http.Header)
 20634  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20635  	for k, v := range c.header_ {
 20636  		reqHeaders[k] = v
 20637  	}
 20638  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20639  	if c.ifNoneMatch_ != "" {
 20640  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20641  	}
 20642  	var body io.Reader = nil
 20643  	c.urlParams_.Set("alt", alt)
 20644  	c.urlParams_.Set("prettyPrint", "false")
 20645  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
 20646  	urls += "?" + c.urlParams_.Encode()
 20647  	req, err := http.NewRequest("GET", urls, body)
 20648  	if err != nil {
 20649  		return nil, err
 20650  	}
 20651  	req.Header = reqHeaders
 20652  	googleapi.Expand(req.URL, map[string]string{
 20653  		"profileId": strconv.FormatInt(c.profileId, 10),
 20654  	})
 20655  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20656  }
 20657  
 20658  // Do executes the "dfareporting.browsers.list" call.
 20659  // Exactly one of *BrowsersListResponse or error will be non-nil. Any
 20660  // non-2xx status code is an error. Response headers are in either
 20661  // *BrowsersListResponse.ServerResponse.Header or (if a response was
 20662  // returned at all) in error.(*googleapi.Error).Header. Use
 20663  // googleapi.IsNotModified to check whether the returned error was
 20664  // because http.StatusNotModified was returned.
 20665  func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
 20666  	gensupport.SetOptions(c.urlParams_, opts...)
 20667  	res, err := c.doRequest("json")
 20668  	if res != nil && res.StatusCode == http.StatusNotModified {
 20669  		if res.Body != nil {
 20670  			res.Body.Close()
 20671  		}
 20672  		return nil, &googleapi.Error{
 20673  			Code:   res.StatusCode,
 20674  			Header: res.Header,
 20675  		}
 20676  	}
 20677  	if err != nil {
 20678  		return nil, err
 20679  	}
 20680  	defer googleapi.CloseBody(res)
 20681  	if err := googleapi.CheckResponse(res); err != nil {
 20682  		return nil, err
 20683  	}
 20684  	ret := &BrowsersListResponse{
 20685  		ServerResponse: googleapi.ServerResponse{
 20686  			Header:         res.Header,
 20687  			HTTPStatusCode: res.StatusCode,
 20688  		},
 20689  	}
 20690  	target := &ret
 20691  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20692  		return nil, err
 20693  	}
 20694  	return ret, nil
 20695  	// {
 20696  	//   "description": "Retrieves a list of browsers.",
 20697  	//   "flatPath": "userprofiles/{profileId}/browsers",
 20698  	//   "httpMethod": "GET",
 20699  	//   "id": "dfareporting.browsers.list",
 20700  	//   "parameterOrder": [
 20701  	//     "profileId"
 20702  	//   ],
 20703  	//   "parameters": {
 20704  	//     "profileId": {
 20705  	//       "description": "User profile ID associated with this request.",
 20706  	//       "format": "int64",
 20707  	//       "location": "path",
 20708  	//       "required": true,
 20709  	//       "type": "string"
 20710  	//     }
 20711  	//   },
 20712  	//   "path": "userprofiles/{profileId}/browsers",
 20713  	//   "response": {
 20714  	//     "$ref": "BrowsersListResponse"
 20715  	//   },
 20716  	//   "scopes": [
 20717  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20718  	//   ]
 20719  	// }
 20720  
 20721  }
 20722  
 20723  // method id "dfareporting.campaignCreativeAssociations.insert":
 20724  
 20725  type CampaignCreativeAssociationsInsertCall struct {
 20726  	s                           *Service
 20727  	profileId                   int64
 20728  	campaignId                  int64
 20729  	campaigncreativeassociation *CampaignCreativeAssociation
 20730  	urlParams_                  gensupport.URLParams
 20731  	ctx_                        context.Context
 20732  	header_                     http.Header
 20733  }
 20734  
 20735  // Insert: Associates a creative with the specified campaign. This
 20736  // method creates a default ad with dimensions matching the creative in
 20737  // the campaign if such a default ad does not exist already.
 20738  //
 20739  // - campaignId: Campaign ID in this association.
 20740  // - profileId: User profile ID associated with this request.
 20741  func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
 20742  	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20743  	c.profileId = profileId
 20744  	c.campaignId = campaignId
 20745  	c.campaigncreativeassociation = campaigncreativeassociation
 20746  	return c
 20747  }
 20748  
 20749  // Fields allows partial responses to be retrieved. See
 20750  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20751  // for more information.
 20752  func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
 20753  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20754  	return c
 20755  }
 20756  
 20757  // Context sets the context to be used in this call's Do method. Any
 20758  // pending HTTP request will be aborted if the provided context is
 20759  // canceled.
 20760  func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
 20761  	c.ctx_ = ctx
 20762  	return c
 20763  }
 20764  
 20765  // Header returns an http.Header that can be modified by the caller to
 20766  // add HTTP headers to the request.
 20767  func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
 20768  	if c.header_ == nil {
 20769  		c.header_ = make(http.Header)
 20770  	}
 20771  	return c.header_
 20772  }
 20773  
 20774  func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
 20775  	reqHeaders := make(http.Header)
 20776  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20777  	for k, v := range c.header_ {
 20778  		reqHeaders[k] = v
 20779  	}
 20780  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20781  	var body io.Reader = nil
 20782  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
 20783  	if err != nil {
 20784  		return nil, err
 20785  	}
 20786  	reqHeaders.Set("Content-Type", "application/json")
 20787  	c.urlParams_.Set("alt", alt)
 20788  	c.urlParams_.Set("prettyPrint", "false")
 20789  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 20790  	urls += "?" + c.urlParams_.Encode()
 20791  	req, err := http.NewRequest("POST", urls, body)
 20792  	if err != nil {
 20793  		return nil, err
 20794  	}
 20795  	req.Header = reqHeaders
 20796  	googleapi.Expand(req.URL, map[string]string{
 20797  		"profileId":  strconv.FormatInt(c.profileId, 10),
 20798  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 20799  	})
 20800  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20801  }
 20802  
 20803  // Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
 20804  // Exactly one of *CampaignCreativeAssociation or error will be non-nil.
 20805  // Any non-2xx status code is an error. Response headers are in either
 20806  // *CampaignCreativeAssociation.ServerResponse.Header or (if a response
 20807  // was returned at all) in error.(*googleapi.Error).Header. Use
 20808  // googleapi.IsNotModified to check whether the returned error was
 20809  // because http.StatusNotModified was returned.
 20810  func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
 20811  	gensupport.SetOptions(c.urlParams_, opts...)
 20812  	res, err := c.doRequest("json")
 20813  	if res != nil && res.StatusCode == http.StatusNotModified {
 20814  		if res.Body != nil {
 20815  			res.Body.Close()
 20816  		}
 20817  		return nil, &googleapi.Error{
 20818  			Code:   res.StatusCode,
 20819  			Header: res.Header,
 20820  		}
 20821  	}
 20822  	if err != nil {
 20823  		return nil, err
 20824  	}
 20825  	defer googleapi.CloseBody(res)
 20826  	if err := googleapi.CheckResponse(res); err != nil {
 20827  		return nil, err
 20828  	}
 20829  	ret := &CampaignCreativeAssociation{
 20830  		ServerResponse: googleapi.ServerResponse{
 20831  			Header:         res.Header,
 20832  			HTTPStatusCode: res.StatusCode,
 20833  		},
 20834  	}
 20835  	target := &ret
 20836  	if err := gensupport.DecodeResponse(target, res); err != nil {
 20837  		return nil, err
 20838  	}
 20839  	return ret, nil
 20840  	// {
 20841  	//   "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.",
 20842  	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 20843  	//   "httpMethod": "POST",
 20844  	//   "id": "dfareporting.campaignCreativeAssociations.insert",
 20845  	//   "parameterOrder": [
 20846  	//     "profileId",
 20847  	//     "campaignId"
 20848  	//   ],
 20849  	//   "parameters": {
 20850  	//     "campaignId": {
 20851  	//       "description": "Campaign ID in this association.",
 20852  	//       "format": "int64",
 20853  	//       "location": "path",
 20854  	//       "required": true,
 20855  	//       "type": "string"
 20856  	//     },
 20857  	//     "profileId": {
 20858  	//       "description": "User profile ID associated with this request.",
 20859  	//       "format": "int64",
 20860  	//       "location": "path",
 20861  	//       "required": true,
 20862  	//       "type": "string"
 20863  	//     }
 20864  	//   },
 20865  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 20866  	//   "request": {
 20867  	//     "$ref": "CampaignCreativeAssociation"
 20868  	//   },
 20869  	//   "response": {
 20870  	//     "$ref": "CampaignCreativeAssociation"
 20871  	//   },
 20872  	//   "scopes": [
 20873  	//     "https://www.googleapis.com/auth/dfatrafficking"
 20874  	//   ]
 20875  	// }
 20876  
 20877  }
 20878  
 20879  // method id "dfareporting.campaignCreativeAssociations.list":
 20880  
 20881  type CampaignCreativeAssociationsListCall struct {
 20882  	s            *Service
 20883  	profileId    int64
 20884  	campaignId   int64
 20885  	urlParams_   gensupport.URLParams
 20886  	ifNoneMatch_ string
 20887  	ctx_         context.Context
 20888  	header_      http.Header
 20889  }
 20890  
 20891  // List: Retrieves the list of creative IDs associated with the
 20892  // specified campaign. This method supports paging.
 20893  //
 20894  // - campaignId: Campaign ID in this association.
 20895  // - profileId: User profile ID associated with this request.
 20896  func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
 20897  	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 20898  	c.profileId = profileId
 20899  	c.campaignId = campaignId
 20900  	return c
 20901  }
 20902  
 20903  // MaxResults sets the optional parameter "maxResults": Maximum number
 20904  // of results to return.
 20905  func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
 20906  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 20907  	return c
 20908  }
 20909  
 20910  // PageToken sets the optional parameter "pageToken": Value of the
 20911  // nextPageToken from the previous result page.
 20912  func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
 20913  	c.urlParams_.Set("pageToken", pageToken)
 20914  	return c
 20915  }
 20916  
 20917  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 20918  // results.
 20919  //
 20920  // Possible values:
 20921  //
 20922  //	"ASCENDING" (default)
 20923  //	"DESCENDING"
 20924  func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
 20925  	c.urlParams_.Set("sortOrder", sortOrder)
 20926  	return c
 20927  }
 20928  
 20929  // Fields allows partial responses to be retrieved. See
 20930  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 20931  // for more information.
 20932  func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
 20933  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 20934  	return c
 20935  }
 20936  
 20937  // IfNoneMatch sets the optional parameter which makes the operation
 20938  // fail if the object's ETag matches the given value. This is useful for
 20939  // getting updates only after the object has changed since the last
 20940  // request. Use googleapi.IsNotModified to check whether the response
 20941  // error from Do is the result of In-None-Match.
 20942  func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
 20943  	c.ifNoneMatch_ = entityTag
 20944  	return c
 20945  }
 20946  
 20947  // Context sets the context to be used in this call's Do method. Any
 20948  // pending HTTP request will be aborted if the provided context is
 20949  // canceled.
 20950  func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
 20951  	c.ctx_ = ctx
 20952  	return c
 20953  }
 20954  
 20955  // Header returns an http.Header that can be modified by the caller to
 20956  // add HTTP headers to the request.
 20957  func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
 20958  	if c.header_ == nil {
 20959  		c.header_ = make(http.Header)
 20960  	}
 20961  	return c.header_
 20962  }
 20963  
 20964  func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
 20965  	reqHeaders := make(http.Header)
 20966  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 20967  	for k, v := range c.header_ {
 20968  		reqHeaders[k] = v
 20969  	}
 20970  	reqHeaders.Set("User-Agent", c.s.userAgent())
 20971  	if c.ifNoneMatch_ != "" {
 20972  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 20973  	}
 20974  	var body io.Reader = nil
 20975  	c.urlParams_.Set("alt", alt)
 20976  	c.urlParams_.Set("prettyPrint", "false")
 20977  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
 20978  	urls += "?" + c.urlParams_.Encode()
 20979  	req, err := http.NewRequest("GET", urls, body)
 20980  	if err != nil {
 20981  		return nil, err
 20982  	}
 20983  	req.Header = reqHeaders
 20984  	googleapi.Expand(req.URL, map[string]string{
 20985  		"profileId":  strconv.FormatInt(c.profileId, 10),
 20986  		"campaignId": strconv.FormatInt(c.campaignId, 10),
 20987  	})
 20988  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 20989  }
 20990  
 20991  // Do executes the "dfareporting.campaignCreativeAssociations.list" call.
 20992  // Exactly one of *CampaignCreativeAssociationsListResponse or error
 20993  // will be non-nil. Any non-2xx status code is an error. Response
 20994  // headers are in either
 20995  // *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
 20996  // (if a response was returned at all) in
 20997  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 20998  // whether the returned error was because http.StatusNotModified was
 20999  // returned.
 21000  func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
 21001  	gensupport.SetOptions(c.urlParams_, opts...)
 21002  	res, err := c.doRequest("json")
 21003  	if res != nil && res.StatusCode == http.StatusNotModified {
 21004  		if res.Body != nil {
 21005  			res.Body.Close()
 21006  		}
 21007  		return nil, &googleapi.Error{
 21008  			Code:   res.StatusCode,
 21009  			Header: res.Header,
 21010  		}
 21011  	}
 21012  	if err != nil {
 21013  		return nil, err
 21014  	}
 21015  	defer googleapi.CloseBody(res)
 21016  	if err := googleapi.CheckResponse(res); err != nil {
 21017  		return nil, err
 21018  	}
 21019  	ret := &CampaignCreativeAssociationsListResponse{
 21020  		ServerResponse: googleapi.ServerResponse{
 21021  			Header:         res.Header,
 21022  			HTTPStatusCode: res.StatusCode,
 21023  		},
 21024  	}
 21025  	target := &ret
 21026  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21027  		return nil, err
 21028  	}
 21029  	return ret, nil
 21030  	// {
 21031  	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
 21032  	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 21033  	//   "httpMethod": "GET",
 21034  	//   "id": "dfareporting.campaignCreativeAssociations.list",
 21035  	//   "parameterOrder": [
 21036  	//     "profileId",
 21037  	//     "campaignId"
 21038  	//   ],
 21039  	//   "parameters": {
 21040  	//     "campaignId": {
 21041  	//       "description": "Campaign ID in this association.",
 21042  	//       "format": "int64",
 21043  	//       "location": "path",
 21044  	//       "required": true,
 21045  	//       "type": "string"
 21046  	//     },
 21047  	//     "maxResults": {
 21048  	//       "default": "1000",
 21049  	//       "description": "Maximum number of results to return.",
 21050  	//       "format": "int32",
 21051  	//       "location": "query",
 21052  	//       "maximum": "1000",
 21053  	//       "minimum": "0",
 21054  	//       "type": "integer"
 21055  	//     },
 21056  	//     "pageToken": {
 21057  	//       "description": "Value of the nextPageToken from the previous result page.",
 21058  	//       "location": "query",
 21059  	//       "type": "string"
 21060  	//     },
 21061  	//     "profileId": {
 21062  	//       "description": "User profile ID associated with this request.",
 21063  	//       "format": "int64",
 21064  	//       "location": "path",
 21065  	//       "required": true,
 21066  	//       "type": "string"
 21067  	//     },
 21068  	//     "sortOrder": {
 21069  	//       "default": "ASCENDING",
 21070  	//       "description": "Order of sorted results.",
 21071  	//       "enum": [
 21072  	//         "ASCENDING",
 21073  	//         "DESCENDING"
 21074  	//       ],
 21075  	//       "enumDescriptions": [
 21076  	//         "",
 21077  	//         ""
 21078  	//       ],
 21079  	//       "location": "query",
 21080  	//       "type": "string"
 21081  	//     }
 21082  	//   },
 21083  	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
 21084  	//   "response": {
 21085  	//     "$ref": "CampaignCreativeAssociationsListResponse"
 21086  	//   },
 21087  	//   "scopes": [
 21088  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21089  	//   ]
 21090  	// }
 21091  
 21092  }
 21093  
 21094  // Pages invokes f for each page of results.
 21095  // A non-nil error returned from f will halt the iteration.
 21096  // The provided context supersedes any context provided to the Context method.
 21097  func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
 21098  	c.ctx_ = ctx
 21099  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 21100  	for {
 21101  		x, err := c.Do()
 21102  		if err != nil {
 21103  			return err
 21104  		}
 21105  		if err := f(x); err != nil {
 21106  			return err
 21107  		}
 21108  		if x.NextPageToken == "" {
 21109  			return nil
 21110  		}
 21111  		c.PageToken(x.NextPageToken)
 21112  	}
 21113  }
 21114  
 21115  // method id "dfareporting.campaigns.get":
 21116  
 21117  type CampaignsGetCall struct {
 21118  	s            *Service
 21119  	profileId    int64
 21120  	id           int64
 21121  	urlParams_   gensupport.URLParams
 21122  	ifNoneMatch_ string
 21123  	ctx_         context.Context
 21124  	header_      http.Header
 21125  }
 21126  
 21127  // Get: Gets one campaign by ID.
 21128  //
 21129  // - id: Campaign ID.
 21130  // - profileId: User profile ID associated with this request.
 21131  func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
 21132  	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21133  	c.profileId = profileId
 21134  	c.id = id
 21135  	return c
 21136  }
 21137  
 21138  // Fields allows partial responses to be retrieved. See
 21139  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21140  // for more information.
 21141  func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
 21142  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21143  	return c
 21144  }
 21145  
 21146  // IfNoneMatch sets the optional parameter which makes the operation
 21147  // fail if the object's ETag matches the given value. This is useful for
 21148  // getting updates only after the object has changed since the last
 21149  // request. Use googleapi.IsNotModified to check whether the response
 21150  // error from Do is the result of In-None-Match.
 21151  func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
 21152  	c.ifNoneMatch_ = entityTag
 21153  	return c
 21154  }
 21155  
 21156  // Context sets the context to be used in this call's Do method. Any
 21157  // pending HTTP request will be aborted if the provided context is
 21158  // canceled.
 21159  func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
 21160  	c.ctx_ = ctx
 21161  	return c
 21162  }
 21163  
 21164  // Header returns an http.Header that can be modified by the caller to
 21165  // add HTTP headers to the request.
 21166  func (c *CampaignsGetCall) Header() http.Header {
 21167  	if c.header_ == nil {
 21168  		c.header_ = make(http.Header)
 21169  	}
 21170  	return c.header_
 21171  }
 21172  
 21173  func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
 21174  	reqHeaders := make(http.Header)
 21175  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21176  	for k, v := range c.header_ {
 21177  		reqHeaders[k] = v
 21178  	}
 21179  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21180  	if c.ifNoneMatch_ != "" {
 21181  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21182  	}
 21183  	var body io.Reader = nil
 21184  	c.urlParams_.Set("alt", alt)
 21185  	c.urlParams_.Set("prettyPrint", "false")
 21186  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
 21187  	urls += "?" + c.urlParams_.Encode()
 21188  	req, err := http.NewRequest("GET", urls, body)
 21189  	if err != nil {
 21190  		return nil, err
 21191  	}
 21192  	req.Header = reqHeaders
 21193  	googleapi.Expand(req.URL, map[string]string{
 21194  		"profileId": strconv.FormatInt(c.profileId, 10),
 21195  		"id":        strconv.FormatInt(c.id, 10),
 21196  	})
 21197  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21198  }
 21199  
 21200  // Do executes the "dfareporting.campaigns.get" call.
 21201  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21202  // code is an error. Response headers are in either
 21203  // *Campaign.ServerResponse.Header or (if a response was returned at
 21204  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21205  // to check whether the returned error was because
 21206  // http.StatusNotModified was returned.
 21207  func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21208  	gensupport.SetOptions(c.urlParams_, opts...)
 21209  	res, err := c.doRequest("json")
 21210  	if res != nil && res.StatusCode == http.StatusNotModified {
 21211  		if res.Body != nil {
 21212  			res.Body.Close()
 21213  		}
 21214  		return nil, &googleapi.Error{
 21215  			Code:   res.StatusCode,
 21216  			Header: res.Header,
 21217  		}
 21218  	}
 21219  	if err != nil {
 21220  		return nil, err
 21221  	}
 21222  	defer googleapi.CloseBody(res)
 21223  	if err := googleapi.CheckResponse(res); err != nil {
 21224  		return nil, err
 21225  	}
 21226  	ret := &Campaign{
 21227  		ServerResponse: googleapi.ServerResponse{
 21228  			Header:         res.Header,
 21229  			HTTPStatusCode: res.StatusCode,
 21230  		},
 21231  	}
 21232  	target := &ret
 21233  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21234  		return nil, err
 21235  	}
 21236  	return ret, nil
 21237  	// {
 21238  	//   "description": "Gets one campaign by ID.",
 21239  	//   "flatPath": "userprofiles/{profileId}/campaigns/{id}",
 21240  	//   "httpMethod": "GET",
 21241  	//   "id": "dfareporting.campaigns.get",
 21242  	//   "parameterOrder": [
 21243  	//     "profileId",
 21244  	//     "id"
 21245  	//   ],
 21246  	//   "parameters": {
 21247  	//     "id": {
 21248  	//       "description": "Campaign ID.",
 21249  	//       "format": "int64",
 21250  	//       "location": "path",
 21251  	//       "required": true,
 21252  	//       "type": "string"
 21253  	//     },
 21254  	//     "profileId": {
 21255  	//       "description": "User profile ID associated with this request.",
 21256  	//       "format": "int64",
 21257  	//       "location": "path",
 21258  	//       "required": true,
 21259  	//       "type": "string"
 21260  	//     }
 21261  	//   },
 21262  	//   "path": "userprofiles/{profileId}/campaigns/{id}",
 21263  	//   "response": {
 21264  	//     "$ref": "Campaign"
 21265  	//   },
 21266  	//   "scopes": [
 21267  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21268  	//   ]
 21269  	// }
 21270  
 21271  }
 21272  
 21273  // method id "dfareporting.campaigns.insert":
 21274  
 21275  type CampaignsInsertCall struct {
 21276  	s          *Service
 21277  	profileId  int64
 21278  	campaign   *Campaign
 21279  	urlParams_ gensupport.URLParams
 21280  	ctx_       context.Context
 21281  	header_    http.Header
 21282  }
 21283  
 21284  // Insert: Inserts a new campaign.
 21285  //
 21286  // - profileId: User profile ID associated with this request.
 21287  func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
 21288  	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21289  	c.profileId = profileId
 21290  	c.campaign = campaign
 21291  	return c
 21292  }
 21293  
 21294  // Fields allows partial responses to be retrieved. See
 21295  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21296  // for more information.
 21297  func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
 21298  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21299  	return c
 21300  }
 21301  
 21302  // Context sets the context to be used in this call's Do method. Any
 21303  // pending HTTP request will be aborted if the provided context is
 21304  // canceled.
 21305  func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
 21306  	c.ctx_ = ctx
 21307  	return c
 21308  }
 21309  
 21310  // Header returns an http.Header that can be modified by the caller to
 21311  // add HTTP headers to the request.
 21312  func (c *CampaignsInsertCall) Header() http.Header {
 21313  	if c.header_ == nil {
 21314  		c.header_ = make(http.Header)
 21315  	}
 21316  	return c.header_
 21317  }
 21318  
 21319  func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
 21320  	reqHeaders := make(http.Header)
 21321  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21322  	for k, v := range c.header_ {
 21323  		reqHeaders[k] = v
 21324  	}
 21325  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21326  	var body io.Reader = nil
 21327  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21328  	if err != nil {
 21329  		return nil, err
 21330  	}
 21331  	reqHeaders.Set("Content-Type", "application/json")
 21332  	c.urlParams_.Set("alt", alt)
 21333  	c.urlParams_.Set("prettyPrint", "false")
 21334  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21335  	urls += "?" + c.urlParams_.Encode()
 21336  	req, err := http.NewRequest("POST", urls, body)
 21337  	if err != nil {
 21338  		return nil, err
 21339  	}
 21340  	req.Header = reqHeaders
 21341  	googleapi.Expand(req.URL, map[string]string{
 21342  		"profileId": strconv.FormatInt(c.profileId, 10),
 21343  	})
 21344  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21345  }
 21346  
 21347  // Do executes the "dfareporting.campaigns.insert" call.
 21348  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21349  // code is an error. Response headers are in either
 21350  // *Campaign.ServerResponse.Header or (if a response was returned at
 21351  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21352  // to check whether the returned error was because
 21353  // http.StatusNotModified was returned.
 21354  func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21355  	gensupport.SetOptions(c.urlParams_, opts...)
 21356  	res, err := c.doRequest("json")
 21357  	if res != nil && res.StatusCode == http.StatusNotModified {
 21358  		if res.Body != nil {
 21359  			res.Body.Close()
 21360  		}
 21361  		return nil, &googleapi.Error{
 21362  			Code:   res.StatusCode,
 21363  			Header: res.Header,
 21364  		}
 21365  	}
 21366  	if err != nil {
 21367  		return nil, err
 21368  	}
 21369  	defer googleapi.CloseBody(res)
 21370  	if err := googleapi.CheckResponse(res); err != nil {
 21371  		return nil, err
 21372  	}
 21373  	ret := &Campaign{
 21374  		ServerResponse: googleapi.ServerResponse{
 21375  			Header:         res.Header,
 21376  			HTTPStatusCode: res.StatusCode,
 21377  		},
 21378  	}
 21379  	target := &ret
 21380  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21381  		return nil, err
 21382  	}
 21383  	return ret, nil
 21384  	// {
 21385  	//   "description": "Inserts a new campaign.",
 21386  	//   "flatPath": "userprofiles/{profileId}/campaigns",
 21387  	//   "httpMethod": "POST",
 21388  	//   "id": "dfareporting.campaigns.insert",
 21389  	//   "parameterOrder": [
 21390  	//     "profileId"
 21391  	//   ],
 21392  	//   "parameters": {
 21393  	//     "profileId": {
 21394  	//       "description": "User profile ID associated with this request.",
 21395  	//       "format": "int64",
 21396  	//       "location": "path",
 21397  	//       "required": true,
 21398  	//       "type": "string"
 21399  	//     }
 21400  	//   },
 21401  	//   "path": "userprofiles/{profileId}/campaigns",
 21402  	//   "request": {
 21403  	//     "$ref": "Campaign"
 21404  	//   },
 21405  	//   "response": {
 21406  	//     "$ref": "Campaign"
 21407  	//   },
 21408  	//   "scopes": [
 21409  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21410  	//   ]
 21411  	// }
 21412  
 21413  }
 21414  
 21415  // method id "dfareporting.campaigns.list":
 21416  
 21417  type CampaignsListCall struct {
 21418  	s            *Service
 21419  	profileId    int64
 21420  	urlParams_   gensupport.URLParams
 21421  	ifNoneMatch_ string
 21422  	ctx_         context.Context
 21423  	header_      http.Header
 21424  }
 21425  
 21426  // List: Retrieves a list of campaigns, possibly filtered. This method
 21427  // supports paging.
 21428  //
 21429  // - profileId: User profile ID associated with this request.
 21430  func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
 21431  	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21432  	c.profileId = profileId
 21433  	return c
 21434  }
 21435  
 21436  // AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
 21437  // Select only campaigns whose advertisers belong to these advertiser
 21438  // groups.
 21439  func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
 21440  	var advertiserGroupIds_ []string
 21441  	for _, v := range advertiserGroupIds {
 21442  		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
 21443  	}
 21444  	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
 21445  	return c
 21446  }
 21447  
 21448  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 21449  // only campaigns that belong to these advertisers.
 21450  func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
 21451  	var advertiserIds_ []string
 21452  	for _, v := range advertiserIds {
 21453  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 21454  	}
 21455  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 21456  	return c
 21457  }
 21458  
 21459  // Archived sets the optional parameter "archived": Select only archived
 21460  // campaigns. Don't set this field to select both archived and
 21461  // non-archived campaigns.
 21462  func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
 21463  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 21464  	return c
 21465  }
 21466  
 21467  // AtLeastOneOptimizationActivity sets the optional parameter
 21468  // "atLeastOneOptimizationActivity": Select only campaigns that have at
 21469  // least one optimization activity.
 21470  func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
 21471  	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
 21472  	return c
 21473  }
 21474  
 21475  // ExcludedIds sets the optional parameter "excludedIds": Exclude
 21476  // campaigns with these IDs.
 21477  func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
 21478  	var excludedIds_ []string
 21479  	for _, v := range excludedIds {
 21480  		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
 21481  	}
 21482  	c.urlParams_.SetMulti("excludedIds", excludedIds_)
 21483  	return c
 21484  }
 21485  
 21486  // Ids sets the optional parameter "ids": Select only campaigns with
 21487  // these IDs.
 21488  func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
 21489  	var ids_ []string
 21490  	for _, v := range ids {
 21491  		ids_ = append(ids_, fmt.Sprint(v))
 21492  	}
 21493  	c.urlParams_.SetMulti("ids", ids_)
 21494  	return c
 21495  }
 21496  
 21497  // MaxResults sets the optional parameter "maxResults": Maximum number
 21498  // of results to return.
 21499  func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
 21500  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 21501  	return c
 21502  }
 21503  
 21504  // OverriddenEventTagId sets the optional parameter
 21505  // "overriddenEventTagId": Select only campaigns that have overridden
 21506  // this event tag ID.
 21507  func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
 21508  	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
 21509  	return c
 21510  }
 21511  
 21512  // PageToken sets the optional parameter "pageToken": Value of the
 21513  // nextPageToken from the previous result page.
 21514  func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
 21515  	c.urlParams_.Set("pageToken", pageToken)
 21516  	return c
 21517  }
 21518  
 21519  // SearchString sets the optional parameter "searchString": Allows
 21520  // searching for campaigns by name or ID. Wildcards (*) are allowed. For
 21521  // example, "campaign*2015" will return campaigns with names like
 21522  // "campaign June 2015", "campaign April 2015", or simply "campaign
 21523  // 2015". Most of the searches also add wildcards implicitly at the
 21524  // start and the end of the search string. For example, a search string
 21525  // of "campaign" will match campaigns with name "my campaign", "campaign
 21526  // 2015", or simply "campaign".
 21527  func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
 21528  	c.urlParams_.Set("searchString", searchString)
 21529  	return c
 21530  }
 21531  
 21532  // SortField sets the optional parameter "sortField": Field by which to
 21533  // sort the list.
 21534  //
 21535  // Possible values:
 21536  //
 21537  //	"ID" (default)
 21538  //	"NAME"
 21539  func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
 21540  	c.urlParams_.Set("sortField", sortField)
 21541  	return c
 21542  }
 21543  
 21544  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 21545  // results.
 21546  //
 21547  // Possible values:
 21548  //
 21549  //	"ASCENDING" (default)
 21550  //	"DESCENDING"
 21551  func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
 21552  	c.urlParams_.Set("sortOrder", sortOrder)
 21553  	return c
 21554  }
 21555  
 21556  // SubaccountId sets the optional parameter "subaccountId": Select only
 21557  // campaigns that belong to this subaccount.
 21558  func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
 21559  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 21560  	return c
 21561  }
 21562  
 21563  // Fields allows partial responses to be retrieved. See
 21564  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21565  // for more information.
 21566  func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
 21567  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21568  	return c
 21569  }
 21570  
 21571  // IfNoneMatch sets the optional parameter which makes the operation
 21572  // fail if the object's ETag matches the given value. This is useful for
 21573  // getting updates only after the object has changed since the last
 21574  // request. Use googleapi.IsNotModified to check whether the response
 21575  // error from Do is the result of In-None-Match.
 21576  func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
 21577  	c.ifNoneMatch_ = entityTag
 21578  	return c
 21579  }
 21580  
 21581  // Context sets the context to be used in this call's Do method. Any
 21582  // pending HTTP request will be aborted if the provided context is
 21583  // canceled.
 21584  func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
 21585  	c.ctx_ = ctx
 21586  	return c
 21587  }
 21588  
 21589  // Header returns an http.Header that can be modified by the caller to
 21590  // add HTTP headers to the request.
 21591  func (c *CampaignsListCall) Header() http.Header {
 21592  	if c.header_ == nil {
 21593  		c.header_ = make(http.Header)
 21594  	}
 21595  	return c.header_
 21596  }
 21597  
 21598  func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
 21599  	reqHeaders := make(http.Header)
 21600  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21601  	for k, v := range c.header_ {
 21602  		reqHeaders[k] = v
 21603  	}
 21604  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21605  	if c.ifNoneMatch_ != "" {
 21606  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 21607  	}
 21608  	var body io.Reader = nil
 21609  	c.urlParams_.Set("alt", alt)
 21610  	c.urlParams_.Set("prettyPrint", "false")
 21611  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21612  	urls += "?" + c.urlParams_.Encode()
 21613  	req, err := http.NewRequest("GET", urls, body)
 21614  	if err != nil {
 21615  		return nil, err
 21616  	}
 21617  	req.Header = reqHeaders
 21618  	googleapi.Expand(req.URL, map[string]string{
 21619  		"profileId": strconv.FormatInt(c.profileId, 10),
 21620  	})
 21621  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21622  }
 21623  
 21624  // Do executes the "dfareporting.campaigns.list" call.
 21625  // Exactly one of *CampaignsListResponse or error will be non-nil. Any
 21626  // non-2xx status code is an error. Response headers are in either
 21627  // *CampaignsListResponse.ServerResponse.Header or (if a response was
 21628  // returned at all) in error.(*googleapi.Error).Header. Use
 21629  // googleapi.IsNotModified to check whether the returned error was
 21630  // because http.StatusNotModified was returned.
 21631  func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
 21632  	gensupport.SetOptions(c.urlParams_, opts...)
 21633  	res, err := c.doRequest("json")
 21634  	if res != nil && res.StatusCode == http.StatusNotModified {
 21635  		if res.Body != nil {
 21636  			res.Body.Close()
 21637  		}
 21638  		return nil, &googleapi.Error{
 21639  			Code:   res.StatusCode,
 21640  			Header: res.Header,
 21641  		}
 21642  	}
 21643  	if err != nil {
 21644  		return nil, err
 21645  	}
 21646  	defer googleapi.CloseBody(res)
 21647  	if err := googleapi.CheckResponse(res); err != nil {
 21648  		return nil, err
 21649  	}
 21650  	ret := &CampaignsListResponse{
 21651  		ServerResponse: googleapi.ServerResponse{
 21652  			Header:         res.Header,
 21653  			HTTPStatusCode: res.StatusCode,
 21654  		},
 21655  	}
 21656  	target := &ret
 21657  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21658  		return nil, err
 21659  	}
 21660  	return ret, nil
 21661  	// {
 21662  	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
 21663  	//   "flatPath": "userprofiles/{profileId}/campaigns",
 21664  	//   "httpMethod": "GET",
 21665  	//   "id": "dfareporting.campaigns.list",
 21666  	//   "parameterOrder": [
 21667  	//     "profileId"
 21668  	//   ],
 21669  	//   "parameters": {
 21670  	//     "advertiserGroupIds": {
 21671  	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
 21672  	//       "format": "int64",
 21673  	//       "location": "query",
 21674  	//       "repeated": true,
 21675  	//       "type": "string"
 21676  	//     },
 21677  	//     "advertiserIds": {
 21678  	//       "description": "Select only campaigns that belong to these advertisers.",
 21679  	//       "format": "int64",
 21680  	//       "location": "query",
 21681  	//       "repeated": true,
 21682  	//       "type": "string"
 21683  	//     },
 21684  	//     "archived": {
 21685  	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
 21686  	//       "location": "query",
 21687  	//       "type": "boolean"
 21688  	//     },
 21689  	//     "atLeastOneOptimizationActivity": {
 21690  	//       "description": "Select only campaigns that have at least one optimization activity.",
 21691  	//       "location": "query",
 21692  	//       "type": "boolean"
 21693  	//     },
 21694  	//     "excludedIds": {
 21695  	//       "description": "Exclude campaigns with these IDs.",
 21696  	//       "format": "int64",
 21697  	//       "location": "query",
 21698  	//       "repeated": true,
 21699  	//       "type": "string"
 21700  	//     },
 21701  	//     "ids": {
 21702  	//       "description": "Select only campaigns with these IDs.",
 21703  	//       "format": "int64",
 21704  	//       "location": "query",
 21705  	//       "repeated": true,
 21706  	//       "type": "string"
 21707  	//     },
 21708  	//     "maxResults": {
 21709  	//       "default": "1000",
 21710  	//       "description": "Maximum number of results to return.",
 21711  	//       "format": "int32",
 21712  	//       "location": "query",
 21713  	//       "maximum": "1000",
 21714  	//       "minimum": "0",
 21715  	//       "type": "integer"
 21716  	//     },
 21717  	//     "overriddenEventTagId": {
 21718  	//       "description": "Select only campaigns that have overridden this event tag ID.",
 21719  	//       "format": "int64",
 21720  	//       "location": "query",
 21721  	//       "type": "string"
 21722  	//     },
 21723  	//     "pageToken": {
 21724  	//       "description": "Value of the nextPageToken from the previous result page.",
 21725  	//       "location": "query",
 21726  	//       "type": "string"
 21727  	//     },
 21728  	//     "profileId": {
 21729  	//       "description": "User profile ID associated with this request.",
 21730  	//       "format": "int64",
 21731  	//       "location": "path",
 21732  	//       "required": true,
 21733  	//       "type": "string"
 21734  	//     },
 21735  	//     "searchString": {
 21736  	//       "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\".",
 21737  	//       "location": "query",
 21738  	//       "type": "string"
 21739  	//     },
 21740  	//     "sortField": {
 21741  	//       "default": "ID",
 21742  	//       "description": "Field by which to sort the list.",
 21743  	//       "enum": [
 21744  	//         "ID",
 21745  	//         "NAME"
 21746  	//       ],
 21747  	//       "enumDescriptions": [
 21748  	//         "",
 21749  	//         ""
 21750  	//       ],
 21751  	//       "location": "query",
 21752  	//       "type": "string"
 21753  	//     },
 21754  	//     "sortOrder": {
 21755  	//       "default": "ASCENDING",
 21756  	//       "description": "Order of sorted results.",
 21757  	//       "enum": [
 21758  	//         "ASCENDING",
 21759  	//         "DESCENDING"
 21760  	//       ],
 21761  	//       "enumDescriptions": [
 21762  	//         "",
 21763  	//         ""
 21764  	//       ],
 21765  	//       "location": "query",
 21766  	//       "type": "string"
 21767  	//     },
 21768  	//     "subaccountId": {
 21769  	//       "description": "Select only campaigns that belong to this subaccount.",
 21770  	//       "format": "int64",
 21771  	//       "location": "query",
 21772  	//       "type": "string"
 21773  	//     }
 21774  	//   },
 21775  	//   "path": "userprofiles/{profileId}/campaigns",
 21776  	//   "response": {
 21777  	//     "$ref": "CampaignsListResponse"
 21778  	//   },
 21779  	//   "scopes": [
 21780  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21781  	//   ]
 21782  	// }
 21783  
 21784  }
 21785  
 21786  // Pages invokes f for each page of results.
 21787  // A non-nil error returned from f will halt the iteration.
 21788  // The provided context supersedes any context provided to the Context method.
 21789  func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
 21790  	c.ctx_ = ctx
 21791  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 21792  	for {
 21793  		x, err := c.Do()
 21794  		if err != nil {
 21795  			return err
 21796  		}
 21797  		if err := f(x); err != nil {
 21798  			return err
 21799  		}
 21800  		if x.NextPageToken == "" {
 21801  			return nil
 21802  		}
 21803  		c.PageToken(x.NextPageToken)
 21804  	}
 21805  }
 21806  
 21807  // method id "dfareporting.campaigns.patch":
 21808  
 21809  type CampaignsPatchCall struct {
 21810  	s          *Service
 21811  	profileId  int64
 21812  	campaign   *Campaign
 21813  	urlParams_ gensupport.URLParams
 21814  	ctx_       context.Context
 21815  	header_    http.Header
 21816  }
 21817  
 21818  // Patch: Updates an existing campaign. This method supports patch
 21819  // semantics.
 21820  //
 21821  // - id: Campaign ID.
 21822  // - profileId: User profile ID associated with this request.
 21823  func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
 21824  	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21825  	c.profileId = profileId
 21826  	c.urlParams_.Set("id", fmt.Sprint(id))
 21827  	c.campaign = campaign
 21828  	return c
 21829  }
 21830  
 21831  // Fields allows partial responses to be retrieved. See
 21832  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21833  // for more information.
 21834  func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
 21835  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21836  	return c
 21837  }
 21838  
 21839  // Context sets the context to be used in this call's Do method. Any
 21840  // pending HTTP request will be aborted if the provided context is
 21841  // canceled.
 21842  func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
 21843  	c.ctx_ = ctx
 21844  	return c
 21845  }
 21846  
 21847  // Header returns an http.Header that can be modified by the caller to
 21848  // add HTTP headers to the request.
 21849  func (c *CampaignsPatchCall) Header() http.Header {
 21850  	if c.header_ == nil {
 21851  		c.header_ = make(http.Header)
 21852  	}
 21853  	return c.header_
 21854  }
 21855  
 21856  func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
 21857  	reqHeaders := make(http.Header)
 21858  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 21859  	for k, v := range c.header_ {
 21860  		reqHeaders[k] = v
 21861  	}
 21862  	reqHeaders.Set("User-Agent", c.s.userAgent())
 21863  	var body io.Reader = nil
 21864  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 21865  	if err != nil {
 21866  		return nil, err
 21867  	}
 21868  	reqHeaders.Set("Content-Type", "application/json")
 21869  	c.urlParams_.Set("alt", alt)
 21870  	c.urlParams_.Set("prettyPrint", "false")
 21871  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 21872  	urls += "?" + c.urlParams_.Encode()
 21873  	req, err := http.NewRequest("PATCH", urls, body)
 21874  	if err != nil {
 21875  		return nil, err
 21876  	}
 21877  	req.Header = reqHeaders
 21878  	googleapi.Expand(req.URL, map[string]string{
 21879  		"profileId": strconv.FormatInt(c.profileId, 10),
 21880  	})
 21881  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 21882  }
 21883  
 21884  // Do executes the "dfareporting.campaigns.patch" call.
 21885  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 21886  // code is an error. Response headers are in either
 21887  // *Campaign.ServerResponse.Header or (if a response was returned at
 21888  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 21889  // to check whether the returned error was because
 21890  // http.StatusNotModified was returned.
 21891  func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 21892  	gensupport.SetOptions(c.urlParams_, opts...)
 21893  	res, err := c.doRequest("json")
 21894  	if res != nil && res.StatusCode == http.StatusNotModified {
 21895  		if res.Body != nil {
 21896  			res.Body.Close()
 21897  		}
 21898  		return nil, &googleapi.Error{
 21899  			Code:   res.StatusCode,
 21900  			Header: res.Header,
 21901  		}
 21902  	}
 21903  	if err != nil {
 21904  		return nil, err
 21905  	}
 21906  	defer googleapi.CloseBody(res)
 21907  	if err := googleapi.CheckResponse(res); err != nil {
 21908  		return nil, err
 21909  	}
 21910  	ret := &Campaign{
 21911  		ServerResponse: googleapi.ServerResponse{
 21912  			Header:         res.Header,
 21913  			HTTPStatusCode: res.StatusCode,
 21914  		},
 21915  	}
 21916  	target := &ret
 21917  	if err := gensupport.DecodeResponse(target, res); err != nil {
 21918  		return nil, err
 21919  	}
 21920  	return ret, nil
 21921  	// {
 21922  	//   "description": "Updates an existing campaign. This method supports patch semantics.",
 21923  	//   "flatPath": "userprofiles/{profileId}/campaigns",
 21924  	//   "httpMethod": "PATCH",
 21925  	//   "id": "dfareporting.campaigns.patch",
 21926  	//   "parameterOrder": [
 21927  	//     "profileId",
 21928  	//     "id"
 21929  	//   ],
 21930  	//   "parameters": {
 21931  	//     "id": {
 21932  	//       "description": "Campaign ID.",
 21933  	//       "format": "int64",
 21934  	//       "location": "query",
 21935  	//       "required": true,
 21936  	//       "type": "string"
 21937  	//     },
 21938  	//     "profileId": {
 21939  	//       "description": "User profile ID associated with this request.",
 21940  	//       "format": "int64",
 21941  	//       "location": "path",
 21942  	//       "required": true,
 21943  	//       "type": "string"
 21944  	//     }
 21945  	//   },
 21946  	//   "path": "userprofiles/{profileId}/campaigns",
 21947  	//   "request": {
 21948  	//     "$ref": "Campaign"
 21949  	//   },
 21950  	//   "response": {
 21951  	//     "$ref": "Campaign"
 21952  	//   },
 21953  	//   "scopes": [
 21954  	//     "https://www.googleapis.com/auth/dfatrafficking"
 21955  	//   ]
 21956  	// }
 21957  
 21958  }
 21959  
 21960  // method id "dfareporting.campaigns.update":
 21961  
 21962  type CampaignsUpdateCall struct {
 21963  	s          *Service
 21964  	profileId  int64
 21965  	campaign   *Campaign
 21966  	urlParams_ gensupport.URLParams
 21967  	ctx_       context.Context
 21968  	header_    http.Header
 21969  }
 21970  
 21971  // Update: Updates an existing campaign.
 21972  //
 21973  // - profileId: User profile ID associated with this request.
 21974  func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
 21975  	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 21976  	c.profileId = profileId
 21977  	c.campaign = campaign
 21978  	return c
 21979  }
 21980  
 21981  // Fields allows partial responses to be retrieved. See
 21982  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 21983  // for more information.
 21984  func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
 21985  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 21986  	return c
 21987  }
 21988  
 21989  // Context sets the context to be used in this call's Do method. Any
 21990  // pending HTTP request will be aborted if the provided context is
 21991  // canceled.
 21992  func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
 21993  	c.ctx_ = ctx
 21994  	return c
 21995  }
 21996  
 21997  // Header returns an http.Header that can be modified by the caller to
 21998  // add HTTP headers to the request.
 21999  func (c *CampaignsUpdateCall) Header() http.Header {
 22000  	if c.header_ == nil {
 22001  		c.header_ = make(http.Header)
 22002  	}
 22003  	return c.header_
 22004  }
 22005  
 22006  func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
 22007  	reqHeaders := make(http.Header)
 22008  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 22009  	for k, v := range c.header_ {
 22010  		reqHeaders[k] = v
 22011  	}
 22012  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22013  	var body io.Reader = nil
 22014  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
 22015  	if err != nil {
 22016  		return nil, err
 22017  	}
 22018  	reqHeaders.Set("Content-Type", "application/json")
 22019  	c.urlParams_.Set("alt", alt)
 22020  	c.urlParams_.Set("prettyPrint", "false")
 22021  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
 22022  	urls += "?" + c.urlParams_.Encode()
 22023  	req, err := http.NewRequest("PUT", urls, body)
 22024  	if err != nil {
 22025  		return nil, err
 22026  	}
 22027  	req.Header = reqHeaders
 22028  	googleapi.Expand(req.URL, map[string]string{
 22029  		"profileId": strconv.FormatInt(c.profileId, 10),
 22030  	})
 22031  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22032  }
 22033  
 22034  // Do executes the "dfareporting.campaigns.update" call.
 22035  // Exactly one of *Campaign or error will be non-nil. Any non-2xx status
 22036  // code is an error. Response headers are in either
 22037  // *Campaign.ServerResponse.Header or (if a response was returned at
 22038  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 22039  // to check whether the returned error was because
 22040  // http.StatusNotModified was returned.
 22041  func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
 22042  	gensupport.SetOptions(c.urlParams_, opts...)
 22043  	res, err := c.doRequest("json")
 22044  	if res != nil && res.StatusCode == http.StatusNotModified {
 22045  		if res.Body != nil {
 22046  			res.Body.Close()
 22047  		}
 22048  		return nil, &googleapi.Error{
 22049  			Code:   res.StatusCode,
 22050  			Header: res.Header,
 22051  		}
 22052  	}
 22053  	if err != nil {
 22054  		return nil, err
 22055  	}
 22056  	defer googleapi.CloseBody(res)
 22057  	if err := googleapi.CheckResponse(res); err != nil {
 22058  		return nil, err
 22059  	}
 22060  	ret := &Campaign{
 22061  		ServerResponse: googleapi.ServerResponse{
 22062  			Header:         res.Header,
 22063  			HTTPStatusCode: res.StatusCode,
 22064  		},
 22065  	}
 22066  	target := &ret
 22067  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22068  		return nil, err
 22069  	}
 22070  	return ret, nil
 22071  	// {
 22072  	//   "description": "Updates an existing campaign.",
 22073  	//   "flatPath": "userprofiles/{profileId}/campaigns",
 22074  	//   "httpMethod": "PUT",
 22075  	//   "id": "dfareporting.campaigns.update",
 22076  	//   "parameterOrder": [
 22077  	//     "profileId"
 22078  	//   ],
 22079  	//   "parameters": {
 22080  	//     "profileId": {
 22081  	//       "description": "User profile ID associated with this request.",
 22082  	//       "format": "int64",
 22083  	//       "location": "path",
 22084  	//       "required": true,
 22085  	//       "type": "string"
 22086  	//     }
 22087  	//   },
 22088  	//   "path": "userprofiles/{profileId}/campaigns",
 22089  	//   "request": {
 22090  	//     "$ref": "Campaign"
 22091  	//   },
 22092  	//   "response": {
 22093  	//     "$ref": "Campaign"
 22094  	//   },
 22095  	//   "scopes": [
 22096  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22097  	//   ]
 22098  	// }
 22099  
 22100  }
 22101  
 22102  // method id "dfareporting.changeLogs.get":
 22103  
 22104  type ChangeLogsGetCall struct {
 22105  	s            *Service
 22106  	profileId    int64
 22107  	id           int64
 22108  	urlParams_   gensupport.URLParams
 22109  	ifNoneMatch_ string
 22110  	ctx_         context.Context
 22111  	header_      http.Header
 22112  }
 22113  
 22114  // Get: Gets one change log by ID.
 22115  //
 22116  // - id: Change log ID.
 22117  // - profileId: User profile ID associated with this request.
 22118  func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
 22119  	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22120  	c.profileId = profileId
 22121  	c.id = id
 22122  	return c
 22123  }
 22124  
 22125  // Fields allows partial responses to be retrieved. See
 22126  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22127  // for more information.
 22128  func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
 22129  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22130  	return c
 22131  }
 22132  
 22133  // IfNoneMatch sets the optional parameter which makes the operation
 22134  // fail if the object's ETag matches the given value. This is useful for
 22135  // getting updates only after the object has changed since the last
 22136  // request. Use googleapi.IsNotModified to check whether the response
 22137  // error from Do is the result of In-None-Match.
 22138  func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
 22139  	c.ifNoneMatch_ = entityTag
 22140  	return c
 22141  }
 22142  
 22143  // Context sets the context to be used in this call's Do method. Any
 22144  // pending HTTP request will be aborted if the provided context is
 22145  // canceled.
 22146  func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
 22147  	c.ctx_ = ctx
 22148  	return c
 22149  }
 22150  
 22151  // Header returns an http.Header that can be modified by the caller to
 22152  // add HTTP headers to the request.
 22153  func (c *ChangeLogsGetCall) Header() http.Header {
 22154  	if c.header_ == nil {
 22155  		c.header_ = make(http.Header)
 22156  	}
 22157  	return c.header_
 22158  }
 22159  
 22160  func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
 22161  	reqHeaders := make(http.Header)
 22162  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 22163  	for k, v := range c.header_ {
 22164  		reqHeaders[k] = v
 22165  	}
 22166  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22167  	if c.ifNoneMatch_ != "" {
 22168  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22169  	}
 22170  	var body io.Reader = nil
 22171  	c.urlParams_.Set("alt", alt)
 22172  	c.urlParams_.Set("prettyPrint", "false")
 22173  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
 22174  	urls += "?" + c.urlParams_.Encode()
 22175  	req, err := http.NewRequest("GET", urls, body)
 22176  	if err != nil {
 22177  		return nil, err
 22178  	}
 22179  	req.Header = reqHeaders
 22180  	googleapi.Expand(req.URL, map[string]string{
 22181  		"profileId": strconv.FormatInt(c.profileId, 10),
 22182  		"id":        strconv.FormatInt(c.id, 10),
 22183  	})
 22184  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22185  }
 22186  
 22187  // Do executes the "dfareporting.changeLogs.get" call.
 22188  // Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
 22189  // status code is an error. Response headers are in either
 22190  // *ChangeLog.ServerResponse.Header or (if a response was returned at
 22191  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 22192  // to check whether the returned error was because
 22193  // http.StatusNotModified was returned.
 22194  func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
 22195  	gensupport.SetOptions(c.urlParams_, opts...)
 22196  	res, err := c.doRequest("json")
 22197  	if res != nil && res.StatusCode == http.StatusNotModified {
 22198  		if res.Body != nil {
 22199  			res.Body.Close()
 22200  		}
 22201  		return nil, &googleapi.Error{
 22202  			Code:   res.StatusCode,
 22203  			Header: res.Header,
 22204  		}
 22205  	}
 22206  	if err != nil {
 22207  		return nil, err
 22208  	}
 22209  	defer googleapi.CloseBody(res)
 22210  	if err := googleapi.CheckResponse(res); err != nil {
 22211  		return nil, err
 22212  	}
 22213  	ret := &ChangeLog{
 22214  		ServerResponse: googleapi.ServerResponse{
 22215  			Header:         res.Header,
 22216  			HTTPStatusCode: res.StatusCode,
 22217  		},
 22218  	}
 22219  	target := &ret
 22220  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22221  		return nil, err
 22222  	}
 22223  	return ret, nil
 22224  	// {
 22225  	//   "description": "Gets one change log by ID.",
 22226  	//   "flatPath": "userprofiles/{profileId}/changeLogs/{id}",
 22227  	//   "httpMethod": "GET",
 22228  	//   "id": "dfareporting.changeLogs.get",
 22229  	//   "parameterOrder": [
 22230  	//     "profileId",
 22231  	//     "id"
 22232  	//   ],
 22233  	//   "parameters": {
 22234  	//     "id": {
 22235  	//       "description": "Change log ID.",
 22236  	//       "format": "int64",
 22237  	//       "location": "path",
 22238  	//       "required": true,
 22239  	//       "type": "string"
 22240  	//     },
 22241  	//     "profileId": {
 22242  	//       "description": "User profile ID associated with this request.",
 22243  	//       "format": "int64",
 22244  	//       "location": "path",
 22245  	//       "required": true,
 22246  	//       "type": "string"
 22247  	//     }
 22248  	//   },
 22249  	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
 22250  	//   "response": {
 22251  	//     "$ref": "ChangeLog"
 22252  	//   },
 22253  	//   "scopes": [
 22254  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22255  	//   ]
 22256  	// }
 22257  
 22258  }
 22259  
 22260  // method id "dfareporting.changeLogs.list":
 22261  
 22262  type ChangeLogsListCall struct {
 22263  	s            *Service
 22264  	profileId    int64
 22265  	urlParams_   gensupport.URLParams
 22266  	ifNoneMatch_ string
 22267  	ctx_         context.Context
 22268  	header_      http.Header
 22269  }
 22270  
 22271  // List: Retrieves a list of change logs. This method supports paging.
 22272  //
 22273  // - profileId: User profile ID associated with this request.
 22274  func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
 22275  	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22276  	c.profileId = profileId
 22277  	return c
 22278  }
 22279  
 22280  // Action sets the optional parameter "action": Select only change logs
 22281  // with the specified action.
 22282  //
 22283  // Possible values:
 22284  //
 22285  //	"ACTION_CREATE"
 22286  //	"ACTION_UPDATE"
 22287  //	"ACTION_DELETE"
 22288  //	"ACTION_ENABLE"
 22289  //	"ACTION_DISABLE"
 22290  //	"ACTION_ADD"
 22291  //	"ACTION_REMOVE"
 22292  //	"ACTION_MARK_AS_DEFAULT"
 22293  //	"ACTION_ASSOCIATE"
 22294  //	"ACTION_ASSIGN"
 22295  //	"ACTION_UNASSIGN"
 22296  //	"ACTION_SEND"
 22297  //	"ACTION_LINK"
 22298  //	"ACTION_UNLINK"
 22299  //	"ACTION_PUSH"
 22300  //	"ACTION_EMAIL_TAGS"
 22301  //	"ACTION_SHARE"
 22302  func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
 22303  	c.urlParams_.Set("action", action)
 22304  	return c
 22305  }
 22306  
 22307  // Ids sets the optional parameter "ids": Select only change logs with
 22308  // these IDs.
 22309  func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
 22310  	var ids_ []string
 22311  	for _, v := range ids {
 22312  		ids_ = append(ids_, fmt.Sprint(v))
 22313  	}
 22314  	c.urlParams_.SetMulti("ids", ids_)
 22315  	return c
 22316  }
 22317  
 22318  // MaxChangeTime sets the optional parameter "maxChangeTime": Select
 22319  // only change logs whose change time is before the specified
 22320  // maxChangeTime.The time should be formatted as an RFC3339 date/time
 22321  // string. For example, for 10:54 PM on July 18th, 2015, in the
 22322  // America/New York time zone, the format is
 22323  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 22324  // the letter T, the hour (24-hour clock system), minute, second, and
 22325  // then the time zone offset.
 22326  func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
 22327  	c.urlParams_.Set("maxChangeTime", maxChangeTime)
 22328  	return c
 22329  }
 22330  
 22331  // MaxResults sets the optional parameter "maxResults": Maximum number
 22332  // of results to return.
 22333  func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
 22334  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 22335  	return c
 22336  }
 22337  
 22338  // MinChangeTime sets the optional parameter "minChangeTime": Select
 22339  // only change logs whose change time is after the specified
 22340  // minChangeTime.The time should be formatted as an RFC3339 date/time
 22341  // string. For example, for 10:54 PM on July 18th, 2015, in the
 22342  // America/New York time zone, the format is
 22343  // "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
 22344  // the letter T, the hour (24-hour clock system), minute, second, and
 22345  // then the time zone offset.
 22346  func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
 22347  	c.urlParams_.Set("minChangeTime", minChangeTime)
 22348  	return c
 22349  }
 22350  
 22351  // ObjectIds sets the optional parameter "objectIds": Select only change
 22352  // logs with these object IDs.
 22353  func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
 22354  	var objectIds_ []string
 22355  	for _, v := range objectIds {
 22356  		objectIds_ = append(objectIds_, fmt.Sprint(v))
 22357  	}
 22358  	c.urlParams_.SetMulti("objectIds", objectIds_)
 22359  	return c
 22360  }
 22361  
 22362  // ObjectType sets the optional parameter "objectType": Select only
 22363  // change logs with the specified object type.
 22364  //
 22365  // Possible values:
 22366  //
 22367  //	"OBJECT_ADVERTISER"
 22368  //	"OBJECT_FLOODLIGHT_CONFIGURATION"
 22369  //	"OBJECT_AD"
 22370  //	"OBJECT_FLOODLIGHT_ACTVITY"
 22371  //	"OBJECT_CAMPAIGN"
 22372  //	"OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
 22373  //	"OBJECT_CREATIVE"
 22374  //	"OBJECT_PLACEMENT"
 22375  //	"OBJECT_DFA_SITE"
 22376  //	"OBJECT_USER_ROLE"
 22377  //	"OBJECT_USER_PROFILE"
 22378  //	"OBJECT_ADVERTISER_GROUP"
 22379  //	"OBJECT_ACCOUNT"
 22380  //	"OBJECT_SUBACCOUNT"
 22381  //	"OBJECT_RICHMEDIA_CREATIVE"
 22382  //	"OBJECT_INSTREAM_CREATIVE"
 22383  //	"OBJECT_MEDIA_ORDER"
 22384  //	"OBJECT_CONTENT_CATEGORY"
 22385  //	"OBJECT_PLACEMENT_STRATEGY"
 22386  //	"OBJECT_SD_SITE"
 22387  //	"OBJECT_SIZE"
 22388  //	"OBJECT_CREATIVE_GROUP"
 22389  //	"OBJECT_CREATIVE_ASSET"
 22390  //	"OBJECT_USER_PROFILE_FILTER"
 22391  //	"OBJECT_LANDING_PAGE"
 22392  //	"OBJECT_CREATIVE_FIELD"
 22393  //	"OBJECT_REMARKETING_LIST"
 22394  //	"OBJECT_PROVIDED_LIST_CLIENT"
 22395  //	"OBJECT_EVENT_TAG"
 22396  //	"OBJECT_CREATIVE_BUNDLE"
 22397  //	"OBJECT_BILLING_ACCOUNT_GROUP"
 22398  //	"OBJECT_BILLING_FEATURE"
 22399  //	"OBJECT_RATE_CARD"
 22400  //	"OBJECT_ACCOUNT_BILLING_FEATURE"
 22401  //	"OBJECT_BILLING_MINIMUM_FEE"
 22402  //	"OBJECT_BILLING_PROFILE"
 22403  //	"OBJECT_PLAYSTORE_LINK"
 22404  //	"OBJECT_TARGETING_TEMPLATE"
 22405  //	"OBJECT_SEARCH_LIFT_STUDY"
 22406  //	"OBJECT_FLOODLIGHT_DV360_LINK"
 22407  func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
 22408  	c.urlParams_.Set("objectType", objectType)
 22409  	return c
 22410  }
 22411  
 22412  // PageToken sets the optional parameter "pageToken": Value of the
 22413  // nextPageToken from the previous result page.
 22414  func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
 22415  	c.urlParams_.Set("pageToken", pageToken)
 22416  	return c
 22417  }
 22418  
 22419  // SearchString sets the optional parameter "searchString": Select only
 22420  // change logs whose object ID, user name, old or new values match the
 22421  // search string.
 22422  func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
 22423  	c.urlParams_.Set("searchString", searchString)
 22424  	return c
 22425  }
 22426  
 22427  // UserProfileIds sets the optional parameter "userProfileIds": Select
 22428  // only change logs with these user profile IDs.
 22429  func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
 22430  	var userProfileIds_ []string
 22431  	for _, v := range userProfileIds {
 22432  		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
 22433  	}
 22434  	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
 22435  	return c
 22436  }
 22437  
 22438  // Fields allows partial responses to be retrieved. See
 22439  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22440  // for more information.
 22441  func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
 22442  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22443  	return c
 22444  }
 22445  
 22446  // IfNoneMatch sets the optional parameter which makes the operation
 22447  // fail if the object's ETag matches the given value. This is useful for
 22448  // getting updates only after the object has changed since the last
 22449  // request. Use googleapi.IsNotModified to check whether the response
 22450  // error from Do is the result of In-None-Match.
 22451  func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
 22452  	c.ifNoneMatch_ = entityTag
 22453  	return c
 22454  }
 22455  
 22456  // Context sets the context to be used in this call's Do method. Any
 22457  // pending HTTP request will be aborted if the provided context is
 22458  // canceled.
 22459  func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
 22460  	c.ctx_ = ctx
 22461  	return c
 22462  }
 22463  
 22464  // Header returns an http.Header that can be modified by the caller to
 22465  // add HTTP headers to the request.
 22466  func (c *ChangeLogsListCall) Header() http.Header {
 22467  	if c.header_ == nil {
 22468  		c.header_ = make(http.Header)
 22469  	}
 22470  	return c.header_
 22471  }
 22472  
 22473  func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
 22474  	reqHeaders := make(http.Header)
 22475  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 22476  	for k, v := range c.header_ {
 22477  		reqHeaders[k] = v
 22478  	}
 22479  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22480  	if c.ifNoneMatch_ != "" {
 22481  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22482  	}
 22483  	var body io.Reader = nil
 22484  	c.urlParams_.Set("alt", alt)
 22485  	c.urlParams_.Set("prettyPrint", "false")
 22486  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
 22487  	urls += "?" + c.urlParams_.Encode()
 22488  	req, err := http.NewRequest("GET", urls, body)
 22489  	if err != nil {
 22490  		return nil, err
 22491  	}
 22492  	req.Header = reqHeaders
 22493  	googleapi.Expand(req.URL, map[string]string{
 22494  		"profileId": strconv.FormatInt(c.profileId, 10),
 22495  	})
 22496  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22497  }
 22498  
 22499  // Do executes the "dfareporting.changeLogs.list" call.
 22500  // Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
 22501  // non-2xx status code is an error. Response headers are in either
 22502  // *ChangeLogsListResponse.ServerResponse.Header or (if a response was
 22503  // returned at all) in error.(*googleapi.Error).Header. Use
 22504  // googleapi.IsNotModified to check whether the returned error was
 22505  // because http.StatusNotModified was returned.
 22506  func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
 22507  	gensupport.SetOptions(c.urlParams_, opts...)
 22508  	res, err := c.doRequest("json")
 22509  	if res != nil && res.StatusCode == http.StatusNotModified {
 22510  		if res.Body != nil {
 22511  			res.Body.Close()
 22512  		}
 22513  		return nil, &googleapi.Error{
 22514  			Code:   res.StatusCode,
 22515  			Header: res.Header,
 22516  		}
 22517  	}
 22518  	if err != nil {
 22519  		return nil, err
 22520  	}
 22521  	defer googleapi.CloseBody(res)
 22522  	if err := googleapi.CheckResponse(res); err != nil {
 22523  		return nil, err
 22524  	}
 22525  	ret := &ChangeLogsListResponse{
 22526  		ServerResponse: googleapi.ServerResponse{
 22527  			Header:         res.Header,
 22528  			HTTPStatusCode: res.StatusCode,
 22529  		},
 22530  	}
 22531  	target := &ret
 22532  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22533  		return nil, err
 22534  	}
 22535  	return ret, nil
 22536  	// {
 22537  	//   "description": "Retrieves a list of change logs. This method supports paging.",
 22538  	//   "flatPath": "userprofiles/{profileId}/changeLogs",
 22539  	//   "httpMethod": "GET",
 22540  	//   "id": "dfareporting.changeLogs.list",
 22541  	//   "parameterOrder": [
 22542  	//     "profileId"
 22543  	//   ],
 22544  	//   "parameters": {
 22545  	//     "action": {
 22546  	//       "description": "Select only change logs with the specified action.",
 22547  	//       "enum": [
 22548  	//         "ACTION_CREATE",
 22549  	//         "ACTION_UPDATE",
 22550  	//         "ACTION_DELETE",
 22551  	//         "ACTION_ENABLE",
 22552  	//         "ACTION_DISABLE",
 22553  	//         "ACTION_ADD",
 22554  	//         "ACTION_REMOVE",
 22555  	//         "ACTION_MARK_AS_DEFAULT",
 22556  	//         "ACTION_ASSOCIATE",
 22557  	//         "ACTION_ASSIGN",
 22558  	//         "ACTION_UNASSIGN",
 22559  	//         "ACTION_SEND",
 22560  	//         "ACTION_LINK",
 22561  	//         "ACTION_UNLINK",
 22562  	//         "ACTION_PUSH",
 22563  	//         "ACTION_EMAIL_TAGS",
 22564  	//         "ACTION_SHARE"
 22565  	//       ],
 22566  	//       "enumDescriptions": [
 22567  	//         "",
 22568  	//         "",
 22569  	//         "",
 22570  	//         "",
 22571  	//         "",
 22572  	//         "",
 22573  	//         "",
 22574  	//         "",
 22575  	//         "",
 22576  	//         "",
 22577  	//         "",
 22578  	//         "",
 22579  	//         "",
 22580  	//         "",
 22581  	//         "",
 22582  	//         "",
 22583  	//         ""
 22584  	//       ],
 22585  	//       "location": "query",
 22586  	//       "type": "string"
 22587  	//     },
 22588  	//     "ids": {
 22589  	//       "description": "Select only change logs with these IDs.",
 22590  	//       "format": "int64",
 22591  	//       "location": "query",
 22592  	//       "repeated": true,
 22593  	//       "type": "string"
 22594  	//     },
 22595  	//     "maxChangeTime": {
 22596  	//       "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.",
 22597  	//       "location": "query",
 22598  	//       "type": "string"
 22599  	//     },
 22600  	//     "maxResults": {
 22601  	//       "default": "1000",
 22602  	//       "description": "Maximum number of results to return.",
 22603  	//       "format": "int32",
 22604  	//       "location": "query",
 22605  	//       "maximum": "1000",
 22606  	//       "minimum": "0",
 22607  	//       "type": "integer"
 22608  	//     },
 22609  	//     "minChangeTime": {
 22610  	//       "description": "Select only change logs whose change time is after 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.",
 22611  	//       "location": "query",
 22612  	//       "type": "string"
 22613  	//     },
 22614  	//     "objectIds": {
 22615  	//       "description": "Select only change logs with these object IDs.",
 22616  	//       "format": "int64",
 22617  	//       "location": "query",
 22618  	//       "repeated": true,
 22619  	//       "type": "string"
 22620  	//     },
 22621  	//     "objectType": {
 22622  	//       "description": "Select only change logs with the specified object type.",
 22623  	//       "enum": [
 22624  	//         "OBJECT_ADVERTISER",
 22625  	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
 22626  	//         "OBJECT_AD",
 22627  	//         "OBJECT_FLOODLIGHT_ACTVITY",
 22628  	//         "OBJECT_CAMPAIGN",
 22629  	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
 22630  	//         "OBJECT_CREATIVE",
 22631  	//         "OBJECT_PLACEMENT",
 22632  	//         "OBJECT_DFA_SITE",
 22633  	//         "OBJECT_USER_ROLE",
 22634  	//         "OBJECT_USER_PROFILE",
 22635  	//         "OBJECT_ADVERTISER_GROUP",
 22636  	//         "OBJECT_ACCOUNT",
 22637  	//         "OBJECT_SUBACCOUNT",
 22638  	//         "OBJECT_RICHMEDIA_CREATIVE",
 22639  	//         "OBJECT_INSTREAM_CREATIVE",
 22640  	//         "OBJECT_MEDIA_ORDER",
 22641  	//         "OBJECT_CONTENT_CATEGORY",
 22642  	//         "OBJECT_PLACEMENT_STRATEGY",
 22643  	//         "OBJECT_SD_SITE",
 22644  	//         "OBJECT_SIZE",
 22645  	//         "OBJECT_CREATIVE_GROUP",
 22646  	//         "OBJECT_CREATIVE_ASSET",
 22647  	//         "OBJECT_USER_PROFILE_FILTER",
 22648  	//         "OBJECT_LANDING_PAGE",
 22649  	//         "OBJECT_CREATIVE_FIELD",
 22650  	//         "OBJECT_REMARKETING_LIST",
 22651  	//         "OBJECT_PROVIDED_LIST_CLIENT",
 22652  	//         "OBJECT_EVENT_TAG",
 22653  	//         "OBJECT_CREATIVE_BUNDLE",
 22654  	//         "OBJECT_BILLING_ACCOUNT_GROUP",
 22655  	//         "OBJECT_BILLING_FEATURE",
 22656  	//         "OBJECT_RATE_CARD",
 22657  	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
 22658  	//         "OBJECT_BILLING_MINIMUM_FEE",
 22659  	//         "OBJECT_BILLING_PROFILE",
 22660  	//         "OBJECT_PLAYSTORE_LINK",
 22661  	//         "OBJECT_TARGETING_TEMPLATE",
 22662  	//         "OBJECT_SEARCH_LIFT_STUDY",
 22663  	//         "OBJECT_FLOODLIGHT_DV360_LINK"
 22664  	//       ],
 22665  	//       "enumDescriptions": [
 22666  	//         "",
 22667  	//         "",
 22668  	//         "",
 22669  	//         "",
 22670  	//         "",
 22671  	//         "",
 22672  	//         "",
 22673  	//         "",
 22674  	//         "",
 22675  	//         "",
 22676  	//         "",
 22677  	//         "",
 22678  	//         "",
 22679  	//         "",
 22680  	//         "",
 22681  	//         "",
 22682  	//         "",
 22683  	//         "",
 22684  	//         "",
 22685  	//         "",
 22686  	//         "",
 22687  	//         "",
 22688  	//         "",
 22689  	//         "",
 22690  	//         "",
 22691  	//         "",
 22692  	//         "",
 22693  	//         "",
 22694  	//         "",
 22695  	//         "",
 22696  	//         "",
 22697  	//         "",
 22698  	//         "",
 22699  	//         "",
 22700  	//         "",
 22701  	//         "",
 22702  	//         "",
 22703  	//         "",
 22704  	//         "",
 22705  	//         ""
 22706  	//       ],
 22707  	//       "location": "query",
 22708  	//       "type": "string"
 22709  	//     },
 22710  	//     "pageToken": {
 22711  	//       "description": "Value of the nextPageToken from the previous result page.",
 22712  	//       "location": "query",
 22713  	//       "type": "string"
 22714  	//     },
 22715  	//     "profileId": {
 22716  	//       "description": "User profile ID associated with this request.",
 22717  	//       "format": "int64",
 22718  	//       "location": "path",
 22719  	//       "required": true,
 22720  	//       "type": "string"
 22721  	//     },
 22722  	//     "searchString": {
 22723  	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
 22724  	//       "location": "query",
 22725  	//       "type": "string"
 22726  	//     },
 22727  	//     "userProfileIds": {
 22728  	//       "description": "Select only change logs with these user profile IDs.",
 22729  	//       "format": "int64",
 22730  	//       "location": "query",
 22731  	//       "repeated": true,
 22732  	//       "type": "string"
 22733  	//     }
 22734  	//   },
 22735  	//   "path": "userprofiles/{profileId}/changeLogs",
 22736  	//   "response": {
 22737  	//     "$ref": "ChangeLogsListResponse"
 22738  	//   },
 22739  	//   "scopes": [
 22740  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22741  	//   ]
 22742  	// }
 22743  
 22744  }
 22745  
 22746  // Pages invokes f for each page of results.
 22747  // A non-nil error returned from f will halt the iteration.
 22748  // The provided context supersedes any context provided to the Context method.
 22749  func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
 22750  	c.ctx_ = ctx
 22751  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 22752  	for {
 22753  		x, err := c.Do()
 22754  		if err != nil {
 22755  			return err
 22756  		}
 22757  		if err := f(x); err != nil {
 22758  			return err
 22759  		}
 22760  		if x.NextPageToken == "" {
 22761  			return nil
 22762  		}
 22763  		c.PageToken(x.NextPageToken)
 22764  	}
 22765  }
 22766  
 22767  // method id "dfareporting.cities.list":
 22768  
 22769  type CitiesListCall struct {
 22770  	s            *Service
 22771  	profileId    int64
 22772  	urlParams_   gensupport.URLParams
 22773  	ifNoneMatch_ string
 22774  	ctx_         context.Context
 22775  	header_      http.Header
 22776  }
 22777  
 22778  // List: Retrieves a list of cities, possibly filtered.
 22779  //
 22780  // - profileId: User profile ID associated with this request.
 22781  func (r *CitiesService) List(profileId int64) *CitiesListCall {
 22782  	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22783  	c.profileId = profileId
 22784  	return c
 22785  }
 22786  
 22787  // CountryDartIds sets the optional parameter "countryDartIds": Select
 22788  // only cities from these countries.
 22789  func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
 22790  	var countryDartIds_ []string
 22791  	for _, v := range countryDartIds {
 22792  		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
 22793  	}
 22794  	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
 22795  	return c
 22796  }
 22797  
 22798  // DartIds sets the optional parameter "dartIds": Select only cities
 22799  // with these DART IDs.
 22800  func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
 22801  	var dartIds_ []string
 22802  	for _, v := range dartIds {
 22803  		dartIds_ = append(dartIds_, fmt.Sprint(v))
 22804  	}
 22805  	c.urlParams_.SetMulti("dartIds", dartIds_)
 22806  	return c
 22807  }
 22808  
 22809  // NamePrefix sets the optional parameter "namePrefix": Select only
 22810  // cities with names starting with this prefix.
 22811  func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
 22812  	c.urlParams_.Set("namePrefix", namePrefix)
 22813  	return c
 22814  }
 22815  
 22816  // RegionDartIds sets the optional parameter "regionDartIds": Select
 22817  // only cities from these regions.
 22818  func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
 22819  	var regionDartIds_ []string
 22820  	for _, v := range regionDartIds {
 22821  		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
 22822  	}
 22823  	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
 22824  	return c
 22825  }
 22826  
 22827  // Fields allows partial responses to be retrieved. See
 22828  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 22829  // for more information.
 22830  func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
 22831  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 22832  	return c
 22833  }
 22834  
 22835  // IfNoneMatch sets the optional parameter which makes the operation
 22836  // fail if the object's ETag matches the given value. This is useful for
 22837  // getting updates only after the object has changed since the last
 22838  // request. Use googleapi.IsNotModified to check whether the response
 22839  // error from Do is the result of In-None-Match.
 22840  func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
 22841  	c.ifNoneMatch_ = entityTag
 22842  	return c
 22843  }
 22844  
 22845  // Context sets the context to be used in this call's Do method. Any
 22846  // pending HTTP request will be aborted if the provided context is
 22847  // canceled.
 22848  func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
 22849  	c.ctx_ = ctx
 22850  	return c
 22851  }
 22852  
 22853  // Header returns an http.Header that can be modified by the caller to
 22854  // add HTTP headers to the request.
 22855  func (c *CitiesListCall) Header() http.Header {
 22856  	if c.header_ == nil {
 22857  		c.header_ = make(http.Header)
 22858  	}
 22859  	return c.header_
 22860  }
 22861  
 22862  func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
 22863  	reqHeaders := make(http.Header)
 22864  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 22865  	for k, v := range c.header_ {
 22866  		reqHeaders[k] = v
 22867  	}
 22868  	reqHeaders.Set("User-Agent", c.s.userAgent())
 22869  	if c.ifNoneMatch_ != "" {
 22870  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 22871  	}
 22872  	var body io.Reader = nil
 22873  	c.urlParams_.Set("alt", alt)
 22874  	c.urlParams_.Set("prettyPrint", "false")
 22875  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
 22876  	urls += "?" + c.urlParams_.Encode()
 22877  	req, err := http.NewRequest("GET", urls, body)
 22878  	if err != nil {
 22879  		return nil, err
 22880  	}
 22881  	req.Header = reqHeaders
 22882  	googleapi.Expand(req.URL, map[string]string{
 22883  		"profileId": strconv.FormatInt(c.profileId, 10),
 22884  	})
 22885  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 22886  }
 22887  
 22888  // Do executes the "dfareporting.cities.list" call.
 22889  // Exactly one of *CitiesListResponse or error will be non-nil. Any
 22890  // non-2xx status code is an error. Response headers are in either
 22891  // *CitiesListResponse.ServerResponse.Header or (if a response was
 22892  // returned at all) in error.(*googleapi.Error).Header. Use
 22893  // googleapi.IsNotModified to check whether the returned error was
 22894  // because http.StatusNotModified was returned.
 22895  func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
 22896  	gensupport.SetOptions(c.urlParams_, opts...)
 22897  	res, err := c.doRequest("json")
 22898  	if res != nil && res.StatusCode == http.StatusNotModified {
 22899  		if res.Body != nil {
 22900  			res.Body.Close()
 22901  		}
 22902  		return nil, &googleapi.Error{
 22903  			Code:   res.StatusCode,
 22904  			Header: res.Header,
 22905  		}
 22906  	}
 22907  	if err != nil {
 22908  		return nil, err
 22909  	}
 22910  	defer googleapi.CloseBody(res)
 22911  	if err := googleapi.CheckResponse(res); err != nil {
 22912  		return nil, err
 22913  	}
 22914  	ret := &CitiesListResponse{
 22915  		ServerResponse: googleapi.ServerResponse{
 22916  			Header:         res.Header,
 22917  			HTTPStatusCode: res.StatusCode,
 22918  		},
 22919  	}
 22920  	target := &ret
 22921  	if err := gensupport.DecodeResponse(target, res); err != nil {
 22922  		return nil, err
 22923  	}
 22924  	return ret, nil
 22925  	// {
 22926  	//   "description": "Retrieves a list of cities, possibly filtered.",
 22927  	//   "flatPath": "userprofiles/{profileId}/cities",
 22928  	//   "httpMethod": "GET",
 22929  	//   "id": "dfareporting.cities.list",
 22930  	//   "parameterOrder": [
 22931  	//     "profileId"
 22932  	//   ],
 22933  	//   "parameters": {
 22934  	//     "countryDartIds": {
 22935  	//       "description": "Select only cities from these countries.",
 22936  	//       "format": "int64",
 22937  	//       "location": "query",
 22938  	//       "repeated": true,
 22939  	//       "type": "string"
 22940  	//     },
 22941  	//     "dartIds": {
 22942  	//       "description": "Select only cities with these DART IDs.",
 22943  	//       "format": "int64",
 22944  	//       "location": "query",
 22945  	//       "repeated": true,
 22946  	//       "type": "string"
 22947  	//     },
 22948  	//     "namePrefix": {
 22949  	//       "description": "Select only cities with names starting with this prefix.",
 22950  	//       "location": "query",
 22951  	//       "type": "string"
 22952  	//     },
 22953  	//     "profileId": {
 22954  	//       "description": "User profile ID associated with this request.",
 22955  	//       "format": "int64",
 22956  	//       "location": "path",
 22957  	//       "required": true,
 22958  	//       "type": "string"
 22959  	//     },
 22960  	//     "regionDartIds": {
 22961  	//       "description": "Select only cities from these regions.",
 22962  	//       "format": "int64",
 22963  	//       "location": "query",
 22964  	//       "repeated": true,
 22965  	//       "type": "string"
 22966  	//     }
 22967  	//   },
 22968  	//   "path": "userprofiles/{profileId}/cities",
 22969  	//   "response": {
 22970  	//     "$ref": "CitiesListResponse"
 22971  	//   },
 22972  	//   "scopes": [
 22973  	//     "https://www.googleapis.com/auth/dfatrafficking"
 22974  	//   ]
 22975  	// }
 22976  
 22977  }
 22978  
 22979  // method id "dfareporting.connectionTypes.get":
 22980  
 22981  type ConnectionTypesGetCall struct {
 22982  	s            *Service
 22983  	profileId    int64
 22984  	id           int64
 22985  	urlParams_   gensupport.URLParams
 22986  	ifNoneMatch_ string
 22987  	ctx_         context.Context
 22988  	header_      http.Header
 22989  }
 22990  
 22991  // Get: Gets one connection type by ID.
 22992  //
 22993  // - id: Connection type ID.
 22994  // - profileId: User profile ID associated with this request.
 22995  func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
 22996  	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 22997  	c.profileId = profileId
 22998  	c.id = id
 22999  	return c
 23000  }
 23001  
 23002  // Fields allows partial responses to be retrieved. See
 23003  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23004  // for more information.
 23005  func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
 23006  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23007  	return c
 23008  }
 23009  
 23010  // IfNoneMatch sets the optional parameter which makes the operation
 23011  // fail if the object's ETag matches the given value. This is useful for
 23012  // getting updates only after the object has changed since the last
 23013  // request. Use googleapi.IsNotModified to check whether the response
 23014  // error from Do is the result of In-None-Match.
 23015  func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
 23016  	c.ifNoneMatch_ = entityTag
 23017  	return c
 23018  }
 23019  
 23020  // Context sets the context to be used in this call's Do method. Any
 23021  // pending HTTP request will be aborted if the provided context is
 23022  // canceled.
 23023  func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
 23024  	c.ctx_ = ctx
 23025  	return c
 23026  }
 23027  
 23028  // Header returns an http.Header that can be modified by the caller to
 23029  // add HTTP headers to the request.
 23030  func (c *ConnectionTypesGetCall) Header() http.Header {
 23031  	if c.header_ == nil {
 23032  		c.header_ = make(http.Header)
 23033  	}
 23034  	return c.header_
 23035  }
 23036  
 23037  func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
 23038  	reqHeaders := make(http.Header)
 23039  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23040  	for k, v := range c.header_ {
 23041  		reqHeaders[k] = v
 23042  	}
 23043  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23044  	if c.ifNoneMatch_ != "" {
 23045  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23046  	}
 23047  	var body io.Reader = nil
 23048  	c.urlParams_.Set("alt", alt)
 23049  	c.urlParams_.Set("prettyPrint", "false")
 23050  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
 23051  	urls += "?" + c.urlParams_.Encode()
 23052  	req, err := http.NewRequest("GET", urls, body)
 23053  	if err != nil {
 23054  		return nil, err
 23055  	}
 23056  	req.Header = reqHeaders
 23057  	googleapi.Expand(req.URL, map[string]string{
 23058  		"profileId": strconv.FormatInt(c.profileId, 10),
 23059  		"id":        strconv.FormatInt(c.id, 10),
 23060  	})
 23061  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23062  }
 23063  
 23064  // Do executes the "dfareporting.connectionTypes.get" call.
 23065  // Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
 23066  // status code is an error. Response headers are in either
 23067  // *ConnectionType.ServerResponse.Header or (if a response was returned
 23068  // at all) in error.(*googleapi.Error).Header. Use
 23069  // googleapi.IsNotModified to check whether the returned error was
 23070  // because http.StatusNotModified was returned.
 23071  func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
 23072  	gensupport.SetOptions(c.urlParams_, opts...)
 23073  	res, err := c.doRequest("json")
 23074  	if res != nil && res.StatusCode == http.StatusNotModified {
 23075  		if res.Body != nil {
 23076  			res.Body.Close()
 23077  		}
 23078  		return nil, &googleapi.Error{
 23079  			Code:   res.StatusCode,
 23080  			Header: res.Header,
 23081  		}
 23082  	}
 23083  	if err != nil {
 23084  		return nil, err
 23085  	}
 23086  	defer googleapi.CloseBody(res)
 23087  	if err := googleapi.CheckResponse(res); err != nil {
 23088  		return nil, err
 23089  	}
 23090  	ret := &ConnectionType{
 23091  		ServerResponse: googleapi.ServerResponse{
 23092  			Header:         res.Header,
 23093  			HTTPStatusCode: res.StatusCode,
 23094  		},
 23095  	}
 23096  	target := &ret
 23097  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23098  		return nil, err
 23099  	}
 23100  	return ret, nil
 23101  	// {
 23102  	//   "description": "Gets one connection type by ID.",
 23103  	//   "flatPath": "userprofiles/{profileId}/connectionTypes/{id}",
 23104  	//   "httpMethod": "GET",
 23105  	//   "id": "dfareporting.connectionTypes.get",
 23106  	//   "parameterOrder": [
 23107  	//     "profileId",
 23108  	//     "id"
 23109  	//   ],
 23110  	//   "parameters": {
 23111  	//     "id": {
 23112  	//       "description": "Connection type ID.",
 23113  	//       "format": "int64",
 23114  	//       "location": "path",
 23115  	//       "required": true,
 23116  	//       "type": "string"
 23117  	//     },
 23118  	//     "profileId": {
 23119  	//       "description": "User profile ID associated with this request.",
 23120  	//       "format": "int64",
 23121  	//       "location": "path",
 23122  	//       "required": true,
 23123  	//       "type": "string"
 23124  	//     }
 23125  	//   },
 23126  	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
 23127  	//   "response": {
 23128  	//     "$ref": "ConnectionType"
 23129  	//   },
 23130  	//   "scopes": [
 23131  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23132  	//   ]
 23133  	// }
 23134  
 23135  }
 23136  
 23137  // method id "dfareporting.connectionTypes.list":
 23138  
 23139  type ConnectionTypesListCall struct {
 23140  	s            *Service
 23141  	profileId    int64
 23142  	urlParams_   gensupport.URLParams
 23143  	ifNoneMatch_ string
 23144  	ctx_         context.Context
 23145  	header_      http.Header
 23146  }
 23147  
 23148  // List: Retrieves a list of connection types.
 23149  //
 23150  // - profileId: User profile ID associated with this request.
 23151  func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
 23152  	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23153  	c.profileId = profileId
 23154  	return c
 23155  }
 23156  
 23157  // Fields allows partial responses to be retrieved. See
 23158  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23159  // for more information.
 23160  func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
 23161  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23162  	return c
 23163  }
 23164  
 23165  // IfNoneMatch sets the optional parameter which makes the operation
 23166  // fail if the object's ETag matches the given value. This is useful for
 23167  // getting updates only after the object has changed since the last
 23168  // request. Use googleapi.IsNotModified to check whether the response
 23169  // error from Do is the result of In-None-Match.
 23170  func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
 23171  	c.ifNoneMatch_ = entityTag
 23172  	return c
 23173  }
 23174  
 23175  // Context sets the context to be used in this call's Do method. Any
 23176  // pending HTTP request will be aborted if the provided context is
 23177  // canceled.
 23178  func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
 23179  	c.ctx_ = ctx
 23180  	return c
 23181  }
 23182  
 23183  // Header returns an http.Header that can be modified by the caller to
 23184  // add HTTP headers to the request.
 23185  func (c *ConnectionTypesListCall) Header() http.Header {
 23186  	if c.header_ == nil {
 23187  		c.header_ = make(http.Header)
 23188  	}
 23189  	return c.header_
 23190  }
 23191  
 23192  func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
 23193  	reqHeaders := make(http.Header)
 23194  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23195  	for k, v := range c.header_ {
 23196  		reqHeaders[k] = v
 23197  	}
 23198  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23199  	if c.ifNoneMatch_ != "" {
 23200  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23201  	}
 23202  	var body io.Reader = nil
 23203  	c.urlParams_.Set("alt", alt)
 23204  	c.urlParams_.Set("prettyPrint", "false")
 23205  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
 23206  	urls += "?" + c.urlParams_.Encode()
 23207  	req, err := http.NewRequest("GET", urls, body)
 23208  	if err != nil {
 23209  		return nil, err
 23210  	}
 23211  	req.Header = reqHeaders
 23212  	googleapi.Expand(req.URL, map[string]string{
 23213  		"profileId": strconv.FormatInt(c.profileId, 10),
 23214  	})
 23215  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23216  }
 23217  
 23218  // Do executes the "dfareporting.connectionTypes.list" call.
 23219  // Exactly one of *ConnectionTypesListResponse or error will be non-nil.
 23220  // Any non-2xx status code is an error. Response headers are in either
 23221  // *ConnectionTypesListResponse.ServerResponse.Header or (if a response
 23222  // was returned at all) in error.(*googleapi.Error).Header. Use
 23223  // googleapi.IsNotModified to check whether the returned error was
 23224  // because http.StatusNotModified was returned.
 23225  func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
 23226  	gensupport.SetOptions(c.urlParams_, opts...)
 23227  	res, err := c.doRequest("json")
 23228  	if res != nil && res.StatusCode == http.StatusNotModified {
 23229  		if res.Body != nil {
 23230  			res.Body.Close()
 23231  		}
 23232  		return nil, &googleapi.Error{
 23233  			Code:   res.StatusCode,
 23234  			Header: res.Header,
 23235  		}
 23236  	}
 23237  	if err != nil {
 23238  		return nil, err
 23239  	}
 23240  	defer googleapi.CloseBody(res)
 23241  	if err := googleapi.CheckResponse(res); err != nil {
 23242  		return nil, err
 23243  	}
 23244  	ret := &ConnectionTypesListResponse{
 23245  		ServerResponse: googleapi.ServerResponse{
 23246  			Header:         res.Header,
 23247  			HTTPStatusCode: res.StatusCode,
 23248  		},
 23249  	}
 23250  	target := &ret
 23251  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23252  		return nil, err
 23253  	}
 23254  	return ret, nil
 23255  	// {
 23256  	//   "description": "Retrieves a list of connection types.",
 23257  	//   "flatPath": "userprofiles/{profileId}/connectionTypes",
 23258  	//   "httpMethod": "GET",
 23259  	//   "id": "dfareporting.connectionTypes.list",
 23260  	//   "parameterOrder": [
 23261  	//     "profileId"
 23262  	//   ],
 23263  	//   "parameters": {
 23264  	//     "profileId": {
 23265  	//       "description": "User profile ID associated with this request.",
 23266  	//       "format": "int64",
 23267  	//       "location": "path",
 23268  	//       "required": true,
 23269  	//       "type": "string"
 23270  	//     }
 23271  	//   },
 23272  	//   "path": "userprofiles/{profileId}/connectionTypes",
 23273  	//   "response": {
 23274  	//     "$ref": "ConnectionTypesListResponse"
 23275  	//   },
 23276  	//   "scopes": [
 23277  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23278  	//   ]
 23279  	// }
 23280  
 23281  }
 23282  
 23283  // method id "dfareporting.contentCategories.delete":
 23284  
 23285  type ContentCategoriesDeleteCall struct {
 23286  	s          *Service
 23287  	profileId  int64
 23288  	id         int64
 23289  	urlParams_ gensupport.URLParams
 23290  	ctx_       context.Context
 23291  	header_    http.Header
 23292  }
 23293  
 23294  // Delete: Deletes an existing content category.
 23295  //
 23296  // - id: Content category ID.
 23297  // - profileId: User profile ID associated with this request.
 23298  func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
 23299  	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23300  	c.profileId = profileId
 23301  	c.id = id
 23302  	return c
 23303  }
 23304  
 23305  // Fields allows partial responses to be retrieved. See
 23306  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23307  // for more information.
 23308  func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
 23309  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23310  	return c
 23311  }
 23312  
 23313  // Context sets the context to be used in this call's Do method. Any
 23314  // pending HTTP request will be aborted if the provided context is
 23315  // canceled.
 23316  func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
 23317  	c.ctx_ = ctx
 23318  	return c
 23319  }
 23320  
 23321  // Header returns an http.Header that can be modified by the caller to
 23322  // add HTTP headers to the request.
 23323  func (c *ContentCategoriesDeleteCall) Header() http.Header {
 23324  	if c.header_ == nil {
 23325  		c.header_ = make(http.Header)
 23326  	}
 23327  	return c.header_
 23328  }
 23329  
 23330  func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
 23331  	reqHeaders := make(http.Header)
 23332  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23333  	for k, v := range c.header_ {
 23334  		reqHeaders[k] = v
 23335  	}
 23336  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23337  	var body io.Reader = nil
 23338  	c.urlParams_.Set("alt", alt)
 23339  	c.urlParams_.Set("prettyPrint", "false")
 23340  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 23341  	urls += "?" + c.urlParams_.Encode()
 23342  	req, err := http.NewRequest("DELETE", urls, body)
 23343  	if err != nil {
 23344  		return nil, err
 23345  	}
 23346  	req.Header = reqHeaders
 23347  	googleapi.Expand(req.URL, map[string]string{
 23348  		"profileId": strconv.FormatInt(c.profileId, 10),
 23349  		"id":        strconv.FormatInt(c.id, 10),
 23350  	})
 23351  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23352  }
 23353  
 23354  // Do executes the "dfareporting.contentCategories.delete" call.
 23355  func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
 23356  	gensupport.SetOptions(c.urlParams_, opts...)
 23357  	res, err := c.doRequest("json")
 23358  	if err != nil {
 23359  		return err
 23360  	}
 23361  	defer googleapi.CloseBody(res)
 23362  	if err := googleapi.CheckResponse(res); err != nil {
 23363  		return err
 23364  	}
 23365  	return nil
 23366  	// {
 23367  	//   "description": "Deletes an existing content category.",
 23368  	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
 23369  	//   "httpMethod": "DELETE",
 23370  	//   "id": "dfareporting.contentCategories.delete",
 23371  	//   "parameterOrder": [
 23372  	//     "profileId",
 23373  	//     "id"
 23374  	//   ],
 23375  	//   "parameters": {
 23376  	//     "id": {
 23377  	//       "description": "Content category ID.",
 23378  	//       "format": "int64",
 23379  	//       "location": "path",
 23380  	//       "required": true,
 23381  	//       "type": "string"
 23382  	//     },
 23383  	//     "profileId": {
 23384  	//       "description": "User profile ID associated with this request.",
 23385  	//       "format": "int64",
 23386  	//       "location": "path",
 23387  	//       "required": true,
 23388  	//       "type": "string"
 23389  	//     }
 23390  	//   },
 23391  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 23392  	//   "scopes": [
 23393  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23394  	//   ]
 23395  	// }
 23396  
 23397  }
 23398  
 23399  // method id "dfareporting.contentCategories.get":
 23400  
 23401  type ContentCategoriesGetCall struct {
 23402  	s            *Service
 23403  	profileId    int64
 23404  	id           int64
 23405  	urlParams_   gensupport.URLParams
 23406  	ifNoneMatch_ string
 23407  	ctx_         context.Context
 23408  	header_      http.Header
 23409  }
 23410  
 23411  // Get: Gets one content category by ID.
 23412  //
 23413  // - id: Content category ID.
 23414  // - profileId: User profile ID associated with this request.
 23415  func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
 23416  	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23417  	c.profileId = profileId
 23418  	c.id = id
 23419  	return c
 23420  }
 23421  
 23422  // Fields allows partial responses to be retrieved. See
 23423  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23424  // for more information.
 23425  func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
 23426  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23427  	return c
 23428  }
 23429  
 23430  // IfNoneMatch sets the optional parameter which makes the operation
 23431  // fail if the object's ETag matches the given value. This is useful for
 23432  // getting updates only after the object has changed since the last
 23433  // request. Use googleapi.IsNotModified to check whether the response
 23434  // error from Do is the result of In-None-Match.
 23435  func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
 23436  	c.ifNoneMatch_ = entityTag
 23437  	return c
 23438  }
 23439  
 23440  // Context sets the context to be used in this call's Do method. Any
 23441  // pending HTTP request will be aborted if the provided context is
 23442  // canceled.
 23443  func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
 23444  	c.ctx_ = ctx
 23445  	return c
 23446  }
 23447  
 23448  // Header returns an http.Header that can be modified by the caller to
 23449  // add HTTP headers to the request.
 23450  func (c *ContentCategoriesGetCall) Header() http.Header {
 23451  	if c.header_ == nil {
 23452  		c.header_ = make(http.Header)
 23453  	}
 23454  	return c.header_
 23455  }
 23456  
 23457  func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
 23458  	reqHeaders := make(http.Header)
 23459  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23460  	for k, v := range c.header_ {
 23461  		reqHeaders[k] = v
 23462  	}
 23463  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23464  	if c.ifNoneMatch_ != "" {
 23465  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23466  	}
 23467  	var body io.Reader = nil
 23468  	c.urlParams_.Set("alt", alt)
 23469  	c.urlParams_.Set("prettyPrint", "false")
 23470  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
 23471  	urls += "?" + c.urlParams_.Encode()
 23472  	req, err := http.NewRequest("GET", urls, body)
 23473  	if err != nil {
 23474  		return nil, err
 23475  	}
 23476  	req.Header = reqHeaders
 23477  	googleapi.Expand(req.URL, map[string]string{
 23478  		"profileId": strconv.FormatInt(c.profileId, 10),
 23479  		"id":        strconv.FormatInt(c.id, 10),
 23480  	})
 23481  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23482  }
 23483  
 23484  // Do executes the "dfareporting.contentCategories.get" call.
 23485  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23486  // status code is an error. Response headers are in either
 23487  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23488  // at all) in error.(*googleapi.Error).Header. Use
 23489  // googleapi.IsNotModified to check whether the returned error was
 23490  // because http.StatusNotModified was returned.
 23491  func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23492  	gensupport.SetOptions(c.urlParams_, opts...)
 23493  	res, err := c.doRequest("json")
 23494  	if res != nil && res.StatusCode == http.StatusNotModified {
 23495  		if res.Body != nil {
 23496  			res.Body.Close()
 23497  		}
 23498  		return nil, &googleapi.Error{
 23499  			Code:   res.StatusCode,
 23500  			Header: res.Header,
 23501  		}
 23502  	}
 23503  	if err != nil {
 23504  		return nil, err
 23505  	}
 23506  	defer googleapi.CloseBody(res)
 23507  	if err := googleapi.CheckResponse(res); err != nil {
 23508  		return nil, err
 23509  	}
 23510  	ret := &ContentCategory{
 23511  		ServerResponse: googleapi.ServerResponse{
 23512  			Header:         res.Header,
 23513  			HTTPStatusCode: res.StatusCode,
 23514  		},
 23515  	}
 23516  	target := &ret
 23517  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23518  		return nil, err
 23519  	}
 23520  	return ret, nil
 23521  	// {
 23522  	//   "description": "Gets one content category by ID.",
 23523  	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
 23524  	//   "httpMethod": "GET",
 23525  	//   "id": "dfareporting.contentCategories.get",
 23526  	//   "parameterOrder": [
 23527  	//     "profileId",
 23528  	//     "id"
 23529  	//   ],
 23530  	//   "parameters": {
 23531  	//     "id": {
 23532  	//       "description": "Content category ID.",
 23533  	//       "format": "int64",
 23534  	//       "location": "path",
 23535  	//       "required": true,
 23536  	//       "type": "string"
 23537  	//     },
 23538  	//     "profileId": {
 23539  	//       "description": "User profile ID associated with this request.",
 23540  	//       "format": "int64",
 23541  	//       "location": "path",
 23542  	//       "required": true,
 23543  	//       "type": "string"
 23544  	//     }
 23545  	//   },
 23546  	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
 23547  	//   "response": {
 23548  	//     "$ref": "ContentCategory"
 23549  	//   },
 23550  	//   "scopes": [
 23551  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23552  	//   ]
 23553  	// }
 23554  
 23555  }
 23556  
 23557  // method id "dfareporting.contentCategories.insert":
 23558  
 23559  type ContentCategoriesInsertCall struct {
 23560  	s               *Service
 23561  	profileId       int64
 23562  	contentcategory *ContentCategory
 23563  	urlParams_      gensupport.URLParams
 23564  	ctx_            context.Context
 23565  	header_         http.Header
 23566  }
 23567  
 23568  // Insert: Inserts a new content category.
 23569  //
 23570  // - profileId: User profile ID associated with this request.
 23571  func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
 23572  	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23573  	c.profileId = profileId
 23574  	c.contentcategory = contentcategory
 23575  	return c
 23576  }
 23577  
 23578  // Fields allows partial responses to be retrieved. See
 23579  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23580  // for more information.
 23581  func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
 23582  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23583  	return c
 23584  }
 23585  
 23586  // Context sets the context to be used in this call's Do method. Any
 23587  // pending HTTP request will be aborted if the provided context is
 23588  // canceled.
 23589  func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
 23590  	c.ctx_ = ctx
 23591  	return c
 23592  }
 23593  
 23594  // Header returns an http.Header that can be modified by the caller to
 23595  // add HTTP headers to the request.
 23596  func (c *ContentCategoriesInsertCall) Header() http.Header {
 23597  	if c.header_ == nil {
 23598  		c.header_ = make(http.Header)
 23599  	}
 23600  	return c.header_
 23601  }
 23602  
 23603  func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
 23604  	reqHeaders := make(http.Header)
 23605  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23606  	for k, v := range c.header_ {
 23607  		reqHeaders[k] = v
 23608  	}
 23609  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23610  	var body io.Reader = nil
 23611  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 23612  	if err != nil {
 23613  		return nil, err
 23614  	}
 23615  	reqHeaders.Set("Content-Type", "application/json")
 23616  	c.urlParams_.Set("alt", alt)
 23617  	c.urlParams_.Set("prettyPrint", "false")
 23618  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23619  	urls += "?" + c.urlParams_.Encode()
 23620  	req, err := http.NewRequest("POST", urls, body)
 23621  	if err != nil {
 23622  		return nil, err
 23623  	}
 23624  	req.Header = reqHeaders
 23625  	googleapi.Expand(req.URL, map[string]string{
 23626  		"profileId": strconv.FormatInt(c.profileId, 10),
 23627  	})
 23628  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23629  }
 23630  
 23631  // Do executes the "dfareporting.contentCategories.insert" call.
 23632  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 23633  // status code is an error. Response headers are in either
 23634  // *ContentCategory.ServerResponse.Header or (if a response was returned
 23635  // at all) in error.(*googleapi.Error).Header. Use
 23636  // googleapi.IsNotModified to check whether the returned error was
 23637  // because http.StatusNotModified was returned.
 23638  func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 23639  	gensupport.SetOptions(c.urlParams_, opts...)
 23640  	res, err := c.doRequest("json")
 23641  	if res != nil && res.StatusCode == http.StatusNotModified {
 23642  		if res.Body != nil {
 23643  			res.Body.Close()
 23644  		}
 23645  		return nil, &googleapi.Error{
 23646  			Code:   res.StatusCode,
 23647  			Header: res.Header,
 23648  		}
 23649  	}
 23650  	if err != nil {
 23651  		return nil, err
 23652  	}
 23653  	defer googleapi.CloseBody(res)
 23654  	if err := googleapi.CheckResponse(res); err != nil {
 23655  		return nil, err
 23656  	}
 23657  	ret := &ContentCategory{
 23658  		ServerResponse: googleapi.ServerResponse{
 23659  			Header:         res.Header,
 23660  			HTTPStatusCode: res.StatusCode,
 23661  		},
 23662  	}
 23663  	target := &ret
 23664  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23665  		return nil, err
 23666  	}
 23667  	return ret, nil
 23668  	// {
 23669  	//   "description": "Inserts a new content category.",
 23670  	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 23671  	//   "httpMethod": "POST",
 23672  	//   "id": "dfareporting.contentCategories.insert",
 23673  	//   "parameterOrder": [
 23674  	//     "profileId"
 23675  	//   ],
 23676  	//   "parameters": {
 23677  	//     "profileId": {
 23678  	//       "description": "User profile ID associated with this request.",
 23679  	//       "format": "int64",
 23680  	//       "location": "path",
 23681  	//       "required": true,
 23682  	//       "type": "string"
 23683  	//     }
 23684  	//   },
 23685  	//   "path": "userprofiles/{profileId}/contentCategories",
 23686  	//   "request": {
 23687  	//     "$ref": "ContentCategory"
 23688  	//   },
 23689  	//   "response": {
 23690  	//     "$ref": "ContentCategory"
 23691  	//   },
 23692  	//   "scopes": [
 23693  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23694  	//   ]
 23695  	// }
 23696  
 23697  }
 23698  
 23699  // method id "dfareporting.contentCategories.list":
 23700  
 23701  type ContentCategoriesListCall struct {
 23702  	s            *Service
 23703  	profileId    int64
 23704  	urlParams_   gensupport.URLParams
 23705  	ifNoneMatch_ string
 23706  	ctx_         context.Context
 23707  	header_      http.Header
 23708  }
 23709  
 23710  // List: Retrieves a list of content categories, possibly filtered. This
 23711  // method supports paging.
 23712  //
 23713  // - profileId: User profile ID associated with this request.
 23714  func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
 23715  	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 23716  	c.profileId = profileId
 23717  	return c
 23718  }
 23719  
 23720  // Ids sets the optional parameter "ids": Select only content categories
 23721  // with these IDs.
 23722  func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
 23723  	var ids_ []string
 23724  	for _, v := range ids {
 23725  		ids_ = append(ids_, fmt.Sprint(v))
 23726  	}
 23727  	c.urlParams_.SetMulti("ids", ids_)
 23728  	return c
 23729  }
 23730  
 23731  // MaxResults sets the optional parameter "maxResults": Maximum number
 23732  // of results to return.
 23733  func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
 23734  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 23735  	return c
 23736  }
 23737  
 23738  // PageToken sets the optional parameter "pageToken": Value of the
 23739  // nextPageToken from the previous result page.
 23740  func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
 23741  	c.urlParams_.Set("pageToken", pageToken)
 23742  	return c
 23743  }
 23744  
 23745  // SearchString sets the optional parameter "searchString": Allows
 23746  // searching for objects by name or ID. Wildcards (*) are allowed. For
 23747  // example, "contentcategory*2015" will return objects with names like
 23748  // "contentcategory June 2015", "contentcategory April 2015", or simply
 23749  // "contentcategory 2015". Most of the searches also add wildcards
 23750  // implicitly at the start and the end of the search string. For
 23751  // example, a search string of "contentcategory" will match objects with
 23752  // name "my contentcategory", "contentcategory 2015", or simply
 23753  // "contentcategory".
 23754  func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
 23755  	c.urlParams_.Set("searchString", searchString)
 23756  	return c
 23757  }
 23758  
 23759  // SortField sets the optional parameter "sortField": Field by which to
 23760  // sort the list.
 23761  //
 23762  // Possible values:
 23763  //
 23764  //	"ID" (default)
 23765  //	"NAME"
 23766  func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
 23767  	c.urlParams_.Set("sortField", sortField)
 23768  	return c
 23769  }
 23770  
 23771  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 23772  // results.
 23773  //
 23774  // Possible values:
 23775  //
 23776  //	"ASCENDING" (default)
 23777  //	"DESCENDING"
 23778  func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
 23779  	c.urlParams_.Set("sortOrder", sortOrder)
 23780  	return c
 23781  }
 23782  
 23783  // Fields allows partial responses to be retrieved. See
 23784  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 23785  // for more information.
 23786  func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
 23787  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 23788  	return c
 23789  }
 23790  
 23791  // IfNoneMatch sets the optional parameter which makes the operation
 23792  // fail if the object's ETag matches the given value. This is useful for
 23793  // getting updates only after the object has changed since the last
 23794  // request. Use googleapi.IsNotModified to check whether the response
 23795  // error from Do is the result of In-None-Match.
 23796  func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
 23797  	c.ifNoneMatch_ = entityTag
 23798  	return c
 23799  }
 23800  
 23801  // Context sets the context to be used in this call's Do method. Any
 23802  // pending HTTP request will be aborted if the provided context is
 23803  // canceled.
 23804  func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
 23805  	c.ctx_ = ctx
 23806  	return c
 23807  }
 23808  
 23809  // Header returns an http.Header that can be modified by the caller to
 23810  // add HTTP headers to the request.
 23811  func (c *ContentCategoriesListCall) Header() http.Header {
 23812  	if c.header_ == nil {
 23813  		c.header_ = make(http.Header)
 23814  	}
 23815  	return c.header_
 23816  }
 23817  
 23818  func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
 23819  	reqHeaders := make(http.Header)
 23820  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 23821  	for k, v := range c.header_ {
 23822  		reqHeaders[k] = v
 23823  	}
 23824  	reqHeaders.Set("User-Agent", c.s.userAgent())
 23825  	if c.ifNoneMatch_ != "" {
 23826  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 23827  	}
 23828  	var body io.Reader = nil
 23829  	c.urlParams_.Set("alt", alt)
 23830  	c.urlParams_.Set("prettyPrint", "false")
 23831  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 23832  	urls += "?" + c.urlParams_.Encode()
 23833  	req, err := http.NewRequest("GET", urls, body)
 23834  	if err != nil {
 23835  		return nil, err
 23836  	}
 23837  	req.Header = reqHeaders
 23838  	googleapi.Expand(req.URL, map[string]string{
 23839  		"profileId": strconv.FormatInt(c.profileId, 10),
 23840  	})
 23841  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 23842  }
 23843  
 23844  // Do executes the "dfareporting.contentCategories.list" call.
 23845  // Exactly one of *ContentCategoriesListResponse or error will be
 23846  // non-nil. Any non-2xx status code is an error. Response headers are in
 23847  // either *ContentCategoriesListResponse.ServerResponse.Header or (if a
 23848  // response was returned at all) in error.(*googleapi.Error).Header. Use
 23849  // googleapi.IsNotModified to check whether the returned error was
 23850  // because http.StatusNotModified was returned.
 23851  func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
 23852  	gensupport.SetOptions(c.urlParams_, opts...)
 23853  	res, err := c.doRequest("json")
 23854  	if res != nil && res.StatusCode == http.StatusNotModified {
 23855  		if res.Body != nil {
 23856  			res.Body.Close()
 23857  		}
 23858  		return nil, &googleapi.Error{
 23859  			Code:   res.StatusCode,
 23860  			Header: res.Header,
 23861  		}
 23862  	}
 23863  	if err != nil {
 23864  		return nil, err
 23865  	}
 23866  	defer googleapi.CloseBody(res)
 23867  	if err := googleapi.CheckResponse(res); err != nil {
 23868  		return nil, err
 23869  	}
 23870  	ret := &ContentCategoriesListResponse{
 23871  		ServerResponse: googleapi.ServerResponse{
 23872  			Header:         res.Header,
 23873  			HTTPStatusCode: res.StatusCode,
 23874  		},
 23875  	}
 23876  	target := &ret
 23877  	if err := gensupport.DecodeResponse(target, res); err != nil {
 23878  		return nil, err
 23879  	}
 23880  	return ret, nil
 23881  	// {
 23882  	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
 23883  	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 23884  	//   "httpMethod": "GET",
 23885  	//   "id": "dfareporting.contentCategories.list",
 23886  	//   "parameterOrder": [
 23887  	//     "profileId"
 23888  	//   ],
 23889  	//   "parameters": {
 23890  	//     "ids": {
 23891  	//       "description": "Select only content categories with these IDs.",
 23892  	//       "format": "int64",
 23893  	//       "location": "query",
 23894  	//       "repeated": true,
 23895  	//       "type": "string"
 23896  	//     },
 23897  	//     "maxResults": {
 23898  	//       "default": "1000",
 23899  	//       "description": "Maximum number of results to return.",
 23900  	//       "format": "int32",
 23901  	//       "location": "query",
 23902  	//       "maximum": "1000",
 23903  	//       "minimum": "0",
 23904  	//       "type": "integer"
 23905  	//     },
 23906  	//     "pageToken": {
 23907  	//       "description": "Value of the nextPageToken from the previous result page.",
 23908  	//       "location": "query",
 23909  	//       "type": "string"
 23910  	//     },
 23911  	//     "profileId": {
 23912  	//       "description": "User profile ID associated with this request.",
 23913  	//       "format": "int64",
 23914  	//       "location": "path",
 23915  	//       "required": true,
 23916  	//       "type": "string"
 23917  	//     },
 23918  	//     "searchString": {
 23919  	//       "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\".",
 23920  	//       "location": "query",
 23921  	//       "type": "string"
 23922  	//     },
 23923  	//     "sortField": {
 23924  	//       "default": "ID",
 23925  	//       "description": "Field by which to sort the list.",
 23926  	//       "enum": [
 23927  	//         "ID",
 23928  	//         "NAME"
 23929  	//       ],
 23930  	//       "enumDescriptions": [
 23931  	//         "",
 23932  	//         ""
 23933  	//       ],
 23934  	//       "location": "query",
 23935  	//       "type": "string"
 23936  	//     },
 23937  	//     "sortOrder": {
 23938  	//       "default": "ASCENDING",
 23939  	//       "description": "Order of sorted results.",
 23940  	//       "enum": [
 23941  	//         "ASCENDING",
 23942  	//         "DESCENDING"
 23943  	//       ],
 23944  	//       "enumDescriptions": [
 23945  	//         "",
 23946  	//         ""
 23947  	//       ],
 23948  	//       "location": "query",
 23949  	//       "type": "string"
 23950  	//     }
 23951  	//   },
 23952  	//   "path": "userprofiles/{profileId}/contentCategories",
 23953  	//   "response": {
 23954  	//     "$ref": "ContentCategoriesListResponse"
 23955  	//   },
 23956  	//   "scopes": [
 23957  	//     "https://www.googleapis.com/auth/dfatrafficking"
 23958  	//   ]
 23959  	// }
 23960  
 23961  }
 23962  
 23963  // Pages invokes f for each page of results.
 23964  // A non-nil error returned from f will halt the iteration.
 23965  // The provided context supersedes any context provided to the Context method.
 23966  func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
 23967  	c.ctx_ = ctx
 23968  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 23969  	for {
 23970  		x, err := c.Do()
 23971  		if err != nil {
 23972  			return err
 23973  		}
 23974  		if err := f(x); err != nil {
 23975  			return err
 23976  		}
 23977  		if x.NextPageToken == "" {
 23978  			return nil
 23979  		}
 23980  		c.PageToken(x.NextPageToken)
 23981  	}
 23982  }
 23983  
 23984  // method id "dfareporting.contentCategories.patch":
 23985  
 23986  type ContentCategoriesPatchCall struct {
 23987  	s               *Service
 23988  	profileId       int64
 23989  	contentcategory *ContentCategory
 23990  	urlParams_      gensupport.URLParams
 23991  	ctx_            context.Context
 23992  	header_         http.Header
 23993  }
 23994  
 23995  // Patch: Updates an existing content category. This method supports
 23996  // patch semantics.
 23997  //
 23998  // - id: ContentCategory ID.
 23999  // - profileId: User profile ID associated with this request.
 24000  func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
 24001  	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24002  	c.profileId = profileId
 24003  	c.urlParams_.Set("id", fmt.Sprint(id))
 24004  	c.contentcategory = contentcategory
 24005  	return c
 24006  }
 24007  
 24008  // Fields allows partial responses to be retrieved. See
 24009  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24010  // for more information.
 24011  func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
 24012  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24013  	return c
 24014  }
 24015  
 24016  // Context sets the context to be used in this call's Do method. Any
 24017  // pending HTTP request will be aborted if the provided context is
 24018  // canceled.
 24019  func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
 24020  	c.ctx_ = ctx
 24021  	return c
 24022  }
 24023  
 24024  // Header returns an http.Header that can be modified by the caller to
 24025  // add HTTP headers to the request.
 24026  func (c *ContentCategoriesPatchCall) Header() http.Header {
 24027  	if c.header_ == nil {
 24028  		c.header_ = make(http.Header)
 24029  	}
 24030  	return c.header_
 24031  }
 24032  
 24033  func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
 24034  	reqHeaders := make(http.Header)
 24035  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24036  	for k, v := range c.header_ {
 24037  		reqHeaders[k] = v
 24038  	}
 24039  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24040  	var body io.Reader = nil
 24041  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 24042  	if err != nil {
 24043  		return nil, err
 24044  	}
 24045  	reqHeaders.Set("Content-Type", "application/json")
 24046  	c.urlParams_.Set("alt", alt)
 24047  	c.urlParams_.Set("prettyPrint", "false")
 24048  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 24049  	urls += "?" + c.urlParams_.Encode()
 24050  	req, err := http.NewRequest("PATCH", urls, body)
 24051  	if err != nil {
 24052  		return nil, err
 24053  	}
 24054  	req.Header = reqHeaders
 24055  	googleapi.Expand(req.URL, map[string]string{
 24056  		"profileId": strconv.FormatInt(c.profileId, 10),
 24057  	})
 24058  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24059  }
 24060  
 24061  // Do executes the "dfareporting.contentCategories.patch" call.
 24062  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 24063  // status code is an error. Response headers are in either
 24064  // *ContentCategory.ServerResponse.Header or (if a response was returned
 24065  // at all) in error.(*googleapi.Error).Header. Use
 24066  // googleapi.IsNotModified to check whether the returned error was
 24067  // because http.StatusNotModified was returned.
 24068  func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 24069  	gensupport.SetOptions(c.urlParams_, opts...)
 24070  	res, err := c.doRequest("json")
 24071  	if res != nil && res.StatusCode == http.StatusNotModified {
 24072  		if res.Body != nil {
 24073  			res.Body.Close()
 24074  		}
 24075  		return nil, &googleapi.Error{
 24076  			Code:   res.StatusCode,
 24077  			Header: res.Header,
 24078  		}
 24079  	}
 24080  	if err != nil {
 24081  		return nil, err
 24082  	}
 24083  	defer googleapi.CloseBody(res)
 24084  	if err := googleapi.CheckResponse(res); err != nil {
 24085  		return nil, err
 24086  	}
 24087  	ret := &ContentCategory{
 24088  		ServerResponse: googleapi.ServerResponse{
 24089  			Header:         res.Header,
 24090  			HTTPStatusCode: res.StatusCode,
 24091  		},
 24092  	}
 24093  	target := &ret
 24094  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24095  		return nil, err
 24096  	}
 24097  	return ret, nil
 24098  	// {
 24099  	//   "description": "Updates an existing content category. This method supports patch semantics.",
 24100  	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 24101  	//   "httpMethod": "PATCH",
 24102  	//   "id": "dfareporting.contentCategories.patch",
 24103  	//   "parameterOrder": [
 24104  	//     "profileId",
 24105  	//     "id"
 24106  	//   ],
 24107  	//   "parameters": {
 24108  	//     "id": {
 24109  	//       "description": "ContentCategory ID.",
 24110  	//       "format": "int64",
 24111  	//       "location": "query",
 24112  	//       "required": true,
 24113  	//       "type": "string"
 24114  	//     },
 24115  	//     "profileId": {
 24116  	//       "description": "User profile ID associated with this request.",
 24117  	//       "format": "int64",
 24118  	//       "location": "path",
 24119  	//       "required": true,
 24120  	//       "type": "string"
 24121  	//     }
 24122  	//   },
 24123  	//   "path": "userprofiles/{profileId}/contentCategories",
 24124  	//   "request": {
 24125  	//     "$ref": "ContentCategory"
 24126  	//   },
 24127  	//   "response": {
 24128  	//     "$ref": "ContentCategory"
 24129  	//   },
 24130  	//   "scopes": [
 24131  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24132  	//   ]
 24133  	// }
 24134  
 24135  }
 24136  
 24137  // method id "dfareporting.contentCategories.update":
 24138  
 24139  type ContentCategoriesUpdateCall struct {
 24140  	s               *Service
 24141  	profileId       int64
 24142  	contentcategory *ContentCategory
 24143  	urlParams_      gensupport.URLParams
 24144  	ctx_            context.Context
 24145  	header_         http.Header
 24146  }
 24147  
 24148  // Update: Updates an existing content category.
 24149  //
 24150  // - profileId: User profile ID associated with this request.
 24151  func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
 24152  	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24153  	c.profileId = profileId
 24154  	c.contentcategory = contentcategory
 24155  	return c
 24156  }
 24157  
 24158  // Fields allows partial responses to be retrieved. See
 24159  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24160  // for more information.
 24161  func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
 24162  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24163  	return c
 24164  }
 24165  
 24166  // Context sets the context to be used in this call's Do method. Any
 24167  // pending HTTP request will be aborted if the provided context is
 24168  // canceled.
 24169  func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
 24170  	c.ctx_ = ctx
 24171  	return c
 24172  }
 24173  
 24174  // Header returns an http.Header that can be modified by the caller to
 24175  // add HTTP headers to the request.
 24176  func (c *ContentCategoriesUpdateCall) Header() http.Header {
 24177  	if c.header_ == nil {
 24178  		c.header_ = make(http.Header)
 24179  	}
 24180  	return c.header_
 24181  }
 24182  
 24183  func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
 24184  	reqHeaders := make(http.Header)
 24185  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24186  	for k, v := range c.header_ {
 24187  		reqHeaders[k] = v
 24188  	}
 24189  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24190  	var body io.Reader = nil
 24191  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
 24192  	if err != nil {
 24193  		return nil, err
 24194  	}
 24195  	reqHeaders.Set("Content-Type", "application/json")
 24196  	c.urlParams_.Set("alt", alt)
 24197  	c.urlParams_.Set("prettyPrint", "false")
 24198  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
 24199  	urls += "?" + c.urlParams_.Encode()
 24200  	req, err := http.NewRequest("PUT", urls, body)
 24201  	if err != nil {
 24202  		return nil, err
 24203  	}
 24204  	req.Header = reqHeaders
 24205  	googleapi.Expand(req.URL, map[string]string{
 24206  		"profileId": strconv.FormatInt(c.profileId, 10),
 24207  	})
 24208  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24209  }
 24210  
 24211  // Do executes the "dfareporting.contentCategories.update" call.
 24212  // Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
 24213  // status code is an error. Response headers are in either
 24214  // *ContentCategory.ServerResponse.Header or (if a response was returned
 24215  // at all) in error.(*googleapi.Error).Header. Use
 24216  // googleapi.IsNotModified to check whether the returned error was
 24217  // because http.StatusNotModified was returned.
 24218  func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
 24219  	gensupport.SetOptions(c.urlParams_, opts...)
 24220  	res, err := c.doRequest("json")
 24221  	if res != nil && res.StatusCode == http.StatusNotModified {
 24222  		if res.Body != nil {
 24223  			res.Body.Close()
 24224  		}
 24225  		return nil, &googleapi.Error{
 24226  			Code:   res.StatusCode,
 24227  			Header: res.Header,
 24228  		}
 24229  	}
 24230  	if err != nil {
 24231  		return nil, err
 24232  	}
 24233  	defer googleapi.CloseBody(res)
 24234  	if err := googleapi.CheckResponse(res); err != nil {
 24235  		return nil, err
 24236  	}
 24237  	ret := &ContentCategory{
 24238  		ServerResponse: googleapi.ServerResponse{
 24239  			Header:         res.Header,
 24240  			HTTPStatusCode: res.StatusCode,
 24241  		},
 24242  	}
 24243  	target := &ret
 24244  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24245  		return nil, err
 24246  	}
 24247  	return ret, nil
 24248  	// {
 24249  	//   "description": "Updates an existing content category.",
 24250  	//   "flatPath": "userprofiles/{profileId}/contentCategories",
 24251  	//   "httpMethod": "PUT",
 24252  	//   "id": "dfareporting.contentCategories.update",
 24253  	//   "parameterOrder": [
 24254  	//     "profileId"
 24255  	//   ],
 24256  	//   "parameters": {
 24257  	//     "profileId": {
 24258  	//       "description": "User profile ID associated with this request.",
 24259  	//       "format": "int64",
 24260  	//       "location": "path",
 24261  	//       "required": true,
 24262  	//       "type": "string"
 24263  	//     }
 24264  	//   },
 24265  	//   "path": "userprofiles/{profileId}/contentCategories",
 24266  	//   "request": {
 24267  	//     "$ref": "ContentCategory"
 24268  	//   },
 24269  	//   "response": {
 24270  	//     "$ref": "ContentCategory"
 24271  	//   },
 24272  	//   "scopes": [
 24273  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24274  	//   ]
 24275  	// }
 24276  
 24277  }
 24278  
 24279  // method id "dfareporting.conversions.batchinsert":
 24280  
 24281  type ConversionsBatchinsertCall struct {
 24282  	s                             *Service
 24283  	profileId                     int64
 24284  	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
 24285  	urlParams_                    gensupport.URLParams
 24286  	ctx_                          context.Context
 24287  	header_                       http.Header
 24288  }
 24289  
 24290  // Batchinsert: Inserts conversions.
 24291  //
 24292  // - profileId: User profile ID associated with this request.
 24293  func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
 24294  	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24295  	c.profileId = profileId
 24296  	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
 24297  	return c
 24298  }
 24299  
 24300  // Fields allows partial responses to be retrieved. See
 24301  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24302  // for more information.
 24303  func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
 24304  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24305  	return c
 24306  }
 24307  
 24308  // Context sets the context to be used in this call's Do method. Any
 24309  // pending HTTP request will be aborted if the provided context is
 24310  // canceled.
 24311  func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
 24312  	c.ctx_ = ctx
 24313  	return c
 24314  }
 24315  
 24316  // Header returns an http.Header that can be modified by the caller to
 24317  // add HTTP headers to the request.
 24318  func (c *ConversionsBatchinsertCall) Header() http.Header {
 24319  	if c.header_ == nil {
 24320  		c.header_ = make(http.Header)
 24321  	}
 24322  	return c.header_
 24323  }
 24324  
 24325  func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
 24326  	reqHeaders := make(http.Header)
 24327  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24328  	for k, v := range c.header_ {
 24329  		reqHeaders[k] = v
 24330  	}
 24331  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24332  	var body io.Reader = nil
 24333  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
 24334  	if err != nil {
 24335  		return nil, err
 24336  	}
 24337  	reqHeaders.Set("Content-Type", "application/json")
 24338  	c.urlParams_.Set("alt", alt)
 24339  	c.urlParams_.Set("prettyPrint", "false")
 24340  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
 24341  	urls += "?" + c.urlParams_.Encode()
 24342  	req, err := http.NewRequest("POST", urls, body)
 24343  	if err != nil {
 24344  		return nil, err
 24345  	}
 24346  	req.Header = reqHeaders
 24347  	googleapi.Expand(req.URL, map[string]string{
 24348  		"profileId": strconv.FormatInt(c.profileId, 10),
 24349  	})
 24350  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24351  }
 24352  
 24353  // Do executes the "dfareporting.conversions.batchinsert" call.
 24354  // Exactly one of *ConversionsBatchInsertResponse or error will be
 24355  // non-nil. Any non-2xx status code is an error. Response headers are in
 24356  // either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
 24357  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24358  // googleapi.IsNotModified to check whether the returned error was
 24359  // because http.StatusNotModified was returned.
 24360  func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
 24361  	gensupport.SetOptions(c.urlParams_, opts...)
 24362  	res, err := c.doRequest("json")
 24363  	if res != nil && res.StatusCode == http.StatusNotModified {
 24364  		if res.Body != nil {
 24365  			res.Body.Close()
 24366  		}
 24367  		return nil, &googleapi.Error{
 24368  			Code:   res.StatusCode,
 24369  			Header: res.Header,
 24370  		}
 24371  	}
 24372  	if err != nil {
 24373  		return nil, err
 24374  	}
 24375  	defer googleapi.CloseBody(res)
 24376  	if err := googleapi.CheckResponse(res); err != nil {
 24377  		return nil, err
 24378  	}
 24379  	ret := &ConversionsBatchInsertResponse{
 24380  		ServerResponse: googleapi.ServerResponse{
 24381  			Header:         res.Header,
 24382  			HTTPStatusCode: res.StatusCode,
 24383  		},
 24384  	}
 24385  	target := &ret
 24386  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24387  		return nil, err
 24388  	}
 24389  	return ret, nil
 24390  	// {
 24391  	//   "description": "Inserts conversions.",
 24392  	//   "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
 24393  	//   "httpMethod": "POST",
 24394  	//   "id": "dfareporting.conversions.batchinsert",
 24395  	//   "parameterOrder": [
 24396  	//     "profileId"
 24397  	//   ],
 24398  	//   "parameters": {
 24399  	//     "profileId": {
 24400  	//       "description": "User profile ID associated with this request.",
 24401  	//       "format": "int64",
 24402  	//       "location": "path",
 24403  	//       "required": true,
 24404  	//       "type": "string"
 24405  	//     }
 24406  	//   },
 24407  	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
 24408  	//   "request": {
 24409  	//     "$ref": "ConversionsBatchInsertRequest"
 24410  	//   },
 24411  	//   "response": {
 24412  	//     "$ref": "ConversionsBatchInsertResponse"
 24413  	//   },
 24414  	//   "scopes": [
 24415  	//     "https://www.googleapis.com/auth/ddmconversions"
 24416  	//   ]
 24417  	// }
 24418  
 24419  }
 24420  
 24421  // method id "dfareporting.conversions.batchupdate":
 24422  
 24423  type ConversionsBatchupdateCall struct {
 24424  	s                             *Service
 24425  	profileId                     int64
 24426  	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
 24427  	urlParams_                    gensupport.URLParams
 24428  	ctx_                          context.Context
 24429  	header_                       http.Header
 24430  }
 24431  
 24432  // Batchupdate: Updates existing conversions.
 24433  //
 24434  // - profileId: User profile ID associated with this request.
 24435  func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
 24436  	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24437  	c.profileId = profileId
 24438  	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
 24439  	return c
 24440  }
 24441  
 24442  // Fields allows partial responses to be retrieved. See
 24443  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24444  // for more information.
 24445  func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
 24446  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24447  	return c
 24448  }
 24449  
 24450  // Context sets the context to be used in this call's Do method. Any
 24451  // pending HTTP request will be aborted if the provided context is
 24452  // canceled.
 24453  func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
 24454  	c.ctx_ = ctx
 24455  	return c
 24456  }
 24457  
 24458  // Header returns an http.Header that can be modified by the caller to
 24459  // add HTTP headers to the request.
 24460  func (c *ConversionsBatchupdateCall) Header() http.Header {
 24461  	if c.header_ == nil {
 24462  		c.header_ = make(http.Header)
 24463  	}
 24464  	return c.header_
 24465  }
 24466  
 24467  func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
 24468  	reqHeaders := make(http.Header)
 24469  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24470  	for k, v := range c.header_ {
 24471  		reqHeaders[k] = v
 24472  	}
 24473  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24474  	var body io.Reader = nil
 24475  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
 24476  	if err != nil {
 24477  		return nil, err
 24478  	}
 24479  	reqHeaders.Set("Content-Type", "application/json")
 24480  	c.urlParams_.Set("alt", alt)
 24481  	c.urlParams_.Set("prettyPrint", "false")
 24482  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
 24483  	urls += "?" + c.urlParams_.Encode()
 24484  	req, err := http.NewRequest("POST", urls, body)
 24485  	if err != nil {
 24486  		return nil, err
 24487  	}
 24488  	req.Header = reqHeaders
 24489  	googleapi.Expand(req.URL, map[string]string{
 24490  		"profileId": strconv.FormatInt(c.profileId, 10),
 24491  	})
 24492  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24493  }
 24494  
 24495  // Do executes the "dfareporting.conversions.batchupdate" call.
 24496  // Exactly one of *ConversionsBatchUpdateResponse or error will be
 24497  // non-nil. Any non-2xx status code is an error. Response headers are in
 24498  // either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
 24499  // response was returned at all) in error.(*googleapi.Error).Header. Use
 24500  // googleapi.IsNotModified to check whether the returned error was
 24501  // because http.StatusNotModified was returned.
 24502  func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
 24503  	gensupport.SetOptions(c.urlParams_, opts...)
 24504  	res, err := c.doRequest("json")
 24505  	if res != nil && res.StatusCode == http.StatusNotModified {
 24506  		if res.Body != nil {
 24507  			res.Body.Close()
 24508  		}
 24509  		return nil, &googleapi.Error{
 24510  			Code:   res.StatusCode,
 24511  			Header: res.Header,
 24512  		}
 24513  	}
 24514  	if err != nil {
 24515  		return nil, err
 24516  	}
 24517  	defer googleapi.CloseBody(res)
 24518  	if err := googleapi.CheckResponse(res); err != nil {
 24519  		return nil, err
 24520  	}
 24521  	ret := &ConversionsBatchUpdateResponse{
 24522  		ServerResponse: googleapi.ServerResponse{
 24523  			Header:         res.Header,
 24524  			HTTPStatusCode: res.StatusCode,
 24525  		},
 24526  	}
 24527  	target := &ret
 24528  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24529  		return nil, err
 24530  	}
 24531  	return ret, nil
 24532  	// {
 24533  	//   "description": "Updates existing conversions.",
 24534  	//   "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
 24535  	//   "httpMethod": "POST",
 24536  	//   "id": "dfareporting.conversions.batchupdate",
 24537  	//   "parameterOrder": [
 24538  	//     "profileId"
 24539  	//   ],
 24540  	//   "parameters": {
 24541  	//     "profileId": {
 24542  	//       "description": "User profile ID associated with this request.",
 24543  	//       "format": "int64",
 24544  	//       "location": "path",
 24545  	//       "required": true,
 24546  	//       "type": "string"
 24547  	//     }
 24548  	//   },
 24549  	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
 24550  	//   "request": {
 24551  	//     "$ref": "ConversionsBatchUpdateRequest"
 24552  	//   },
 24553  	//   "response": {
 24554  	//     "$ref": "ConversionsBatchUpdateResponse"
 24555  	//   },
 24556  	//   "scopes": [
 24557  	//     "https://www.googleapis.com/auth/ddmconversions"
 24558  	//   ]
 24559  	// }
 24560  
 24561  }
 24562  
 24563  // method id "dfareporting.countries.get":
 24564  
 24565  type CountriesGetCall struct {
 24566  	s            *Service
 24567  	profileId    int64
 24568  	dartId       int64
 24569  	urlParams_   gensupport.URLParams
 24570  	ifNoneMatch_ string
 24571  	ctx_         context.Context
 24572  	header_      http.Header
 24573  }
 24574  
 24575  // Get: Gets one country by ID.
 24576  //
 24577  // - dartId: Country DART ID.
 24578  // - profileId: User profile ID associated with this request.
 24579  func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
 24580  	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24581  	c.profileId = profileId
 24582  	c.dartId = dartId
 24583  	return c
 24584  }
 24585  
 24586  // Fields allows partial responses to be retrieved. See
 24587  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24588  // for more information.
 24589  func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
 24590  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24591  	return c
 24592  }
 24593  
 24594  // IfNoneMatch sets the optional parameter which makes the operation
 24595  // fail if the object's ETag matches the given value. This is useful for
 24596  // getting updates only after the object has changed since the last
 24597  // request. Use googleapi.IsNotModified to check whether the response
 24598  // error from Do is the result of In-None-Match.
 24599  func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
 24600  	c.ifNoneMatch_ = entityTag
 24601  	return c
 24602  }
 24603  
 24604  // Context sets the context to be used in this call's Do method. Any
 24605  // pending HTTP request will be aborted if the provided context is
 24606  // canceled.
 24607  func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
 24608  	c.ctx_ = ctx
 24609  	return c
 24610  }
 24611  
 24612  // Header returns an http.Header that can be modified by the caller to
 24613  // add HTTP headers to the request.
 24614  func (c *CountriesGetCall) Header() http.Header {
 24615  	if c.header_ == nil {
 24616  		c.header_ = make(http.Header)
 24617  	}
 24618  	return c.header_
 24619  }
 24620  
 24621  func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
 24622  	reqHeaders := make(http.Header)
 24623  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24624  	for k, v := range c.header_ {
 24625  		reqHeaders[k] = v
 24626  	}
 24627  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24628  	if c.ifNoneMatch_ != "" {
 24629  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24630  	}
 24631  	var body io.Reader = nil
 24632  	c.urlParams_.Set("alt", alt)
 24633  	c.urlParams_.Set("prettyPrint", "false")
 24634  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
 24635  	urls += "?" + c.urlParams_.Encode()
 24636  	req, err := http.NewRequest("GET", urls, body)
 24637  	if err != nil {
 24638  		return nil, err
 24639  	}
 24640  	req.Header = reqHeaders
 24641  	googleapi.Expand(req.URL, map[string]string{
 24642  		"profileId": strconv.FormatInt(c.profileId, 10),
 24643  		"dartId":    strconv.FormatInt(c.dartId, 10),
 24644  	})
 24645  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24646  }
 24647  
 24648  // Do executes the "dfareporting.countries.get" call.
 24649  // Exactly one of *Country or error will be non-nil. Any non-2xx status
 24650  // code is an error. Response headers are in either
 24651  // *Country.ServerResponse.Header or (if a response was returned at all)
 24652  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 24653  // check whether the returned error was because http.StatusNotModified
 24654  // was returned.
 24655  func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
 24656  	gensupport.SetOptions(c.urlParams_, opts...)
 24657  	res, err := c.doRequest("json")
 24658  	if res != nil && res.StatusCode == http.StatusNotModified {
 24659  		if res.Body != nil {
 24660  			res.Body.Close()
 24661  		}
 24662  		return nil, &googleapi.Error{
 24663  			Code:   res.StatusCode,
 24664  			Header: res.Header,
 24665  		}
 24666  	}
 24667  	if err != nil {
 24668  		return nil, err
 24669  	}
 24670  	defer googleapi.CloseBody(res)
 24671  	if err := googleapi.CheckResponse(res); err != nil {
 24672  		return nil, err
 24673  	}
 24674  	ret := &Country{
 24675  		ServerResponse: googleapi.ServerResponse{
 24676  			Header:         res.Header,
 24677  			HTTPStatusCode: res.StatusCode,
 24678  		},
 24679  	}
 24680  	target := &ret
 24681  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24682  		return nil, err
 24683  	}
 24684  	return ret, nil
 24685  	// {
 24686  	//   "description": "Gets one country by ID.",
 24687  	//   "flatPath": "userprofiles/{profileId}/countries/{dartId}",
 24688  	//   "httpMethod": "GET",
 24689  	//   "id": "dfareporting.countries.get",
 24690  	//   "parameterOrder": [
 24691  	//     "profileId",
 24692  	//     "dartId"
 24693  	//   ],
 24694  	//   "parameters": {
 24695  	//     "dartId": {
 24696  	//       "description": "Country DART ID.",
 24697  	//       "format": "int64",
 24698  	//       "location": "path",
 24699  	//       "required": true,
 24700  	//       "type": "string"
 24701  	//     },
 24702  	//     "profileId": {
 24703  	//       "description": "User profile ID associated with this request.",
 24704  	//       "format": "int64",
 24705  	//       "location": "path",
 24706  	//       "required": true,
 24707  	//       "type": "string"
 24708  	//     }
 24709  	//   },
 24710  	//   "path": "userprofiles/{profileId}/countries/{dartId}",
 24711  	//   "response": {
 24712  	//     "$ref": "Country"
 24713  	//   },
 24714  	//   "scopes": [
 24715  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24716  	//   ]
 24717  	// }
 24718  
 24719  }
 24720  
 24721  // method id "dfareporting.countries.list":
 24722  
 24723  type CountriesListCall struct {
 24724  	s            *Service
 24725  	profileId    int64
 24726  	urlParams_   gensupport.URLParams
 24727  	ifNoneMatch_ string
 24728  	ctx_         context.Context
 24729  	header_      http.Header
 24730  }
 24731  
 24732  // List: Retrieves a list of countries.
 24733  //
 24734  // - profileId: User profile ID associated with this request.
 24735  func (r *CountriesService) List(profileId int64) *CountriesListCall {
 24736  	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24737  	c.profileId = profileId
 24738  	return c
 24739  }
 24740  
 24741  // Fields allows partial responses to be retrieved. See
 24742  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24743  // for more information.
 24744  func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
 24745  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24746  	return c
 24747  }
 24748  
 24749  // IfNoneMatch sets the optional parameter which makes the operation
 24750  // fail if the object's ETag matches the given value. This is useful for
 24751  // getting updates only after the object has changed since the last
 24752  // request. Use googleapi.IsNotModified to check whether the response
 24753  // error from Do is the result of In-None-Match.
 24754  func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
 24755  	c.ifNoneMatch_ = entityTag
 24756  	return c
 24757  }
 24758  
 24759  // Context sets the context to be used in this call's Do method. Any
 24760  // pending HTTP request will be aborted if the provided context is
 24761  // canceled.
 24762  func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
 24763  	c.ctx_ = ctx
 24764  	return c
 24765  }
 24766  
 24767  // Header returns an http.Header that can be modified by the caller to
 24768  // add HTTP headers to the request.
 24769  func (c *CountriesListCall) Header() http.Header {
 24770  	if c.header_ == nil {
 24771  		c.header_ = make(http.Header)
 24772  	}
 24773  	return c.header_
 24774  }
 24775  
 24776  func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
 24777  	reqHeaders := make(http.Header)
 24778  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24779  	for k, v := range c.header_ {
 24780  		reqHeaders[k] = v
 24781  	}
 24782  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24783  	if c.ifNoneMatch_ != "" {
 24784  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 24785  	}
 24786  	var body io.Reader = nil
 24787  	c.urlParams_.Set("alt", alt)
 24788  	c.urlParams_.Set("prettyPrint", "false")
 24789  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
 24790  	urls += "?" + c.urlParams_.Encode()
 24791  	req, err := http.NewRequest("GET", urls, body)
 24792  	if err != nil {
 24793  		return nil, err
 24794  	}
 24795  	req.Header = reqHeaders
 24796  	googleapi.Expand(req.URL, map[string]string{
 24797  		"profileId": strconv.FormatInt(c.profileId, 10),
 24798  	})
 24799  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24800  }
 24801  
 24802  // Do executes the "dfareporting.countries.list" call.
 24803  // Exactly one of *CountriesListResponse or error will be non-nil. Any
 24804  // non-2xx status code is an error. Response headers are in either
 24805  // *CountriesListResponse.ServerResponse.Header or (if a response was
 24806  // returned at all) in error.(*googleapi.Error).Header. Use
 24807  // googleapi.IsNotModified to check whether the returned error was
 24808  // because http.StatusNotModified was returned.
 24809  func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
 24810  	gensupport.SetOptions(c.urlParams_, opts...)
 24811  	res, err := c.doRequest("json")
 24812  	if res != nil && res.StatusCode == http.StatusNotModified {
 24813  		if res.Body != nil {
 24814  			res.Body.Close()
 24815  		}
 24816  		return nil, &googleapi.Error{
 24817  			Code:   res.StatusCode,
 24818  			Header: res.Header,
 24819  		}
 24820  	}
 24821  	if err != nil {
 24822  		return nil, err
 24823  	}
 24824  	defer googleapi.CloseBody(res)
 24825  	if err := googleapi.CheckResponse(res); err != nil {
 24826  		return nil, err
 24827  	}
 24828  	ret := &CountriesListResponse{
 24829  		ServerResponse: googleapi.ServerResponse{
 24830  			Header:         res.Header,
 24831  			HTTPStatusCode: res.StatusCode,
 24832  		},
 24833  	}
 24834  	target := &ret
 24835  	if err := gensupport.DecodeResponse(target, res); err != nil {
 24836  		return nil, err
 24837  	}
 24838  	return ret, nil
 24839  	// {
 24840  	//   "description": "Retrieves a list of countries.",
 24841  	//   "flatPath": "userprofiles/{profileId}/countries",
 24842  	//   "httpMethod": "GET",
 24843  	//   "id": "dfareporting.countries.list",
 24844  	//   "parameterOrder": [
 24845  	//     "profileId"
 24846  	//   ],
 24847  	//   "parameters": {
 24848  	//     "profileId": {
 24849  	//       "description": "User profile ID associated with this request.",
 24850  	//       "format": "int64",
 24851  	//       "location": "path",
 24852  	//       "required": true,
 24853  	//       "type": "string"
 24854  	//     }
 24855  	//   },
 24856  	//   "path": "userprofiles/{profileId}/countries",
 24857  	//   "response": {
 24858  	//     "$ref": "CountriesListResponse"
 24859  	//   },
 24860  	//   "scopes": [
 24861  	//     "https://www.googleapis.com/auth/dfatrafficking"
 24862  	//   ]
 24863  	// }
 24864  
 24865  }
 24866  
 24867  // method id "dfareporting.creativeAssets.insert":
 24868  
 24869  type CreativeAssetsInsertCall struct {
 24870  	s                     *Service
 24871  	profileId             int64
 24872  	advertiserId          int64
 24873  	creativeassetmetadata *CreativeAssetMetadata
 24874  	urlParams_            gensupport.URLParams
 24875  	mediaInfo_            *gensupport.MediaInfo
 24876  	ctx_                  context.Context
 24877  	header_               http.Header
 24878  }
 24879  
 24880  // Insert: Inserts a new creative asset.
 24881  //
 24882  //   - advertiserId: Advertiser ID of this creative. This is a required
 24883  //     field.
 24884  //   - profileId: User profile ID associated with this request.
 24885  func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
 24886  	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 24887  	c.profileId = profileId
 24888  	c.advertiserId = advertiserId
 24889  	c.creativeassetmetadata = creativeassetmetadata
 24890  	return c
 24891  }
 24892  
 24893  // Media specifies the media to upload in one or more chunks. The chunk
 24894  // size may be controlled by supplying a MediaOption generated by
 24895  // googleapi.ChunkSize. The chunk size defaults to
 24896  // googleapi.DefaultUploadChunkSize.The Content-Type header used in the
 24897  // upload request will be determined by sniffing the contents of r,
 24898  // unless a MediaOption generated by googleapi.ContentType is
 24899  // supplied.
 24900  // At most one of Media and ResumableMedia may be set.
 24901  func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
 24902  	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
 24903  	return c
 24904  }
 24905  
 24906  // ResumableMedia specifies the media to upload in chunks and can be
 24907  // canceled with ctx.
 24908  //
 24909  // Deprecated: use Media instead.
 24910  //
 24911  // At most one of Media and ResumableMedia may be set. mediaType
 24912  // identifies the MIME media type of the upload, such as "image/png". If
 24913  // mediaType is "", it will be auto-detected. The provided ctx will
 24914  // supersede any context previously provided to the Context method.
 24915  func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
 24916  	c.ctx_ = ctx
 24917  	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
 24918  	return c
 24919  }
 24920  
 24921  // ProgressUpdater provides a callback function that will be called
 24922  // after every chunk. It should be a low-latency function in order to
 24923  // not slow down the upload operation. This should only be called when
 24924  // using ResumableMedia (as opposed to Media).
 24925  func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
 24926  	c.mediaInfo_.SetProgressUpdater(pu)
 24927  	return c
 24928  }
 24929  
 24930  // Fields allows partial responses to be retrieved. See
 24931  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 24932  // for more information.
 24933  func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
 24934  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 24935  	return c
 24936  }
 24937  
 24938  // Context sets the context to be used in this call's Do method. Any
 24939  // pending HTTP request will be aborted if the provided context is
 24940  // canceled.
 24941  // This context will supersede any context previously provided to the
 24942  // ResumableMedia method.
 24943  func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
 24944  	c.ctx_ = ctx
 24945  	return c
 24946  }
 24947  
 24948  // Header returns an http.Header that can be modified by the caller to
 24949  // add HTTP headers to the request.
 24950  func (c *CreativeAssetsInsertCall) Header() http.Header {
 24951  	if c.header_ == nil {
 24952  		c.header_ = make(http.Header)
 24953  	}
 24954  	return c.header_
 24955  }
 24956  
 24957  func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
 24958  	reqHeaders := make(http.Header)
 24959  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 24960  	for k, v := range c.header_ {
 24961  		reqHeaders[k] = v
 24962  	}
 24963  	reqHeaders.Set("User-Agent", c.s.userAgent())
 24964  	var body io.Reader = nil
 24965  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
 24966  	if err != nil {
 24967  		return nil, err
 24968  	}
 24969  	reqHeaders.Set("Content-Type", "application/json")
 24970  	c.urlParams_.Set("alt", alt)
 24971  	c.urlParams_.Set("prettyPrint", "false")
 24972  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 24973  	if c.mediaInfo_ != nil {
 24974  		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
 24975  		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
 24976  	}
 24977  	if body == nil {
 24978  		body = new(bytes.Buffer)
 24979  		reqHeaders.Set("Content-Type", "application/json")
 24980  	}
 24981  	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
 24982  	defer cleanup()
 24983  	urls += "?" + c.urlParams_.Encode()
 24984  	req, err := http.NewRequest("POST", urls, body)
 24985  	if err != nil {
 24986  		return nil, err
 24987  	}
 24988  	req.Header = reqHeaders
 24989  	req.GetBody = getBody
 24990  	googleapi.Expand(req.URL, map[string]string{
 24991  		"profileId":    strconv.FormatInt(c.profileId, 10),
 24992  		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
 24993  	})
 24994  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 24995  }
 24996  
 24997  // Do executes the "dfareporting.creativeAssets.insert" call.
 24998  // Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
 24999  // non-2xx status code is an error. Response headers are in either
 25000  // *CreativeAssetMetadata.ServerResponse.Header or (if a response was
 25001  // returned at all) in error.(*googleapi.Error).Header. Use
 25002  // googleapi.IsNotModified to check whether the returned error was
 25003  // because http.StatusNotModified was returned.
 25004  func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
 25005  	gensupport.SetOptions(c.urlParams_, opts...)
 25006  	res, err := c.doRequest("json")
 25007  	if res != nil && res.StatusCode == http.StatusNotModified {
 25008  		if res.Body != nil {
 25009  			res.Body.Close()
 25010  		}
 25011  		return nil, &googleapi.Error{
 25012  			Code:   res.StatusCode,
 25013  			Header: res.Header,
 25014  		}
 25015  	}
 25016  	if err != nil {
 25017  		return nil, err
 25018  	}
 25019  	defer googleapi.CloseBody(res)
 25020  	if err := googleapi.CheckResponse(res); err != nil {
 25021  		return nil, err
 25022  	}
 25023  	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
 25024  	if rx != nil {
 25025  		rx.Client = c.s.client
 25026  		rx.UserAgent = c.s.userAgent()
 25027  		ctx := c.ctx_
 25028  		if ctx == nil {
 25029  			ctx = context.TODO()
 25030  		}
 25031  		res, err = rx.Upload(ctx)
 25032  		if err != nil {
 25033  			return nil, err
 25034  		}
 25035  		defer res.Body.Close()
 25036  		if err := googleapi.CheckResponse(res); err != nil {
 25037  			return nil, err
 25038  		}
 25039  	}
 25040  	ret := &CreativeAssetMetadata{
 25041  		ServerResponse: googleapi.ServerResponse{
 25042  			Header:         res.Header,
 25043  			HTTPStatusCode: res.StatusCode,
 25044  		},
 25045  	}
 25046  	target := &ret
 25047  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25048  		return nil, err
 25049  	}
 25050  	return ret, nil
 25051  	// {
 25052  	//   "description": "Inserts a new creative asset.",
 25053  	//   "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 25054  	//   "httpMethod": "POST",
 25055  	//   "id": "dfareporting.creativeAssets.insert",
 25056  	//   "mediaUpload": {
 25057  	//     "accept": [
 25058  	//       "*/*"
 25059  	//     ],
 25060  	//     "maxSize": "1073741824",
 25061  	//     "protocols": {
 25062  	//       "simple": {
 25063  	//         "multipart": true,
 25064  	//         "path": "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
 25065  	//       }
 25066  	//     }
 25067  	//   },
 25068  	//   "parameterOrder": [
 25069  	//     "profileId",
 25070  	//     "advertiserId"
 25071  	//   ],
 25072  	//   "parameters": {
 25073  	//     "advertiserId": {
 25074  	//       "description": "Advertiser ID of this creative. This is a required field.",
 25075  	//       "format": "int64",
 25076  	//       "location": "path",
 25077  	//       "required": true,
 25078  	//       "type": "string"
 25079  	//     },
 25080  	//     "profileId": {
 25081  	//       "description": "User profile ID associated with this request.",
 25082  	//       "format": "int64",
 25083  	//       "location": "path",
 25084  	//       "required": true,
 25085  	//       "type": "string"
 25086  	//     }
 25087  	//   },
 25088  	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
 25089  	//   "request": {
 25090  	//     "$ref": "CreativeAssetMetadata"
 25091  	//   },
 25092  	//   "response": {
 25093  	//     "$ref": "CreativeAssetMetadata"
 25094  	//   },
 25095  	//   "scopes": [
 25096  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25097  	//   ],
 25098  	//   "supportsMediaUpload": true
 25099  	// }
 25100  
 25101  }
 25102  
 25103  // method id "dfareporting.creativeFieldValues.delete":
 25104  
 25105  type CreativeFieldValuesDeleteCall struct {
 25106  	s               *Service
 25107  	profileId       int64
 25108  	creativeFieldId int64
 25109  	id              int64
 25110  	urlParams_      gensupport.URLParams
 25111  	ctx_            context.Context
 25112  	header_         http.Header
 25113  }
 25114  
 25115  // Delete: Deletes an existing creative field value.
 25116  //
 25117  // - creativeFieldId: Creative field ID for this creative field value.
 25118  // - id: Creative Field Value ID.
 25119  // - profileId: User profile ID associated with this request.
 25120  func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
 25121  	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25122  	c.profileId = profileId
 25123  	c.creativeFieldId = creativeFieldId
 25124  	c.id = id
 25125  	return c
 25126  }
 25127  
 25128  // Fields allows partial responses to be retrieved. See
 25129  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25130  // for more information.
 25131  func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
 25132  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25133  	return c
 25134  }
 25135  
 25136  // Context sets the context to be used in this call's Do method. Any
 25137  // pending HTTP request will be aborted if the provided context is
 25138  // canceled.
 25139  func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
 25140  	c.ctx_ = ctx
 25141  	return c
 25142  }
 25143  
 25144  // Header returns an http.Header that can be modified by the caller to
 25145  // add HTTP headers to the request.
 25146  func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
 25147  	if c.header_ == nil {
 25148  		c.header_ = make(http.Header)
 25149  	}
 25150  	return c.header_
 25151  }
 25152  
 25153  func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
 25154  	reqHeaders := make(http.Header)
 25155  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25156  	for k, v := range c.header_ {
 25157  		reqHeaders[k] = v
 25158  	}
 25159  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25160  	var body io.Reader = nil
 25161  	c.urlParams_.Set("alt", alt)
 25162  	c.urlParams_.Set("prettyPrint", "false")
 25163  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 25164  	urls += "?" + c.urlParams_.Encode()
 25165  	req, err := http.NewRequest("DELETE", urls, body)
 25166  	if err != nil {
 25167  		return nil, err
 25168  	}
 25169  	req.Header = reqHeaders
 25170  	googleapi.Expand(req.URL, map[string]string{
 25171  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25172  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25173  		"id":              strconv.FormatInt(c.id, 10),
 25174  	})
 25175  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25176  }
 25177  
 25178  // Do executes the "dfareporting.creativeFieldValues.delete" call.
 25179  func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
 25180  	gensupport.SetOptions(c.urlParams_, opts...)
 25181  	res, err := c.doRequest("json")
 25182  	if err != nil {
 25183  		return err
 25184  	}
 25185  	defer googleapi.CloseBody(res)
 25186  	if err := googleapi.CheckResponse(res); err != nil {
 25187  		return err
 25188  	}
 25189  	return nil
 25190  	// {
 25191  	//   "description": "Deletes an existing creative field value.",
 25192  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 25193  	//   "httpMethod": "DELETE",
 25194  	//   "id": "dfareporting.creativeFieldValues.delete",
 25195  	//   "parameterOrder": [
 25196  	//     "profileId",
 25197  	//     "creativeFieldId",
 25198  	//     "id"
 25199  	//   ],
 25200  	//   "parameters": {
 25201  	//     "creativeFieldId": {
 25202  	//       "description": "Creative field ID for this creative field value.",
 25203  	//       "format": "int64",
 25204  	//       "location": "path",
 25205  	//       "required": true,
 25206  	//       "type": "string"
 25207  	//     },
 25208  	//     "id": {
 25209  	//       "description": "Creative Field Value ID",
 25210  	//       "format": "int64",
 25211  	//       "location": "path",
 25212  	//       "required": true,
 25213  	//       "type": "string"
 25214  	//     },
 25215  	//     "profileId": {
 25216  	//       "description": "User profile ID associated with this request.",
 25217  	//       "format": "int64",
 25218  	//       "location": "path",
 25219  	//       "required": true,
 25220  	//       "type": "string"
 25221  	//     }
 25222  	//   },
 25223  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 25224  	//   "scopes": [
 25225  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25226  	//   ]
 25227  	// }
 25228  
 25229  }
 25230  
 25231  // method id "dfareporting.creativeFieldValues.get":
 25232  
 25233  type CreativeFieldValuesGetCall struct {
 25234  	s               *Service
 25235  	profileId       int64
 25236  	creativeFieldId int64
 25237  	id              int64
 25238  	urlParams_      gensupport.URLParams
 25239  	ifNoneMatch_    string
 25240  	ctx_            context.Context
 25241  	header_         http.Header
 25242  }
 25243  
 25244  // Get: Gets one creative field value by ID.
 25245  //
 25246  // - creativeFieldId: Creative field ID for this creative field value.
 25247  // - id: Creative Field Value ID.
 25248  // - profileId: User profile ID associated with this request.
 25249  func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
 25250  	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25251  	c.profileId = profileId
 25252  	c.creativeFieldId = creativeFieldId
 25253  	c.id = id
 25254  	return c
 25255  }
 25256  
 25257  // Fields allows partial responses to be retrieved. See
 25258  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25259  // for more information.
 25260  func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
 25261  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25262  	return c
 25263  }
 25264  
 25265  // IfNoneMatch sets the optional parameter which makes the operation
 25266  // fail if the object's ETag matches the given value. This is useful for
 25267  // getting updates only after the object has changed since the last
 25268  // request. Use googleapi.IsNotModified to check whether the response
 25269  // error from Do is the result of In-None-Match.
 25270  func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
 25271  	c.ifNoneMatch_ = entityTag
 25272  	return c
 25273  }
 25274  
 25275  // Context sets the context to be used in this call's Do method. Any
 25276  // pending HTTP request will be aborted if the provided context is
 25277  // canceled.
 25278  func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
 25279  	c.ctx_ = ctx
 25280  	return c
 25281  }
 25282  
 25283  // Header returns an http.Header that can be modified by the caller to
 25284  // add HTTP headers to the request.
 25285  func (c *CreativeFieldValuesGetCall) Header() http.Header {
 25286  	if c.header_ == nil {
 25287  		c.header_ = make(http.Header)
 25288  	}
 25289  	return c.header_
 25290  }
 25291  
 25292  func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
 25293  	reqHeaders := make(http.Header)
 25294  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25295  	for k, v := range c.header_ {
 25296  		reqHeaders[k] = v
 25297  	}
 25298  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25299  	if c.ifNoneMatch_ != "" {
 25300  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25301  	}
 25302  	var body io.Reader = nil
 25303  	c.urlParams_.Set("alt", alt)
 25304  	c.urlParams_.Set("prettyPrint", "false")
 25305  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
 25306  	urls += "?" + c.urlParams_.Encode()
 25307  	req, err := http.NewRequest("GET", urls, body)
 25308  	if err != nil {
 25309  		return nil, err
 25310  	}
 25311  	req.Header = reqHeaders
 25312  	googleapi.Expand(req.URL, map[string]string{
 25313  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25314  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25315  		"id":              strconv.FormatInt(c.id, 10),
 25316  	})
 25317  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25318  }
 25319  
 25320  // Do executes the "dfareporting.creativeFieldValues.get" call.
 25321  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25322  // non-2xx status code is an error. Response headers are in either
 25323  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25324  // returned at all) in error.(*googleapi.Error).Header. Use
 25325  // googleapi.IsNotModified to check whether the returned error was
 25326  // because http.StatusNotModified was returned.
 25327  func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25328  	gensupport.SetOptions(c.urlParams_, opts...)
 25329  	res, err := c.doRequest("json")
 25330  	if res != nil && res.StatusCode == http.StatusNotModified {
 25331  		if res.Body != nil {
 25332  			res.Body.Close()
 25333  		}
 25334  		return nil, &googleapi.Error{
 25335  			Code:   res.StatusCode,
 25336  			Header: res.Header,
 25337  		}
 25338  	}
 25339  	if err != nil {
 25340  		return nil, err
 25341  	}
 25342  	defer googleapi.CloseBody(res)
 25343  	if err := googleapi.CheckResponse(res); err != nil {
 25344  		return nil, err
 25345  	}
 25346  	ret := &CreativeFieldValue{
 25347  		ServerResponse: googleapi.ServerResponse{
 25348  			Header:         res.Header,
 25349  			HTTPStatusCode: res.StatusCode,
 25350  		},
 25351  	}
 25352  	target := &ret
 25353  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25354  		return nil, err
 25355  	}
 25356  	return ret, nil
 25357  	// {
 25358  	//   "description": "Gets one creative field value by ID.",
 25359  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 25360  	//   "httpMethod": "GET",
 25361  	//   "id": "dfareporting.creativeFieldValues.get",
 25362  	//   "parameterOrder": [
 25363  	//     "profileId",
 25364  	//     "creativeFieldId",
 25365  	//     "id"
 25366  	//   ],
 25367  	//   "parameters": {
 25368  	//     "creativeFieldId": {
 25369  	//       "description": "Creative field ID for this creative field value.",
 25370  	//       "format": "int64",
 25371  	//       "location": "path",
 25372  	//       "required": true,
 25373  	//       "type": "string"
 25374  	//     },
 25375  	//     "id": {
 25376  	//       "description": "Creative Field Value ID",
 25377  	//       "format": "int64",
 25378  	//       "location": "path",
 25379  	//       "required": true,
 25380  	//       "type": "string"
 25381  	//     },
 25382  	//     "profileId": {
 25383  	//       "description": "User profile ID associated with this request.",
 25384  	//       "format": "int64",
 25385  	//       "location": "path",
 25386  	//       "required": true,
 25387  	//       "type": "string"
 25388  	//     }
 25389  	//   },
 25390  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
 25391  	//   "response": {
 25392  	//     "$ref": "CreativeFieldValue"
 25393  	//   },
 25394  	//   "scopes": [
 25395  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25396  	//   ]
 25397  	// }
 25398  
 25399  }
 25400  
 25401  // method id "dfareporting.creativeFieldValues.insert":
 25402  
 25403  type CreativeFieldValuesInsertCall struct {
 25404  	s                  *Service
 25405  	profileId          int64
 25406  	creativeFieldId    int64
 25407  	creativefieldvalue *CreativeFieldValue
 25408  	urlParams_         gensupport.URLParams
 25409  	ctx_               context.Context
 25410  	header_            http.Header
 25411  }
 25412  
 25413  // Insert: Inserts a new creative field value.
 25414  //
 25415  // - creativeFieldId: Creative field ID for this creative field value.
 25416  // - profileId: User profile ID associated with this request.
 25417  func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
 25418  	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25419  	c.profileId = profileId
 25420  	c.creativeFieldId = creativeFieldId
 25421  	c.creativefieldvalue = creativefieldvalue
 25422  	return c
 25423  }
 25424  
 25425  // Fields allows partial responses to be retrieved. See
 25426  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25427  // for more information.
 25428  func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
 25429  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25430  	return c
 25431  }
 25432  
 25433  // Context sets the context to be used in this call's Do method. Any
 25434  // pending HTTP request will be aborted if the provided context is
 25435  // canceled.
 25436  func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
 25437  	c.ctx_ = ctx
 25438  	return c
 25439  }
 25440  
 25441  // Header returns an http.Header that can be modified by the caller to
 25442  // add HTTP headers to the request.
 25443  func (c *CreativeFieldValuesInsertCall) Header() http.Header {
 25444  	if c.header_ == nil {
 25445  		c.header_ = make(http.Header)
 25446  	}
 25447  	return c.header_
 25448  }
 25449  
 25450  func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
 25451  	reqHeaders := make(http.Header)
 25452  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25453  	for k, v := range c.header_ {
 25454  		reqHeaders[k] = v
 25455  	}
 25456  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25457  	var body io.Reader = nil
 25458  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25459  	if err != nil {
 25460  		return nil, err
 25461  	}
 25462  	reqHeaders.Set("Content-Type", "application/json")
 25463  	c.urlParams_.Set("alt", alt)
 25464  	c.urlParams_.Set("prettyPrint", "false")
 25465  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25466  	urls += "?" + c.urlParams_.Encode()
 25467  	req, err := http.NewRequest("POST", urls, body)
 25468  	if err != nil {
 25469  		return nil, err
 25470  	}
 25471  	req.Header = reqHeaders
 25472  	googleapi.Expand(req.URL, map[string]string{
 25473  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25474  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25475  	})
 25476  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25477  }
 25478  
 25479  // Do executes the "dfareporting.creativeFieldValues.insert" call.
 25480  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25481  // non-2xx status code is an error. Response headers are in either
 25482  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25483  // returned at all) in error.(*googleapi.Error).Header. Use
 25484  // googleapi.IsNotModified to check whether the returned error was
 25485  // because http.StatusNotModified was returned.
 25486  func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25487  	gensupport.SetOptions(c.urlParams_, opts...)
 25488  	res, err := c.doRequest("json")
 25489  	if res != nil && res.StatusCode == http.StatusNotModified {
 25490  		if res.Body != nil {
 25491  			res.Body.Close()
 25492  		}
 25493  		return nil, &googleapi.Error{
 25494  			Code:   res.StatusCode,
 25495  			Header: res.Header,
 25496  		}
 25497  	}
 25498  	if err != nil {
 25499  		return nil, err
 25500  	}
 25501  	defer googleapi.CloseBody(res)
 25502  	if err := googleapi.CheckResponse(res); err != nil {
 25503  		return nil, err
 25504  	}
 25505  	ret := &CreativeFieldValue{
 25506  		ServerResponse: googleapi.ServerResponse{
 25507  			Header:         res.Header,
 25508  			HTTPStatusCode: res.StatusCode,
 25509  		},
 25510  	}
 25511  	target := &ret
 25512  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25513  		return nil, err
 25514  	}
 25515  	return ret, nil
 25516  	// {
 25517  	//   "description": "Inserts a new creative field value.",
 25518  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25519  	//   "httpMethod": "POST",
 25520  	//   "id": "dfareporting.creativeFieldValues.insert",
 25521  	//   "parameterOrder": [
 25522  	//     "profileId",
 25523  	//     "creativeFieldId"
 25524  	//   ],
 25525  	//   "parameters": {
 25526  	//     "creativeFieldId": {
 25527  	//       "description": "Creative field ID for this creative field value.",
 25528  	//       "format": "int64",
 25529  	//       "location": "path",
 25530  	//       "required": true,
 25531  	//       "type": "string"
 25532  	//     },
 25533  	//     "profileId": {
 25534  	//       "description": "User profile ID associated with this request.",
 25535  	//       "format": "int64",
 25536  	//       "location": "path",
 25537  	//       "required": true,
 25538  	//       "type": "string"
 25539  	//     }
 25540  	//   },
 25541  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25542  	//   "request": {
 25543  	//     "$ref": "CreativeFieldValue"
 25544  	//   },
 25545  	//   "response": {
 25546  	//     "$ref": "CreativeFieldValue"
 25547  	//   },
 25548  	//   "scopes": [
 25549  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25550  	//   ]
 25551  	// }
 25552  
 25553  }
 25554  
 25555  // method id "dfareporting.creativeFieldValues.list":
 25556  
 25557  type CreativeFieldValuesListCall struct {
 25558  	s               *Service
 25559  	profileId       int64
 25560  	creativeFieldId int64
 25561  	urlParams_      gensupport.URLParams
 25562  	ifNoneMatch_    string
 25563  	ctx_            context.Context
 25564  	header_         http.Header
 25565  }
 25566  
 25567  // List: Retrieves a list of creative field values, possibly filtered.
 25568  // This method supports paging.
 25569  //
 25570  // - creativeFieldId: Creative field ID for this creative field value.
 25571  // - profileId: User profile ID associated with this request.
 25572  func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
 25573  	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25574  	c.profileId = profileId
 25575  	c.creativeFieldId = creativeFieldId
 25576  	return c
 25577  }
 25578  
 25579  // Ids sets the optional parameter "ids": Select only creative field
 25580  // values with these IDs.
 25581  func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
 25582  	var ids_ []string
 25583  	for _, v := range ids {
 25584  		ids_ = append(ids_, fmt.Sprint(v))
 25585  	}
 25586  	c.urlParams_.SetMulti("ids", ids_)
 25587  	return c
 25588  }
 25589  
 25590  // MaxResults sets the optional parameter "maxResults": Maximum number
 25591  // of results to return.
 25592  func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
 25593  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 25594  	return c
 25595  }
 25596  
 25597  // PageToken sets the optional parameter "pageToken": Value of the
 25598  // nextPageToken from the previous result page.
 25599  func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
 25600  	c.urlParams_.Set("pageToken", pageToken)
 25601  	return c
 25602  }
 25603  
 25604  // SearchString sets the optional parameter "searchString": Allows
 25605  // searching for creative field values by their values. Wildcards (e.g.
 25606  // *) are not allowed.
 25607  func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
 25608  	c.urlParams_.Set("searchString", searchString)
 25609  	return c
 25610  }
 25611  
 25612  // SortField sets the optional parameter "sortField": Field by which to
 25613  // sort the list.
 25614  //
 25615  // Possible values:
 25616  //
 25617  //	"ID" (default)
 25618  //	"VALUE"
 25619  func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
 25620  	c.urlParams_.Set("sortField", sortField)
 25621  	return c
 25622  }
 25623  
 25624  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 25625  // results.
 25626  //
 25627  // Possible values:
 25628  //
 25629  //	"ASCENDING" (default)
 25630  //	"DESCENDING"
 25631  func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
 25632  	c.urlParams_.Set("sortOrder", sortOrder)
 25633  	return c
 25634  }
 25635  
 25636  // Fields allows partial responses to be retrieved. See
 25637  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25638  // for more information.
 25639  func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
 25640  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25641  	return c
 25642  }
 25643  
 25644  // IfNoneMatch sets the optional parameter which makes the operation
 25645  // fail if the object's ETag matches the given value. This is useful for
 25646  // getting updates only after the object has changed since the last
 25647  // request. Use googleapi.IsNotModified to check whether the response
 25648  // error from Do is the result of In-None-Match.
 25649  func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
 25650  	c.ifNoneMatch_ = entityTag
 25651  	return c
 25652  }
 25653  
 25654  // Context sets the context to be used in this call's Do method. Any
 25655  // pending HTTP request will be aborted if the provided context is
 25656  // canceled.
 25657  func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
 25658  	c.ctx_ = ctx
 25659  	return c
 25660  }
 25661  
 25662  // Header returns an http.Header that can be modified by the caller to
 25663  // add HTTP headers to the request.
 25664  func (c *CreativeFieldValuesListCall) Header() http.Header {
 25665  	if c.header_ == nil {
 25666  		c.header_ = make(http.Header)
 25667  	}
 25668  	return c.header_
 25669  }
 25670  
 25671  func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
 25672  	reqHeaders := make(http.Header)
 25673  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25674  	for k, v := range c.header_ {
 25675  		reqHeaders[k] = v
 25676  	}
 25677  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25678  	if c.ifNoneMatch_ != "" {
 25679  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 25680  	}
 25681  	var body io.Reader = nil
 25682  	c.urlParams_.Set("alt", alt)
 25683  	c.urlParams_.Set("prettyPrint", "false")
 25684  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25685  	urls += "?" + c.urlParams_.Encode()
 25686  	req, err := http.NewRequest("GET", urls, body)
 25687  	if err != nil {
 25688  		return nil, err
 25689  	}
 25690  	req.Header = reqHeaders
 25691  	googleapi.Expand(req.URL, map[string]string{
 25692  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25693  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25694  	})
 25695  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25696  }
 25697  
 25698  // Do executes the "dfareporting.creativeFieldValues.list" call.
 25699  // Exactly one of *CreativeFieldValuesListResponse or error will be
 25700  // non-nil. Any non-2xx status code is an error. Response headers are in
 25701  // either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
 25702  // a response was returned at all) in error.(*googleapi.Error).Header.
 25703  // Use googleapi.IsNotModified to check whether the returned error was
 25704  // because http.StatusNotModified was returned.
 25705  func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
 25706  	gensupport.SetOptions(c.urlParams_, opts...)
 25707  	res, err := c.doRequest("json")
 25708  	if res != nil && res.StatusCode == http.StatusNotModified {
 25709  		if res.Body != nil {
 25710  			res.Body.Close()
 25711  		}
 25712  		return nil, &googleapi.Error{
 25713  			Code:   res.StatusCode,
 25714  			Header: res.Header,
 25715  		}
 25716  	}
 25717  	if err != nil {
 25718  		return nil, err
 25719  	}
 25720  	defer googleapi.CloseBody(res)
 25721  	if err := googleapi.CheckResponse(res); err != nil {
 25722  		return nil, err
 25723  	}
 25724  	ret := &CreativeFieldValuesListResponse{
 25725  		ServerResponse: googleapi.ServerResponse{
 25726  			Header:         res.Header,
 25727  			HTTPStatusCode: res.StatusCode,
 25728  		},
 25729  	}
 25730  	target := &ret
 25731  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25732  		return nil, err
 25733  	}
 25734  	return ret, nil
 25735  	// {
 25736  	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
 25737  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25738  	//   "httpMethod": "GET",
 25739  	//   "id": "dfareporting.creativeFieldValues.list",
 25740  	//   "parameterOrder": [
 25741  	//     "profileId",
 25742  	//     "creativeFieldId"
 25743  	//   ],
 25744  	//   "parameters": {
 25745  	//     "creativeFieldId": {
 25746  	//       "description": "Creative field ID for this creative field value.",
 25747  	//       "format": "int64",
 25748  	//       "location": "path",
 25749  	//       "required": true,
 25750  	//       "type": "string"
 25751  	//     },
 25752  	//     "ids": {
 25753  	//       "description": "Select only creative field values with these IDs.",
 25754  	//       "format": "int64",
 25755  	//       "location": "query",
 25756  	//       "repeated": true,
 25757  	//       "type": "string"
 25758  	//     },
 25759  	//     "maxResults": {
 25760  	//       "default": "1000",
 25761  	//       "description": "Maximum number of results to return.",
 25762  	//       "format": "int32",
 25763  	//       "location": "query",
 25764  	//       "maximum": "1000",
 25765  	//       "minimum": "0",
 25766  	//       "type": "integer"
 25767  	//     },
 25768  	//     "pageToken": {
 25769  	//       "description": "Value of the nextPageToken from the previous result page.",
 25770  	//       "location": "query",
 25771  	//       "type": "string"
 25772  	//     },
 25773  	//     "profileId": {
 25774  	//       "description": "User profile ID associated with this request.",
 25775  	//       "format": "int64",
 25776  	//       "location": "path",
 25777  	//       "required": true,
 25778  	//       "type": "string"
 25779  	//     },
 25780  	//     "searchString": {
 25781  	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
 25782  	//       "location": "query",
 25783  	//       "type": "string"
 25784  	//     },
 25785  	//     "sortField": {
 25786  	//       "default": "ID",
 25787  	//       "description": "Field by which to sort the list.",
 25788  	//       "enum": [
 25789  	//         "ID",
 25790  	//         "VALUE"
 25791  	//       ],
 25792  	//       "enumDescriptions": [
 25793  	//         "",
 25794  	//         ""
 25795  	//       ],
 25796  	//       "location": "query",
 25797  	//       "type": "string"
 25798  	//     },
 25799  	//     "sortOrder": {
 25800  	//       "default": "ASCENDING",
 25801  	//       "description": "Order of sorted results.",
 25802  	//       "enum": [
 25803  	//         "ASCENDING",
 25804  	//         "DESCENDING"
 25805  	//       ],
 25806  	//       "enumDescriptions": [
 25807  	//         "",
 25808  	//         ""
 25809  	//       ],
 25810  	//       "location": "query",
 25811  	//       "type": "string"
 25812  	//     }
 25813  	//   },
 25814  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25815  	//   "response": {
 25816  	//     "$ref": "CreativeFieldValuesListResponse"
 25817  	//   },
 25818  	//   "scopes": [
 25819  	//     "https://www.googleapis.com/auth/dfatrafficking"
 25820  	//   ]
 25821  	// }
 25822  
 25823  }
 25824  
 25825  // Pages invokes f for each page of results.
 25826  // A non-nil error returned from f will halt the iteration.
 25827  // The provided context supersedes any context provided to the Context method.
 25828  func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
 25829  	c.ctx_ = ctx
 25830  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 25831  	for {
 25832  		x, err := c.Do()
 25833  		if err != nil {
 25834  			return err
 25835  		}
 25836  		if err := f(x); err != nil {
 25837  			return err
 25838  		}
 25839  		if x.NextPageToken == "" {
 25840  			return nil
 25841  		}
 25842  		c.PageToken(x.NextPageToken)
 25843  	}
 25844  }
 25845  
 25846  // method id "dfareporting.creativeFieldValues.patch":
 25847  
 25848  type CreativeFieldValuesPatchCall struct {
 25849  	s                  *Service
 25850  	profileId          int64
 25851  	creativeFieldId    int64
 25852  	creativefieldvalue *CreativeFieldValue
 25853  	urlParams_         gensupport.URLParams
 25854  	ctx_               context.Context
 25855  	header_            http.Header
 25856  }
 25857  
 25858  // Patch: Updates an existing creative field value. This method supports
 25859  // patch semantics.
 25860  //
 25861  // - creativeFieldId: CreativeField ID.
 25862  // - id: CreativeFieldValue ID.
 25863  // - profileId: User profile ID associated with this request.
 25864  func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
 25865  	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 25866  	c.profileId = profileId
 25867  	c.creativeFieldId = creativeFieldId
 25868  	c.urlParams_.Set("id", fmt.Sprint(id))
 25869  	c.creativefieldvalue = creativefieldvalue
 25870  	return c
 25871  }
 25872  
 25873  // Fields allows partial responses to be retrieved. See
 25874  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 25875  // for more information.
 25876  func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
 25877  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 25878  	return c
 25879  }
 25880  
 25881  // Context sets the context to be used in this call's Do method. Any
 25882  // pending HTTP request will be aborted if the provided context is
 25883  // canceled.
 25884  func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
 25885  	c.ctx_ = ctx
 25886  	return c
 25887  }
 25888  
 25889  // Header returns an http.Header that can be modified by the caller to
 25890  // add HTTP headers to the request.
 25891  func (c *CreativeFieldValuesPatchCall) Header() http.Header {
 25892  	if c.header_ == nil {
 25893  		c.header_ = make(http.Header)
 25894  	}
 25895  	return c.header_
 25896  }
 25897  
 25898  func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
 25899  	reqHeaders := make(http.Header)
 25900  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 25901  	for k, v := range c.header_ {
 25902  		reqHeaders[k] = v
 25903  	}
 25904  	reqHeaders.Set("User-Agent", c.s.userAgent())
 25905  	var body io.Reader = nil
 25906  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 25907  	if err != nil {
 25908  		return nil, err
 25909  	}
 25910  	reqHeaders.Set("Content-Type", "application/json")
 25911  	c.urlParams_.Set("alt", alt)
 25912  	c.urlParams_.Set("prettyPrint", "false")
 25913  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 25914  	urls += "?" + c.urlParams_.Encode()
 25915  	req, err := http.NewRequest("PATCH", urls, body)
 25916  	if err != nil {
 25917  		return nil, err
 25918  	}
 25919  	req.Header = reqHeaders
 25920  	googleapi.Expand(req.URL, map[string]string{
 25921  		"profileId":       strconv.FormatInt(c.profileId, 10),
 25922  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 25923  	})
 25924  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 25925  }
 25926  
 25927  // Do executes the "dfareporting.creativeFieldValues.patch" call.
 25928  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 25929  // non-2xx status code is an error. Response headers are in either
 25930  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 25931  // returned at all) in error.(*googleapi.Error).Header. Use
 25932  // googleapi.IsNotModified to check whether the returned error was
 25933  // because http.StatusNotModified was returned.
 25934  func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 25935  	gensupport.SetOptions(c.urlParams_, opts...)
 25936  	res, err := c.doRequest("json")
 25937  	if res != nil && res.StatusCode == http.StatusNotModified {
 25938  		if res.Body != nil {
 25939  			res.Body.Close()
 25940  		}
 25941  		return nil, &googleapi.Error{
 25942  			Code:   res.StatusCode,
 25943  			Header: res.Header,
 25944  		}
 25945  	}
 25946  	if err != nil {
 25947  		return nil, err
 25948  	}
 25949  	defer googleapi.CloseBody(res)
 25950  	if err := googleapi.CheckResponse(res); err != nil {
 25951  		return nil, err
 25952  	}
 25953  	ret := &CreativeFieldValue{
 25954  		ServerResponse: googleapi.ServerResponse{
 25955  			Header:         res.Header,
 25956  			HTTPStatusCode: res.StatusCode,
 25957  		},
 25958  	}
 25959  	target := &ret
 25960  	if err := gensupport.DecodeResponse(target, res); err != nil {
 25961  		return nil, err
 25962  	}
 25963  	return ret, nil
 25964  	// {
 25965  	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
 25966  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25967  	//   "httpMethod": "PATCH",
 25968  	//   "id": "dfareporting.creativeFieldValues.patch",
 25969  	//   "parameterOrder": [
 25970  	//     "profileId",
 25971  	//     "creativeFieldId",
 25972  	//     "id"
 25973  	//   ],
 25974  	//   "parameters": {
 25975  	//     "creativeFieldId": {
 25976  	//       "description": "CreativeField ID.",
 25977  	//       "format": "int64",
 25978  	//       "location": "path",
 25979  	//       "required": true,
 25980  	//       "type": "string"
 25981  	//     },
 25982  	//     "id": {
 25983  	//       "description": "CreativeFieldValue ID.",
 25984  	//       "format": "int64",
 25985  	//       "location": "query",
 25986  	//       "required": true,
 25987  	//       "type": "string"
 25988  	//     },
 25989  	//     "profileId": {
 25990  	//       "description": "User profile ID associated with this request.",
 25991  	//       "format": "int64",
 25992  	//       "location": "path",
 25993  	//       "required": true,
 25994  	//       "type": "string"
 25995  	//     }
 25996  	//   },
 25997  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 25998  	//   "request": {
 25999  	//     "$ref": "CreativeFieldValue"
 26000  	//   },
 26001  	//   "response": {
 26002  	//     "$ref": "CreativeFieldValue"
 26003  	//   },
 26004  	//   "scopes": [
 26005  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26006  	//   ]
 26007  	// }
 26008  
 26009  }
 26010  
 26011  // method id "dfareporting.creativeFieldValues.update":
 26012  
 26013  type CreativeFieldValuesUpdateCall struct {
 26014  	s                  *Service
 26015  	profileId          int64
 26016  	creativeFieldId    int64
 26017  	creativefieldvalue *CreativeFieldValue
 26018  	urlParams_         gensupport.URLParams
 26019  	ctx_               context.Context
 26020  	header_            http.Header
 26021  }
 26022  
 26023  // Update: Updates an existing creative field value.
 26024  //
 26025  // - creativeFieldId: Creative field ID for this creative field value.
 26026  // - profileId: User profile ID associated with this request.
 26027  func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
 26028  	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26029  	c.profileId = profileId
 26030  	c.creativeFieldId = creativeFieldId
 26031  	c.creativefieldvalue = creativefieldvalue
 26032  	return c
 26033  }
 26034  
 26035  // Fields allows partial responses to be retrieved. See
 26036  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26037  // for more information.
 26038  func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
 26039  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26040  	return c
 26041  }
 26042  
 26043  // Context sets the context to be used in this call's Do method. Any
 26044  // pending HTTP request will be aborted if the provided context is
 26045  // canceled.
 26046  func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
 26047  	c.ctx_ = ctx
 26048  	return c
 26049  }
 26050  
 26051  // Header returns an http.Header that can be modified by the caller to
 26052  // add HTTP headers to the request.
 26053  func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
 26054  	if c.header_ == nil {
 26055  		c.header_ = make(http.Header)
 26056  	}
 26057  	return c.header_
 26058  }
 26059  
 26060  func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
 26061  	reqHeaders := make(http.Header)
 26062  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26063  	for k, v := range c.header_ {
 26064  		reqHeaders[k] = v
 26065  	}
 26066  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26067  	var body io.Reader = nil
 26068  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
 26069  	if err != nil {
 26070  		return nil, err
 26071  	}
 26072  	reqHeaders.Set("Content-Type", "application/json")
 26073  	c.urlParams_.Set("alt", alt)
 26074  	c.urlParams_.Set("prettyPrint", "false")
 26075  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
 26076  	urls += "?" + c.urlParams_.Encode()
 26077  	req, err := http.NewRequest("PUT", urls, body)
 26078  	if err != nil {
 26079  		return nil, err
 26080  	}
 26081  	req.Header = reqHeaders
 26082  	googleapi.Expand(req.URL, map[string]string{
 26083  		"profileId":       strconv.FormatInt(c.profileId, 10),
 26084  		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
 26085  	})
 26086  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26087  }
 26088  
 26089  // Do executes the "dfareporting.creativeFieldValues.update" call.
 26090  // Exactly one of *CreativeFieldValue or error will be non-nil. Any
 26091  // non-2xx status code is an error. Response headers are in either
 26092  // *CreativeFieldValue.ServerResponse.Header or (if a response was
 26093  // returned at all) in error.(*googleapi.Error).Header. Use
 26094  // googleapi.IsNotModified to check whether the returned error was
 26095  // because http.StatusNotModified was returned.
 26096  func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
 26097  	gensupport.SetOptions(c.urlParams_, opts...)
 26098  	res, err := c.doRequest("json")
 26099  	if res != nil && res.StatusCode == http.StatusNotModified {
 26100  		if res.Body != nil {
 26101  			res.Body.Close()
 26102  		}
 26103  		return nil, &googleapi.Error{
 26104  			Code:   res.StatusCode,
 26105  			Header: res.Header,
 26106  		}
 26107  	}
 26108  	if err != nil {
 26109  		return nil, err
 26110  	}
 26111  	defer googleapi.CloseBody(res)
 26112  	if err := googleapi.CheckResponse(res); err != nil {
 26113  		return nil, err
 26114  	}
 26115  	ret := &CreativeFieldValue{
 26116  		ServerResponse: googleapi.ServerResponse{
 26117  			Header:         res.Header,
 26118  			HTTPStatusCode: res.StatusCode,
 26119  		},
 26120  	}
 26121  	target := &ret
 26122  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26123  		return nil, err
 26124  	}
 26125  	return ret, nil
 26126  	// {
 26127  	//   "description": "Updates an existing creative field value.",
 26128  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26129  	//   "httpMethod": "PUT",
 26130  	//   "id": "dfareporting.creativeFieldValues.update",
 26131  	//   "parameterOrder": [
 26132  	//     "profileId",
 26133  	//     "creativeFieldId"
 26134  	//   ],
 26135  	//   "parameters": {
 26136  	//     "creativeFieldId": {
 26137  	//       "description": "Creative field ID for this creative field value.",
 26138  	//       "format": "int64",
 26139  	//       "location": "path",
 26140  	//       "required": true,
 26141  	//       "type": "string"
 26142  	//     },
 26143  	//     "profileId": {
 26144  	//       "description": "User profile ID associated with this request.",
 26145  	//       "format": "int64",
 26146  	//       "location": "path",
 26147  	//       "required": true,
 26148  	//       "type": "string"
 26149  	//     }
 26150  	//   },
 26151  	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
 26152  	//   "request": {
 26153  	//     "$ref": "CreativeFieldValue"
 26154  	//   },
 26155  	//   "response": {
 26156  	//     "$ref": "CreativeFieldValue"
 26157  	//   },
 26158  	//   "scopes": [
 26159  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26160  	//   ]
 26161  	// }
 26162  
 26163  }
 26164  
 26165  // method id "dfareporting.creativeFields.delete":
 26166  
 26167  type CreativeFieldsDeleteCall struct {
 26168  	s          *Service
 26169  	profileId  int64
 26170  	id         int64
 26171  	urlParams_ gensupport.URLParams
 26172  	ctx_       context.Context
 26173  	header_    http.Header
 26174  }
 26175  
 26176  // Delete: Deletes an existing creative field.
 26177  //
 26178  // - id: Creative Field ID.
 26179  // - profileId: User profile ID associated with this request.
 26180  func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
 26181  	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26182  	c.profileId = profileId
 26183  	c.id = id
 26184  	return c
 26185  }
 26186  
 26187  // Fields allows partial responses to be retrieved. See
 26188  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26189  // for more information.
 26190  func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
 26191  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26192  	return c
 26193  }
 26194  
 26195  // Context sets the context to be used in this call's Do method. Any
 26196  // pending HTTP request will be aborted if the provided context is
 26197  // canceled.
 26198  func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
 26199  	c.ctx_ = ctx
 26200  	return c
 26201  }
 26202  
 26203  // Header returns an http.Header that can be modified by the caller to
 26204  // add HTTP headers to the request.
 26205  func (c *CreativeFieldsDeleteCall) Header() http.Header {
 26206  	if c.header_ == nil {
 26207  		c.header_ = make(http.Header)
 26208  	}
 26209  	return c.header_
 26210  }
 26211  
 26212  func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
 26213  	reqHeaders := make(http.Header)
 26214  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26215  	for k, v := range c.header_ {
 26216  		reqHeaders[k] = v
 26217  	}
 26218  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26219  	var body io.Reader = nil
 26220  	c.urlParams_.Set("alt", alt)
 26221  	c.urlParams_.Set("prettyPrint", "false")
 26222  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 26223  	urls += "?" + c.urlParams_.Encode()
 26224  	req, err := http.NewRequest("DELETE", urls, body)
 26225  	if err != nil {
 26226  		return nil, err
 26227  	}
 26228  	req.Header = reqHeaders
 26229  	googleapi.Expand(req.URL, map[string]string{
 26230  		"profileId": strconv.FormatInt(c.profileId, 10),
 26231  		"id":        strconv.FormatInt(c.id, 10),
 26232  	})
 26233  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26234  }
 26235  
 26236  // Do executes the "dfareporting.creativeFields.delete" call.
 26237  func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
 26238  	gensupport.SetOptions(c.urlParams_, opts...)
 26239  	res, err := c.doRequest("json")
 26240  	if err != nil {
 26241  		return err
 26242  	}
 26243  	defer googleapi.CloseBody(res)
 26244  	if err := googleapi.CheckResponse(res); err != nil {
 26245  		return err
 26246  	}
 26247  	return nil
 26248  	// {
 26249  	//   "description": "Deletes an existing creative field.",
 26250  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
 26251  	//   "httpMethod": "DELETE",
 26252  	//   "id": "dfareporting.creativeFields.delete",
 26253  	//   "parameterOrder": [
 26254  	//     "profileId",
 26255  	//     "id"
 26256  	//   ],
 26257  	//   "parameters": {
 26258  	//     "id": {
 26259  	//       "description": "Creative Field ID",
 26260  	//       "format": "int64",
 26261  	//       "location": "path",
 26262  	//       "required": true,
 26263  	//       "type": "string"
 26264  	//     },
 26265  	//     "profileId": {
 26266  	//       "description": "User profile ID associated with this request.",
 26267  	//       "format": "int64",
 26268  	//       "location": "path",
 26269  	//       "required": true,
 26270  	//       "type": "string"
 26271  	//     }
 26272  	//   },
 26273  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 26274  	//   "scopes": [
 26275  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26276  	//   ]
 26277  	// }
 26278  
 26279  }
 26280  
 26281  // method id "dfareporting.creativeFields.get":
 26282  
 26283  type CreativeFieldsGetCall struct {
 26284  	s            *Service
 26285  	profileId    int64
 26286  	id           int64
 26287  	urlParams_   gensupport.URLParams
 26288  	ifNoneMatch_ string
 26289  	ctx_         context.Context
 26290  	header_      http.Header
 26291  }
 26292  
 26293  // Get: Gets one creative field by ID.
 26294  //
 26295  // - id: Creative Field ID.
 26296  // - profileId: User profile ID associated with this request.
 26297  func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
 26298  	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26299  	c.profileId = profileId
 26300  	c.id = id
 26301  	return c
 26302  }
 26303  
 26304  // Fields allows partial responses to be retrieved. See
 26305  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26306  // for more information.
 26307  func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
 26308  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26309  	return c
 26310  }
 26311  
 26312  // IfNoneMatch sets the optional parameter which makes the operation
 26313  // fail if the object's ETag matches the given value. This is useful for
 26314  // getting updates only after the object has changed since the last
 26315  // request. Use googleapi.IsNotModified to check whether the response
 26316  // error from Do is the result of In-None-Match.
 26317  func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
 26318  	c.ifNoneMatch_ = entityTag
 26319  	return c
 26320  }
 26321  
 26322  // Context sets the context to be used in this call's Do method. Any
 26323  // pending HTTP request will be aborted if the provided context is
 26324  // canceled.
 26325  func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
 26326  	c.ctx_ = ctx
 26327  	return c
 26328  }
 26329  
 26330  // Header returns an http.Header that can be modified by the caller to
 26331  // add HTTP headers to the request.
 26332  func (c *CreativeFieldsGetCall) Header() http.Header {
 26333  	if c.header_ == nil {
 26334  		c.header_ = make(http.Header)
 26335  	}
 26336  	return c.header_
 26337  }
 26338  
 26339  func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
 26340  	reqHeaders := make(http.Header)
 26341  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26342  	for k, v := range c.header_ {
 26343  		reqHeaders[k] = v
 26344  	}
 26345  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26346  	if c.ifNoneMatch_ != "" {
 26347  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26348  	}
 26349  	var body io.Reader = nil
 26350  	c.urlParams_.Set("alt", alt)
 26351  	c.urlParams_.Set("prettyPrint", "false")
 26352  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
 26353  	urls += "?" + c.urlParams_.Encode()
 26354  	req, err := http.NewRequest("GET", urls, body)
 26355  	if err != nil {
 26356  		return nil, err
 26357  	}
 26358  	req.Header = reqHeaders
 26359  	googleapi.Expand(req.URL, map[string]string{
 26360  		"profileId": strconv.FormatInt(c.profileId, 10),
 26361  		"id":        strconv.FormatInt(c.id, 10),
 26362  	})
 26363  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26364  }
 26365  
 26366  // Do executes the "dfareporting.creativeFields.get" call.
 26367  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26368  // status code is an error. Response headers are in either
 26369  // *CreativeField.ServerResponse.Header or (if a response was returned
 26370  // at all) in error.(*googleapi.Error).Header. Use
 26371  // googleapi.IsNotModified to check whether the returned error was
 26372  // because http.StatusNotModified was returned.
 26373  func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26374  	gensupport.SetOptions(c.urlParams_, opts...)
 26375  	res, err := c.doRequest("json")
 26376  	if res != nil && res.StatusCode == http.StatusNotModified {
 26377  		if res.Body != nil {
 26378  			res.Body.Close()
 26379  		}
 26380  		return nil, &googleapi.Error{
 26381  			Code:   res.StatusCode,
 26382  			Header: res.Header,
 26383  		}
 26384  	}
 26385  	if err != nil {
 26386  		return nil, err
 26387  	}
 26388  	defer googleapi.CloseBody(res)
 26389  	if err := googleapi.CheckResponse(res); err != nil {
 26390  		return nil, err
 26391  	}
 26392  	ret := &CreativeField{
 26393  		ServerResponse: googleapi.ServerResponse{
 26394  			Header:         res.Header,
 26395  			HTTPStatusCode: res.StatusCode,
 26396  		},
 26397  	}
 26398  	target := &ret
 26399  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26400  		return nil, err
 26401  	}
 26402  	return ret, nil
 26403  	// {
 26404  	//   "description": "Gets one creative field by ID.",
 26405  	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
 26406  	//   "httpMethod": "GET",
 26407  	//   "id": "dfareporting.creativeFields.get",
 26408  	//   "parameterOrder": [
 26409  	//     "profileId",
 26410  	//     "id"
 26411  	//   ],
 26412  	//   "parameters": {
 26413  	//     "id": {
 26414  	//       "description": "Creative Field ID",
 26415  	//       "format": "int64",
 26416  	//       "location": "path",
 26417  	//       "required": true,
 26418  	//       "type": "string"
 26419  	//     },
 26420  	//     "profileId": {
 26421  	//       "description": "User profile ID associated with this request.",
 26422  	//       "format": "int64",
 26423  	//       "location": "path",
 26424  	//       "required": true,
 26425  	//       "type": "string"
 26426  	//     }
 26427  	//   },
 26428  	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
 26429  	//   "response": {
 26430  	//     "$ref": "CreativeField"
 26431  	//   },
 26432  	//   "scopes": [
 26433  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26434  	//   ]
 26435  	// }
 26436  
 26437  }
 26438  
 26439  // method id "dfareporting.creativeFields.insert":
 26440  
 26441  type CreativeFieldsInsertCall struct {
 26442  	s             *Service
 26443  	profileId     int64
 26444  	creativefield *CreativeField
 26445  	urlParams_    gensupport.URLParams
 26446  	ctx_          context.Context
 26447  	header_       http.Header
 26448  }
 26449  
 26450  // Insert: Inserts a new creative field.
 26451  //
 26452  // - profileId: User profile ID associated with this request.
 26453  func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
 26454  	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26455  	c.profileId = profileId
 26456  	c.creativefield = creativefield
 26457  	return c
 26458  }
 26459  
 26460  // Fields allows partial responses to be retrieved. See
 26461  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26462  // for more information.
 26463  func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
 26464  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26465  	return c
 26466  }
 26467  
 26468  // Context sets the context to be used in this call's Do method. Any
 26469  // pending HTTP request will be aborted if the provided context is
 26470  // canceled.
 26471  func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
 26472  	c.ctx_ = ctx
 26473  	return c
 26474  }
 26475  
 26476  // Header returns an http.Header that can be modified by the caller to
 26477  // add HTTP headers to the request.
 26478  func (c *CreativeFieldsInsertCall) Header() http.Header {
 26479  	if c.header_ == nil {
 26480  		c.header_ = make(http.Header)
 26481  	}
 26482  	return c.header_
 26483  }
 26484  
 26485  func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
 26486  	reqHeaders := make(http.Header)
 26487  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26488  	for k, v := range c.header_ {
 26489  		reqHeaders[k] = v
 26490  	}
 26491  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26492  	var body io.Reader = nil
 26493  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26494  	if err != nil {
 26495  		return nil, err
 26496  	}
 26497  	reqHeaders.Set("Content-Type", "application/json")
 26498  	c.urlParams_.Set("alt", alt)
 26499  	c.urlParams_.Set("prettyPrint", "false")
 26500  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26501  	urls += "?" + c.urlParams_.Encode()
 26502  	req, err := http.NewRequest("POST", urls, body)
 26503  	if err != nil {
 26504  		return nil, err
 26505  	}
 26506  	req.Header = reqHeaders
 26507  	googleapi.Expand(req.URL, map[string]string{
 26508  		"profileId": strconv.FormatInt(c.profileId, 10),
 26509  	})
 26510  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26511  }
 26512  
 26513  // Do executes the "dfareporting.creativeFields.insert" call.
 26514  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26515  // status code is an error. Response headers are in either
 26516  // *CreativeField.ServerResponse.Header or (if a response was returned
 26517  // at all) in error.(*googleapi.Error).Header. Use
 26518  // googleapi.IsNotModified to check whether the returned error was
 26519  // because http.StatusNotModified was returned.
 26520  func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26521  	gensupport.SetOptions(c.urlParams_, opts...)
 26522  	res, err := c.doRequest("json")
 26523  	if res != nil && res.StatusCode == http.StatusNotModified {
 26524  		if res.Body != nil {
 26525  			res.Body.Close()
 26526  		}
 26527  		return nil, &googleapi.Error{
 26528  			Code:   res.StatusCode,
 26529  			Header: res.Header,
 26530  		}
 26531  	}
 26532  	if err != nil {
 26533  		return nil, err
 26534  	}
 26535  	defer googleapi.CloseBody(res)
 26536  	if err := googleapi.CheckResponse(res); err != nil {
 26537  		return nil, err
 26538  	}
 26539  	ret := &CreativeField{
 26540  		ServerResponse: googleapi.ServerResponse{
 26541  			Header:         res.Header,
 26542  			HTTPStatusCode: res.StatusCode,
 26543  		},
 26544  	}
 26545  	target := &ret
 26546  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26547  		return nil, err
 26548  	}
 26549  	return ret, nil
 26550  	// {
 26551  	//   "description": "Inserts a new creative field.",
 26552  	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 26553  	//   "httpMethod": "POST",
 26554  	//   "id": "dfareporting.creativeFields.insert",
 26555  	//   "parameterOrder": [
 26556  	//     "profileId"
 26557  	//   ],
 26558  	//   "parameters": {
 26559  	//     "profileId": {
 26560  	//       "description": "User profile ID associated with this request.",
 26561  	//       "format": "int64",
 26562  	//       "location": "path",
 26563  	//       "required": true,
 26564  	//       "type": "string"
 26565  	//     }
 26566  	//   },
 26567  	//   "path": "userprofiles/{profileId}/creativeFields",
 26568  	//   "request": {
 26569  	//     "$ref": "CreativeField"
 26570  	//   },
 26571  	//   "response": {
 26572  	//     "$ref": "CreativeField"
 26573  	//   },
 26574  	//   "scopes": [
 26575  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26576  	//   ]
 26577  	// }
 26578  
 26579  }
 26580  
 26581  // method id "dfareporting.creativeFields.list":
 26582  
 26583  type CreativeFieldsListCall struct {
 26584  	s            *Service
 26585  	profileId    int64
 26586  	urlParams_   gensupport.URLParams
 26587  	ifNoneMatch_ string
 26588  	ctx_         context.Context
 26589  	header_      http.Header
 26590  }
 26591  
 26592  // List: Retrieves a list of creative fields, possibly filtered. This
 26593  // method supports paging.
 26594  //
 26595  // - profileId: User profile ID associated with this request.
 26596  func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
 26597  	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26598  	c.profileId = profileId
 26599  	return c
 26600  }
 26601  
 26602  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 26603  // only creative fields that belong to these advertisers.
 26604  func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
 26605  	var advertiserIds_ []string
 26606  	for _, v := range advertiserIds {
 26607  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 26608  	}
 26609  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 26610  	return c
 26611  }
 26612  
 26613  // Ids sets the optional parameter "ids": Select only creative fields
 26614  // with these IDs.
 26615  func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
 26616  	var ids_ []string
 26617  	for _, v := range ids {
 26618  		ids_ = append(ids_, fmt.Sprint(v))
 26619  	}
 26620  	c.urlParams_.SetMulti("ids", ids_)
 26621  	return c
 26622  }
 26623  
 26624  // MaxResults sets the optional parameter "maxResults": Maximum number
 26625  // of results to return.
 26626  func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
 26627  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 26628  	return c
 26629  }
 26630  
 26631  // PageToken sets the optional parameter "pageToken": Value of the
 26632  // nextPageToken from the previous result page.
 26633  func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
 26634  	c.urlParams_.Set("pageToken", pageToken)
 26635  	return c
 26636  }
 26637  
 26638  // SearchString sets the optional parameter "searchString": Allows
 26639  // searching for creative fields by name or ID. Wildcards (*) are
 26640  // allowed. For example, "creativefield*2015" will return creative
 26641  // fields with names like "creativefield June 2015", "creativefield
 26642  // April 2015", or simply "creativefield 2015". Most of the searches
 26643  // also add wild-cards implicitly at the start and the end of the search
 26644  // string. For example, a search string of "creativefield" will match
 26645  // creative fields with the name "my creativefield", "creativefield
 26646  // 2015", or simply "creativefield".
 26647  func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
 26648  	c.urlParams_.Set("searchString", searchString)
 26649  	return c
 26650  }
 26651  
 26652  // SortField sets the optional parameter "sortField": Field by which to
 26653  // sort the list.
 26654  //
 26655  // Possible values:
 26656  //
 26657  //	"ID" (default)
 26658  //	"NAME"
 26659  func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
 26660  	c.urlParams_.Set("sortField", sortField)
 26661  	return c
 26662  }
 26663  
 26664  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 26665  // results.
 26666  //
 26667  // Possible values:
 26668  //
 26669  //	"ASCENDING" (default)
 26670  //	"DESCENDING"
 26671  func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
 26672  	c.urlParams_.Set("sortOrder", sortOrder)
 26673  	return c
 26674  }
 26675  
 26676  // Fields allows partial responses to be retrieved. See
 26677  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26678  // for more information.
 26679  func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
 26680  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26681  	return c
 26682  }
 26683  
 26684  // IfNoneMatch sets the optional parameter which makes the operation
 26685  // fail if the object's ETag matches the given value. This is useful for
 26686  // getting updates only after the object has changed since the last
 26687  // request. Use googleapi.IsNotModified to check whether the response
 26688  // error from Do is the result of In-None-Match.
 26689  func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
 26690  	c.ifNoneMatch_ = entityTag
 26691  	return c
 26692  }
 26693  
 26694  // Context sets the context to be used in this call's Do method. Any
 26695  // pending HTTP request will be aborted if the provided context is
 26696  // canceled.
 26697  func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
 26698  	c.ctx_ = ctx
 26699  	return c
 26700  }
 26701  
 26702  // Header returns an http.Header that can be modified by the caller to
 26703  // add HTTP headers to the request.
 26704  func (c *CreativeFieldsListCall) Header() http.Header {
 26705  	if c.header_ == nil {
 26706  		c.header_ = make(http.Header)
 26707  	}
 26708  	return c.header_
 26709  }
 26710  
 26711  func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
 26712  	reqHeaders := make(http.Header)
 26713  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26714  	for k, v := range c.header_ {
 26715  		reqHeaders[k] = v
 26716  	}
 26717  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26718  	if c.ifNoneMatch_ != "" {
 26719  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 26720  	}
 26721  	var body io.Reader = nil
 26722  	c.urlParams_.Set("alt", alt)
 26723  	c.urlParams_.Set("prettyPrint", "false")
 26724  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26725  	urls += "?" + c.urlParams_.Encode()
 26726  	req, err := http.NewRequest("GET", urls, body)
 26727  	if err != nil {
 26728  		return nil, err
 26729  	}
 26730  	req.Header = reqHeaders
 26731  	googleapi.Expand(req.URL, map[string]string{
 26732  		"profileId": strconv.FormatInt(c.profileId, 10),
 26733  	})
 26734  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26735  }
 26736  
 26737  // Do executes the "dfareporting.creativeFields.list" call.
 26738  // Exactly one of *CreativeFieldsListResponse or error will be non-nil.
 26739  // Any non-2xx status code is an error. Response headers are in either
 26740  // *CreativeFieldsListResponse.ServerResponse.Header or (if a response
 26741  // was returned at all) in error.(*googleapi.Error).Header. Use
 26742  // googleapi.IsNotModified to check whether the returned error was
 26743  // because http.StatusNotModified was returned.
 26744  func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
 26745  	gensupport.SetOptions(c.urlParams_, opts...)
 26746  	res, err := c.doRequest("json")
 26747  	if res != nil && res.StatusCode == http.StatusNotModified {
 26748  		if res.Body != nil {
 26749  			res.Body.Close()
 26750  		}
 26751  		return nil, &googleapi.Error{
 26752  			Code:   res.StatusCode,
 26753  			Header: res.Header,
 26754  		}
 26755  	}
 26756  	if err != nil {
 26757  		return nil, err
 26758  	}
 26759  	defer googleapi.CloseBody(res)
 26760  	if err := googleapi.CheckResponse(res); err != nil {
 26761  		return nil, err
 26762  	}
 26763  	ret := &CreativeFieldsListResponse{
 26764  		ServerResponse: googleapi.ServerResponse{
 26765  			Header:         res.Header,
 26766  			HTTPStatusCode: res.StatusCode,
 26767  		},
 26768  	}
 26769  	target := &ret
 26770  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26771  		return nil, err
 26772  	}
 26773  	return ret, nil
 26774  	// {
 26775  	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
 26776  	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 26777  	//   "httpMethod": "GET",
 26778  	//   "id": "dfareporting.creativeFields.list",
 26779  	//   "parameterOrder": [
 26780  	//     "profileId"
 26781  	//   ],
 26782  	//   "parameters": {
 26783  	//     "advertiserIds": {
 26784  	//       "description": "Select only creative fields that belong to these advertisers.",
 26785  	//       "format": "int64",
 26786  	//       "location": "query",
 26787  	//       "repeated": true,
 26788  	//       "type": "string"
 26789  	//     },
 26790  	//     "ids": {
 26791  	//       "description": "Select only creative fields with these IDs.",
 26792  	//       "format": "int64",
 26793  	//       "location": "query",
 26794  	//       "repeated": true,
 26795  	//       "type": "string"
 26796  	//     },
 26797  	//     "maxResults": {
 26798  	//       "default": "1000",
 26799  	//       "description": "Maximum number of results to return.",
 26800  	//       "format": "int32",
 26801  	//       "location": "query",
 26802  	//       "maximum": "1000",
 26803  	//       "minimum": "0",
 26804  	//       "type": "integer"
 26805  	//     },
 26806  	//     "pageToken": {
 26807  	//       "description": "Value of the nextPageToken from the previous result page.",
 26808  	//       "location": "query",
 26809  	//       "type": "string"
 26810  	//     },
 26811  	//     "profileId": {
 26812  	//       "description": "User profile ID associated with this request.",
 26813  	//       "format": "int64",
 26814  	//       "location": "path",
 26815  	//       "required": true,
 26816  	//       "type": "string"
 26817  	//     },
 26818  	//     "searchString": {
 26819  	//       "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\".",
 26820  	//       "location": "query",
 26821  	//       "type": "string"
 26822  	//     },
 26823  	//     "sortField": {
 26824  	//       "default": "ID",
 26825  	//       "description": "Field by which to sort the list.",
 26826  	//       "enum": [
 26827  	//         "ID",
 26828  	//         "NAME"
 26829  	//       ],
 26830  	//       "enumDescriptions": [
 26831  	//         "",
 26832  	//         ""
 26833  	//       ],
 26834  	//       "location": "query",
 26835  	//       "type": "string"
 26836  	//     },
 26837  	//     "sortOrder": {
 26838  	//       "default": "ASCENDING",
 26839  	//       "description": "Order of sorted results.",
 26840  	//       "enum": [
 26841  	//         "ASCENDING",
 26842  	//         "DESCENDING"
 26843  	//       ],
 26844  	//       "enumDescriptions": [
 26845  	//         "",
 26846  	//         ""
 26847  	//       ],
 26848  	//       "location": "query",
 26849  	//       "type": "string"
 26850  	//     }
 26851  	//   },
 26852  	//   "path": "userprofiles/{profileId}/creativeFields",
 26853  	//   "response": {
 26854  	//     "$ref": "CreativeFieldsListResponse"
 26855  	//   },
 26856  	//   "scopes": [
 26857  	//     "https://www.googleapis.com/auth/dfatrafficking"
 26858  	//   ]
 26859  	// }
 26860  
 26861  }
 26862  
 26863  // Pages invokes f for each page of results.
 26864  // A non-nil error returned from f will halt the iteration.
 26865  // The provided context supersedes any context provided to the Context method.
 26866  func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
 26867  	c.ctx_ = ctx
 26868  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 26869  	for {
 26870  		x, err := c.Do()
 26871  		if err != nil {
 26872  			return err
 26873  		}
 26874  		if err := f(x); err != nil {
 26875  			return err
 26876  		}
 26877  		if x.NextPageToken == "" {
 26878  			return nil
 26879  		}
 26880  		c.PageToken(x.NextPageToken)
 26881  	}
 26882  }
 26883  
 26884  // method id "dfareporting.creativeFields.patch":
 26885  
 26886  type CreativeFieldsPatchCall struct {
 26887  	s             *Service
 26888  	profileId     int64
 26889  	creativefield *CreativeField
 26890  	urlParams_    gensupport.URLParams
 26891  	ctx_          context.Context
 26892  	header_       http.Header
 26893  }
 26894  
 26895  // Patch: Updates an existing creative field. This method supports patch
 26896  // semantics.
 26897  //
 26898  // - id: CreativeField ID.
 26899  // - profileId: User profile ID associated with this request.
 26900  func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
 26901  	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 26902  	c.profileId = profileId
 26903  	c.urlParams_.Set("id", fmt.Sprint(id))
 26904  	c.creativefield = creativefield
 26905  	return c
 26906  }
 26907  
 26908  // Fields allows partial responses to be retrieved. See
 26909  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 26910  // for more information.
 26911  func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
 26912  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 26913  	return c
 26914  }
 26915  
 26916  // Context sets the context to be used in this call's Do method. Any
 26917  // pending HTTP request will be aborted if the provided context is
 26918  // canceled.
 26919  func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
 26920  	c.ctx_ = ctx
 26921  	return c
 26922  }
 26923  
 26924  // Header returns an http.Header that can be modified by the caller to
 26925  // add HTTP headers to the request.
 26926  func (c *CreativeFieldsPatchCall) Header() http.Header {
 26927  	if c.header_ == nil {
 26928  		c.header_ = make(http.Header)
 26929  	}
 26930  	return c.header_
 26931  }
 26932  
 26933  func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
 26934  	reqHeaders := make(http.Header)
 26935  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 26936  	for k, v := range c.header_ {
 26937  		reqHeaders[k] = v
 26938  	}
 26939  	reqHeaders.Set("User-Agent", c.s.userAgent())
 26940  	var body io.Reader = nil
 26941  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 26942  	if err != nil {
 26943  		return nil, err
 26944  	}
 26945  	reqHeaders.Set("Content-Type", "application/json")
 26946  	c.urlParams_.Set("alt", alt)
 26947  	c.urlParams_.Set("prettyPrint", "false")
 26948  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 26949  	urls += "?" + c.urlParams_.Encode()
 26950  	req, err := http.NewRequest("PATCH", urls, body)
 26951  	if err != nil {
 26952  		return nil, err
 26953  	}
 26954  	req.Header = reqHeaders
 26955  	googleapi.Expand(req.URL, map[string]string{
 26956  		"profileId": strconv.FormatInt(c.profileId, 10),
 26957  	})
 26958  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 26959  }
 26960  
 26961  // Do executes the "dfareporting.creativeFields.patch" call.
 26962  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 26963  // status code is an error. Response headers are in either
 26964  // *CreativeField.ServerResponse.Header or (if a response was returned
 26965  // at all) in error.(*googleapi.Error).Header. Use
 26966  // googleapi.IsNotModified to check whether the returned error was
 26967  // because http.StatusNotModified was returned.
 26968  func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 26969  	gensupport.SetOptions(c.urlParams_, opts...)
 26970  	res, err := c.doRequest("json")
 26971  	if res != nil && res.StatusCode == http.StatusNotModified {
 26972  		if res.Body != nil {
 26973  			res.Body.Close()
 26974  		}
 26975  		return nil, &googleapi.Error{
 26976  			Code:   res.StatusCode,
 26977  			Header: res.Header,
 26978  		}
 26979  	}
 26980  	if err != nil {
 26981  		return nil, err
 26982  	}
 26983  	defer googleapi.CloseBody(res)
 26984  	if err := googleapi.CheckResponse(res); err != nil {
 26985  		return nil, err
 26986  	}
 26987  	ret := &CreativeField{
 26988  		ServerResponse: googleapi.ServerResponse{
 26989  			Header:         res.Header,
 26990  			HTTPStatusCode: res.StatusCode,
 26991  		},
 26992  	}
 26993  	target := &ret
 26994  	if err := gensupport.DecodeResponse(target, res); err != nil {
 26995  		return nil, err
 26996  	}
 26997  	return ret, nil
 26998  	// {
 26999  	//   "description": "Updates an existing creative field. This method supports patch semantics.",
 27000  	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 27001  	//   "httpMethod": "PATCH",
 27002  	//   "id": "dfareporting.creativeFields.patch",
 27003  	//   "parameterOrder": [
 27004  	//     "profileId",
 27005  	//     "id"
 27006  	//   ],
 27007  	//   "parameters": {
 27008  	//     "id": {
 27009  	//       "description": "CreativeField ID.",
 27010  	//       "format": "int64",
 27011  	//       "location": "query",
 27012  	//       "required": true,
 27013  	//       "type": "string"
 27014  	//     },
 27015  	//     "profileId": {
 27016  	//       "description": "User profile ID associated with this request.",
 27017  	//       "format": "int64",
 27018  	//       "location": "path",
 27019  	//       "required": true,
 27020  	//       "type": "string"
 27021  	//     }
 27022  	//   },
 27023  	//   "path": "userprofiles/{profileId}/creativeFields",
 27024  	//   "request": {
 27025  	//     "$ref": "CreativeField"
 27026  	//   },
 27027  	//   "response": {
 27028  	//     "$ref": "CreativeField"
 27029  	//   },
 27030  	//   "scopes": [
 27031  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27032  	//   ]
 27033  	// }
 27034  
 27035  }
 27036  
 27037  // method id "dfareporting.creativeFields.update":
 27038  
 27039  type CreativeFieldsUpdateCall struct {
 27040  	s             *Service
 27041  	profileId     int64
 27042  	creativefield *CreativeField
 27043  	urlParams_    gensupport.URLParams
 27044  	ctx_          context.Context
 27045  	header_       http.Header
 27046  }
 27047  
 27048  // Update: Updates an existing creative field.
 27049  //
 27050  // - profileId: User profile ID associated with this request.
 27051  func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
 27052  	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27053  	c.profileId = profileId
 27054  	c.creativefield = creativefield
 27055  	return c
 27056  }
 27057  
 27058  // Fields allows partial responses to be retrieved. See
 27059  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27060  // for more information.
 27061  func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
 27062  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27063  	return c
 27064  }
 27065  
 27066  // Context sets the context to be used in this call's Do method. Any
 27067  // pending HTTP request will be aborted if the provided context is
 27068  // canceled.
 27069  func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
 27070  	c.ctx_ = ctx
 27071  	return c
 27072  }
 27073  
 27074  // Header returns an http.Header that can be modified by the caller to
 27075  // add HTTP headers to the request.
 27076  func (c *CreativeFieldsUpdateCall) Header() http.Header {
 27077  	if c.header_ == nil {
 27078  		c.header_ = make(http.Header)
 27079  	}
 27080  	return c.header_
 27081  }
 27082  
 27083  func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
 27084  	reqHeaders := make(http.Header)
 27085  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27086  	for k, v := range c.header_ {
 27087  		reqHeaders[k] = v
 27088  	}
 27089  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27090  	var body io.Reader = nil
 27091  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
 27092  	if err != nil {
 27093  		return nil, err
 27094  	}
 27095  	reqHeaders.Set("Content-Type", "application/json")
 27096  	c.urlParams_.Set("alt", alt)
 27097  	c.urlParams_.Set("prettyPrint", "false")
 27098  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
 27099  	urls += "?" + c.urlParams_.Encode()
 27100  	req, err := http.NewRequest("PUT", urls, body)
 27101  	if err != nil {
 27102  		return nil, err
 27103  	}
 27104  	req.Header = reqHeaders
 27105  	googleapi.Expand(req.URL, map[string]string{
 27106  		"profileId": strconv.FormatInt(c.profileId, 10),
 27107  	})
 27108  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27109  }
 27110  
 27111  // Do executes the "dfareporting.creativeFields.update" call.
 27112  // Exactly one of *CreativeField or error will be non-nil. Any non-2xx
 27113  // status code is an error. Response headers are in either
 27114  // *CreativeField.ServerResponse.Header or (if a response was returned
 27115  // at all) in error.(*googleapi.Error).Header. Use
 27116  // googleapi.IsNotModified to check whether the returned error was
 27117  // because http.StatusNotModified was returned.
 27118  func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
 27119  	gensupport.SetOptions(c.urlParams_, opts...)
 27120  	res, err := c.doRequest("json")
 27121  	if res != nil && res.StatusCode == http.StatusNotModified {
 27122  		if res.Body != nil {
 27123  			res.Body.Close()
 27124  		}
 27125  		return nil, &googleapi.Error{
 27126  			Code:   res.StatusCode,
 27127  			Header: res.Header,
 27128  		}
 27129  	}
 27130  	if err != nil {
 27131  		return nil, err
 27132  	}
 27133  	defer googleapi.CloseBody(res)
 27134  	if err := googleapi.CheckResponse(res); err != nil {
 27135  		return nil, err
 27136  	}
 27137  	ret := &CreativeField{
 27138  		ServerResponse: googleapi.ServerResponse{
 27139  			Header:         res.Header,
 27140  			HTTPStatusCode: res.StatusCode,
 27141  		},
 27142  	}
 27143  	target := &ret
 27144  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27145  		return nil, err
 27146  	}
 27147  	return ret, nil
 27148  	// {
 27149  	//   "description": "Updates an existing creative field.",
 27150  	//   "flatPath": "userprofiles/{profileId}/creativeFields",
 27151  	//   "httpMethod": "PUT",
 27152  	//   "id": "dfareporting.creativeFields.update",
 27153  	//   "parameterOrder": [
 27154  	//     "profileId"
 27155  	//   ],
 27156  	//   "parameters": {
 27157  	//     "profileId": {
 27158  	//       "description": "User profile ID associated with this request.",
 27159  	//       "format": "int64",
 27160  	//       "location": "path",
 27161  	//       "required": true,
 27162  	//       "type": "string"
 27163  	//     }
 27164  	//   },
 27165  	//   "path": "userprofiles/{profileId}/creativeFields",
 27166  	//   "request": {
 27167  	//     "$ref": "CreativeField"
 27168  	//   },
 27169  	//   "response": {
 27170  	//     "$ref": "CreativeField"
 27171  	//   },
 27172  	//   "scopes": [
 27173  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27174  	//   ]
 27175  	// }
 27176  
 27177  }
 27178  
 27179  // method id "dfareporting.creativeGroups.get":
 27180  
 27181  type CreativeGroupsGetCall struct {
 27182  	s            *Service
 27183  	profileId    int64
 27184  	id           int64
 27185  	urlParams_   gensupport.URLParams
 27186  	ifNoneMatch_ string
 27187  	ctx_         context.Context
 27188  	header_      http.Header
 27189  }
 27190  
 27191  // Get: Gets one creative group by ID.
 27192  //
 27193  // - id: Creative group ID.
 27194  // - profileId: User profile ID associated with this request.
 27195  func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
 27196  	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27197  	c.profileId = profileId
 27198  	c.id = id
 27199  	return c
 27200  }
 27201  
 27202  // Fields allows partial responses to be retrieved. See
 27203  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27204  // for more information.
 27205  func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
 27206  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27207  	return c
 27208  }
 27209  
 27210  // IfNoneMatch sets the optional parameter which makes the operation
 27211  // fail if the object's ETag matches the given value. This is useful for
 27212  // getting updates only after the object has changed since the last
 27213  // request. Use googleapi.IsNotModified to check whether the response
 27214  // error from Do is the result of In-None-Match.
 27215  func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
 27216  	c.ifNoneMatch_ = entityTag
 27217  	return c
 27218  }
 27219  
 27220  // Context sets the context to be used in this call's Do method. Any
 27221  // pending HTTP request will be aborted if the provided context is
 27222  // canceled.
 27223  func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
 27224  	c.ctx_ = ctx
 27225  	return c
 27226  }
 27227  
 27228  // Header returns an http.Header that can be modified by the caller to
 27229  // add HTTP headers to the request.
 27230  func (c *CreativeGroupsGetCall) Header() http.Header {
 27231  	if c.header_ == nil {
 27232  		c.header_ = make(http.Header)
 27233  	}
 27234  	return c.header_
 27235  }
 27236  
 27237  func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 27238  	reqHeaders := make(http.Header)
 27239  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27240  	for k, v := range c.header_ {
 27241  		reqHeaders[k] = v
 27242  	}
 27243  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27244  	if c.ifNoneMatch_ != "" {
 27245  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27246  	}
 27247  	var body io.Reader = nil
 27248  	c.urlParams_.Set("alt", alt)
 27249  	c.urlParams_.Set("prettyPrint", "false")
 27250  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
 27251  	urls += "?" + c.urlParams_.Encode()
 27252  	req, err := http.NewRequest("GET", urls, body)
 27253  	if err != nil {
 27254  		return nil, err
 27255  	}
 27256  	req.Header = reqHeaders
 27257  	googleapi.Expand(req.URL, map[string]string{
 27258  		"profileId": strconv.FormatInt(c.profileId, 10),
 27259  		"id":        strconv.FormatInt(c.id, 10),
 27260  	})
 27261  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27262  }
 27263  
 27264  // Do executes the "dfareporting.creativeGroups.get" call.
 27265  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27266  // status code is an error. Response headers are in either
 27267  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27268  // at all) in error.(*googleapi.Error).Header. Use
 27269  // googleapi.IsNotModified to check whether the returned error was
 27270  // because http.StatusNotModified was returned.
 27271  func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27272  	gensupport.SetOptions(c.urlParams_, opts...)
 27273  	res, err := c.doRequest("json")
 27274  	if res != nil && res.StatusCode == http.StatusNotModified {
 27275  		if res.Body != nil {
 27276  			res.Body.Close()
 27277  		}
 27278  		return nil, &googleapi.Error{
 27279  			Code:   res.StatusCode,
 27280  			Header: res.Header,
 27281  		}
 27282  	}
 27283  	if err != nil {
 27284  		return nil, err
 27285  	}
 27286  	defer googleapi.CloseBody(res)
 27287  	if err := googleapi.CheckResponse(res); err != nil {
 27288  		return nil, err
 27289  	}
 27290  	ret := &CreativeGroup{
 27291  		ServerResponse: googleapi.ServerResponse{
 27292  			Header:         res.Header,
 27293  			HTTPStatusCode: res.StatusCode,
 27294  		},
 27295  	}
 27296  	target := &ret
 27297  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27298  		return nil, err
 27299  	}
 27300  	return ret, nil
 27301  	// {
 27302  	//   "description": "Gets one creative group by ID.",
 27303  	//   "flatPath": "userprofiles/{profileId}/creativeGroups/{id}",
 27304  	//   "httpMethod": "GET",
 27305  	//   "id": "dfareporting.creativeGroups.get",
 27306  	//   "parameterOrder": [
 27307  	//     "profileId",
 27308  	//     "id"
 27309  	//   ],
 27310  	//   "parameters": {
 27311  	//     "id": {
 27312  	//       "description": "Creative group ID.",
 27313  	//       "format": "int64",
 27314  	//       "location": "path",
 27315  	//       "required": true,
 27316  	//       "type": "string"
 27317  	//     },
 27318  	//     "profileId": {
 27319  	//       "description": "User profile ID associated with this request.",
 27320  	//       "format": "int64",
 27321  	//       "location": "path",
 27322  	//       "required": true,
 27323  	//       "type": "string"
 27324  	//     }
 27325  	//   },
 27326  	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
 27327  	//   "response": {
 27328  	//     "$ref": "CreativeGroup"
 27329  	//   },
 27330  	//   "scopes": [
 27331  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27332  	//   ]
 27333  	// }
 27334  
 27335  }
 27336  
 27337  // method id "dfareporting.creativeGroups.insert":
 27338  
 27339  type CreativeGroupsInsertCall struct {
 27340  	s             *Service
 27341  	profileId     int64
 27342  	creativegroup *CreativeGroup
 27343  	urlParams_    gensupport.URLParams
 27344  	ctx_          context.Context
 27345  	header_       http.Header
 27346  }
 27347  
 27348  // Insert: Inserts a new creative group.
 27349  //
 27350  // - profileId: User profile ID associated with this request.
 27351  func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
 27352  	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27353  	c.profileId = profileId
 27354  	c.creativegroup = creativegroup
 27355  	return c
 27356  }
 27357  
 27358  // Fields allows partial responses to be retrieved. See
 27359  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27360  // for more information.
 27361  func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
 27362  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27363  	return c
 27364  }
 27365  
 27366  // Context sets the context to be used in this call's Do method. Any
 27367  // pending HTTP request will be aborted if the provided context is
 27368  // canceled.
 27369  func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
 27370  	c.ctx_ = ctx
 27371  	return c
 27372  }
 27373  
 27374  // Header returns an http.Header that can be modified by the caller to
 27375  // add HTTP headers to the request.
 27376  func (c *CreativeGroupsInsertCall) Header() http.Header {
 27377  	if c.header_ == nil {
 27378  		c.header_ = make(http.Header)
 27379  	}
 27380  	return c.header_
 27381  }
 27382  
 27383  func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 27384  	reqHeaders := make(http.Header)
 27385  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27386  	for k, v := range c.header_ {
 27387  		reqHeaders[k] = v
 27388  	}
 27389  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27390  	var body io.Reader = nil
 27391  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27392  	if err != nil {
 27393  		return nil, err
 27394  	}
 27395  	reqHeaders.Set("Content-Type", "application/json")
 27396  	c.urlParams_.Set("alt", alt)
 27397  	c.urlParams_.Set("prettyPrint", "false")
 27398  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27399  	urls += "?" + c.urlParams_.Encode()
 27400  	req, err := http.NewRequest("POST", urls, body)
 27401  	if err != nil {
 27402  		return nil, err
 27403  	}
 27404  	req.Header = reqHeaders
 27405  	googleapi.Expand(req.URL, map[string]string{
 27406  		"profileId": strconv.FormatInt(c.profileId, 10),
 27407  	})
 27408  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27409  }
 27410  
 27411  // Do executes the "dfareporting.creativeGroups.insert" call.
 27412  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27413  // status code is an error. Response headers are in either
 27414  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27415  // at all) in error.(*googleapi.Error).Header. Use
 27416  // googleapi.IsNotModified to check whether the returned error was
 27417  // because http.StatusNotModified was returned.
 27418  func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27419  	gensupport.SetOptions(c.urlParams_, opts...)
 27420  	res, err := c.doRequest("json")
 27421  	if res != nil && res.StatusCode == http.StatusNotModified {
 27422  		if res.Body != nil {
 27423  			res.Body.Close()
 27424  		}
 27425  		return nil, &googleapi.Error{
 27426  			Code:   res.StatusCode,
 27427  			Header: res.Header,
 27428  		}
 27429  	}
 27430  	if err != nil {
 27431  		return nil, err
 27432  	}
 27433  	defer googleapi.CloseBody(res)
 27434  	if err := googleapi.CheckResponse(res); err != nil {
 27435  		return nil, err
 27436  	}
 27437  	ret := &CreativeGroup{
 27438  		ServerResponse: googleapi.ServerResponse{
 27439  			Header:         res.Header,
 27440  			HTTPStatusCode: res.StatusCode,
 27441  		},
 27442  	}
 27443  	target := &ret
 27444  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27445  		return nil, err
 27446  	}
 27447  	return ret, nil
 27448  	// {
 27449  	//   "description": "Inserts a new creative group.",
 27450  	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 27451  	//   "httpMethod": "POST",
 27452  	//   "id": "dfareporting.creativeGroups.insert",
 27453  	//   "parameterOrder": [
 27454  	//     "profileId"
 27455  	//   ],
 27456  	//   "parameters": {
 27457  	//     "profileId": {
 27458  	//       "description": "User profile ID associated with this request.",
 27459  	//       "format": "int64",
 27460  	//       "location": "path",
 27461  	//       "required": true,
 27462  	//       "type": "string"
 27463  	//     }
 27464  	//   },
 27465  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27466  	//   "request": {
 27467  	//     "$ref": "CreativeGroup"
 27468  	//   },
 27469  	//   "response": {
 27470  	//     "$ref": "CreativeGroup"
 27471  	//   },
 27472  	//   "scopes": [
 27473  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27474  	//   ]
 27475  	// }
 27476  
 27477  }
 27478  
 27479  // method id "dfareporting.creativeGroups.list":
 27480  
 27481  type CreativeGroupsListCall struct {
 27482  	s            *Service
 27483  	profileId    int64
 27484  	urlParams_   gensupport.URLParams
 27485  	ifNoneMatch_ string
 27486  	ctx_         context.Context
 27487  	header_      http.Header
 27488  }
 27489  
 27490  // List: Retrieves a list of creative groups, possibly filtered. This
 27491  // method supports paging.
 27492  //
 27493  // - profileId: User profile ID associated with this request.
 27494  func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
 27495  	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27496  	c.profileId = profileId
 27497  	return c
 27498  }
 27499  
 27500  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 27501  // only creative groups that belong to these advertisers.
 27502  func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
 27503  	var advertiserIds_ []string
 27504  	for _, v := range advertiserIds {
 27505  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 27506  	}
 27507  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 27508  	return c
 27509  }
 27510  
 27511  // GroupNumber sets the optional parameter "groupNumber": Select only
 27512  // creative groups that belong to this subgroup.
 27513  func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
 27514  	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
 27515  	return c
 27516  }
 27517  
 27518  // Ids sets the optional parameter "ids": Select only creative groups
 27519  // with these IDs.
 27520  func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
 27521  	var ids_ []string
 27522  	for _, v := range ids {
 27523  		ids_ = append(ids_, fmt.Sprint(v))
 27524  	}
 27525  	c.urlParams_.SetMulti("ids", ids_)
 27526  	return c
 27527  }
 27528  
 27529  // MaxResults sets the optional parameter "maxResults": Maximum number
 27530  // of results to return.
 27531  func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
 27532  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 27533  	return c
 27534  }
 27535  
 27536  // PageToken sets the optional parameter "pageToken": Value of the
 27537  // nextPageToken from the previous result page.
 27538  func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
 27539  	c.urlParams_.Set("pageToken", pageToken)
 27540  	return c
 27541  }
 27542  
 27543  // SearchString sets the optional parameter "searchString": Allows
 27544  // searching for creative groups by name or ID. Wildcards (*) are
 27545  // allowed. For example, "creativegroup*2015" will return creative
 27546  // groups with names like "creativegroup June 2015", "creativegroup
 27547  // April 2015", or simply "creativegroup 2015". Most of the searches
 27548  // also add wild-cards implicitly at the start and the end of the search
 27549  // string. For example, a search string of "creativegroup" will match
 27550  // creative groups with the name "my creativegroup", "creativegroup
 27551  // 2015", or simply "creativegroup".
 27552  func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
 27553  	c.urlParams_.Set("searchString", searchString)
 27554  	return c
 27555  }
 27556  
 27557  // SortField sets the optional parameter "sortField": Field by which to
 27558  // sort the list.
 27559  //
 27560  // Possible values:
 27561  //
 27562  //	"ID" (default)
 27563  //	"NAME"
 27564  func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
 27565  	c.urlParams_.Set("sortField", sortField)
 27566  	return c
 27567  }
 27568  
 27569  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 27570  // results.
 27571  //
 27572  // Possible values:
 27573  //
 27574  //	"ASCENDING" (default)
 27575  //	"DESCENDING"
 27576  func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
 27577  	c.urlParams_.Set("sortOrder", sortOrder)
 27578  	return c
 27579  }
 27580  
 27581  // Fields allows partial responses to be retrieved. See
 27582  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27583  // for more information.
 27584  func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
 27585  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27586  	return c
 27587  }
 27588  
 27589  // IfNoneMatch sets the optional parameter which makes the operation
 27590  // fail if the object's ETag matches the given value. This is useful for
 27591  // getting updates only after the object has changed since the last
 27592  // request. Use googleapi.IsNotModified to check whether the response
 27593  // error from Do is the result of In-None-Match.
 27594  func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
 27595  	c.ifNoneMatch_ = entityTag
 27596  	return c
 27597  }
 27598  
 27599  // Context sets the context to be used in this call's Do method. Any
 27600  // pending HTTP request will be aborted if the provided context is
 27601  // canceled.
 27602  func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
 27603  	c.ctx_ = ctx
 27604  	return c
 27605  }
 27606  
 27607  // Header returns an http.Header that can be modified by the caller to
 27608  // add HTTP headers to the request.
 27609  func (c *CreativeGroupsListCall) Header() http.Header {
 27610  	if c.header_ == nil {
 27611  		c.header_ = make(http.Header)
 27612  	}
 27613  	return c.header_
 27614  }
 27615  
 27616  func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
 27617  	reqHeaders := make(http.Header)
 27618  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27619  	for k, v := range c.header_ {
 27620  		reqHeaders[k] = v
 27621  	}
 27622  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27623  	if c.ifNoneMatch_ != "" {
 27624  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 27625  	}
 27626  	var body io.Reader = nil
 27627  	c.urlParams_.Set("alt", alt)
 27628  	c.urlParams_.Set("prettyPrint", "false")
 27629  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27630  	urls += "?" + c.urlParams_.Encode()
 27631  	req, err := http.NewRequest("GET", urls, body)
 27632  	if err != nil {
 27633  		return nil, err
 27634  	}
 27635  	req.Header = reqHeaders
 27636  	googleapi.Expand(req.URL, map[string]string{
 27637  		"profileId": strconv.FormatInt(c.profileId, 10),
 27638  	})
 27639  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27640  }
 27641  
 27642  // Do executes the "dfareporting.creativeGroups.list" call.
 27643  // Exactly one of *CreativeGroupsListResponse or error will be non-nil.
 27644  // Any non-2xx status code is an error. Response headers are in either
 27645  // *CreativeGroupsListResponse.ServerResponse.Header or (if a response
 27646  // was returned at all) in error.(*googleapi.Error).Header. Use
 27647  // googleapi.IsNotModified to check whether the returned error was
 27648  // because http.StatusNotModified was returned.
 27649  func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
 27650  	gensupport.SetOptions(c.urlParams_, opts...)
 27651  	res, err := c.doRequest("json")
 27652  	if res != nil && res.StatusCode == http.StatusNotModified {
 27653  		if res.Body != nil {
 27654  			res.Body.Close()
 27655  		}
 27656  		return nil, &googleapi.Error{
 27657  			Code:   res.StatusCode,
 27658  			Header: res.Header,
 27659  		}
 27660  	}
 27661  	if err != nil {
 27662  		return nil, err
 27663  	}
 27664  	defer googleapi.CloseBody(res)
 27665  	if err := googleapi.CheckResponse(res); err != nil {
 27666  		return nil, err
 27667  	}
 27668  	ret := &CreativeGroupsListResponse{
 27669  		ServerResponse: googleapi.ServerResponse{
 27670  			Header:         res.Header,
 27671  			HTTPStatusCode: res.StatusCode,
 27672  		},
 27673  	}
 27674  	target := &ret
 27675  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27676  		return nil, err
 27677  	}
 27678  	return ret, nil
 27679  	// {
 27680  	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
 27681  	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 27682  	//   "httpMethod": "GET",
 27683  	//   "id": "dfareporting.creativeGroups.list",
 27684  	//   "parameterOrder": [
 27685  	//     "profileId"
 27686  	//   ],
 27687  	//   "parameters": {
 27688  	//     "advertiserIds": {
 27689  	//       "description": "Select only creative groups that belong to these advertisers.",
 27690  	//       "format": "int64",
 27691  	//       "location": "query",
 27692  	//       "repeated": true,
 27693  	//       "type": "string"
 27694  	//     },
 27695  	//     "groupNumber": {
 27696  	//       "description": "Select only creative groups that belong to this subgroup.",
 27697  	//       "format": "int32",
 27698  	//       "location": "query",
 27699  	//       "maximum": "2",
 27700  	//       "minimum": "1",
 27701  	//       "type": "integer"
 27702  	//     },
 27703  	//     "ids": {
 27704  	//       "description": "Select only creative groups with these IDs.",
 27705  	//       "format": "int64",
 27706  	//       "location": "query",
 27707  	//       "repeated": true,
 27708  	//       "type": "string"
 27709  	//     },
 27710  	//     "maxResults": {
 27711  	//       "default": "1000",
 27712  	//       "description": "Maximum number of results to return.",
 27713  	//       "format": "int32",
 27714  	//       "location": "query",
 27715  	//       "maximum": "1000",
 27716  	//       "minimum": "0",
 27717  	//       "type": "integer"
 27718  	//     },
 27719  	//     "pageToken": {
 27720  	//       "description": "Value of the nextPageToken from the previous result page.",
 27721  	//       "location": "query",
 27722  	//       "type": "string"
 27723  	//     },
 27724  	//     "profileId": {
 27725  	//       "description": "User profile ID associated with this request.",
 27726  	//       "format": "int64",
 27727  	//       "location": "path",
 27728  	//       "required": true,
 27729  	//       "type": "string"
 27730  	//     },
 27731  	//     "searchString": {
 27732  	//       "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\".",
 27733  	//       "location": "query",
 27734  	//       "type": "string"
 27735  	//     },
 27736  	//     "sortField": {
 27737  	//       "default": "ID",
 27738  	//       "description": "Field by which to sort the list.",
 27739  	//       "enum": [
 27740  	//         "ID",
 27741  	//         "NAME"
 27742  	//       ],
 27743  	//       "enumDescriptions": [
 27744  	//         "",
 27745  	//         ""
 27746  	//       ],
 27747  	//       "location": "query",
 27748  	//       "type": "string"
 27749  	//     },
 27750  	//     "sortOrder": {
 27751  	//       "default": "ASCENDING",
 27752  	//       "description": "Order of sorted results.",
 27753  	//       "enum": [
 27754  	//         "ASCENDING",
 27755  	//         "DESCENDING"
 27756  	//       ],
 27757  	//       "enumDescriptions": [
 27758  	//         "",
 27759  	//         ""
 27760  	//       ],
 27761  	//       "location": "query",
 27762  	//       "type": "string"
 27763  	//     }
 27764  	//   },
 27765  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27766  	//   "response": {
 27767  	//     "$ref": "CreativeGroupsListResponse"
 27768  	//   },
 27769  	//   "scopes": [
 27770  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27771  	//   ]
 27772  	// }
 27773  
 27774  }
 27775  
 27776  // Pages invokes f for each page of results.
 27777  // A non-nil error returned from f will halt the iteration.
 27778  // The provided context supersedes any context provided to the Context method.
 27779  func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
 27780  	c.ctx_ = ctx
 27781  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 27782  	for {
 27783  		x, err := c.Do()
 27784  		if err != nil {
 27785  			return err
 27786  		}
 27787  		if err := f(x); err != nil {
 27788  			return err
 27789  		}
 27790  		if x.NextPageToken == "" {
 27791  			return nil
 27792  		}
 27793  		c.PageToken(x.NextPageToken)
 27794  	}
 27795  }
 27796  
 27797  // method id "dfareporting.creativeGroups.patch":
 27798  
 27799  type CreativeGroupsPatchCall struct {
 27800  	s             *Service
 27801  	profileId     int64
 27802  	creativegroup *CreativeGroup
 27803  	urlParams_    gensupport.URLParams
 27804  	ctx_          context.Context
 27805  	header_       http.Header
 27806  }
 27807  
 27808  // Patch: Updates an existing creative group. This method supports patch
 27809  // semantics.
 27810  //
 27811  // - id: CreativeGroup ID.
 27812  // - profileId: User profile ID associated with this request.
 27813  func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
 27814  	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27815  	c.profileId = profileId
 27816  	c.urlParams_.Set("id", fmt.Sprint(id))
 27817  	c.creativegroup = creativegroup
 27818  	return c
 27819  }
 27820  
 27821  // Fields allows partial responses to be retrieved. See
 27822  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27823  // for more information.
 27824  func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
 27825  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27826  	return c
 27827  }
 27828  
 27829  // Context sets the context to be used in this call's Do method. Any
 27830  // pending HTTP request will be aborted if the provided context is
 27831  // canceled.
 27832  func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
 27833  	c.ctx_ = ctx
 27834  	return c
 27835  }
 27836  
 27837  // Header returns an http.Header that can be modified by the caller to
 27838  // add HTTP headers to the request.
 27839  func (c *CreativeGroupsPatchCall) Header() http.Header {
 27840  	if c.header_ == nil {
 27841  		c.header_ = make(http.Header)
 27842  	}
 27843  	return c.header_
 27844  }
 27845  
 27846  func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 27847  	reqHeaders := make(http.Header)
 27848  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27849  	for k, v := range c.header_ {
 27850  		reqHeaders[k] = v
 27851  	}
 27852  	reqHeaders.Set("User-Agent", c.s.userAgent())
 27853  	var body io.Reader = nil
 27854  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 27855  	if err != nil {
 27856  		return nil, err
 27857  	}
 27858  	reqHeaders.Set("Content-Type", "application/json")
 27859  	c.urlParams_.Set("alt", alt)
 27860  	c.urlParams_.Set("prettyPrint", "false")
 27861  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 27862  	urls += "?" + c.urlParams_.Encode()
 27863  	req, err := http.NewRequest("PATCH", urls, body)
 27864  	if err != nil {
 27865  		return nil, err
 27866  	}
 27867  	req.Header = reqHeaders
 27868  	googleapi.Expand(req.URL, map[string]string{
 27869  		"profileId": strconv.FormatInt(c.profileId, 10),
 27870  	})
 27871  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 27872  }
 27873  
 27874  // Do executes the "dfareporting.creativeGroups.patch" call.
 27875  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 27876  // status code is an error. Response headers are in either
 27877  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 27878  // at all) in error.(*googleapi.Error).Header. Use
 27879  // googleapi.IsNotModified to check whether the returned error was
 27880  // because http.StatusNotModified was returned.
 27881  func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 27882  	gensupport.SetOptions(c.urlParams_, opts...)
 27883  	res, err := c.doRequest("json")
 27884  	if res != nil && res.StatusCode == http.StatusNotModified {
 27885  		if res.Body != nil {
 27886  			res.Body.Close()
 27887  		}
 27888  		return nil, &googleapi.Error{
 27889  			Code:   res.StatusCode,
 27890  			Header: res.Header,
 27891  		}
 27892  	}
 27893  	if err != nil {
 27894  		return nil, err
 27895  	}
 27896  	defer googleapi.CloseBody(res)
 27897  	if err := googleapi.CheckResponse(res); err != nil {
 27898  		return nil, err
 27899  	}
 27900  	ret := &CreativeGroup{
 27901  		ServerResponse: googleapi.ServerResponse{
 27902  			Header:         res.Header,
 27903  			HTTPStatusCode: res.StatusCode,
 27904  		},
 27905  	}
 27906  	target := &ret
 27907  	if err := gensupport.DecodeResponse(target, res); err != nil {
 27908  		return nil, err
 27909  	}
 27910  	return ret, nil
 27911  	// {
 27912  	//   "description": "Updates an existing creative group. This method supports patch semantics.",
 27913  	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 27914  	//   "httpMethod": "PATCH",
 27915  	//   "id": "dfareporting.creativeGroups.patch",
 27916  	//   "parameterOrder": [
 27917  	//     "profileId",
 27918  	//     "id"
 27919  	//   ],
 27920  	//   "parameters": {
 27921  	//     "id": {
 27922  	//       "description": "CreativeGroup ID.",
 27923  	//       "format": "int64",
 27924  	//       "location": "query",
 27925  	//       "required": true,
 27926  	//       "type": "string"
 27927  	//     },
 27928  	//     "profileId": {
 27929  	//       "description": "User profile ID associated with this request.",
 27930  	//       "format": "int64",
 27931  	//       "location": "path",
 27932  	//       "required": true,
 27933  	//       "type": "string"
 27934  	//     }
 27935  	//   },
 27936  	//   "path": "userprofiles/{profileId}/creativeGroups",
 27937  	//   "request": {
 27938  	//     "$ref": "CreativeGroup"
 27939  	//   },
 27940  	//   "response": {
 27941  	//     "$ref": "CreativeGroup"
 27942  	//   },
 27943  	//   "scopes": [
 27944  	//     "https://www.googleapis.com/auth/dfatrafficking"
 27945  	//   ]
 27946  	// }
 27947  
 27948  }
 27949  
 27950  // method id "dfareporting.creativeGroups.update":
 27951  
 27952  type CreativeGroupsUpdateCall struct {
 27953  	s             *Service
 27954  	profileId     int64
 27955  	creativegroup *CreativeGroup
 27956  	urlParams_    gensupport.URLParams
 27957  	ctx_          context.Context
 27958  	header_       http.Header
 27959  }
 27960  
 27961  // Update: Updates an existing creative group.
 27962  //
 27963  // - profileId: User profile ID associated with this request.
 27964  func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
 27965  	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 27966  	c.profileId = profileId
 27967  	c.creativegroup = creativegroup
 27968  	return c
 27969  }
 27970  
 27971  // Fields allows partial responses to be retrieved. See
 27972  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 27973  // for more information.
 27974  func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
 27975  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 27976  	return c
 27977  }
 27978  
 27979  // Context sets the context to be used in this call's Do method. Any
 27980  // pending HTTP request will be aborted if the provided context is
 27981  // canceled.
 27982  func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
 27983  	c.ctx_ = ctx
 27984  	return c
 27985  }
 27986  
 27987  // Header returns an http.Header that can be modified by the caller to
 27988  // add HTTP headers to the request.
 27989  func (c *CreativeGroupsUpdateCall) Header() http.Header {
 27990  	if c.header_ == nil {
 27991  		c.header_ = make(http.Header)
 27992  	}
 27993  	return c.header_
 27994  }
 27995  
 27996  func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 27997  	reqHeaders := make(http.Header)
 27998  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 27999  	for k, v := range c.header_ {
 28000  		reqHeaders[k] = v
 28001  	}
 28002  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28003  	var body io.Reader = nil
 28004  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
 28005  	if err != nil {
 28006  		return nil, err
 28007  	}
 28008  	reqHeaders.Set("Content-Type", "application/json")
 28009  	c.urlParams_.Set("alt", alt)
 28010  	c.urlParams_.Set("prettyPrint", "false")
 28011  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
 28012  	urls += "?" + c.urlParams_.Encode()
 28013  	req, err := http.NewRequest("PUT", urls, body)
 28014  	if err != nil {
 28015  		return nil, err
 28016  	}
 28017  	req.Header = reqHeaders
 28018  	googleapi.Expand(req.URL, map[string]string{
 28019  		"profileId": strconv.FormatInt(c.profileId, 10),
 28020  	})
 28021  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28022  }
 28023  
 28024  // Do executes the "dfareporting.creativeGroups.update" call.
 28025  // Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
 28026  // status code is an error. Response headers are in either
 28027  // *CreativeGroup.ServerResponse.Header or (if a response was returned
 28028  // at all) in error.(*googleapi.Error).Header. Use
 28029  // googleapi.IsNotModified to check whether the returned error was
 28030  // because http.StatusNotModified was returned.
 28031  func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
 28032  	gensupport.SetOptions(c.urlParams_, opts...)
 28033  	res, err := c.doRequest("json")
 28034  	if res != nil && res.StatusCode == http.StatusNotModified {
 28035  		if res.Body != nil {
 28036  			res.Body.Close()
 28037  		}
 28038  		return nil, &googleapi.Error{
 28039  			Code:   res.StatusCode,
 28040  			Header: res.Header,
 28041  		}
 28042  	}
 28043  	if err != nil {
 28044  		return nil, err
 28045  	}
 28046  	defer googleapi.CloseBody(res)
 28047  	if err := googleapi.CheckResponse(res); err != nil {
 28048  		return nil, err
 28049  	}
 28050  	ret := &CreativeGroup{
 28051  		ServerResponse: googleapi.ServerResponse{
 28052  			Header:         res.Header,
 28053  			HTTPStatusCode: res.StatusCode,
 28054  		},
 28055  	}
 28056  	target := &ret
 28057  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28058  		return nil, err
 28059  	}
 28060  	return ret, nil
 28061  	// {
 28062  	//   "description": "Updates an existing creative group.",
 28063  	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
 28064  	//   "httpMethod": "PUT",
 28065  	//   "id": "dfareporting.creativeGroups.update",
 28066  	//   "parameterOrder": [
 28067  	//     "profileId"
 28068  	//   ],
 28069  	//   "parameters": {
 28070  	//     "profileId": {
 28071  	//       "description": "User profile ID associated with this request.",
 28072  	//       "format": "int64",
 28073  	//       "location": "path",
 28074  	//       "required": true,
 28075  	//       "type": "string"
 28076  	//     }
 28077  	//   },
 28078  	//   "path": "userprofiles/{profileId}/creativeGroups",
 28079  	//   "request": {
 28080  	//     "$ref": "CreativeGroup"
 28081  	//   },
 28082  	//   "response": {
 28083  	//     "$ref": "CreativeGroup"
 28084  	//   },
 28085  	//   "scopes": [
 28086  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28087  	//   ]
 28088  	// }
 28089  
 28090  }
 28091  
 28092  // method id "dfareporting.creatives.get":
 28093  
 28094  type CreativesGetCall struct {
 28095  	s            *Service
 28096  	profileId    int64
 28097  	id           int64
 28098  	urlParams_   gensupport.URLParams
 28099  	ifNoneMatch_ string
 28100  	ctx_         context.Context
 28101  	header_      http.Header
 28102  }
 28103  
 28104  // Get: Gets one creative by ID.
 28105  //
 28106  // - id: Creative ID.
 28107  // - profileId: User profile ID associated with this request.
 28108  func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
 28109  	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28110  	c.profileId = profileId
 28111  	c.id = id
 28112  	return c
 28113  }
 28114  
 28115  // Fields allows partial responses to be retrieved. See
 28116  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28117  // for more information.
 28118  func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
 28119  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28120  	return c
 28121  }
 28122  
 28123  // IfNoneMatch sets the optional parameter which makes the operation
 28124  // fail if the object's ETag matches the given value. This is useful for
 28125  // getting updates only after the object has changed since the last
 28126  // request. Use googleapi.IsNotModified to check whether the response
 28127  // error from Do is the result of In-None-Match.
 28128  func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
 28129  	c.ifNoneMatch_ = entityTag
 28130  	return c
 28131  }
 28132  
 28133  // Context sets the context to be used in this call's Do method. Any
 28134  // pending HTTP request will be aborted if the provided context is
 28135  // canceled.
 28136  func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
 28137  	c.ctx_ = ctx
 28138  	return c
 28139  }
 28140  
 28141  // Header returns an http.Header that can be modified by the caller to
 28142  // add HTTP headers to the request.
 28143  func (c *CreativesGetCall) Header() http.Header {
 28144  	if c.header_ == nil {
 28145  		c.header_ = make(http.Header)
 28146  	}
 28147  	return c.header_
 28148  }
 28149  
 28150  func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
 28151  	reqHeaders := make(http.Header)
 28152  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28153  	for k, v := range c.header_ {
 28154  		reqHeaders[k] = v
 28155  	}
 28156  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28157  	if c.ifNoneMatch_ != "" {
 28158  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28159  	}
 28160  	var body io.Reader = nil
 28161  	c.urlParams_.Set("alt", alt)
 28162  	c.urlParams_.Set("prettyPrint", "false")
 28163  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
 28164  	urls += "?" + c.urlParams_.Encode()
 28165  	req, err := http.NewRequest("GET", urls, body)
 28166  	if err != nil {
 28167  		return nil, err
 28168  	}
 28169  	req.Header = reqHeaders
 28170  	googleapi.Expand(req.URL, map[string]string{
 28171  		"profileId": strconv.FormatInt(c.profileId, 10),
 28172  		"id":        strconv.FormatInt(c.id, 10),
 28173  	})
 28174  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28175  }
 28176  
 28177  // Do executes the "dfareporting.creatives.get" call.
 28178  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28179  // code is an error. Response headers are in either
 28180  // *Creative.ServerResponse.Header or (if a response was returned at
 28181  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28182  // to check whether the returned error was because
 28183  // http.StatusNotModified was returned.
 28184  func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28185  	gensupport.SetOptions(c.urlParams_, opts...)
 28186  	res, err := c.doRequest("json")
 28187  	if res != nil && res.StatusCode == http.StatusNotModified {
 28188  		if res.Body != nil {
 28189  			res.Body.Close()
 28190  		}
 28191  		return nil, &googleapi.Error{
 28192  			Code:   res.StatusCode,
 28193  			Header: res.Header,
 28194  		}
 28195  	}
 28196  	if err != nil {
 28197  		return nil, err
 28198  	}
 28199  	defer googleapi.CloseBody(res)
 28200  	if err := googleapi.CheckResponse(res); err != nil {
 28201  		return nil, err
 28202  	}
 28203  	ret := &Creative{
 28204  		ServerResponse: googleapi.ServerResponse{
 28205  			Header:         res.Header,
 28206  			HTTPStatusCode: res.StatusCode,
 28207  		},
 28208  	}
 28209  	target := &ret
 28210  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28211  		return nil, err
 28212  	}
 28213  	return ret, nil
 28214  	// {
 28215  	//   "description": "Gets one creative by ID.",
 28216  	//   "flatPath": "userprofiles/{profileId}/creatives/{id}",
 28217  	//   "httpMethod": "GET",
 28218  	//   "id": "dfareporting.creatives.get",
 28219  	//   "parameterOrder": [
 28220  	//     "profileId",
 28221  	//     "id"
 28222  	//   ],
 28223  	//   "parameters": {
 28224  	//     "id": {
 28225  	//       "description": "Creative ID.",
 28226  	//       "format": "int64",
 28227  	//       "location": "path",
 28228  	//       "required": true,
 28229  	//       "type": "string"
 28230  	//     },
 28231  	//     "profileId": {
 28232  	//       "description": "User profile ID associated with this request.",
 28233  	//       "format": "int64",
 28234  	//       "location": "path",
 28235  	//       "required": true,
 28236  	//       "type": "string"
 28237  	//     }
 28238  	//   },
 28239  	//   "path": "userprofiles/{profileId}/creatives/{id}",
 28240  	//   "response": {
 28241  	//     "$ref": "Creative"
 28242  	//   },
 28243  	//   "scopes": [
 28244  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28245  	//   ]
 28246  	// }
 28247  
 28248  }
 28249  
 28250  // method id "dfareporting.creatives.insert":
 28251  
 28252  type CreativesInsertCall struct {
 28253  	s          *Service
 28254  	profileId  int64
 28255  	creative   *Creative
 28256  	urlParams_ gensupport.URLParams
 28257  	ctx_       context.Context
 28258  	header_    http.Header
 28259  }
 28260  
 28261  // Insert: Inserts a new creative.
 28262  //
 28263  // - profileId: User profile ID associated with this request.
 28264  func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
 28265  	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28266  	c.profileId = profileId
 28267  	c.creative = creative
 28268  	return c
 28269  }
 28270  
 28271  // Fields allows partial responses to be retrieved. See
 28272  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28273  // for more information.
 28274  func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
 28275  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28276  	return c
 28277  }
 28278  
 28279  // Context sets the context to be used in this call's Do method. Any
 28280  // pending HTTP request will be aborted if the provided context is
 28281  // canceled.
 28282  func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
 28283  	c.ctx_ = ctx
 28284  	return c
 28285  }
 28286  
 28287  // Header returns an http.Header that can be modified by the caller to
 28288  // add HTTP headers to the request.
 28289  func (c *CreativesInsertCall) Header() http.Header {
 28290  	if c.header_ == nil {
 28291  		c.header_ = make(http.Header)
 28292  	}
 28293  	return c.header_
 28294  }
 28295  
 28296  func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
 28297  	reqHeaders := make(http.Header)
 28298  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28299  	for k, v := range c.header_ {
 28300  		reqHeaders[k] = v
 28301  	}
 28302  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28303  	var body io.Reader = nil
 28304  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28305  	if err != nil {
 28306  		return nil, err
 28307  	}
 28308  	reqHeaders.Set("Content-Type", "application/json")
 28309  	c.urlParams_.Set("alt", alt)
 28310  	c.urlParams_.Set("prettyPrint", "false")
 28311  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28312  	urls += "?" + c.urlParams_.Encode()
 28313  	req, err := http.NewRequest("POST", urls, body)
 28314  	if err != nil {
 28315  		return nil, err
 28316  	}
 28317  	req.Header = reqHeaders
 28318  	googleapi.Expand(req.URL, map[string]string{
 28319  		"profileId": strconv.FormatInt(c.profileId, 10),
 28320  	})
 28321  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28322  }
 28323  
 28324  // Do executes the "dfareporting.creatives.insert" call.
 28325  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28326  // code is an error. Response headers are in either
 28327  // *Creative.ServerResponse.Header or (if a response was returned at
 28328  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28329  // to check whether the returned error was because
 28330  // http.StatusNotModified was returned.
 28331  func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28332  	gensupport.SetOptions(c.urlParams_, opts...)
 28333  	res, err := c.doRequest("json")
 28334  	if res != nil && res.StatusCode == http.StatusNotModified {
 28335  		if res.Body != nil {
 28336  			res.Body.Close()
 28337  		}
 28338  		return nil, &googleapi.Error{
 28339  			Code:   res.StatusCode,
 28340  			Header: res.Header,
 28341  		}
 28342  	}
 28343  	if err != nil {
 28344  		return nil, err
 28345  	}
 28346  	defer googleapi.CloseBody(res)
 28347  	if err := googleapi.CheckResponse(res); err != nil {
 28348  		return nil, err
 28349  	}
 28350  	ret := &Creative{
 28351  		ServerResponse: googleapi.ServerResponse{
 28352  			Header:         res.Header,
 28353  			HTTPStatusCode: res.StatusCode,
 28354  		},
 28355  	}
 28356  	target := &ret
 28357  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28358  		return nil, err
 28359  	}
 28360  	return ret, nil
 28361  	// {
 28362  	//   "description": "Inserts a new creative.",
 28363  	//   "flatPath": "userprofiles/{profileId}/creatives",
 28364  	//   "httpMethod": "POST",
 28365  	//   "id": "dfareporting.creatives.insert",
 28366  	//   "parameterOrder": [
 28367  	//     "profileId"
 28368  	//   ],
 28369  	//   "parameters": {
 28370  	//     "profileId": {
 28371  	//       "description": "User profile ID associated with this request.",
 28372  	//       "format": "int64",
 28373  	//       "location": "path",
 28374  	//       "required": true,
 28375  	//       "type": "string"
 28376  	//     }
 28377  	//   },
 28378  	//   "path": "userprofiles/{profileId}/creatives",
 28379  	//   "request": {
 28380  	//     "$ref": "Creative"
 28381  	//   },
 28382  	//   "response": {
 28383  	//     "$ref": "Creative"
 28384  	//   },
 28385  	//   "scopes": [
 28386  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28387  	//   ]
 28388  	// }
 28389  
 28390  }
 28391  
 28392  // method id "dfareporting.creatives.list":
 28393  
 28394  type CreativesListCall struct {
 28395  	s            *Service
 28396  	profileId    int64
 28397  	urlParams_   gensupport.URLParams
 28398  	ifNoneMatch_ string
 28399  	ctx_         context.Context
 28400  	header_      http.Header
 28401  }
 28402  
 28403  // List: Retrieves a list of creatives, possibly filtered. This method
 28404  // supports paging.
 28405  //
 28406  // - profileId: User profile ID associated with this request.
 28407  func (r *CreativesService) List(profileId int64) *CreativesListCall {
 28408  	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28409  	c.profileId = profileId
 28410  	return c
 28411  }
 28412  
 28413  // Active sets the optional parameter "active": Select only active
 28414  // creatives. Leave blank to select active and inactive creatives.
 28415  func (c *CreativesListCall) Active(active bool) *CreativesListCall {
 28416  	c.urlParams_.Set("active", fmt.Sprint(active))
 28417  	return c
 28418  }
 28419  
 28420  // AdvertiserId sets the optional parameter "advertiserId": Select only
 28421  // creatives with this advertiser ID.
 28422  func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
 28423  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 28424  	return c
 28425  }
 28426  
 28427  // Archived sets the optional parameter "archived": Select only archived
 28428  // creatives. Leave blank to select archived and unarchived creatives.
 28429  func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
 28430  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 28431  	return c
 28432  }
 28433  
 28434  // CampaignId sets the optional parameter "campaignId": Select only
 28435  // creatives with this campaign ID.
 28436  func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
 28437  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 28438  	return c
 28439  }
 28440  
 28441  // CompanionCreativeIds sets the optional parameter
 28442  // "companionCreativeIds": Select only in-stream video creatives with
 28443  // these companion IDs.
 28444  func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
 28445  	var companionCreativeIds_ []string
 28446  	for _, v := range companionCreativeIds {
 28447  		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
 28448  	}
 28449  	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
 28450  	return c
 28451  }
 28452  
 28453  // CreativeFieldIds sets the optional parameter "creativeFieldIds":
 28454  // Select only creatives with these creative field IDs.
 28455  func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
 28456  	var creativeFieldIds_ []string
 28457  	for _, v := range creativeFieldIds {
 28458  		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
 28459  	}
 28460  	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
 28461  	return c
 28462  }
 28463  
 28464  // Ids sets the optional parameter "ids": Select only creatives with
 28465  // these IDs.
 28466  func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
 28467  	var ids_ []string
 28468  	for _, v := range ids {
 28469  		ids_ = append(ids_, fmt.Sprint(v))
 28470  	}
 28471  	c.urlParams_.SetMulti("ids", ids_)
 28472  	return c
 28473  }
 28474  
 28475  // MaxResults sets the optional parameter "maxResults": Maximum number
 28476  // of results to return.
 28477  func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
 28478  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 28479  	return c
 28480  }
 28481  
 28482  // PageToken sets the optional parameter "pageToken": Value of the
 28483  // nextPageToken from the previous result page.
 28484  func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
 28485  	c.urlParams_.Set("pageToken", pageToken)
 28486  	return c
 28487  }
 28488  
 28489  // RenderingIds sets the optional parameter "renderingIds": Select only
 28490  // creatives with these rendering IDs.
 28491  func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
 28492  	var renderingIds_ []string
 28493  	for _, v := range renderingIds {
 28494  		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
 28495  	}
 28496  	c.urlParams_.SetMulti("renderingIds", renderingIds_)
 28497  	return c
 28498  }
 28499  
 28500  // SearchString sets the optional parameter "searchString": Allows
 28501  // searching for objects by name or ID. Wildcards (*) are allowed. For
 28502  // example, "creative*2015" will return objects with names like
 28503  // "creative June 2015", "creative April 2015", or simply "creative
 28504  // 2015". Most of the searches also add wildcards implicitly at the
 28505  // start and the end of the search string. For example, a search string
 28506  // of "creative" will match objects with name "my creative", "creative
 28507  // 2015", or simply "creative".
 28508  func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
 28509  	c.urlParams_.Set("searchString", searchString)
 28510  	return c
 28511  }
 28512  
 28513  // SizeIds sets the optional parameter "sizeIds": Select only creatives
 28514  // with these size IDs.
 28515  func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
 28516  	var sizeIds_ []string
 28517  	for _, v := range sizeIds {
 28518  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 28519  	}
 28520  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 28521  	return c
 28522  }
 28523  
 28524  // SortField sets the optional parameter "sortField": Field by which to
 28525  // sort the list.
 28526  //
 28527  // Possible values:
 28528  //
 28529  //	"ID" (default)
 28530  //	"NAME"
 28531  func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
 28532  	c.urlParams_.Set("sortField", sortField)
 28533  	return c
 28534  }
 28535  
 28536  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 28537  // results.
 28538  //
 28539  // Possible values:
 28540  //
 28541  //	"ASCENDING" (default)
 28542  //	"DESCENDING"
 28543  func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
 28544  	c.urlParams_.Set("sortOrder", sortOrder)
 28545  	return c
 28546  }
 28547  
 28548  // StudioCreativeId sets the optional parameter "studioCreativeId":
 28549  // Select only creatives corresponding to this Studio creative ID.
 28550  func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
 28551  	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
 28552  	return c
 28553  }
 28554  
 28555  // Types sets the optional parameter "types": Select only creatives with
 28556  // these creative types.
 28557  //
 28558  // Possible values:
 28559  //
 28560  //	"IMAGE"
 28561  //	"DISPLAY_REDIRECT"
 28562  //	"CUSTOM_DISPLAY"
 28563  //	"INTERNAL_REDIRECT"
 28564  //	"CUSTOM_DISPLAY_INTERSTITIAL"
 28565  //	"INTERSTITIAL_INTERNAL_REDIRECT"
 28566  //	"TRACKING_TEXT"
 28567  //	"RICH_MEDIA_DISPLAY_BANNER"
 28568  //	"RICH_MEDIA_INPAGE_FLOATING"
 28569  //	"RICH_MEDIA_IM_EXPAND"
 28570  //	"RICH_MEDIA_DISPLAY_EXPANDING"
 28571  //	"RICH_MEDIA_DISPLAY_INTERSTITIAL"
 28572  //	"RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
 28573  //	"RICH_MEDIA_MOBILE_IN_APP"
 28574  //	"FLASH_INPAGE"
 28575  //	"INSTREAM_VIDEO"
 28576  //	"VPAID_LINEAR_VIDEO"
 28577  //	"VPAID_NON_LINEAR_VIDEO"
 28578  //	"INSTREAM_VIDEO_REDIRECT"
 28579  //	"RICH_MEDIA_PEEL_DOWN"
 28580  //	"HTML5_BANNER"
 28581  //	"DISPLAY"
 28582  //	"DISPLAY_IMAGE_GALLERY"
 28583  //	"BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
 28584  //	"INSTREAM_AUDIO"
 28585  func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
 28586  	c.urlParams_.SetMulti("types", append([]string{}, types...))
 28587  	return c
 28588  }
 28589  
 28590  // Fields allows partial responses to be retrieved. See
 28591  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28592  // for more information.
 28593  func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
 28594  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28595  	return c
 28596  }
 28597  
 28598  // IfNoneMatch sets the optional parameter which makes the operation
 28599  // fail if the object's ETag matches the given value. This is useful for
 28600  // getting updates only after the object has changed since the last
 28601  // request. Use googleapi.IsNotModified to check whether the response
 28602  // error from Do is the result of In-None-Match.
 28603  func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
 28604  	c.ifNoneMatch_ = entityTag
 28605  	return c
 28606  }
 28607  
 28608  // Context sets the context to be used in this call's Do method. Any
 28609  // pending HTTP request will be aborted if the provided context is
 28610  // canceled.
 28611  func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
 28612  	c.ctx_ = ctx
 28613  	return c
 28614  }
 28615  
 28616  // Header returns an http.Header that can be modified by the caller to
 28617  // add HTTP headers to the request.
 28618  func (c *CreativesListCall) Header() http.Header {
 28619  	if c.header_ == nil {
 28620  		c.header_ = make(http.Header)
 28621  	}
 28622  	return c.header_
 28623  }
 28624  
 28625  func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
 28626  	reqHeaders := make(http.Header)
 28627  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28628  	for k, v := range c.header_ {
 28629  		reqHeaders[k] = v
 28630  	}
 28631  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28632  	if c.ifNoneMatch_ != "" {
 28633  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 28634  	}
 28635  	var body io.Reader = nil
 28636  	c.urlParams_.Set("alt", alt)
 28637  	c.urlParams_.Set("prettyPrint", "false")
 28638  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28639  	urls += "?" + c.urlParams_.Encode()
 28640  	req, err := http.NewRequest("GET", urls, body)
 28641  	if err != nil {
 28642  		return nil, err
 28643  	}
 28644  	req.Header = reqHeaders
 28645  	googleapi.Expand(req.URL, map[string]string{
 28646  		"profileId": strconv.FormatInt(c.profileId, 10),
 28647  	})
 28648  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28649  }
 28650  
 28651  // Do executes the "dfareporting.creatives.list" call.
 28652  // Exactly one of *CreativesListResponse or error will be non-nil. Any
 28653  // non-2xx status code is an error. Response headers are in either
 28654  // *CreativesListResponse.ServerResponse.Header or (if a response was
 28655  // returned at all) in error.(*googleapi.Error).Header. Use
 28656  // googleapi.IsNotModified to check whether the returned error was
 28657  // because http.StatusNotModified was returned.
 28658  func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
 28659  	gensupport.SetOptions(c.urlParams_, opts...)
 28660  	res, err := c.doRequest("json")
 28661  	if res != nil && res.StatusCode == http.StatusNotModified {
 28662  		if res.Body != nil {
 28663  			res.Body.Close()
 28664  		}
 28665  		return nil, &googleapi.Error{
 28666  			Code:   res.StatusCode,
 28667  			Header: res.Header,
 28668  		}
 28669  	}
 28670  	if err != nil {
 28671  		return nil, err
 28672  	}
 28673  	defer googleapi.CloseBody(res)
 28674  	if err := googleapi.CheckResponse(res); err != nil {
 28675  		return nil, err
 28676  	}
 28677  	ret := &CreativesListResponse{
 28678  		ServerResponse: googleapi.ServerResponse{
 28679  			Header:         res.Header,
 28680  			HTTPStatusCode: res.StatusCode,
 28681  		},
 28682  	}
 28683  	target := &ret
 28684  	if err := gensupport.DecodeResponse(target, res); err != nil {
 28685  		return nil, err
 28686  	}
 28687  	return ret, nil
 28688  	// {
 28689  	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
 28690  	//   "flatPath": "userprofiles/{profileId}/creatives",
 28691  	//   "httpMethod": "GET",
 28692  	//   "id": "dfareporting.creatives.list",
 28693  	//   "parameterOrder": [
 28694  	//     "profileId"
 28695  	//   ],
 28696  	//   "parameters": {
 28697  	//     "active": {
 28698  	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
 28699  	//       "location": "query",
 28700  	//       "type": "boolean"
 28701  	//     },
 28702  	//     "advertiserId": {
 28703  	//       "description": "Select only creatives with this advertiser ID.",
 28704  	//       "format": "int64",
 28705  	//       "location": "query",
 28706  	//       "type": "string"
 28707  	//     },
 28708  	//     "archived": {
 28709  	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
 28710  	//       "location": "query",
 28711  	//       "type": "boolean"
 28712  	//     },
 28713  	//     "campaignId": {
 28714  	//       "description": "Select only creatives with this campaign ID.",
 28715  	//       "format": "int64",
 28716  	//       "location": "query",
 28717  	//       "type": "string"
 28718  	//     },
 28719  	//     "companionCreativeIds": {
 28720  	//       "description": "Select only in-stream video creatives with these companion IDs.",
 28721  	//       "format": "int64",
 28722  	//       "location": "query",
 28723  	//       "repeated": true,
 28724  	//       "type": "string"
 28725  	//     },
 28726  	//     "creativeFieldIds": {
 28727  	//       "description": "Select only creatives with these creative field IDs.",
 28728  	//       "format": "int64",
 28729  	//       "location": "query",
 28730  	//       "repeated": true,
 28731  	//       "type": "string"
 28732  	//     },
 28733  	//     "ids": {
 28734  	//       "description": "Select only creatives with these IDs.",
 28735  	//       "format": "int64",
 28736  	//       "location": "query",
 28737  	//       "repeated": true,
 28738  	//       "type": "string"
 28739  	//     },
 28740  	//     "maxResults": {
 28741  	//       "default": "1000",
 28742  	//       "description": "Maximum number of results to return.",
 28743  	//       "format": "int32",
 28744  	//       "location": "query",
 28745  	//       "maximum": "1000",
 28746  	//       "minimum": "0",
 28747  	//       "type": "integer"
 28748  	//     },
 28749  	//     "pageToken": {
 28750  	//       "description": "Value of the nextPageToken from the previous result page.",
 28751  	//       "location": "query",
 28752  	//       "type": "string"
 28753  	//     },
 28754  	//     "profileId": {
 28755  	//       "description": "User profile ID associated with this request.",
 28756  	//       "format": "int64",
 28757  	//       "location": "path",
 28758  	//       "required": true,
 28759  	//       "type": "string"
 28760  	//     },
 28761  	//     "renderingIds": {
 28762  	//       "description": "Select only creatives with these rendering IDs.",
 28763  	//       "format": "int64",
 28764  	//       "location": "query",
 28765  	//       "repeated": true,
 28766  	//       "type": "string"
 28767  	//     },
 28768  	//     "searchString": {
 28769  	//       "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\".",
 28770  	//       "location": "query",
 28771  	//       "type": "string"
 28772  	//     },
 28773  	//     "sizeIds": {
 28774  	//       "description": "Select only creatives with these size IDs.",
 28775  	//       "format": "int64",
 28776  	//       "location": "query",
 28777  	//       "repeated": true,
 28778  	//       "type": "string"
 28779  	//     },
 28780  	//     "sortField": {
 28781  	//       "default": "ID",
 28782  	//       "description": "Field by which to sort the list.",
 28783  	//       "enum": [
 28784  	//         "ID",
 28785  	//         "NAME"
 28786  	//       ],
 28787  	//       "enumDescriptions": [
 28788  	//         "",
 28789  	//         ""
 28790  	//       ],
 28791  	//       "location": "query",
 28792  	//       "type": "string"
 28793  	//     },
 28794  	//     "sortOrder": {
 28795  	//       "default": "ASCENDING",
 28796  	//       "description": "Order of sorted results.",
 28797  	//       "enum": [
 28798  	//         "ASCENDING",
 28799  	//         "DESCENDING"
 28800  	//       ],
 28801  	//       "enumDescriptions": [
 28802  	//         "",
 28803  	//         ""
 28804  	//       ],
 28805  	//       "location": "query",
 28806  	//       "type": "string"
 28807  	//     },
 28808  	//     "studioCreativeId": {
 28809  	//       "description": "Select only creatives corresponding to this Studio creative ID.",
 28810  	//       "format": "int64",
 28811  	//       "location": "query",
 28812  	//       "type": "string"
 28813  	//     },
 28814  	//     "types": {
 28815  	//       "description": "Select only creatives with these creative types.",
 28816  	//       "enum": [
 28817  	//         "IMAGE",
 28818  	//         "DISPLAY_REDIRECT",
 28819  	//         "CUSTOM_DISPLAY",
 28820  	//         "INTERNAL_REDIRECT",
 28821  	//         "CUSTOM_DISPLAY_INTERSTITIAL",
 28822  	//         "INTERSTITIAL_INTERNAL_REDIRECT",
 28823  	//         "TRACKING_TEXT",
 28824  	//         "RICH_MEDIA_DISPLAY_BANNER",
 28825  	//         "RICH_MEDIA_INPAGE_FLOATING",
 28826  	//         "RICH_MEDIA_IM_EXPAND",
 28827  	//         "RICH_MEDIA_DISPLAY_EXPANDING",
 28828  	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
 28829  	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
 28830  	//         "RICH_MEDIA_MOBILE_IN_APP",
 28831  	//         "FLASH_INPAGE",
 28832  	//         "INSTREAM_VIDEO",
 28833  	//         "VPAID_LINEAR_VIDEO",
 28834  	//         "VPAID_NON_LINEAR_VIDEO",
 28835  	//         "INSTREAM_VIDEO_REDIRECT",
 28836  	//         "RICH_MEDIA_PEEL_DOWN",
 28837  	//         "HTML5_BANNER",
 28838  	//         "DISPLAY",
 28839  	//         "DISPLAY_IMAGE_GALLERY",
 28840  	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
 28841  	//         "INSTREAM_AUDIO"
 28842  	//       ],
 28843  	//       "enumDescriptions": [
 28844  	//         "",
 28845  	//         "",
 28846  	//         "",
 28847  	//         "",
 28848  	//         "",
 28849  	//         "",
 28850  	//         "",
 28851  	//         "",
 28852  	//         "",
 28853  	//         "",
 28854  	//         "",
 28855  	//         "",
 28856  	//         "",
 28857  	//         "",
 28858  	//         "",
 28859  	//         "",
 28860  	//         "",
 28861  	//         "",
 28862  	//         "",
 28863  	//         "",
 28864  	//         "",
 28865  	//         "",
 28866  	//         "",
 28867  	//         "",
 28868  	//         ""
 28869  	//       ],
 28870  	//       "location": "query",
 28871  	//       "repeated": true,
 28872  	//       "type": "string"
 28873  	//     }
 28874  	//   },
 28875  	//   "path": "userprofiles/{profileId}/creatives",
 28876  	//   "response": {
 28877  	//     "$ref": "CreativesListResponse"
 28878  	//   },
 28879  	//   "scopes": [
 28880  	//     "https://www.googleapis.com/auth/dfatrafficking"
 28881  	//   ]
 28882  	// }
 28883  
 28884  }
 28885  
 28886  // Pages invokes f for each page of results.
 28887  // A non-nil error returned from f will halt the iteration.
 28888  // The provided context supersedes any context provided to the Context method.
 28889  func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
 28890  	c.ctx_ = ctx
 28891  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 28892  	for {
 28893  		x, err := c.Do()
 28894  		if err != nil {
 28895  			return err
 28896  		}
 28897  		if err := f(x); err != nil {
 28898  			return err
 28899  		}
 28900  		if x.NextPageToken == "" {
 28901  			return nil
 28902  		}
 28903  		c.PageToken(x.NextPageToken)
 28904  	}
 28905  }
 28906  
 28907  // method id "dfareporting.creatives.patch":
 28908  
 28909  type CreativesPatchCall struct {
 28910  	s          *Service
 28911  	profileId  int64
 28912  	creative   *Creative
 28913  	urlParams_ gensupport.URLParams
 28914  	ctx_       context.Context
 28915  	header_    http.Header
 28916  }
 28917  
 28918  // Patch: Updates an existing creative. This method supports patch
 28919  // semantics.
 28920  //
 28921  // - id: Creative ID.
 28922  // - profileId: User profile ID associated with this request.
 28923  func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
 28924  	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 28925  	c.profileId = profileId
 28926  	c.urlParams_.Set("id", fmt.Sprint(id))
 28927  	c.creative = creative
 28928  	return c
 28929  }
 28930  
 28931  // Fields allows partial responses to be retrieved. See
 28932  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 28933  // for more information.
 28934  func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
 28935  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 28936  	return c
 28937  }
 28938  
 28939  // Context sets the context to be used in this call's Do method. Any
 28940  // pending HTTP request will be aborted if the provided context is
 28941  // canceled.
 28942  func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
 28943  	c.ctx_ = ctx
 28944  	return c
 28945  }
 28946  
 28947  // Header returns an http.Header that can be modified by the caller to
 28948  // add HTTP headers to the request.
 28949  func (c *CreativesPatchCall) Header() http.Header {
 28950  	if c.header_ == nil {
 28951  		c.header_ = make(http.Header)
 28952  	}
 28953  	return c.header_
 28954  }
 28955  
 28956  func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
 28957  	reqHeaders := make(http.Header)
 28958  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 28959  	for k, v := range c.header_ {
 28960  		reqHeaders[k] = v
 28961  	}
 28962  	reqHeaders.Set("User-Agent", c.s.userAgent())
 28963  	var body io.Reader = nil
 28964  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 28965  	if err != nil {
 28966  		return nil, err
 28967  	}
 28968  	reqHeaders.Set("Content-Type", "application/json")
 28969  	c.urlParams_.Set("alt", alt)
 28970  	c.urlParams_.Set("prettyPrint", "false")
 28971  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 28972  	urls += "?" + c.urlParams_.Encode()
 28973  	req, err := http.NewRequest("PATCH", urls, body)
 28974  	if err != nil {
 28975  		return nil, err
 28976  	}
 28977  	req.Header = reqHeaders
 28978  	googleapi.Expand(req.URL, map[string]string{
 28979  		"profileId": strconv.FormatInt(c.profileId, 10),
 28980  	})
 28981  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 28982  }
 28983  
 28984  // Do executes the "dfareporting.creatives.patch" call.
 28985  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 28986  // code is an error. Response headers are in either
 28987  // *Creative.ServerResponse.Header or (if a response was returned at
 28988  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 28989  // to check whether the returned error was because
 28990  // http.StatusNotModified was returned.
 28991  func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 28992  	gensupport.SetOptions(c.urlParams_, opts...)
 28993  	res, err := c.doRequest("json")
 28994  	if res != nil && res.StatusCode == http.StatusNotModified {
 28995  		if res.Body != nil {
 28996  			res.Body.Close()
 28997  		}
 28998  		return nil, &googleapi.Error{
 28999  			Code:   res.StatusCode,
 29000  			Header: res.Header,
 29001  		}
 29002  	}
 29003  	if err != nil {
 29004  		return nil, err
 29005  	}
 29006  	defer googleapi.CloseBody(res)
 29007  	if err := googleapi.CheckResponse(res); err != nil {
 29008  		return nil, err
 29009  	}
 29010  	ret := &Creative{
 29011  		ServerResponse: googleapi.ServerResponse{
 29012  			Header:         res.Header,
 29013  			HTTPStatusCode: res.StatusCode,
 29014  		},
 29015  	}
 29016  	target := &ret
 29017  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29018  		return nil, err
 29019  	}
 29020  	return ret, nil
 29021  	// {
 29022  	//   "description": "Updates an existing creative. This method supports patch semantics.",
 29023  	//   "flatPath": "userprofiles/{profileId}/creatives",
 29024  	//   "httpMethod": "PATCH",
 29025  	//   "id": "dfareporting.creatives.patch",
 29026  	//   "parameterOrder": [
 29027  	//     "profileId",
 29028  	//     "id"
 29029  	//   ],
 29030  	//   "parameters": {
 29031  	//     "id": {
 29032  	//       "description": "Creative ID.",
 29033  	//       "format": "int64",
 29034  	//       "location": "query",
 29035  	//       "required": true,
 29036  	//       "type": "string"
 29037  	//     },
 29038  	//     "profileId": {
 29039  	//       "description": "User profile ID associated with this request.",
 29040  	//       "format": "int64",
 29041  	//       "location": "path",
 29042  	//       "required": true,
 29043  	//       "type": "string"
 29044  	//     }
 29045  	//   },
 29046  	//   "path": "userprofiles/{profileId}/creatives",
 29047  	//   "request": {
 29048  	//     "$ref": "Creative"
 29049  	//   },
 29050  	//   "response": {
 29051  	//     "$ref": "Creative"
 29052  	//   },
 29053  	//   "scopes": [
 29054  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29055  	//   ]
 29056  	// }
 29057  
 29058  }
 29059  
 29060  // method id "dfareporting.creatives.update":
 29061  
 29062  type CreativesUpdateCall struct {
 29063  	s          *Service
 29064  	profileId  int64
 29065  	creative   *Creative
 29066  	urlParams_ gensupport.URLParams
 29067  	ctx_       context.Context
 29068  	header_    http.Header
 29069  }
 29070  
 29071  // Update: Updates an existing creative.
 29072  //
 29073  // - profileId: User profile ID associated with this request.
 29074  func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
 29075  	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29076  	c.profileId = profileId
 29077  	c.creative = creative
 29078  	return c
 29079  }
 29080  
 29081  // Fields allows partial responses to be retrieved. See
 29082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29083  // for more information.
 29084  func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
 29085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29086  	return c
 29087  }
 29088  
 29089  // Context sets the context to be used in this call's Do method. Any
 29090  // pending HTTP request will be aborted if the provided context is
 29091  // canceled.
 29092  func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
 29093  	c.ctx_ = ctx
 29094  	return c
 29095  }
 29096  
 29097  // Header returns an http.Header that can be modified by the caller to
 29098  // add HTTP headers to the request.
 29099  func (c *CreativesUpdateCall) Header() http.Header {
 29100  	if c.header_ == nil {
 29101  		c.header_ = make(http.Header)
 29102  	}
 29103  	return c.header_
 29104  }
 29105  
 29106  func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
 29107  	reqHeaders := make(http.Header)
 29108  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29109  	for k, v := range c.header_ {
 29110  		reqHeaders[k] = v
 29111  	}
 29112  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29113  	var body io.Reader = nil
 29114  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
 29115  	if err != nil {
 29116  		return nil, err
 29117  	}
 29118  	reqHeaders.Set("Content-Type", "application/json")
 29119  	c.urlParams_.Set("alt", alt)
 29120  	c.urlParams_.Set("prettyPrint", "false")
 29121  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
 29122  	urls += "?" + c.urlParams_.Encode()
 29123  	req, err := http.NewRequest("PUT", urls, body)
 29124  	if err != nil {
 29125  		return nil, err
 29126  	}
 29127  	req.Header = reqHeaders
 29128  	googleapi.Expand(req.URL, map[string]string{
 29129  		"profileId": strconv.FormatInt(c.profileId, 10),
 29130  	})
 29131  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29132  }
 29133  
 29134  // Do executes the "dfareporting.creatives.update" call.
 29135  // Exactly one of *Creative or error will be non-nil. Any non-2xx status
 29136  // code is an error. Response headers are in either
 29137  // *Creative.ServerResponse.Header or (if a response was returned at
 29138  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 29139  // to check whether the returned error was because
 29140  // http.StatusNotModified was returned.
 29141  func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
 29142  	gensupport.SetOptions(c.urlParams_, opts...)
 29143  	res, err := c.doRequest("json")
 29144  	if res != nil && res.StatusCode == http.StatusNotModified {
 29145  		if res.Body != nil {
 29146  			res.Body.Close()
 29147  		}
 29148  		return nil, &googleapi.Error{
 29149  			Code:   res.StatusCode,
 29150  			Header: res.Header,
 29151  		}
 29152  	}
 29153  	if err != nil {
 29154  		return nil, err
 29155  	}
 29156  	defer googleapi.CloseBody(res)
 29157  	if err := googleapi.CheckResponse(res); err != nil {
 29158  		return nil, err
 29159  	}
 29160  	ret := &Creative{
 29161  		ServerResponse: googleapi.ServerResponse{
 29162  			Header:         res.Header,
 29163  			HTTPStatusCode: res.StatusCode,
 29164  		},
 29165  	}
 29166  	target := &ret
 29167  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29168  		return nil, err
 29169  	}
 29170  	return ret, nil
 29171  	// {
 29172  	//   "description": "Updates an existing creative.",
 29173  	//   "flatPath": "userprofiles/{profileId}/creatives",
 29174  	//   "httpMethod": "PUT",
 29175  	//   "id": "dfareporting.creatives.update",
 29176  	//   "parameterOrder": [
 29177  	//     "profileId"
 29178  	//   ],
 29179  	//   "parameters": {
 29180  	//     "profileId": {
 29181  	//       "description": "User profile ID associated with this request.",
 29182  	//       "format": "int64",
 29183  	//       "location": "path",
 29184  	//       "required": true,
 29185  	//       "type": "string"
 29186  	//     }
 29187  	//   },
 29188  	//   "path": "userprofiles/{profileId}/creatives",
 29189  	//   "request": {
 29190  	//     "$ref": "Creative"
 29191  	//   },
 29192  	//   "response": {
 29193  	//     "$ref": "Creative"
 29194  	//   },
 29195  	//   "scopes": [
 29196  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29197  	//   ]
 29198  	// }
 29199  
 29200  }
 29201  
 29202  // method id "dfareporting.dimensionValues.query":
 29203  
 29204  type DimensionValuesQueryCall struct {
 29205  	s                     *Service
 29206  	profileId             int64
 29207  	dimensionvaluerequest *DimensionValueRequest
 29208  	urlParams_            gensupport.URLParams
 29209  	ctx_                  context.Context
 29210  	header_               http.Header
 29211  }
 29212  
 29213  // Query: Retrieves list of report dimension values for a list of
 29214  // filters.
 29215  //
 29216  // - profileId: The Campaign Manager 360 user profile ID.
 29217  func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
 29218  	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29219  	c.profileId = profileId
 29220  	c.dimensionvaluerequest = dimensionvaluerequest
 29221  	return c
 29222  }
 29223  
 29224  // MaxResults sets the optional parameter "maxResults": Maximum number
 29225  // of results to return.
 29226  func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
 29227  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 29228  	return c
 29229  }
 29230  
 29231  // PageToken sets the optional parameter "pageToken": The value of the
 29232  // nextToken from the previous result page.
 29233  func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
 29234  	c.urlParams_.Set("pageToken", pageToken)
 29235  	return c
 29236  }
 29237  
 29238  // Fields allows partial responses to be retrieved. See
 29239  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29240  // for more information.
 29241  func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
 29242  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29243  	return c
 29244  }
 29245  
 29246  // Context sets the context to be used in this call's Do method. Any
 29247  // pending HTTP request will be aborted if the provided context is
 29248  // canceled.
 29249  func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
 29250  	c.ctx_ = ctx
 29251  	return c
 29252  }
 29253  
 29254  // Header returns an http.Header that can be modified by the caller to
 29255  // add HTTP headers to the request.
 29256  func (c *DimensionValuesQueryCall) Header() http.Header {
 29257  	if c.header_ == nil {
 29258  		c.header_ = make(http.Header)
 29259  	}
 29260  	return c.header_
 29261  }
 29262  
 29263  func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
 29264  	reqHeaders := make(http.Header)
 29265  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29266  	for k, v := range c.header_ {
 29267  		reqHeaders[k] = v
 29268  	}
 29269  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29270  	var body io.Reader = nil
 29271  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
 29272  	if err != nil {
 29273  		return nil, err
 29274  	}
 29275  	reqHeaders.Set("Content-Type", "application/json")
 29276  	c.urlParams_.Set("alt", alt)
 29277  	c.urlParams_.Set("prettyPrint", "false")
 29278  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
 29279  	urls += "?" + c.urlParams_.Encode()
 29280  	req, err := http.NewRequest("POST", urls, body)
 29281  	if err != nil {
 29282  		return nil, err
 29283  	}
 29284  	req.Header = reqHeaders
 29285  	googleapi.Expand(req.URL, map[string]string{
 29286  		"profileId": strconv.FormatInt(c.profileId, 10),
 29287  	})
 29288  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29289  }
 29290  
 29291  // Do executes the "dfareporting.dimensionValues.query" call.
 29292  // Exactly one of *DimensionValueList or error will be non-nil. Any
 29293  // non-2xx status code is an error. Response headers are in either
 29294  // *DimensionValueList.ServerResponse.Header or (if a response was
 29295  // returned at all) in error.(*googleapi.Error).Header. Use
 29296  // googleapi.IsNotModified to check whether the returned error was
 29297  // because http.StatusNotModified was returned.
 29298  func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
 29299  	gensupport.SetOptions(c.urlParams_, opts...)
 29300  	res, err := c.doRequest("json")
 29301  	if res != nil && res.StatusCode == http.StatusNotModified {
 29302  		if res.Body != nil {
 29303  			res.Body.Close()
 29304  		}
 29305  		return nil, &googleapi.Error{
 29306  			Code:   res.StatusCode,
 29307  			Header: res.Header,
 29308  		}
 29309  	}
 29310  	if err != nil {
 29311  		return nil, err
 29312  	}
 29313  	defer googleapi.CloseBody(res)
 29314  	if err := googleapi.CheckResponse(res); err != nil {
 29315  		return nil, err
 29316  	}
 29317  	ret := &DimensionValueList{
 29318  		ServerResponse: googleapi.ServerResponse{
 29319  			Header:         res.Header,
 29320  			HTTPStatusCode: res.StatusCode,
 29321  		},
 29322  	}
 29323  	target := &ret
 29324  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29325  		return nil, err
 29326  	}
 29327  	return ret, nil
 29328  	// {
 29329  	//   "description": "Retrieves list of report dimension values for a list of filters.",
 29330  	//   "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
 29331  	//   "httpMethod": "POST",
 29332  	//   "id": "dfareporting.dimensionValues.query",
 29333  	//   "parameterOrder": [
 29334  	//     "profileId"
 29335  	//   ],
 29336  	//   "parameters": {
 29337  	//     "maxResults": {
 29338  	//       "default": "100",
 29339  	//       "description": "Maximum number of results to return.",
 29340  	//       "format": "int32",
 29341  	//       "location": "query",
 29342  	//       "maximum": "100",
 29343  	//       "minimum": "0",
 29344  	//       "type": "integer"
 29345  	//     },
 29346  	//     "pageToken": {
 29347  	//       "description": "The value of the nextToken from the previous result page.",
 29348  	//       "location": "query",
 29349  	//       "type": "string"
 29350  	//     },
 29351  	//     "profileId": {
 29352  	//       "description": "The Campaign Manager 360 user profile ID.",
 29353  	//       "format": "int64",
 29354  	//       "location": "path",
 29355  	//       "required": true,
 29356  	//       "type": "string"
 29357  	//     }
 29358  	//   },
 29359  	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
 29360  	//   "request": {
 29361  	//     "$ref": "DimensionValueRequest"
 29362  	//   },
 29363  	//   "response": {
 29364  	//     "$ref": "DimensionValueList"
 29365  	//   },
 29366  	//   "scopes": [
 29367  	//     "https://www.googleapis.com/auth/dfareporting"
 29368  	//   ]
 29369  	// }
 29370  
 29371  }
 29372  
 29373  // Pages invokes f for each page of results.
 29374  // A non-nil error returned from f will halt the iteration.
 29375  // The provided context supersedes any context provided to the Context method.
 29376  func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
 29377  	c.ctx_ = ctx
 29378  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 29379  	for {
 29380  		x, err := c.Do()
 29381  		if err != nil {
 29382  			return err
 29383  		}
 29384  		if err := f(x); err != nil {
 29385  			return err
 29386  		}
 29387  		if x.NextPageToken == "" {
 29388  			return nil
 29389  		}
 29390  		c.PageToken(x.NextPageToken)
 29391  	}
 29392  }
 29393  
 29394  // method id "dfareporting.directorySites.get":
 29395  
 29396  type DirectorySitesGetCall struct {
 29397  	s            *Service
 29398  	profileId    int64
 29399  	id           int64
 29400  	urlParams_   gensupport.URLParams
 29401  	ifNoneMatch_ string
 29402  	ctx_         context.Context
 29403  	header_      http.Header
 29404  }
 29405  
 29406  // Get: Gets one directory site by ID.
 29407  //
 29408  // - id: Directory site ID.
 29409  // - profileId: User profile ID associated with this request.
 29410  func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
 29411  	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29412  	c.profileId = profileId
 29413  	c.id = id
 29414  	return c
 29415  }
 29416  
 29417  // Fields allows partial responses to be retrieved. See
 29418  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29419  // for more information.
 29420  func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
 29421  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29422  	return c
 29423  }
 29424  
 29425  // IfNoneMatch sets the optional parameter which makes the operation
 29426  // fail if the object's ETag matches the given value. This is useful for
 29427  // getting updates only after the object has changed since the last
 29428  // request. Use googleapi.IsNotModified to check whether the response
 29429  // error from Do is the result of In-None-Match.
 29430  func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
 29431  	c.ifNoneMatch_ = entityTag
 29432  	return c
 29433  }
 29434  
 29435  // Context sets the context to be used in this call's Do method. Any
 29436  // pending HTTP request will be aborted if the provided context is
 29437  // canceled.
 29438  func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
 29439  	c.ctx_ = ctx
 29440  	return c
 29441  }
 29442  
 29443  // Header returns an http.Header that can be modified by the caller to
 29444  // add HTTP headers to the request.
 29445  func (c *DirectorySitesGetCall) Header() http.Header {
 29446  	if c.header_ == nil {
 29447  		c.header_ = make(http.Header)
 29448  	}
 29449  	return c.header_
 29450  }
 29451  
 29452  func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
 29453  	reqHeaders := make(http.Header)
 29454  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29455  	for k, v := range c.header_ {
 29456  		reqHeaders[k] = v
 29457  	}
 29458  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29459  	if c.ifNoneMatch_ != "" {
 29460  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29461  	}
 29462  	var body io.Reader = nil
 29463  	c.urlParams_.Set("alt", alt)
 29464  	c.urlParams_.Set("prettyPrint", "false")
 29465  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
 29466  	urls += "?" + c.urlParams_.Encode()
 29467  	req, err := http.NewRequest("GET", urls, body)
 29468  	if err != nil {
 29469  		return nil, err
 29470  	}
 29471  	req.Header = reqHeaders
 29472  	googleapi.Expand(req.URL, map[string]string{
 29473  		"profileId": strconv.FormatInt(c.profileId, 10),
 29474  		"id":        strconv.FormatInt(c.id, 10),
 29475  	})
 29476  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29477  }
 29478  
 29479  // Do executes the "dfareporting.directorySites.get" call.
 29480  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 29481  // status code is an error. Response headers are in either
 29482  // *DirectorySite.ServerResponse.Header or (if a response was returned
 29483  // at all) in error.(*googleapi.Error).Header. Use
 29484  // googleapi.IsNotModified to check whether the returned error was
 29485  // because http.StatusNotModified was returned.
 29486  func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 29487  	gensupport.SetOptions(c.urlParams_, opts...)
 29488  	res, err := c.doRequest("json")
 29489  	if res != nil && res.StatusCode == http.StatusNotModified {
 29490  		if res.Body != nil {
 29491  			res.Body.Close()
 29492  		}
 29493  		return nil, &googleapi.Error{
 29494  			Code:   res.StatusCode,
 29495  			Header: res.Header,
 29496  		}
 29497  	}
 29498  	if err != nil {
 29499  		return nil, err
 29500  	}
 29501  	defer googleapi.CloseBody(res)
 29502  	if err := googleapi.CheckResponse(res); err != nil {
 29503  		return nil, err
 29504  	}
 29505  	ret := &DirectorySite{
 29506  		ServerResponse: googleapi.ServerResponse{
 29507  			Header:         res.Header,
 29508  			HTTPStatusCode: res.StatusCode,
 29509  		},
 29510  	}
 29511  	target := &ret
 29512  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29513  		return nil, err
 29514  	}
 29515  	return ret, nil
 29516  	// {
 29517  	//   "description": "Gets one directory site by ID.",
 29518  	//   "flatPath": "userprofiles/{profileId}/directorySites/{id}",
 29519  	//   "httpMethod": "GET",
 29520  	//   "id": "dfareporting.directorySites.get",
 29521  	//   "parameterOrder": [
 29522  	//     "profileId",
 29523  	//     "id"
 29524  	//   ],
 29525  	//   "parameters": {
 29526  	//     "id": {
 29527  	//       "description": "Directory site ID.",
 29528  	//       "format": "int64",
 29529  	//       "location": "path",
 29530  	//       "required": true,
 29531  	//       "type": "string"
 29532  	//     },
 29533  	//     "profileId": {
 29534  	//       "description": "User profile ID associated with this request.",
 29535  	//       "format": "int64",
 29536  	//       "location": "path",
 29537  	//       "required": true,
 29538  	//       "type": "string"
 29539  	//     }
 29540  	//   },
 29541  	//   "path": "userprofiles/{profileId}/directorySites/{id}",
 29542  	//   "response": {
 29543  	//     "$ref": "DirectorySite"
 29544  	//   },
 29545  	//   "scopes": [
 29546  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29547  	//   ]
 29548  	// }
 29549  
 29550  }
 29551  
 29552  // method id "dfareporting.directorySites.insert":
 29553  
 29554  type DirectorySitesInsertCall struct {
 29555  	s             *Service
 29556  	profileId     int64
 29557  	directorysite *DirectorySite
 29558  	urlParams_    gensupport.URLParams
 29559  	ctx_          context.Context
 29560  	header_       http.Header
 29561  }
 29562  
 29563  // Insert: Inserts a new directory site.
 29564  //
 29565  // - profileId: User profile ID associated with this request.
 29566  func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
 29567  	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29568  	c.profileId = profileId
 29569  	c.directorysite = directorysite
 29570  	return c
 29571  }
 29572  
 29573  // Fields allows partial responses to be retrieved. See
 29574  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29575  // for more information.
 29576  func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
 29577  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29578  	return c
 29579  }
 29580  
 29581  // Context sets the context to be used in this call's Do method. Any
 29582  // pending HTTP request will be aborted if the provided context is
 29583  // canceled.
 29584  func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
 29585  	c.ctx_ = ctx
 29586  	return c
 29587  }
 29588  
 29589  // Header returns an http.Header that can be modified by the caller to
 29590  // add HTTP headers to the request.
 29591  func (c *DirectorySitesInsertCall) Header() http.Header {
 29592  	if c.header_ == nil {
 29593  		c.header_ = make(http.Header)
 29594  	}
 29595  	return c.header_
 29596  }
 29597  
 29598  func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
 29599  	reqHeaders := make(http.Header)
 29600  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29601  	for k, v := range c.header_ {
 29602  		reqHeaders[k] = v
 29603  	}
 29604  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29605  	var body io.Reader = nil
 29606  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
 29607  	if err != nil {
 29608  		return nil, err
 29609  	}
 29610  	reqHeaders.Set("Content-Type", "application/json")
 29611  	c.urlParams_.Set("alt", alt)
 29612  	c.urlParams_.Set("prettyPrint", "false")
 29613  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 29614  	urls += "?" + c.urlParams_.Encode()
 29615  	req, err := http.NewRequest("POST", urls, body)
 29616  	if err != nil {
 29617  		return nil, err
 29618  	}
 29619  	req.Header = reqHeaders
 29620  	googleapi.Expand(req.URL, map[string]string{
 29621  		"profileId": strconv.FormatInt(c.profileId, 10),
 29622  	})
 29623  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29624  }
 29625  
 29626  // Do executes the "dfareporting.directorySites.insert" call.
 29627  // Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
 29628  // status code is an error. Response headers are in either
 29629  // *DirectorySite.ServerResponse.Header or (if a response was returned
 29630  // at all) in error.(*googleapi.Error).Header. Use
 29631  // googleapi.IsNotModified to check whether the returned error was
 29632  // because http.StatusNotModified was returned.
 29633  func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
 29634  	gensupport.SetOptions(c.urlParams_, opts...)
 29635  	res, err := c.doRequest("json")
 29636  	if res != nil && res.StatusCode == http.StatusNotModified {
 29637  		if res.Body != nil {
 29638  			res.Body.Close()
 29639  		}
 29640  		return nil, &googleapi.Error{
 29641  			Code:   res.StatusCode,
 29642  			Header: res.Header,
 29643  		}
 29644  	}
 29645  	if err != nil {
 29646  		return nil, err
 29647  	}
 29648  	defer googleapi.CloseBody(res)
 29649  	if err := googleapi.CheckResponse(res); err != nil {
 29650  		return nil, err
 29651  	}
 29652  	ret := &DirectorySite{
 29653  		ServerResponse: googleapi.ServerResponse{
 29654  			Header:         res.Header,
 29655  			HTTPStatusCode: res.StatusCode,
 29656  		},
 29657  	}
 29658  	target := &ret
 29659  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29660  		return nil, err
 29661  	}
 29662  	return ret, nil
 29663  	// {
 29664  	//   "description": "Inserts a new directory site.",
 29665  	//   "flatPath": "userprofiles/{profileId}/directorySites",
 29666  	//   "httpMethod": "POST",
 29667  	//   "id": "dfareporting.directorySites.insert",
 29668  	//   "parameterOrder": [
 29669  	//     "profileId"
 29670  	//   ],
 29671  	//   "parameters": {
 29672  	//     "profileId": {
 29673  	//       "description": "User profile ID associated with this request.",
 29674  	//       "format": "int64",
 29675  	//       "location": "path",
 29676  	//       "required": true,
 29677  	//       "type": "string"
 29678  	//     }
 29679  	//   },
 29680  	//   "path": "userprofiles/{profileId}/directorySites",
 29681  	//   "request": {
 29682  	//     "$ref": "DirectorySite"
 29683  	//   },
 29684  	//   "response": {
 29685  	//     "$ref": "DirectorySite"
 29686  	//   },
 29687  	//   "scopes": [
 29688  	//     "https://www.googleapis.com/auth/dfatrafficking"
 29689  	//   ]
 29690  	// }
 29691  
 29692  }
 29693  
 29694  // method id "dfareporting.directorySites.list":
 29695  
 29696  type DirectorySitesListCall struct {
 29697  	s            *Service
 29698  	profileId    int64
 29699  	urlParams_   gensupport.URLParams
 29700  	ifNoneMatch_ string
 29701  	ctx_         context.Context
 29702  	header_      http.Header
 29703  }
 29704  
 29705  // List: Retrieves a list of directory sites, possibly filtered. This
 29706  // method supports paging.
 29707  //
 29708  // - profileId: User profile ID associated with this request.
 29709  func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
 29710  	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 29711  	c.profileId = profileId
 29712  	return c
 29713  }
 29714  
 29715  // AcceptsInStreamVideoPlacements sets the optional parameter
 29716  // "acceptsInStreamVideoPlacements": This search filter is no longer
 29717  // supported and will have no effect on the results returned.
 29718  func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
 29719  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 29720  	return c
 29721  }
 29722  
 29723  // AcceptsInterstitialPlacements sets the optional parameter
 29724  // "acceptsInterstitialPlacements": This search filter is no longer
 29725  // supported and will have no effect on the results returned.
 29726  func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
 29727  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 29728  	return c
 29729  }
 29730  
 29731  // AcceptsPublisherPaidPlacements sets the optional parameter
 29732  // "acceptsPublisherPaidPlacements": Select only directory sites that
 29733  // accept publisher paid placements. This field can be left blank.
 29734  func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
 29735  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 29736  	return c
 29737  }
 29738  
 29739  // Active sets the optional parameter "active": Select only active
 29740  // directory sites. Leave blank to retrieve both active and inactive
 29741  // directory sites.
 29742  func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
 29743  	c.urlParams_.Set("active", fmt.Sprint(active))
 29744  	return c
 29745  }
 29746  
 29747  // DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
 29748  // only directory sites with this Ad Manager network code.
 29749  func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
 29750  	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
 29751  	return c
 29752  }
 29753  
 29754  // Ids sets the optional parameter "ids": Select only directory sites
 29755  // with these IDs.
 29756  func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
 29757  	var ids_ []string
 29758  	for _, v := range ids {
 29759  		ids_ = append(ids_, fmt.Sprint(v))
 29760  	}
 29761  	c.urlParams_.SetMulti("ids", ids_)
 29762  	return c
 29763  }
 29764  
 29765  // MaxResults sets the optional parameter "maxResults": Maximum number
 29766  // of results to return.
 29767  func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
 29768  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 29769  	return c
 29770  }
 29771  
 29772  // PageToken sets the optional parameter "pageToken": Value of the
 29773  // nextPageToken from the previous result page.
 29774  func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
 29775  	c.urlParams_.Set("pageToken", pageToken)
 29776  	return c
 29777  }
 29778  
 29779  // SearchString sets the optional parameter "searchString": Allows
 29780  // searching for objects by name, ID or URL. Wildcards (*) are allowed.
 29781  // For example, "directory site*2015" will return objects with names
 29782  // like "directory site June 2015", "directory site April 2015", or
 29783  // simply "directory site 2015". Most of the searches also add wildcards
 29784  // implicitly at the start and the end of the search string. For
 29785  // example, a search string of "directory site" will match objects with
 29786  // name "my directory site", "directory site 2015" or simply, "directory
 29787  // site".
 29788  func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
 29789  	c.urlParams_.Set("searchString", searchString)
 29790  	return c
 29791  }
 29792  
 29793  // SortField sets the optional parameter "sortField": Field by which to
 29794  // sort the list.
 29795  //
 29796  // Possible values:
 29797  //
 29798  //	"ID" (default)
 29799  //	"NAME"
 29800  func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
 29801  	c.urlParams_.Set("sortField", sortField)
 29802  	return c
 29803  }
 29804  
 29805  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 29806  // results.
 29807  //
 29808  // Possible values:
 29809  //
 29810  //	"ASCENDING" (default)
 29811  //	"DESCENDING"
 29812  func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
 29813  	c.urlParams_.Set("sortOrder", sortOrder)
 29814  	return c
 29815  }
 29816  
 29817  // Fields allows partial responses to be retrieved. See
 29818  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 29819  // for more information.
 29820  func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
 29821  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 29822  	return c
 29823  }
 29824  
 29825  // IfNoneMatch sets the optional parameter which makes the operation
 29826  // fail if the object's ETag matches the given value. This is useful for
 29827  // getting updates only after the object has changed since the last
 29828  // request. Use googleapi.IsNotModified to check whether the response
 29829  // error from Do is the result of In-None-Match.
 29830  func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
 29831  	c.ifNoneMatch_ = entityTag
 29832  	return c
 29833  }
 29834  
 29835  // Context sets the context to be used in this call's Do method. Any
 29836  // pending HTTP request will be aborted if the provided context is
 29837  // canceled.
 29838  func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
 29839  	c.ctx_ = ctx
 29840  	return c
 29841  }
 29842  
 29843  // Header returns an http.Header that can be modified by the caller to
 29844  // add HTTP headers to the request.
 29845  func (c *DirectorySitesListCall) Header() http.Header {
 29846  	if c.header_ == nil {
 29847  		c.header_ = make(http.Header)
 29848  	}
 29849  	return c.header_
 29850  }
 29851  
 29852  func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
 29853  	reqHeaders := make(http.Header)
 29854  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 29855  	for k, v := range c.header_ {
 29856  		reqHeaders[k] = v
 29857  	}
 29858  	reqHeaders.Set("User-Agent", c.s.userAgent())
 29859  	if c.ifNoneMatch_ != "" {
 29860  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 29861  	}
 29862  	var body io.Reader = nil
 29863  	c.urlParams_.Set("alt", alt)
 29864  	c.urlParams_.Set("prettyPrint", "false")
 29865  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
 29866  	urls += "?" + c.urlParams_.Encode()
 29867  	req, err := http.NewRequest("GET", urls, body)
 29868  	if err != nil {
 29869  		return nil, err
 29870  	}
 29871  	req.Header = reqHeaders
 29872  	googleapi.Expand(req.URL, map[string]string{
 29873  		"profileId": strconv.FormatInt(c.profileId, 10),
 29874  	})
 29875  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 29876  }
 29877  
 29878  // Do executes the "dfareporting.directorySites.list" call.
 29879  // Exactly one of *DirectorySitesListResponse or error will be non-nil.
 29880  // Any non-2xx status code is an error. Response headers are in either
 29881  // *DirectorySitesListResponse.ServerResponse.Header or (if a response
 29882  // was returned at all) in error.(*googleapi.Error).Header. Use
 29883  // googleapi.IsNotModified to check whether the returned error was
 29884  // because http.StatusNotModified was returned.
 29885  func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
 29886  	gensupport.SetOptions(c.urlParams_, opts...)
 29887  	res, err := c.doRequest("json")
 29888  	if res != nil && res.StatusCode == http.StatusNotModified {
 29889  		if res.Body != nil {
 29890  			res.Body.Close()
 29891  		}
 29892  		return nil, &googleapi.Error{
 29893  			Code:   res.StatusCode,
 29894  			Header: res.Header,
 29895  		}
 29896  	}
 29897  	if err != nil {
 29898  		return nil, err
 29899  	}
 29900  	defer googleapi.CloseBody(res)
 29901  	if err := googleapi.CheckResponse(res); err != nil {
 29902  		return nil, err
 29903  	}
 29904  	ret := &DirectorySitesListResponse{
 29905  		ServerResponse: googleapi.ServerResponse{
 29906  			Header:         res.Header,
 29907  			HTTPStatusCode: res.StatusCode,
 29908  		},
 29909  	}
 29910  	target := &ret
 29911  	if err := gensupport.DecodeResponse(target, res); err != nil {
 29912  		return nil, err
 29913  	}
 29914  	return ret, nil
 29915  	// {
 29916  	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
 29917  	//   "flatPath": "userprofiles/{profileId}/directorySites",
 29918  	//   "httpMethod": "GET",
 29919  	//   "id": "dfareporting.directorySites.list",
 29920  	//   "parameterOrder": [
 29921  	//     "profileId"
 29922  	//   ],
 29923  	//   "parameters": {
 29924  	//     "acceptsInStreamVideoPlacements": {
 29925  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 29926  	//       "location": "query",
 29927  	//       "type": "boolean"
 29928  	//     },
 29929  	//     "acceptsInterstitialPlacements": {
 29930  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 29931  	//       "location": "query",
 29932  	//       "type": "boolean"
 29933  	//     },
 29934  	//     "acceptsPublisherPaidPlacements": {
 29935  	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
 29936  	//       "location": "query",
 29937  	//       "type": "boolean"
 29938  	//     },
 29939  	//     "active": {
 29940  	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
 29941  	//       "location": "query",
 29942  	//       "type": "boolean"
 29943  	//     },
 29944  	//     "dfpNetworkCode": {
 29945  	//       "description": "Select only directory sites with this Ad Manager network code.",
 29946  	//       "location": "query",
 29947  	//       "type": "string"
 29948  	//     },
 29949  	//     "ids": {
 29950  	//       "description": "Select only directory sites with these IDs.",
 29951  	//       "format": "int64",
 29952  	//       "location": "query",
 29953  	//       "repeated": true,
 29954  	//       "type": "string"
 29955  	//     },
 29956  	//     "maxResults": {
 29957  	//       "default": "1000",
 29958  	//       "description": "Maximum number of results to return.",
 29959  	//       "format": "int32",
 29960  	//       "location": "query",
 29961  	//       "maximum": "1000",
 29962  	//       "minimum": "0",
 29963  	//       "type": "integer"
 29964  	//     },
 29965  	//     "pageToken": {
 29966  	//       "description": "Value of the nextPageToken from the previous result page.",
 29967  	//       "location": "query",
 29968  	//       "type": "string"
 29969  	//     },
 29970  	//     "profileId": {
 29971  	//       "description": "User profile ID associated with this request.",
 29972  	//       "format": "int64",
 29973  	//       "location": "path",
 29974  	//       "required": true,
 29975  	//       "type": "string"
 29976  	//     },
 29977  	//     "searchString": {
 29978  	//       "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\".",
 29979  	//       "location": "query",
 29980  	//       "type": "string"
 29981  	//     },
 29982  	//     "sortField": {
 29983  	//       "default": "ID",
 29984  	//       "description": "Field by which to sort the list.",
 29985  	//       "enum": [
 29986  	//         "ID",
 29987  	//         "NAME"
 29988  	//       ],
 29989  	//       "enumDescriptions": [
 29990  	//         "",
 29991  	//         ""
 29992  	//       ],
 29993  	//       "location": "query",
 29994  	//       "type": "string"
 29995  	//     },
 29996  	//     "sortOrder": {
 29997  	//       "default": "ASCENDING",
 29998  	//       "description": "Order of sorted results.",
 29999  	//       "enum": [
 30000  	//         "ASCENDING",
 30001  	//         "DESCENDING"
 30002  	//       ],
 30003  	//       "enumDescriptions": [
 30004  	//         "",
 30005  	//         ""
 30006  	//       ],
 30007  	//       "location": "query",
 30008  	//       "type": "string"
 30009  	//     }
 30010  	//   },
 30011  	//   "path": "userprofiles/{profileId}/directorySites",
 30012  	//   "response": {
 30013  	//     "$ref": "DirectorySitesListResponse"
 30014  	//   },
 30015  	//   "scopes": [
 30016  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30017  	//   ]
 30018  	// }
 30019  
 30020  }
 30021  
 30022  // Pages invokes f for each page of results.
 30023  // A non-nil error returned from f will halt the iteration.
 30024  // The provided context supersedes any context provided to the Context method.
 30025  func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
 30026  	c.ctx_ = ctx
 30027  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 30028  	for {
 30029  		x, err := c.Do()
 30030  		if err != nil {
 30031  			return err
 30032  		}
 30033  		if err := f(x); err != nil {
 30034  			return err
 30035  		}
 30036  		if x.NextPageToken == "" {
 30037  			return nil
 30038  		}
 30039  		c.PageToken(x.NextPageToken)
 30040  	}
 30041  }
 30042  
 30043  // method id "dfareporting.dynamicTargetingKeys.delete":
 30044  
 30045  type DynamicTargetingKeysDeleteCall struct {
 30046  	s          *Service
 30047  	profileId  int64
 30048  	objectId   int64
 30049  	urlParams_ gensupport.URLParams
 30050  	ctx_       context.Context
 30051  	header_    http.Header
 30052  }
 30053  
 30054  // Delete: Deletes an existing dynamic targeting key.
 30055  //
 30056  //   - name: Name of this dynamic targeting key. This is a required field.
 30057  //     Must be less than 256 characters long and cannot contain commas.
 30058  //     All characters are converted to lowercase.
 30059  //   - objectId: ID of the object of this dynamic targeting key. This is a
 30060  //     required field.
 30061  //   - objectType: Type of the object of this dynamic targeting key. This
 30062  //     is a required field.
 30063  //   - profileId: User profile ID associated with this request.
 30064  func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
 30065  	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30066  	c.profileId = profileId
 30067  	c.objectId = objectId
 30068  	c.urlParams_.Set("name", name)
 30069  	c.urlParams_.Set("objectType", objectType)
 30070  	return c
 30071  }
 30072  
 30073  // Fields allows partial responses to be retrieved. See
 30074  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30075  // for more information.
 30076  func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
 30077  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30078  	return c
 30079  }
 30080  
 30081  // Context sets the context to be used in this call's Do method. Any
 30082  // pending HTTP request will be aborted if the provided context is
 30083  // canceled.
 30084  func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
 30085  	c.ctx_ = ctx
 30086  	return c
 30087  }
 30088  
 30089  // Header returns an http.Header that can be modified by the caller to
 30090  // add HTTP headers to the request.
 30091  func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
 30092  	if c.header_ == nil {
 30093  		c.header_ = make(http.Header)
 30094  	}
 30095  	return c.header_
 30096  }
 30097  
 30098  func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
 30099  	reqHeaders := make(http.Header)
 30100  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30101  	for k, v := range c.header_ {
 30102  		reqHeaders[k] = v
 30103  	}
 30104  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30105  	var body io.Reader = nil
 30106  	c.urlParams_.Set("alt", alt)
 30107  	c.urlParams_.Set("prettyPrint", "false")
 30108  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
 30109  	urls += "?" + c.urlParams_.Encode()
 30110  	req, err := http.NewRequest("DELETE", urls, body)
 30111  	if err != nil {
 30112  		return nil, err
 30113  	}
 30114  	req.Header = reqHeaders
 30115  	googleapi.Expand(req.URL, map[string]string{
 30116  		"profileId": strconv.FormatInt(c.profileId, 10),
 30117  		"objectId":  strconv.FormatInt(c.objectId, 10),
 30118  	})
 30119  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30120  }
 30121  
 30122  // Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
 30123  func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
 30124  	gensupport.SetOptions(c.urlParams_, opts...)
 30125  	res, err := c.doRequest("json")
 30126  	if err != nil {
 30127  		return err
 30128  	}
 30129  	defer googleapi.CloseBody(res)
 30130  	if err := googleapi.CheckResponse(res); err != nil {
 30131  		return err
 30132  	}
 30133  	return nil
 30134  	// {
 30135  	//   "description": "Deletes an existing dynamic targeting key.",
 30136  	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 30137  	//   "httpMethod": "DELETE",
 30138  	//   "id": "dfareporting.dynamicTargetingKeys.delete",
 30139  	//   "parameterOrder": [
 30140  	//     "profileId",
 30141  	//     "objectId",
 30142  	//     "name",
 30143  	//     "objectType"
 30144  	//   ],
 30145  	//   "parameters": {
 30146  	//     "name": {
 30147  	//       "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.",
 30148  	//       "location": "query",
 30149  	//       "required": true,
 30150  	//       "type": "string"
 30151  	//     },
 30152  	//     "objectId": {
 30153  	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
 30154  	//       "format": "int64",
 30155  	//       "location": "path",
 30156  	//       "required": true,
 30157  	//       "type": "string"
 30158  	//     },
 30159  	//     "objectType": {
 30160  	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
 30161  	//       "enum": [
 30162  	//         "OBJECT_ADVERTISER",
 30163  	//         "OBJECT_AD",
 30164  	//         "OBJECT_CREATIVE",
 30165  	//         "OBJECT_PLACEMENT"
 30166  	//       ],
 30167  	//       "enumDescriptions": [
 30168  	//         "",
 30169  	//         "",
 30170  	//         "",
 30171  	//         ""
 30172  	//       ],
 30173  	//       "location": "query",
 30174  	//       "required": true,
 30175  	//       "type": "string"
 30176  	//     },
 30177  	//     "profileId": {
 30178  	//       "description": "User profile ID associated with this request.",
 30179  	//       "format": "int64",
 30180  	//       "location": "path",
 30181  	//       "required": true,
 30182  	//       "type": "string"
 30183  	//     }
 30184  	//   },
 30185  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
 30186  	//   "scopes": [
 30187  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30188  	//   ]
 30189  	// }
 30190  
 30191  }
 30192  
 30193  // method id "dfareporting.dynamicTargetingKeys.insert":
 30194  
 30195  type DynamicTargetingKeysInsertCall struct {
 30196  	s                   *Service
 30197  	profileId           int64
 30198  	dynamictargetingkey *DynamicTargetingKey
 30199  	urlParams_          gensupport.URLParams
 30200  	ctx_                context.Context
 30201  	header_             http.Header
 30202  }
 30203  
 30204  // Insert: Inserts a new dynamic targeting key. Keys must be created at
 30205  // the advertiser level before being assigned to the advertiser's ads,
 30206  // creatives, or placements. There is a maximum of 1000 keys per
 30207  // advertiser, out of which a maximum of 20 keys can be assigned per ad,
 30208  // creative, or placement.
 30209  //
 30210  // - profileId: User profile ID associated with this request.
 30211  func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
 30212  	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30213  	c.profileId = profileId
 30214  	c.dynamictargetingkey = dynamictargetingkey
 30215  	return c
 30216  }
 30217  
 30218  // Fields allows partial responses to be retrieved. See
 30219  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30220  // for more information.
 30221  func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
 30222  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30223  	return c
 30224  }
 30225  
 30226  // Context sets the context to be used in this call's Do method. Any
 30227  // pending HTTP request will be aborted if the provided context is
 30228  // canceled.
 30229  func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
 30230  	c.ctx_ = ctx
 30231  	return c
 30232  }
 30233  
 30234  // Header returns an http.Header that can be modified by the caller to
 30235  // add HTTP headers to the request.
 30236  func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
 30237  	if c.header_ == nil {
 30238  		c.header_ = make(http.Header)
 30239  	}
 30240  	return c.header_
 30241  }
 30242  
 30243  func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
 30244  	reqHeaders := make(http.Header)
 30245  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30246  	for k, v := range c.header_ {
 30247  		reqHeaders[k] = v
 30248  	}
 30249  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30250  	var body io.Reader = nil
 30251  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
 30252  	if err != nil {
 30253  		return nil, err
 30254  	}
 30255  	reqHeaders.Set("Content-Type", "application/json")
 30256  	c.urlParams_.Set("alt", alt)
 30257  	c.urlParams_.Set("prettyPrint", "false")
 30258  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 30259  	urls += "?" + c.urlParams_.Encode()
 30260  	req, err := http.NewRequest("POST", urls, body)
 30261  	if err != nil {
 30262  		return nil, err
 30263  	}
 30264  	req.Header = reqHeaders
 30265  	googleapi.Expand(req.URL, map[string]string{
 30266  		"profileId": strconv.FormatInt(c.profileId, 10),
 30267  	})
 30268  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30269  }
 30270  
 30271  // Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
 30272  // Exactly one of *DynamicTargetingKey or error will be non-nil. Any
 30273  // non-2xx status code is an error. Response headers are in either
 30274  // *DynamicTargetingKey.ServerResponse.Header or (if a response was
 30275  // returned at all) in error.(*googleapi.Error).Header. Use
 30276  // googleapi.IsNotModified to check whether the returned error was
 30277  // because http.StatusNotModified was returned.
 30278  func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
 30279  	gensupport.SetOptions(c.urlParams_, opts...)
 30280  	res, err := c.doRequest("json")
 30281  	if res != nil && res.StatusCode == http.StatusNotModified {
 30282  		if res.Body != nil {
 30283  			res.Body.Close()
 30284  		}
 30285  		return nil, &googleapi.Error{
 30286  			Code:   res.StatusCode,
 30287  			Header: res.Header,
 30288  		}
 30289  	}
 30290  	if err != nil {
 30291  		return nil, err
 30292  	}
 30293  	defer googleapi.CloseBody(res)
 30294  	if err := googleapi.CheckResponse(res); err != nil {
 30295  		return nil, err
 30296  	}
 30297  	ret := &DynamicTargetingKey{
 30298  		ServerResponse: googleapi.ServerResponse{
 30299  			Header:         res.Header,
 30300  			HTTPStatusCode: res.StatusCode,
 30301  		},
 30302  	}
 30303  	target := &ret
 30304  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30305  		return nil, err
 30306  	}
 30307  	return ret, nil
 30308  	// {
 30309  	//   "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.",
 30310  	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
 30311  	//   "httpMethod": "POST",
 30312  	//   "id": "dfareporting.dynamicTargetingKeys.insert",
 30313  	//   "parameterOrder": [
 30314  	//     "profileId"
 30315  	//   ],
 30316  	//   "parameters": {
 30317  	//     "profileId": {
 30318  	//       "description": "User profile ID associated with this request.",
 30319  	//       "format": "int64",
 30320  	//       "location": "path",
 30321  	//       "required": true,
 30322  	//       "type": "string"
 30323  	//     }
 30324  	//   },
 30325  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 30326  	//   "request": {
 30327  	//     "$ref": "DynamicTargetingKey"
 30328  	//   },
 30329  	//   "response": {
 30330  	//     "$ref": "DynamicTargetingKey"
 30331  	//   },
 30332  	//   "scopes": [
 30333  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30334  	//   ]
 30335  	// }
 30336  
 30337  }
 30338  
 30339  // method id "dfareporting.dynamicTargetingKeys.list":
 30340  
 30341  type DynamicTargetingKeysListCall struct {
 30342  	s            *Service
 30343  	profileId    int64
 30344  	urlParams_   gensupport.URLParams
 30345  	ifNoneMatch_ string
 30346  	ctx_         context.Context
 30347  	header_      http.Header
 30348  }
 30349  
 30350  // List: Retrieves a list of dynamic targeting keys.
 30351  //
 30352  // - profileId: User profile ID associated with this request.
 30353  func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
 30354  	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30355  	c.profileId = profileId
 30356  	return c
 30357  }
 30358  
 30359  // AdvertiserId sets the optional parameter "advertiserId": Select only
 30360  // dynamic targeting keys whose object has this advertiser ID.
 30361  func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
 30362  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 30363  	return c
 30364  }
 30365  
 30366  // Names sets the optional parameter "names": Select only dynamic
 30367  // targeting keys exactly matching these names.
 30368  func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
 30369  	c.urlParams_.SetMulti("names", append([]string{}, names...))
 30370  	return c
 30371  }
 30372  
 30373  // ObjectId sets the optional parameter "objectId": Select only dynamic
 30374  // targeting keys with this object ID.
 30375  func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
 30376  	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
 30377  	return c
 30378  }
 30379  
 30380  // ObjectType sets the optional parameter "objectType": Select only
 30381  // dynamic targeting keys with this object type.
 30382  //
 30383  // Possible values:
 30384  //
 30385  //	"OBJECT_ADVERTISER"
 30386  //	"OBJECT_AD"
 30387  //	"OBJECT_CREATIVE"
 30388  //	"OBJECT_PLACEMENT"
 30389  func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
 30390  	c.urlParams_.Set("objectType", objectType)
 30391  	return c
 30392  }
 30393  
 30394  // Fields allows partial responses to be retrieved. See
 30395  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30396  // for more information.
 30397  func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
 30398  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30399  	return c
 30400  }
 30401  
 30402  // IfNoneMatch sets the optional parameter which makes the operation
 30403  // fail if the object's ETag matches the given value. This is useful for
 30404  // getting updates only after the object has changed since the last
 30405  // request. Use googleapi.IsNotModified to check whether the response
 30406  // error from Do is the result of In-None-Match.
 30407  func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
 30408  	c.ifNoneMatch_ = entityTag
 30409  	return c
 30410  }
 30411  
 30412  // Context sets the context to be used in this call's Do method. Any
 30413  // pending HTTP request will be aborted if the provided context is
 30414  // canceled.
 30415  func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
 30416  	c.ctx_ = ctx
 30417  	return c
 30418  }
 30419  
 30420  // Header returns an http.Header that can be modified by the caller to
 30421  // add HTTP headers to the request.
 30422  func (c *DynamicTargetingKeysListCall) Header() http.Header {
 30423  	if c.header_ == nil {
 30424  		c.header_ = make(http.Header)
 30425  	}
 30426  	return c.header_
 30427  }
 30428  
 30429  func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
 30430  	reqHeaders := make(http.Header)
 30431  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30432  	for k, v := range c.header_ {
 30433  		reqHeaders[k] = v
 30434  	}
 30435  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30436  	if c.ifNoneMatch_ != "" {
 30437  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30438  	}
 30439  	var body io.Reader = nil
 30440  	c.urlParams_.Set("alt", alt)
 30441  	c.urlParams_.Set("prettyPrint", "false")
 30442  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
 30443  	urls += "?" + c.urlParams_.Encode()
 30444  	req, err := http.NewRequest("GET", urls, body)
 30445  	if err != nil {
 30446  		return nil, err
 30447  	}
 30448  	req.Header = reqHeaders
 30449  	googleapi.Expand(req.URL, map[string]string{
 30450  		"profileId": strconv.FormatInt(c.profileId, 10),
 30451  	})
 30452  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30453  }
 30454  
 30455  // Do executes the "dfareporting.dynamicTargetingKeys.list" call.
 30456  // Exactly one of *DynamicTargetingKeysListResponse or error will be
 30457  // non-nil. Any non-2xx status code is an error. Response headers are in
 30458  // either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
 30459  // a response was returned at all) in error.(*googleapi.Error).Header.
 30460  // Use googleapi.IsNotModified to check whether the returned error was
 30461  // because http.StatusNotModified was returned.
 30462  func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
 30463  	gensupport.SetOptions(c.urlParams_, opts...)
 30464  	res, err := c.doRequest("json")
 30465  	if res != nil && res.StatusCode == http.StatusNotModified {
 30466  		if res.Body != nil {
 30467  			res.Body.Close()
 30468  		}
 30469  		return nil, &googleapi.Error{
 30470  			Code:   res.StatusCode,
 30471  			Header: res.Header,
 30472  		}
 30473  	}
 30474  	if err != nil {
 30475  		return nil, err
 30476  	}
 30477  	defer googleapi.CloseBody(res)
 30478  	if err := googleapi.CheckResponse(res); err != nil {
 30479  		return nil, err
 30480  	}
 30481  	ret := &DynamicTargetingKeysListResponse{
 30482  		ServerResponse: googleapi.ServerResponse{
 30483  			Header:         res.Header,
 30484  			HTTPStatusCode: res.StatusCode,
 30485  		},
 30486  	}
 30487  	target := &ret
 30488  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30489  		return nil, err
 30490  	}
 30491  	return ret, nil
 30492  	// {
 30493  	//   "description": "Retrieves a list of dynamic targeting keys.",
 30494  	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
 30495  	//   "httpMethod": "GET",
 30496  	//   "id": "dfareporting.dynamicTargetingKeys.list",
 30497  	//   "parameterOrder": [
 30498  	//     "profileId"
 30499  	//   ],
 30500  	//   "parameters": {
 30501  	//     "advertiserId": {
 30502  	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
 30503  	//       "format": "int64",
 30504  	//       "location": "query",
 30505  	//       "type": "string"
 30506  	//     },
 30507  	//     "names": {
 30508  	//       "description": "Select only dynamic targeting keys exactly matching these names.",
 30509  	//       "location": "query",
 30510  	//       "repeated": true,
 30511  	//       "type": "string"
 30512  	//     },
 30513  	//     "objectId": {
 30514  	//       "description": "Select only dynamic targeting keys with this object ID.",
 30515  	//       "format": "int64",
 30516  	//       "location": "query",
 30517  	//       "type": "string"
 30518  	//     },
 30519  	//     "objectType": {
 30520  	//       "description": "Select only dynamic targeting keys with this object type.",
 30521  	//       "enum": [
 30522  	//         "OBJECT_ADVERTISER",
 30523  	//         "OBJECT_AD",
 30524  	//         "OBJECT_CREATIVE",
 30525  	//         "OBJECT_PLACEMENT"
 30526  	//       ],
 30527  	//       "enumDescriptions": [
 30528  	//         "",
 30529  	//         "",
 30530  	//         "",
 30531  	//         ""
 30532  	//       ],
 30533  	//       "location": "query",
 30534  	//       "type": "string"
 30535  	//     },
 30536  	//     "profileId": {
 30537  	//       "description": "User profile ID associated with this request.",
 30538  	//       "format": "int64",
 30539  	//       "location": "path",
 30540  	//       "required": true,
 30541  	//       "type": "string"
 30542  	//     }
 30543  	//   },
 30544  	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
 30545  	//   "response": {
 30546  	//     "$ref": "DynamicTargetingKeysListResponse"
 30547  	//   },
 30548  	//   "scopes": [
 30549  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30550  	//   ]
 30551  	// }
 30552  
 30553  }
 30554  
 30555  // method id "dfareporting.eventTags.delete":
 30556  
 30557  type EventTagsDeleteCall struct {
 30558  	s          *Service
 30559  	profileId  int64
 30560  	id         int64
 30561  	urlParams_ gensupport.URLParams
 30562  	ctx_       context.Context
 30563  	header_    http.Header
 30564  }
 30565  
 30566  // Delete: Deletes an existing event tag.
 30567  //
 30568  // - id: Event tag ID.
 30569  // - profileId: User profile ID associated with this request.
 30570  func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
 30571  	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30572  	c.profileId = profileId
 30573  	c.id = id
 30574  	return c
 30575  }
 30576  
 30577  // Fields allows partial responses to be retrieved. See
 30578  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30579  // for more information.
 30580  func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
 30581  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30582  	return c
 30583  }
 30584  
 30585  // Context sets the context to be used in this call's Do method. Any
 30586  // pending HTTP request will be aborted if the provided context is
 30587  // canceled.
 30588  func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
 30589  	c.ctx_ = ctx
 30590  	return c
 30591  }
 30592  
 30593  // Header returns an http.Header that can be modified by the caller to
 30594  // add HTTP headers to the request.
 30595  func (c *EventTagsDeleteCall) Header() http.Header {
 30596  	if c.header_ == nil {
 30597  		c.header_ = make(http.Header)
 30598  	}
 30599  	return c.header_
 30600  }
 30601  
 30602  func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
 30603  	reqHeaders := make(http.Header)
 30604  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30605  	for k, v := range c.header_ {
 30606  		reqHeaders[k] = v
 30607  	}
 30608  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30609  	var body io.Reader = nil
 30610  	c.urlParams_.Set("alt", alt)
 30611  	c.urlParams_.Set("prettyPrint", "false")
 30612  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 30613  	urls += "?" + c.urlParams_.Encode()
 30614  	req, err := http.NewRequest("DELETE", urls, body)
 30615  	if err != nil {
 30616  		return nil, err
 30617  	}
 30618  	req.Header = reqHeaders
 30619  	googleapi.Expand(req.URL, map[string]string{
 30620  		"profileId": strconv.FormatInt(c.profileId, 10),
 30621  		"id":        strconv.FormatInt(c.id, 10),
 30622  	})
 30623  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30624  }
 30625  
 30626  // Do executes the "dfareporting.eventTags.delete" call.
 30627  func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
 30628  	gensupport.SetOptions(c.urlParams_, opts...)
 30629  	res, err := c.doRequest("json")
 30630  	if err != nil {
 30631  		return err
 30632  	}
 30633  	defer googleapi.CloseBody(res)
 30634  	if err := googleapi.CheckResponse(res); err != nil {
 30635  		return err
 30636  	}
 30637  	return nil
 30638  	// {
 30639  	//   "description": "Deletes an existing event tag.",
 30640  	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
 30641  	//   "httpMethod": "DELETE",
 30642  	//   "id": "dfareporting.eventTags.delete",
 30643  	//   "parameterOrder": [
 30644  	//     "profileId",
 30645  	//     "id"
 30646  	//   ],
 30647  	//   "parameters": {
 30648  	//     "id": {
 30649  	//       "description": "Event tag ID.",
 30650  	//       "format": "int64",
 30651  	//       "location": "path",
 30652  	//       "required": true,
 30653  	//       "type": "string"
 30654  	//     },
 30655  	//     "profileId": {
 30656  	//       "description": "User profile ID associated with this request.",
 30657  	//       "format": "int64",
 30658  	//       "location": "path",
 30659  	//       "required": true,
 30660  	//       "type": "string"
 30661  	//     }
 30662  	//   },
 30663  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 30664  	//   "scopes": [
 30665  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30666  	//   ]
 30667  	// }
 30668  
 30669  }
 30670  
 30671  // method id "dfareporting.eventTags.get":
 30672  
 30673  type EventTagsGetCall struct {
 30674  	s            *Service
 30675  	profileId    int64
 30676  	id           int64
 30677  	urlParams_   gensupport.URLParams
 30678  	ifNoneMatch_ string
 30679  	ctx_         context.Context
 30680  	header_      http.Header
 30681  }
 30682  
 30683  // Get: Gets one event tag by ID.
 30684  //
 30685  // - id: Event tag ID.
 30686  // - profileId: User profile ID associated with this request.
 30687  func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
 30688  	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30689  	c.profileId = profileId
 30690  	c.id = id
 30691  	return c
 30692  }
 30693  
 30694  // Fields allows partial responses to be retrieved. See
 30695  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30696  // for more information.
 30697  func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
 30698  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30699  	return c
 30700  }
 30701  
 30702  // IfNoneMatch sets the optional parameter which makes the operation
 30703  // fail if the object's ETag matches the given value. This is useful for
 30704  // getting updates only after the object has changed since the last
 30705  // request. Use googleapi.IsNotModified to check whether the response
 30706  // error from Do is the result of In-None-Match.
 30707  func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
 30708  	c.ifNoneMatch_ = entityTag
 30709  	return c
 30710  }
 30711  
 30712  // Context sets the context to be used in this call's Do method. Any
 30713  // pending HTTP request will be aborted if the provided context is
 30714  // canceled.
 30715  func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
 30716  	c.ctx_ = ctx
 30717  	return c
 30718  }
 30719  
 30720  // Header returns an http.Header that can be modified by the caller to
 30721  // add HTTP headers to the request.
 30722  func (c *EventTagsGetCall) Header() http.Header {
 30723  	if c.header_ == nil {
 30724  		c.header_ = make(http.Header)
 30725  	}
 30726  	return c.header_
 30727  }
 30728  
 30729  func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
 30730  	reqHeaders := make(http.Header)
 30731  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30732  	for k, v := range c.header_ {
 30733  		reqHeaders[k] = v
 30734  	}
 30735  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30736  	if c.ifNoneMatch_ != "" {
 30737  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 30738  	}
 30739  	var body io.Reader = nil
 30740  	c.urlParams_.Set("alt", alt)
 30741  	c.urlParams_.Set("prettyPrint", "false")
 30742  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
 30743  	urls += "?" + c.urlParams_.Encode()
 30744  	req, err := http.NewRequest("GET", urls, body)
 30745  	if err != nil {
 30746  		return nil, err
 30747  	}
 30748  	req.Header = reqHeaders
 30749  	googleapi.Expand(req.URL, map[string]string{
 30750  		"profileId": strconv.FormatInt(c.profileId, 10),
 30751  		"id":        strconv.FormatInt(c.id, 10),
 30752  	})
 30753  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30754  }
 30755  
 30756  // Do executes the "dfareporting.eventTags.get" call.
 30757  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 30758  // code is an error. Response headers are in either
 30759  // *EventTag.ServerResponse.Header or (if a response was returned at
 30760  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30761  // to check whether the returned error was because
 30762  // http.StatusNotModified was returned.
 30763  func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 30764  	gensupport.SetOptions(c.urlParams_, opts...)
 30765  	res, err := c.doRequest("json")
 30766  	if res != nil && res.StatusCode == http.StatusNotModified {
 30767  		if res.Body != nil {
 30768  			res.Body.Close()
 30769  		}
 30770  		return nil, &googleapi.Error{
 30771  			Code:   res.StatusCode,
 30772  			Header: res.Header,
 30773  		}
 30774  	}
 30775  	if err != nil {
 30776  		return nil, err
 30777  	}
 30778  	defer googleapi.CloseBody(res)
 30779  	if err := googleapi.CheckResponse(res); err != nil {
 30780  		return nil, err
 30781  	}
 30782  	ret := &EventTag{
 30783  		ServerResponse: googleapi.ServerResponse{
 30784  			Header:         res.Header,
 30785  			HTTPStatusCode: res.StatusCode,
 30786  		},
 30787  	}
 30788  	target := &ret
 30789  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30790  		return nil, err
 30791  	}
 30792  	return ret, nil
 30793  	// {
 30794  	//   "description": "Gets one event tag by ID.",
 30795  	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
 30796  	//   "httpMethod": "GET",
 30797  	//   "id": "dfareporting.eventTags.get",
 30798  	//   "parameterOrder": [
 30799  	//     "profileId",
 30800  	//     "id"
 30801  	//   ],
 30802  	//   "parameters": {
 30803  	//     "id": {
 30804  	//       "description": "Event tag ID.",
 30805  	//       "format": "int64",
 30806  	//       "location": "path",
 30807  	//       "required": true,
 30808  	//       "type": "string"
 30809  	//     },
 30810  	//     "profileId": {
 30811  	//       "description": "User profile ID associated with this request.",
 30812  	//       "format": "int64",
 30813  	//       "location": "path",
 30814  	//       "required": true,
 30815  	//       "type": "string"
 30816  	//     }
 30817  	//   },
 30818  	//   "path": "userprofiles/{profileId}/eventTags/{id}",
 30819  	//   "response": {
 30820  	//     "$ref": "EventTag"
 30821  	//   },
 30822  	//   "scopes": [
 30823  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30824  	//   ]
 30825  	// }
 30826  
 30827  }
 30828  
 30829  // method id "dfareporting.eventTags.insert":
 30830  
 30831  type EventTagsInsertCall struct {
 30832  	s          *Service
 30833  	profileId  int64
 30834  	eventtag   *EventTag
 30835  	urlParams_ gensupport.URLParams
 30836  	ctx_       context.Context
 30837  	header_    http.Header
 30838  }
 30839  
 30840  // Insert: Inserts a new event tag.
 30841  //
 30842  // - profileId: User profile ID associated with this request.
 30843  func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
 30844  	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30845  	c.profileId = profileId
 30846  	c.eventtag = eventtag
 30847  	return c
 30848  }
 30849  
 30850  // Fields allows partial responses to be retrieved. See
 30851  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 30852  // for more information.
 30853  func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
 30854  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 30855  	return c
 30856  }
 30857  
 30858  // Context sets the context to be used in this call's Do method. Any
 30859  // pending HTTP request will be aborted if the provided context is
 30860  // canceled.
 30861  func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
 30862  	c.ctx_ = ctx
 30863  	return c
 30864  }
 30865  
 30866  // Header returns an http.Header that can be modified by the caller to
 30867  // add HTTP headers to the request.
 30868  func (c *EventTagsInsertCall) Header() http.Header {
 30869  	if c.header_ == nil {
 30870  		c.header_ = make(http.Header)
 30871  	}
 30872  	return c.header_
 30873  }
 30874  
 30875  func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
 30876  	reqHeaders := make(http.Header)
 30877  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 30878  	for k, v := range c.header_ {
 30879  		reqHeaders[k] = v
 30880  	}
 30881  	reqHeaders.Set("User-Agent", c.s.userAgent())
 30882  	var body io.Reader = nil
 30883  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 30884  	if err != nil {
 30885  		return nil, err
 30886  	}
 30887  	reqHeaders.Set("Content-Type", "application/json")
 30888  	c.urlParams_.Set("alt", alt)
 30889  	c.urlParams_.Set("prettyPrint", "false")
 30890  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 30891  	urls += "?" + c.urlParams_.Encode()
 30892  	req, err := http.NewRequest("POST", urls, body)
 30893  	if err != nil {
 30894  		return nil, err
 30895  	}
 30896  	req.Header = reqHeaders
 30897  	googleapi.Expand(req.URL, map[string]string{
 30898  		"profileId": strconv.FormatInt(c.profileId, 10),
 30899  	})
 30900  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 30901  }
 30902  
 30903  // Do executes the "dfareporting.eventTags.insert" call.
 30904  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 30905  // code is an error. Response headers are in either
 30906  // *EventTag.ServerResponse.Header or (if a response was returned at
 30907  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 30908  // to check whether the returned error was because
 30909  // http.StatusNotModified was returned.
 30910  func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 30911  	gensupport.SetOptions(c.urlParams_, opts...)
 30912  	res, err := c.doRequest("json")
 30913  	if res != nil && res.StatusCode == http.StatusNotModified {
 30914  		if res.Body != nil {
 30915  			res.Body.Close()
 30916  		}
 30917  		return nil, &googleapi.Error{
 30918  			Code:   res.StatusCode,
 30919  			Header: res.Header,
 30920  		}
 30921  	}
 30922  	if err != nil {
 30923  		return nil, err
 30924  	}
 30925  	defer googleapi.CloseBody(res)
 30926  	if err := googleapi.CheckResponse(res); err != nil {
 30927  		return nil, err
 30928  	}
 30929  	ret := &EventTag{
 30930  		ServerResponse: googleapi.ServerResponse{
 30931  			Header:         res.Header,
 30932  			HTTPStatusCode: res.StatusCode,
 30933  		},
 30934  	}
 30935  	target := &ret
 30936  	if err := gensupport.DecodeResponse(target, res); err != nil {
 30937  		return nil, err
 30938  	}
 30939  	return ret, nil
 30940  	// {
 30941  	//   "description": "Inserts a new event tag.",
 30942  	//   "flatPath": "userprofiles/{profileId}/eventTags",
 30943  	//   "httpMethod": "POST",
 30944  	//   "id": "dfareporting.eventTags.insert",
 30945  	//   "parameterOrder": [
 30946  	//     "profileId"
 30947  	//   ],
 30948  	//   "parameters": {
 30949  	//     "profileId": {
 30950  	//       "description": "User profile ID associated with this request.",
 30951  	//       "format": "int64",
 30952  	//       "location": "path",
 30953  	//       "required": true,
 30954  	//       "type": "string"
 30955  	//     }
 30956  	//   },
 30957  	//   "path": "userprofiles/{profileId}/eventTags",
 30958  	//   "request": {
 30959  	//     "$ref": "EventTag"
 30960  	//   },
 30961  	//   "response": {
 30962  	//     "$ref": "EventTag"
 30963  	//   },
 30964  	//   "scopes": [
 30965  	//     "https://www.googleapis.com/auth/dfatrafficking"
 30966  	//   ]
 30967  	// }
 30968  
 30969  }
 30970  
 30971  // method id "dfareporting.eventTags.list":
 30972  
 30973  type EventTagsListCall struct {
 30974  	s            *Service
 30975  	profileId    int64
 30976  	urlParams_   gensupport.URLParams
 30977  	ifNoneMatch_ string
 30978  	ctx_         context.Context
 30979  	header_      http.Header
 30980  }
 30981  
 30982  // List: Retrieves a list of event tags, possibly filtered.
 30983  //
 30984  // - profileId: User profile ID associated with this request.
 30985  func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
 30986  	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 30987  	c.profileId = profileId
 30988  	return c
 30989  }
 30990  
 30991  // AdId sets the optional parameter "adId": Select only event tags that
 30992  // belong to this ad.
 30993  func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
 30994  	c.urlParams_.Set("adId", fmt.Sprint(adId))
 30995  	return c
 30996  }
 30997  
 30998  // AdvertiserId sets the optional parameter "advertiserId": Select only
 30999  // event tags that belong to this advertiser.
 31000  func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
 31001  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 31002  	return c
 31003  }
 31004  
 31005  // CampaignId sets the optional parameter "campaignId": Select only
 31006  // event tags that belong to this campaign.
 31007  func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
 31008  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 31009  	return c
 31010  }
 31011  
 31012  // DefinitionsOnly sets the optional parameter "definitionsOnly":
 31013  // Examine only the specified campaign or advertiser's event tags for
 31014  // matching selector criteria. When set to false, the parent advertiser
 31015  // and parent campaign of the specified ad or campaign is examined as
 31016  // well. In addition, when set to false, the status field is examined as
 31017  // well, along with the enabledByDefault field. This parameter can not
 31018  // be set to true when adId is specified as ads do not define their own
 31019  // even tags.
 31020  func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
 31021  	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
 31022  	return c
 31023  }
 31024  
 31025  // Enabled sets the optional parameter "enabled": Select only enabled
 31026  // event tags. What is considered enabled or disabled depends on the
 31027  // definitionsOnly parameter. When definitionsOnly is set to true, only
 31028  // the specified advertiser or campaign's event tags' enabledByDefault
 31029  // field is examined. When definitionsOnly is set to false, the
 31030  // specified ad or specified campaign's parent advertiser's or parent
 31031  // campaign's event tags' enabledByDefault and status fields are
 31032  // examined as well.
 31033  func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
 31034  	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
 31035  	return c
 31036  }
 31037  
 31038  // EventTagTypes sets the optional parameter "eventTagTypes": Select
 31039  // only event tags with the specified event tag types. Event tag types
 31040  // can be used to specify whether to use a third-party pixel, a
 31041  // third-party JavaScript URL, or a third-party click-through URL for
 31042  // either impression or click tracking.
 31043  //
 31044  // Possible values:
 31045  //
 31046  //	"IMPRESSION_IMAGE_EVENT_TAG"
 31047  //	"IMPRESSION_JAVASCRIPT_EVENT_TAG"
 31048  //	"CLICK_THROUGH_EVENT_TAG"
 31049  func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
 31050  	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
 31051  	return c
 31052  }
 31053  
 31054  // Ids sets the optional parameter "ids": Select only event tags with
 31055  // these IDs.
 31056  func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
 31057  	var ids_ []string
 31058  	for _, v := range ids {
 31059  		ids_ = append(ids_, fmt.Sprint(v))
 31060  	}
 31061  	c.urlParams_.SetMulti("ids", ids_)
 31062  	return c
 31063  }
 31064  
 31065  // SearchString sets the optional parameter "searchString": Allows
 31066  // searching for objects by name or ID. Wildcards (*) are allowed. For
 31067  // example, "eventtag*2015" will return objects with names like
 31068  // "eventtag June 2015", "eventtag April 2015", or simply "eventtag
 31069  // 2015". Most of the searches also add wildcards implicitly at the
 31070  // start and the end of the search string. For example, a search string
 31071  // of "eventtag" will match objects with name "my eventtag", "eventtag
 31072  // 2015", or simply "eventtag".
 31073  func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
 31074  	c.urlParams_.Set("searchString", searchString)
 31075  	return c
 31076  }
 31077  
 31078  // SortField sets the optional parameter "sortField": Field by which to
 31079  // sort the list.
 31080  //
 31081  // Possible values:
 31082  //
 31083  //	"ID" (default)
 31084  //	"NAME"
 31085  func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
 31086  	c.urlParams_.Set("sortField", sortField)
 31087  	return c
 31088  }
 31089  
 31090  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 31091  // results.
 31092  //
 31093  // Possible values:
 31094  //
 31095  //	"ASCENDING" (default)
 31096  //	"DESCENDING"
 31097  func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
 31098  	c.urlParams_.Set("sortOrder", sortOrder)
 31099  	return c
 31100  }
 31101  
 31102  // Fields allows partial responses to be retrieved. See
 31103  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31104  // for more information.
 31105  func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
 31106  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31107  	return c
 31108  }
 31109  
 31110  // IfNoneMatch sets the optional parameter which makes the operation
 31111  // fail if the object's ETag matches the given value. This is useful for
 31112  // getting updates only after the object has changed since the last
 31113  // request. Use googleapi.IsNotModified to check whether the response
 31114  // error from Do is the result of In-None-Match.
 31115  func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
 31116  	c.ifNoneMatch_ = entityTag
 31117  	return c
 31118  }
 31119  
 31120  // Context sets the context to be used in this call's Do method. Any
 31121  // pending HTTP request will be aborted if the provided context is
 31122  // canceled.
 31123  func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
 31124  	c.ctx_ = ctx
 31125  	return c
 31126  }
 31127  
 31128  // Header returns an http.Header that can be modified by the caller to
 31129  // add HTTP headers to the request.
 31130  func (c *EventTagsListCall) Header() http.Header {
 31131  	if c.header_ == nil {
 31132  		c.header_ = make(http.Header)
 31133  	}
 31134  	return c.header_
 31135  }
 31136  
 31137  func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
 31138  	reqHeaders := make(http.Header)
 31139  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31140  	for k, v := range c.header_ {
 31141  		reqHeaders[k] = v
 31142  	}
 31143  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31144  	if c.ifNoneMatch_ != "" {
 31145  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31146  	}
 31147  	var body io.Reader = nil
 31148  	c.urlParams_.Set("alt", alt)
 31149  	c.urlParams_.Set("prettyPrint", "false")
 31150  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31151  	urls += "?" + c.urlParams_.Encode()
 31152  	req, err := http.NewRequest("GET", urls, body)
 31153  	if err != nil {
 31154  		return nil, err
 31155  	}
 31156  	req.Header = reqHeaders
 31157  	googleapi.Expand(req.URL, map[string]string{
 31158  		"profileId": strconv.FormatInt(c.profileId, 10),
 31159  	})
 31160  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31161  }
 31162  
 31163  // Do executes the "dfareporting.eventTags.list" call.
 31164  // Exactly one of *EventTagsListResponse or error will be non-nil. Any
 31165  // non-2xx status code is an error. Response headers are in either
 31166  // *EventTagsListResponse.ServerResponse.Header or (if a response was
 31167  // returned at all) in error.(*googleapi.Error).Header. Use
 31168  // googleapi.IsNotModified to check whether the returned error was
 31169  // because http.StatusNotModified was returned.
 31170  func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
 31171  	gensupport.SetOptions(c.urlParams_, opts...)
 31172  	res, err := c.doRequest("json")
 31173  	if res != nil && res.StatusCode == http.StatusNotModified {
 31174  		if res.Body != nil {
 31175  			res.Body.Close()
 31176  		}
 31177  		return nil, &googleapi.Error{
 31178  			Code:   res.StatusCode,
 31179  			Header: res.Header,
 31180  		}
 31181  	}
 31182  	if err != nil {
 31183  		return nil, err
 31184  	}
 31185  	defer googleapi.CloseBody(res)
 31186  	if err := googleapi.CheckResponse(res); err != nil {
 31187  		return nil, err
 31188  	}
 31189  	ret := &EventTagsListResponse{
 31190  		ServerResponse: googleapi.ServerResponse{
 31191  			Header:         res.Header,
 31192  			HTTPStatusCode: res.StatusCode,
 31193  		},
 31194  	}
 31195  	target := &ret
 31196  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31197  		return nil, err
 31198  	}
 31199  	return ret, nil
 31200  	// {
 31201  	//   "description": "Retrieves a list of event tags, possibly filtered.",
 31202  	//   "flatPath": "userprofiles/{profileId}/eventTags",
 31203  	//   "httpMethod": "GET",
 31204  	//   "id": "dfareporting.eventTags.list",
 31205  	//   "parameterOrder": [
 31206  	//     "profileId"
 31207  	//   ],
 31208  	//   "parameters": {
 31209  	//     "adId": {
 31210  	//       "description": "Select only event tags that belong to this ad.",
 31211  	//       "format": "int64",
 31212  	//       "location": "query",
 31213  	//       "type": "string"
 31214  	//     },
 31215  	//     "advertiserId": {
 31216  	//       "description": "Select only event tags that belong to this advertiser.",
 31217  	//       "format": "int64",
 31218  	//       "location": "query",
 31219  	//       "type": "string"
 31220  	//     },
 31221  	//     "campaignId": {
 31222  	//       "description": "Select only event tags that belong to this campaign.",
 31223  	//       "format": "int64",
 31224  	//       "location": "query",
 31225  	//       "type": "string"
 31226  	//     },
 31227  	//     "definitionsOnly": {
 31228  	//       "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.",
 31229  	//       "location": "query",
 31230  	//       "type": "boolean"
 31231  	//     },
 31232  	//     "enabled": {
 31233  	//       "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.",
 31234  	//       "location": "query",
 31235  	//       "type": "boolean"
 31236  	//     },
 31237  	//     "eventTagTypes": {
 31238  	//       "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.",
 31239  	//       "enum": [
 31240  	//         "IMPRESSION_IMAGE_EVENT_TAG",
 31241  	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG",
 31242  	//         "CLICK_THROUGH_EVENT_TAG"
 31243  	//       ],
 31244  	//       "enumDescriptions": [
 31245  	//         "",
 31246  	//         "",
 31247  	//         ""
 31248  	//       ],
 31249  	//       "location": "query",
 31250  	//       "repeated": true,
 31251  	//       "type": "string"
 31252  	//     },
 31253  	//     "ids": {
 31254  	//       "description": "Select only event tags with these IDs.",
 31255  	//       "format": "int64",
 31256  	//       "location": "query",
 31257  	//       "repeated": true,
 31258  	//       "type": "string"
 31259  	//     },
 31260  	//     "profileId": {
 31261  	//       "description": "User profile ID associated with this request.",
 31262  	//       "format": "int64",
 31263  	//       "location": "path",
 31264  	//       "required": true,
 31265  	//       "type": "string"
 31266  	//     },
 31267  	//     "searchString": {
 31268  	//       "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\".",
 31269  	//       "location": "query",
 31270  	//       "type": "string"
 31271  	//     },
 31272  	//     "sortField": {
 31273  	//       "default": "ID",
 31274  	//       "description": "Field by which to sort the list.",
 31275  	//       "enum": [
 31276  	//         "ID",
 31277  	//         "NAME"
 31278  	//       ],
 31279  	//       "enumDescriptions": [
 31280  	//         "",
 31281  	//         ""
 31282  	//       ],
 31283  	//       "location": "query",
 31284  	//       "type": "string"
 31285  	//     },
 31286  	//     "sortOrder": {
 31287  	//       "default": "ASCENDING",
 31288  	//       "description": "Order of sorted results.",
 31289  	//       "enum": [
 31290  	//         "ASCENDING",
 31291  	//         "DESCENDING"
 31292  	//       ],
 31293  	//       "enumDescriptions": [
 31294  	//         "",
 31295  	//         ""
 31296  	//       ],
 31297  	//       "location": "query",
 31298  	//       "type": "string"
 31299  	//     }
 31300  	//   },
 31301  	//   "path": "userprofiles/{profileId}/eventTags",
 31302  	//   "response": {
 31303  	//     "$ref": "EventTagsListResponse"
 31304  	//   },
 31305  	//   "scopes": [
 31306  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31307  	//   ]
 31308  	// }
 31309  
 31310  }
 31311  
 31312  // method id "dfareporting.eventTags.patch":
 31313  
 31314  type EventTagsPatchCall struct {
 31315  	s          *Service
 31316  	profileId  int64
 31317  	eventtag   *EventTag
 31318  	urlParams_ gensupport.URLParams
 31319  	ctx_       context.Context
 31320  	header_    http.Header
 31321  }
 31322  
 31323  // Patch: Updates an existing event tag. This method supports patch
 31324  // semantics.
 31325  //
 31326  // - id: EventTag ID.
 31327  // - profileId: User profile ID associated with this request.
 31328  func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
 31329  	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31330  	c.profileId = profileId
 31331  	c.urlParams_.Set("id", fmt.Sprint(id))
 31332  	c.eventtag = eventtag
 31333  	return c
 31334  }
 31335  
 31336  // Fields allows partial responses to be retrieved. See
 31337  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31338  // for more information.
 31339  func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
 31340  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31341  	return c
 31342  }
 31343  
 31344  // Context sets the context to be used in this call's Do method. Any
 31345  // pending HTTP request will be aborted if the provided context is
 31346  // canceled.
 31347  func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
 31348  	c.ctx_ = ctx
 31349  	return c
 31350  }
 31351  
 31352  // Header returns an http.Header that can be modified by the caller to
 31353  // add HTTP headers to the request.
 31354  func (c *EventTagsPatchCall) Header() http.Header {
 31355  	if c.header_ == nil {
 31356  		c.header_ = make(http.Header)
 31357  	}
 31358  	return c.header_
 31359  }
 31360  
 31361  func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
 31362  	reqHeaders := make(http.Header)
 31363  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31364  	for k, v := range c.header_ {
 31365  		reqHeaders[k] = v
 31366  	}
 31367  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31368  	var body io.Reader = nil
 31369  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31370  	if err != nil {
 31371  		return nil, err
 31372  	}
 31373  	reqHeaders.Set("Content-Type", "application/json")
 31374  	c.urlParams_.Set("alt", alt)
 31375  	c.urlParams_.Set("prettyPrint", "false")
 31376  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31377  	urls += "?" + c.urlParams_.Encode()
 31378  	req, err := http.NewRequest("PATCH", urls, body)
 31379  	if err != nil {
 31380  		return nil, err
 31381  	}
 31382  	req.Header = reqHeaders
 31383  	googleapi.Expand(req.URL, map[string]string{
 31384  		"profileId": strconv.FormatInt(c.profileId, 10),
 31385  	})
 31386  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31387  }
 31388  
 31389  // Do executes the "dfareporting.eventTags.patch" call.
 31390  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31391  // code is an error. Response headers are in either
 31392  // *EventTag.ServerResponse.Header or (if a response was returned at
 31393  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31394  // to check whether the returned error was because
 31395  // http.StatusNotModified was returned.
 31396  func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31397  	gensupport.SetOptions(c.urlParams_, opts...)
 31398  	res, err := c.doRequest("json")
 31399  	if res != nil && res.StatusCode == http.StatusNotModified {
 31400  		if res.Body != nil {
 31401  			res.Body.Close()
 31402  		}
 31403  		return nil, &googleapi.Error{
 31404  			Code:   res.StatusCode,
 31405  			Header: res.Header,
 31406  		}
 31407  	}
 31408  	if err != nil {
 31409  		return nil, err
 31410  	}
 31411  	defer googleapi.CloseBody(res)
 31412  	if err := googleapi.CheckResponse(res); err != nil {
 31413  		return nil, err
 31414  	}
 31415  	ret := &EventTag{
 31416  		ServerResponse: googleapi.ServerResponse{
 31417  			Header:         res.Header,
 31418  			HTTPStatusCode: res.StatusCode,
 31419  		},
 31420  	}
 31421  	target := &ret
 31422  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31423  		return nil, err
 31424  	}
 31425  	return ret, nil
 31426  	// {
 31427  	//   "description": "Updates an existing event tag. This method supports patch semantics.",
 31428  	//   "flatPath": "userprofiles/{profileId}/eventTags",
 31429  	//   "httpMethod": "PATCH",
 31430  	//   "id": "dfareporting.eventTags.patch",
 31431  	//   "parameterOrder": [
 31432  	//     "profileId",
 31433  	//     "id"
 31434  	//   ],
 31435  	//   "parameters": {
 31436  	//     "id": {
 31437  	//       "description": "EventTag ID.",
 31438  	//       "format": "int64",
 31439  	//       "location": "query",
 31440  	//       "required": true,
 31441  	//       "type": "string"
 31442  	//     },
 31443  	//     "profileId": {
 31444  	//       "description": "User profile ID associated with this request.",
 31445  	//       "format": "int64",
 31446  	//       "location": "path",
 31447  	//       "required": true,
 31448  	//       "type": "string"
 31449  	//     }
 31450  	//   },
 31451  	//   "path": "userprofiles/{profileId}/eventTags",
 31452  	//   "request": {
 31453  	//     "$ref": "EventTag"
 31454  	//   },
 31455  	//   "response": {
 31456  	//     "$ref": "EventTag"
 31457  	//   },
 31458  	//   "scopes": [
 31459  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31460  	//   ]
 31461  	// }
 31462  
 31463  }
 31464  
 31465  // method id "dfareporting.eventTags.update":
 31466  
 31467  type EventTagsUpdateCall struct {
 31468  	s          *Service
 31469  	profileId  int64
 31470  	eventtag   *EventTag
 31471  	urlParams_ gensupport.URLParams
 31472  	ctx_       context.Context
 31473  	header_    http.Header
 31474  }
 31475  
 31476  // Update: Updates an existing event tag.
 31477  //
 31478  // - profileId: User profile ID associated with this request.
 31479  func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
 31480  	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31481  	c.profileId = profileId
 31482  	c.eventtag = eventtag
 31483  	return c
 31484  }
 31485  
 31486  // Fields allows partial responses to be retrieved. See
 31487  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31488  // for more information.
 31489  func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
 31490  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31491  	return c
 31492  }
 31493  
 31494  // Context sets the context to be used in this call's Do method. Any
 31495  // pending HTTP request will be aborted if the provided context is
 31496  // canceled.
 31497  func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
 31498  	c.ctx_ = ctx
 31499  	return c
 31500  }
 31501  
 31502  // Header returns an http.Header that can be modified by the caller to
 31503  // add HTTP headers to the request.
 31504  func (c *EventTagsUpdateCall) Header() http.Header {
 31505  	if c.header_ == nil {
 31506  		c.header_ = make(http.Header)
 31507  	}
 31508  	return c.header_
 31509  }
 31510  
 31511  func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
 31512  	reqHeaders := make(http.Header)
 31513  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31514  	for k, v := range c.header_ {
 31515  		reqHeaders[k] = v
 31516  	}
 31517  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31518  	var body io.Reader = nil
 31519  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
 31520  	if err != nil {
 31521  		return nil, err
 31522  	}
 31523  	reqHeaders.Set("Content-Type", "application/json")
 31524  	c.urlParams_.Set("alt", alt)
 31525  	c.urlParams_.Set("prettyPrint", "false")
 31526  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
 31527  	urls += "?" + c.urlParams_.Encode()
 31528  	req, err := http.NewRequest("PUT", urls, body)
 31529  	if err != nil {
 31530  		return nil, err
 31531  	}
 31532  	req.Header = reqHeaders
 31533  	googleapi.Expand(req.URL, map[string]string{
 31534  		"profileId": strconv.FormatInt(c.profileId, 10),
 31535  	})
 31536  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31537  }
 31538  
 31539  // Do executes the "dfareporting.eventTags.update" call.
 31540  // Exactly one of *EventTag or error will be non-nil. Any non-2xx status
 31541  // code is an error. Response headers are in either
 31542  // *EventTag.ServerResponse.Header or (if a response was returned at
 31543  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31544  // to check whether the returned error was because
 31545  // http.StatusNotModified was returned.
 31546  func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
 31547  	gensupport.SetOptions(c.urlParams_, opts...)
 31548  	res, err := c.doRequest("json")
 31549  	if res != nil && res.StatusCode == http.StatusNotModified {
 31550  		if res.Body != nil {
 31551  			res.Body.Close()
 31552  		}
 31553  		return nil, &googleapi.Error{
 31554  			Code:   res.StatusCode,
 31555  			Header: res.Header,
 31556  		}
 31557  	}
 31558  	if err != nil {
 31559  		return nil, err
 31560  	}
 31561  	defer googleapi.CloseBody(res)
 31562  	if err := googleapi.CheckResponse(res); err != nil {
 31563  		return nil, err
 31564  	}
 31565  	ret := &EventTag{
 31566  		ServerResponse: googleapi.ServerResponse{
 31567  			Header:         res.Header,
 31568  			HTTPStatusCode: res.StatusCode,
 31569  		},
 31570  	}
 31571  	target := &ret
 31572  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31573  		return nil, err
 31574  	}
 31575  	return ret, nil
 31576  	// {
 31577  	//   "description": "Updates an existing event tag.",
 31578  	//   "flatPath": "userprofiles/{profileId}/eventTags",
 31579  	//   "httpMethod": "PUT",
 31580  	//   "id": "dfareporting.eventTags.update",
 31581  	//   "parameterOrder": [
 31582  	//     "profileId"
 31583  	//   ],
 31584  	//   "parameters": {
 31585  	//     "profileId": {
 31586  	//       "description": "User profile ID associated with this request.",
 31587  	//       "format": "int64",
 31588  	//       "location": "path",
 31589  	//       "required": true,
 31590  	//       "type": "string"
 31591  	//     }
 31592  	//   },
 31593  	//   "path": "userprofiles/{profileId}/eventTags",
 31594  	//   "request": {
 31595  	//     "$ref": "EventTag"
 31596  	//   },
 31597  	//   "response": {
 31598  	//     "$ref": "EventTag"
 31599  	//   },
 31600  	//   "scopes": [
 31601  	//     "https://www.googleapis.com/auth/dfatrafficking"
 31602  	//   ]
 31603  	// }
 31604  
 31605  }
 31606  
 31607  // method id "dfareporting.files.get":
 31608  
 31609  type FilesGetCall struct {
 31610  	s            *Service
 31611  	reportId     int64
 31612  	fileId       int64
 31613  	urlParams_   gensupport.URLParams
 31614  	ifNoneMatch_ string
 31615  	ctx_         context.Context
 31616  	header_      http.Header
 31617  }
 31618  
 31619  // Get: Retrieves a report file by its report ID and file ID. This
 31620  // method supports media download.
 31621  //
 31622  // - fileId: The ID of the report file.
 31623  // - reportId: The ID of the report.
 31624  func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
 31625  	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31626  	c.reportId = reportId
 31627  	c.fileId = fileId
 31628  	return c
 31629  }
 31630  
 31631  // Fields allows partial responses to be retrieved. See
 31632  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31633  // for more information.
 31634  func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
 31635  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31636  	return c
 31637  }
 31638  
 31639  // IfNoneMatch sets the optional parameter which makes the operation
 31640  // fail if the object's ETag matches the given value. This is useful for
 31641  // getting updates only after the object has changed since the last
 31642  // request. Use googleapi.IsNotModified to check whether the response
 31643  // error from Do is the result of In-None-Match.
 31644  func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
 31645  	c.ifNoneMatch_ = entityTag
 31646  	return c
 31647  }
 31648  
 31649  // Context sets the context to be used in this call's Do and Download
 31650  // methods. Any pending HTTP request will be aborted if the provided
 31651  // context is canceled.
 31652  func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
 31653  	c.ctx_ = ctx
 31654  	return c
 31655  }
 31656  
 31657  // Header returns an http.Header that can be modified by the caller to
 31658  // add HTTP headers to the request.
 31659  func (c *FilesGetCall) Header() http.Header {
 31660  	if c.header_ == nil {
 31661  		c.header_ = make(http.Header)
 31662  	}
 31663  	return c.header_
 31664  }
 31665  
 31666  func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
 31667  	reqHeaders := make(http.Header)
 31668  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31669  	for k, v := range c.header_ {
 31670  		reqHeaders[k] = v
 31671  	}
 31672  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31673  	if c.ifNoneMatch_ != "" {
 31674  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31675  	}
 31676  	var body io.Reader = nil
 31677  	c.urlParams_.Set("alt", alt)
 31678  	c.urlParams_.Set("prettyPrint", "false")
 31679  	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
 31680  	urls += "?" + c.urlParams_.Encode()
 31681  	req, err := http.NewRequest("GET", urls, body)
 31682  	if err != nil {
 31683  		return nil, err
 31684  	}
 31685  	req.Header = reqHeaders
 31686  	googleapi.Expand(req.URL, map[string]string{
 31687  		"reportId": strconv.FormatInt(c.reportId, 10),
 31688  		"fileId":   strconv.FormatInt(c.fileId, 10),
 31689  	})
 31690  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31691  }
 31692  
 31693  // Download fetches the API endpoint's "media" value, instead of the normal
 31694  // API response value. If the returned error is nil, the Response is guaranteed to
 31695  // have a 2xx status code. Callers must close the Response.Body as usual.
 31696  func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 31697  	gensupport.SetOptions(c.urlParams_, opts...)
 31698  	res, err := c.doRequest("media")
 31699  	if err != nil {
 31700  		return nil, err
 31701  	}
 31702  	if err := googleapi.CheckResponse(res); err != nil {
 31703  		res.Body.Close()
 31704  		return nil, err
 31705  	}
 31706  	return res, nil
 31707  }
 31708  
 31709  // Do executes the "dfareporting.files.get" call.
 31710  // Exactly one of *File or error will be non-nil. Any non-2xx status
 31711  // code is an error. Response headers are in either
 31712  // *File.ServerResponse.Header or (if a response was returned at all) in
 31713  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 31714  // whether the returned error was because http.StatusNotModified was
 31715  // returned.
 31716  func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 31717  	gensupport.SetOptions(c.urlParams_, opts...)
 31718  	res, err := c.doRequest("json")
 31719  	if res != nil && res.StatusCode == http.StatusNotModified {
 31720  		if res.Body != nil {
 31721  			res.Body.Close()
 31722  		}
 31723  		return nil, &googleapi.Error{
 31724  			Code:   res.StatusCode,
 31725  			Header: res.Header,
 31726  		}
 31727  	}
 31728  	if err != nil {
 31729  		return nil, err
 31730  	}
 31731  	defer googleapi.CloseBody(res)
 31732  	if err := googleapi.CheckResponse(res); err != nil {
 31733  		return nil, err
 31734  	}
 31735  	ret := &File{
 31736  		ServerResponse: googleapi.ServerResponse{
 31737  			Header:         res.Header,
 31738  			HTTPStatusCode: res.StatusCode,
 31739  		},
 31740  	}
 31741  	target := &ret
 31742  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31743  		return nil, err
 31744  	}
 31745  	return ret, nil
 31746  	// {
 31747  	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
 31748  	//   "flatPath": "reports/{reportId}/files/{fileId}",
 31749  	//   "httpMethod": "GET",
 31750  	//   "id": "dfareporting.files.get",
 31751  	//   "parameterOrder": [
 31752  	//     "reportId",
 31753  	//     "fileId"
 31754  	//   ],
 31755  	//   "parameters": {
 31756  	//     "fileId": {
 31757  	//       "description": "The ID of the report file.",
 31758  	//       "format": "int64",
 31759  	//       "location": "path",
 31760  	//       "required": true,
 31761  	//       "type": "string"
 31762  	//     },
 31763  	//     "reportId": {
 31764  	//       "description": "The ID of the report.",
 31765  	//       "format": "int64",
 31766  	//       "location": "path",
 31767  	//       "required": true,
 31768  	//       "type": "string"
 31769  	//     }
 31770  	//   },
 31771  	//   "path": "reports/{reportId}/files/{fileId}",
 31772  	//   "response": {
 31773  	//     "$ref": "File"
 31774  	//   },
 31775  	//   "scopes": [
 31776  	//     "https://www.googleapis.com/auth/dfareporting"
 31777  	//   ],
 31778  	//   "supportsMediaDownload": true
 31779  	// }
 31780  
 31781  }
 31782  
 31783  // method id "dfareporting.files.list":
 31784  
 31785  type FilesListCall struct {
 31786  	s            *Service
 31787  	profileId    int64
 31788  	urlParams_   gensupport.URLParams
 31789  	ifNoneMatch_ string
 31790  	ctx_         context.Context
 31791  	header_      http.Header
 31792  }
 31793  
 31794  // List: Lists files for a user profile.
 31795  //
 31796  // - profileId: The Campaign Manager 360 user profile ID.
 31797  func (r *FilesService) List(profileId int64) *FilesListCall {
 31798  	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 31799  	c.profileId = profileId
 31800  	return c
 31801  }
 31802  
 31803  // MaxResults sets the optional parameter "maxResults": Maximum number
 31804  // of results to return.
 31805  func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
 31806  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 31807  	return c
 31808  }
 31809  
 31810  // PageToken sets the optional parameter "pageToken": The value of the
 31811  // nextToken from the previous result page.
 31812  func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
 31813  	c.urlParams_.Set("pageToken", pageToken)
 31814  	return c
 31815  }
 31816  
 31817  // Scope sets the optional parameter "scope": The scope that defines
 31818  // which results are returned.
 31819  //
 31820  // Possible values:
 31821  //
 31822  //	"ALL" - All files in account.
 31823  //	"MINE" (default) - My files.
 31824  //	"SHARED_WITH_ME" - Files shared with me.
 31825  func (c *FilesListCall) Scope(scope string) *FilesListCall {
 31826  	c.urlParams_.Set("scope", scope)
 31827  	return c
 31828  }
 31829  
 31830  // SortField sets the optional parameter "sortField": The field by which
 31831  // to sort the list.
 31832  //
 31833  // Possible values:
 31834  //
 31835  //	"ID" - Sort by file ID.
 31836  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
 31837  func (c *FilesListCall) SortField(sortField string) *FilesListCall {
 31838  	c.urlParams_.Set("sortField", sortField)
 31839  	return c
 31840  }
 31841  
 31842  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 31843  // results.
 31844  //
 31845  // Possible values:
 31846  //
 31847  //	"ASCENDING" - Ascending order.
 31848  //	"DESCENDING" (default) - Descending order.
 31849  func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
 31850  	c.urlParams_.Set("sortOrder", sortOrder)
 31851  	return c
 31852  }
 31853  
 31854  // Fields allows partial responses to be retrieved. See
 31855  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 31856  // for more information.
 31857  func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
 31858  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 31859  	return c
 31860  }
 31861  
 31862  // IfNoneMatch sets the optional parameter which makes the operation
 31863  // fail if the object's ETag matches the given value. This is useful for
 31864  // getting updates only after the object has changed since the last
 31865  // request. Use googleapi.IsNotModified to check whether the response
 31866  // error from Do is the result of In-None-Match.
 31867  func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
 31868  	c.ifNoneMatch_ = entityTag
 31869  	return c
 31870  }
 31871  
 31872  // Context sets the context to be used in this call's Do method. Any
 31873  // pending HTTP request will be aborted if the provided context is
 31874  // canceled.
 31875  func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
 31876  	c.ctx_ = ctx
 31877  	return c
 31878  }
 31879  
 31880  // Header returns an http.Header that can be modified by the caller to
 31881  // add HTTP headers to the request.
 31882  func (c *FilesListCall) Header() http.Header {
 31883  	if c.header_ == nil {
 31884  		c.header_ = make(http.Header)
 31885  	}
 31886  	return c.header_
 31887  }
 31888  
 31889  func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
 31890  	reqHeaders := make(http.Header)
 31891  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 31892  	for k, v := range c.header_ {
 31893  		reqHeaders[k] = v
 31894  	}
 31895  	reqHeaders.Set("User-Agent", c.s.userAgent())
 31896  	if c.ifNoneMatch_ != "" {
 31897  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 31898  	}
 31899  	var body io.Reader = nil
 31900  	c.urlParams_.Set("alt", alt)
 31901  	c.urlParams_.Set("prettyPrint", "false")
 31902  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
 31903  	urls += "?" + c.urlParams_.Encode()
 31904  	req, err := http.NewRequest("GET", urls, body)
 31905  	if err != nil {
 31906  		return nil, err
 31907  	}
 31908  	req.Header = reqHeaders
 31909  	googleapi.Expand(req.URL, map[string]string{
 31910  		"profileId": strconv.FormatInt(c.profileId, 10),
 31911  	})
 31912  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 31913  }
 31914  
 31915  // Do executes the "dfareporting.files.list" call.
 31916  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 31917  // code is an error. Response headers are in either
 31918  // *FileList.ServerResponse.Header or (if a response was returned at
 31919  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 31920  // to check whether the returned error was because
 31921  // http.StatusNotModified was returned.
 31922  func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 31923  	gensupport.SetOptions(c.urlParams_, opts...)
 31924  	res, err := c.doRequest("json")
 31925  	if res != nil && res.StatusCode == http.StatusNotModified {
 31926  		if res.Body != nil {
 31927  			res.Body.Close()
 31928  		}
 31929  		return nil, &googleapi.Error{
 31930  			Code:   res.StatusCode,
 31931  			Header: res.Header,
 31932  		}
 31933  	}
 31934  	if err != nil {
 31935  		return nil, err
 31936  	}
 31937  	defer googleapi.CloseBody(res)
 31938  	if err := googleapi.CheckResponse(res); err != nil {
 31939  		return nil, err
 31940  	}
 31941  	ret := &FileList{
 31942  		ServerResponse: googleapi.ServerResponse{
 31943  			Header:         res.Header,
 31944  			HTTPStatusCode: res.StatusCode,
 31945  		},
 31946  	}
 31947  	target := &ret
 31948  	if err := gensupport.DecodeResponse(target, res); err != nil {
 31949  		return nil, err
 31950  	}
 31951  	return ret, nil
 31952  	// {
 31953  	//   "description": "Lists files for a user profile.",
 31954  	//   "flatPath": "userprofiles/{profileId}/files",
 31955  	//   "httpMethod": "GET",
 31956  	//   "id": "dfareporting.files.list",
 31957  	//   "parameterOrder": [
 31958  	//     "profileId"
 31959  	//   ],
 31960  	//   "parameters": {
 31961  	//     "maxResults": {
 31962  	//       "default": "10",
 31963  	//       "description": "Maximum number of results to return.",
 31964  	//       "format": "int32",
 31965  	//       "location": "query",
 31966  	//       "maximum": "10",
 31967  	//       "minimum": "0",
 31968  	//       "type": "integer"
 31969  	//     },
 31970  	//     "pageToken": {
 31971  	//       "description": "The value of the nextToken from the previous result page.",
 31972  	//       "location": "query",
 31973  	//       "type": "string"
 31974  	//     },
 31975  	//     "profileId": {
 31976  	//       "description": "The Campaign Manager 360 user profile ID.",
 31977  	//       "format": "int64",
 31978  	//       "location": "path",
 31979  	//       "required": true,
 31980  	//       "type": "string"
 31981  	//     },
 31982  	//     "scope": {
 31983  	//       "default": "MINE",
 31984  	//       "description": "The scope that defines which results are returned.",
 31985  	//       "enum": [
 31986  	//         "ALL",
 31987  	//         "MINE",
 31988  	//         "SHARED_WITH_ME"
 31989  	//       ],
 31990  	//       "enumDescriptions": [
 31991  	//         "All files in account.",
 31992  	//         "My files.",
 31993  	//         "Files shared with me."
 31994  	//       ],
 31995  	//       "location": "query",
 31996  	//       "type": "string"
 31997  	//     },
 31998  	//     "sortField": {
 31999  	//       "default": "LAST_MODIFIED_TIME",
 32000  	//       "description": "The field by which to sort the list.",
 32001  	//       "enum": [
 32002  	//         "ID",
 32003  	//         "LAST_MODIFIED_TIME"
 32004  	//       ],
 32005  	//       "enumDescriptions": [
 32006  	//         "Sort by file ID.",
 32007  	//         "Sort by 'lastmodifiedAt' field."
 32008  	//       ],
 32009  	//       "location": "query",
 32010  	//       "type": "string"
 32011  	//     },
 32012  	//     "sortOrder": {
 32013  	//       "default": "DESCENDING",
 32014  	//       "description": "Order of sorted results.",
 32015  	//       "enum": [
 32016  	//         "ASCENDING",
 32017  	//         "DESCENDING"
 32018  	//       ],
 32019  	//       "enumDescriptions": [
 32020  	//         "Ascending order.",
 32021  	//         "Descending order."
 32022  	//       ],
 32023  	//       "location": "query",
 32024  	//       "type": "string"
 32025  	//     }
 32026  	//   },
 32027  	//   "path": "userprofiles/{profileId}/files",
 32028  	//   "response": {
 32029  	//     "$ref": "FileList"
 32030  	//   },
 32031  	//   "scopes": [
 32032  	//     "https://www.googleapis.com/auth/dfareporting"
 32033  	//   ]
 32034  	// }
 32035  
 32036  }
 32037  
 32038  // Pages invokes f for each page of results.
 32039  // A non-nil error returned from f will halt the iteration.
 32040  // The provided context supersedes any context provided to the Context method.
 32041  func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 32042  	c.ctx_ = ctx
 32043  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 32044  	for {
 32045  		x, err := c.Do()
 32046  		if err != nil {
 32047  			return err
 32048  		}
 32049  		if err := f(x); err != nil {
 32050  			return err
 32051  		}
 32052  		if x.NextPageToken == "" {
 32053  			return nil
 32054  		}
 32055  		c.PageToken(x.NextPageToken)
 32056  	}
 32057  }
 32058  
 32059  // method id "dfareporting.floodlightActivities.delete":
 32060  
 32061  type FloodlightActivitiesDeleteCall struct {
 32062  	s          *Service
 32063  	profileId  int64
 32064  	id         int64
 32065  	urlParams_ gensupport.URLParams
 32066  	ctx_       context.Context
 32067  	header_    http.Header
 32068  }
 32069  
 32070  // Delete: Deletes an existing floodlight activity.
 32071  //
 32072  // - id: Floodlight activity ID.
 32073  // - profileId: User profile ID associated with this request.
 32074  func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
 32075  	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32076  	c.profileId = profileId
 32077  	c.id = id
 32078  	return c
 32079  }
 32080  
 32081  // Fields allows partial responses to be retrieved. See
 32082  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32083  // for more information.
 32084  func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
 32085  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32086  	return c
 32087  }
 32088  
 32089  // Context sets the context to be used in this call's Do method. Any
 32090  // pending HTTP request will be aborted if the provided context is
 32091  // canceled.
 32092  func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
 32093  	c.ctx_ = ctx
 32094  	return c
 32095  }
 32096  
 32097  // Header returns an http.Header that can be modified by the caller to
 32098  // add HTTP headers to the request.
 32099  func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
 32100  	if c.header_ == nil {
 32101  		c.header_ = make(http.Header)
 32102  	}
 32103  	return c.header_
 32104  }
 32105  
 32106  func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 32107  	reqHeaders := make(http.Header)
 32108  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32109  	for k, v := range c.header_ {
 32110  		reqHeaders[k] = v
 32111  	}
 32112  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32113  	var body io.Reader = nil
 32114  	c.urlParams_.Set("alt", alt)
 32115  	c.urlParams_.Set("prettyPrint", "false")
 32116  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 32117  	urls += "?" + c.urlParams_.Encode()
 32118  	req, err := http.NewRequest("DELETE", urls, body)
 32119  	if err != nil {
 32120  		return nil, err
 32121  	}
 32122  	req.Header = reqHeaders
 32123  	googleapi.Expand(req.URL, map[string]string{
 32124  		"profileId": strconv.FormatInt(c.profileId, 10),
 32125  		"id":        strconv.FormatInt(c.id, 10),
 32126  	})
 32127  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32128  }
 32129  
 32130  // Do executes the "dfareporting.floodlightActivities.delete" call.
 32131  func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 32132  	gensupport.SetOptions(c.urlParams_, opts...)
 32133  	res, err := c.doRequest("json")
 32134  	if err != nil {
 32135  		return err
 32136  	}
 32137  	defer googleapi.CloseBody(res)
 32138  	if err := googleapi.CheckResponse(res); err != nil {
 32139  		return err
 32140  	}
 32141  	return nil
 32142  	// {
 32143  	//   "description": "Deletes an existing floodlight activity.",
 32144  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
 32145  	//   "httpMethod": "DELETE",
 32146  	//   "id": "dfareporting.floodlightActivities.delete",
 32147  	//   "parameterOrder": [
 32148  	//     "profileId",
 32149  	//     "id"
 32150  	//   ],
 32151  	//   "parameters": {
 32152  	//     "id": {
 32153  	//       "description": "Floodlight activity ID.",
 32154  	//       "format": "int64",
 32155  	//       "location": "path",
 32156  	//       "required": true,
 32157  	//       "type": "string"
 32158  	//     },
 32159  	//     "profileId": {
 32160  	//       "description": "User profile ID associated with this request.",
 32161  	//       "format": "int64",
 32162  	//       "location": "path",
 32163  	//       "required": true,
 32164  	//       "type": "string"
 32165  	//     }
 32166  	//   },
 32167  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 32168  	//   "scopes": [
 32169  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32170  	//   ]
 32171  	// }
 32172  
 32173  }
 32174  
 32175  // method id "dfareporting.floodlightActivities.generatetag":
 32176  
 32177  type FloodlightActivitiesGeneratetagCall struct {
 32178  	s          *Service
 32179  	profileId  int64
 32180  	urlParams_ gensupport.URLParams
 32181  	ctx_       context.Context
 32182  	header_    http.Header
 32183  }
 32184  
 32185  // Generatetag: Generates a tag for a floodlight activity.
 32186  //
 32187  // - profileId: User profile ID associated with this request.
 32188  func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
 32189  	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32190  	c.profileId = profileId
 32191  	return c
 32192  }
 32193  
 32194  // FloodlightActivityId sets the optional parameter
 32195  // "floodlightActivityId": Floodlight activity ID for which we want to
 32196  // generate a tag.
 32197  func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
 32198  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 32199  	return c
 32200  }
 32201  
 32202  // Fields allows partial responses to be retrieved. See
 32203  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32204  // for more information.
 32205  func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
 32206  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32207  	return c
 32208  }
 32209  
 32210  // Context sets the context to be used in this call's Do method. Any
 32211  // pending HTTP request will be aborted if the provided context is
 32212  // canceled.
 32213  func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
 32214  	c.ctx_ = ctx
 32215  	return c
 32216  }
 32217  
 32218  // Header returns an http.Header that can be modified by the caller to
 32219  // add HTTP headers to the request.
 32220  func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
 32221  	if c.header_ == nil {
 32222  		c.header_ = make(http.Header)
 32223  	}
 32224  	return c.header_
 32225  }
 32226  
 32227  func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
 32228  	reqHeaders := make(http.Header)
 32229  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32230  	for k, v := range c.header_ {
 32231  		reqHeaders[k] = v
 32232  	}
 32233  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32234  	var body io.Reader = nil
 32235  	c.urlParams_.Set("alt", alt)
 32236  	c.urlParams_.Set("prettyPrint", "false")
 32237  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
 32238  	urls += "?" + c.urlParams_.Encode()
 32239  	req, err := http.NewRequest("POST", urls, body)
 32240  	if err != nil {
 32241  		return nil, err
 32242  	}
 32243  	req.Header = reqHeaders
 32244  	googleapi.Expand(req.URL, map[string]string{
 32245  		"profileId": strconv.FormatInt(c.profileId, 10),
 32246  	})
 32247  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32248  }
 32249  
 32250  // Do executes the "dfareporting.floodlightActivities.generatetag" call.
 32251  // Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
 32252  // be non-nil. Any non-2xx status code is an error. Response headers are
 32253  // in either
 32254  // *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
 32255  // a response was returned at all) in error.(*googleapi.Error).Header.
 32256  // Use googleapi.IsNotModified to check whether the returned error was
 32257  // because http.StatusNotModified was returned.
 32258  func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
 32259  	gensupport.SetOptions(c.urlParams_, opts...)
 32260  	res, err := c.doRequest("json")
 32261  	if res != nil && res.StatusCode == http.StatusNotModified {
 32262  		if res.Body != nil {
 32263  			res.Body.Close()
 32264  		}
 32265  		return nil, &googleapi.Error{
 32266  			Code:   res.StatusCode,
 32267  			Header: res.Header,
 32268  		}
 32269  	}
 32270  	if err != nil {
 32271  		return nil, err
 32272  	}
 32273  	defer googleapi.CloseBody(res)
 32274  	if err := googleapi.CheckResponse(res); err != nil {
 32275  		return nil, err
 32276  	}
 32277  	ret := &FloodlightActivitiesGenerateTagResponse{
 32278  		ServerResponse: googleapi.ServerResponse{
 32279  			Header:         res.Header,
 32280  			HTTPStatusCode: res.StatusCode,
 32281  		},
 32282  	}
 32283  	target := &ret
 32284  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32285  		return nil, err
 32286  	}
 32287  	return ret, nil
 32288  	// {
 32289  	//   "description": "Generates a tag for a floodlight activity.",
 32290  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag",
 32291  	//   "httpMethod": "POST",
 32292  	//   "id": "dfareporting.floodlightActivities.generatetag",
 32293  	//   "parameterOrder": [
 32294  	//     "profileId"
 32295  	//   ],
 32296  	//   "parameters": {
 32297  	//     "floodlightActivityId": {
 32298  	//       "description": "Floodlight activity ID for which we want to generate a tag.",
 32299  	//       "format": "int64",
 32300  	//       "location": "query",
 32301  	//       "type": "string"
 32302  	//     },
 32303  	//     "profileId": {
 32304  	//       "description": "User profile ID associated with this request.",
 32305  	//       "format": "int64",
 32306  	//       "location": "path",
 32307  	//       "required": true,
 32308  	//       "type": "string"
 32309  	//     }
 32310  	//   },
 32311  	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
 32312  	//   "response": {
 32313  	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
 32314  	//   },
 32315  	//   "scopes": [
 32316  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32317  	//   ]
 32318  	// }
 32319  
 32320  }
 32321  
 32322  // method id "dfareporting.floodlightActivities.get":
 32323  
 32324  type FloodlightActivitiesGetCall struct {
 32325  	s            *Service
 32326  	profileId    int64
 32327  	id           int64
 32328  	urlParams_   gensupport.URLParams
 32329  	ifNoneMatch_ string
 32330  	ctx_         context.Context
 32331  	header_      http.Header
 32332  }
 32333  
 32334  // Get: Gets one floodlight activity by ID.
 32335  //
 32336  // - id: Floodlight activity ID.
 32337  // - profileId: User profile ID associated with this request.
 32338  func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
 32339  	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32340  	c.profileId = profileId
 32341  	c.id = id
 32342  	return c
 32343  }
 32344  
 32345  // Fields allows partial responses to be retrieved. See
 32346  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32347  // for more information.
 32348  func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
 32349  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32350  	return c
 32351  }
 32352  
 32353  // IfNoneMatch sets the optional parameter which makes the operation
 32354  // fail if the object's ETag matches the given value. This is useful for
 32355  // getting updates only after the object has changed since the last
 32356  // request. Use googleapi.IsNotModified to check whether the response
 32357  // error from Do is the result of In-None-Match.
 32358  func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
 32359  	c.ifNoneMatch_ = entityTag
 32360  	return c
 32361  }
 32362  
 32363  // Context sets the context to be used in this call's Do method. Any
 32364  // pending HTTP request will be aborted if the provided context is
 32365  // canceled.
 32366  func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
 32367  	c.ctx_ = ctx
 32368  	return c
 32369  }
 32370  
 32371  // Header returns an http.Header that can be modified by the caller to
 32372  // add HTTP headers to the request.
 32373  func (c *FloodlightActivitiesGetCall) Header() http.Header {
 32374  	if c.header_ == nil {
 32375  		c.header_ = make(http.Header)
 32376  	}
 32377  	return c.header_
 32378  }
 32379  
 32380  func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
 32381  	reqHeaders := make(http.Header)
 32382  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32383  	for k, v := range c.header_ {
 32384  		reqHeaders[k] = v
 32385  	}
 32386  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32387  	if c.ifNoneMatch_ != "" {
 32388  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32389  	}
 32390  	var body io.Reader = nil
 32391  	c.urlParams_.Set("alt", alt)
 32392  	c.urlParams_.Set("prettyPrint", "false")
 32393  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
 32394  	urls += "?" + c.urlParams_.Encode()
 32395  	req, err := http.NewRequest("GET", urls, body)
 32396  	if err != nil {
 32397  		return nil, err
 32398  	}
 32399  	req.Header = reqHeaders
 32400  	googleapi.Expand(req.URL, map[string]string{
 32401  		"profileId": strconv.FormatInt(c.profileId, 10),
 32402  		"id":        strconv.FormatInt(c.id, 10),
 32403  	})
 32404  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32405  }
 32406  
 32407  // Do executes the "dfareporting.floodlightActivities.get" call.
 32408  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32409  // non-2xx status code is an error. Response headers are in either
 32410  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32411  // returned at all) in error.(*googleapi.Error).Header. Use
 32412  // googleapi.IsNotModified to check whether the returned error was
 32413  // because http.StatusNotModified was returned.
 32414  func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32415  	gensupport.SetOptions(c.urlParams_, opts...)
 32416  	res, err := c.doRequest("json")
 32417  	if res != nil && res.StatusCode == http.StatusNotModified {
 32418  		if res.Body != nil {
 32419  			res.Body.Close()
 32420  		}
 32421  		return nil, &googleapi.Error{
 32422  			Code:   res.StatusCode,
 32423  			Header: res.Header,
 32424  		}
 32425  	}
 32426  	if err != nil {
 32427  		return nil, err
 32428  	}
 32429  	defer googleapi.CloseBody(res)
 32430  	if err := googleapi.CheckResponse(res); err != nil {
 32431  		return nil, err
 32432  	}
 32433  	ret := &FloodlightActivity{
 32434  		ServerResponse: googleapi.ServerResponse{
 32435  			Header:         res.Header,
 32436  			HTTPStatusCode: res.StatusCode,
 32437  		},
 32438  	}
 32439  	target := &ret
 32440  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32441  		return nil, err
 32442  	}
 32443  	return ret, nil
 32444  	// {
 32445  	//   "description": "Gets one floodlight activity by ID.",
 32446  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
 32447  	//   "httpMethod": "GET",
 32448  	//   "id": "dfareporting.floodlightActivities.get",
 32449  	//   "parameterOrder": [
 32450  	//     "profileId",
 32451  	//     "id"
 32452  	//   ],
 32453  	//   "parameters": {
 32454  	//     "id": {
 32455  	//       "description": "Floodlight activity ID.",
 32456  	//       "format": "int64",
 32457  	//       "location": "path",
 32458  	//       "required": true,
 32459  	//       "type": "string"
 32460  	//     },
 32461  	//     "profileId": {
 32462  	//       "description": "User profile ID associated with this request.",
 32463  	//       "format": "int64",
 32464  	//       "location": "path",
 32465  	//       "required": true,
 32466  	//       "type": "string"
 32467  	//     }
 32468  	//   },
 32469  	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
 32470  	//   "response": {
 32471  	//     "$ref": "FloodlightActivity"
 32472  	//   },
 32473  	//   "scopes": [
 32474  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32475  	//   ]
 32476  	// }
 32477  
 32478  }
 32479  
 32480  // method id "dfareporting.floodlightActivities.insert":
 32481  
 32482  type FloodlightActivitiesInsertCall struct {
 32483  	s                  *Service
 32484  	profileId          int64
 32485  	floodlightactivity *FloodlightActivity
 32486  	urlParams_         gensupport.URLParams
 32487  	ctx_               context.Context
 32488  	header_            http.Header
 32489  }
 32490  
 32491  // Insert: Inserts a new floodlight activity.
 32492  //
 32493  // - profileId: User profile ID associated with this request.
 32494  func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
 32495  	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32496  	c.profileId = profileId
 32497  	c.floodlightactivity = floodlightactivity
 32498  	return c
 32499  }
 32500  
 32501  // Fields allows partial responses to be retrieved. See
 32502  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32503  // for more information.
 32504  func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
 32505  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32506  	return c
 32507  }
 32508  
 32509  // Context sets the context to be used in this call's Do method. Any
 32510  // pending HTTP request will be aborted if the provided context is
 32511  // canceled.
 32512  func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
 32513  	c.ctx_ = ctx
 32514  	return c
 32515  }
 32516  
 32517  // Header returns an http.Header that can be modified by the caller to
 32518  // add HTTP headers to the request.
 32519  func (c *FloodlightActivitiesInsertCall) Header() http.Header {
 32520  	if c.header_ == nil {
 32521  		c.header_ = make(http.Header)
 32522  	}
 32523  	return c.header_
 32524  }
 32525  
 32526  func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
 32527  	reqHeaders := make(http.Header)
 32528  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32529  	for k, v := range c.header_ {
 32530  		reqHeaders[k] = v
 32531  	}
 32532  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32533  	var body io.Reader = nil
 32534  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 32535  	if err != nil {
 32536  		return nil, err
 32537  	}
 32538  	reqHeaders.Set("Content-Type", "application/json")
 32539  	c.urlParams_.Set("alt", alt)
 32540  	c.urlParams_.Set("prettyPrint", "false")
 32541  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32542  	urls += "?" + c.urlParams_.Encode()
 32543  	req, err := http.NewRequest("POST", urls, body)
 32544  	if err != nil {
 32545  		return nil, err
 32546  	}
 32547  	req.Header = reqHeaders
 32548  	googleapi.Expand(req.URL, map[string]string{
 32549  		"profileId": strconv.FormatInt(c.profileId, 10),
 32550  	})
 32551  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32552  }
 32553  
 32554  // Do executes the "dfareporting.floodlightActivities.insert" call.
 32555  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 32556  // non-2xx status code is an error. Response headers are in either
 32557  // *FloodlightActivity.ServerResponse.Header or (if a response was
 32558  // returned at all) in error.(*googleapi.Error).Header. Use
 32559  // googleapi.IsNotModified to check whether the returned error was
 32560  // because http.StatusNotModified was returned.
 32561  func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 32562  	gensupport.SetOptions(c.urlParams_, opts...)
 32563  	res, err := c.doRequest("json")
 32564  	if res != nil && res.StatusCode == http.StatusNotModified {
 32565  		if res.Body != nil {
 32566  			res.Body.Close()
 32567  		}
 32568  		return nil, &googleapi.Error{
 32569  			Code:   res.StatusCode,
 32570  			Header: res.Header,
 32571  		}
 32572  	}
 32573  	if err != nil {
 32574  		return nil, err
 32575  	}
 32576  	defer googleapi.CloseBody(res)
 32577  	if err := googleapi.CheckResponse(res); err != nil {
 32578  		return nil, err
 32579  	}
 32580  	ret := &FloodlightActivity{
 32581  		ServerResponse: googleapi.ServerResponse{
 32582  			Header:         res.Header,
 32583  			HTTPStatusCode: res.StatusCode,
 32584  		},
 32585  	}
 32586  	target := &ret
 32587  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32588  		return nil, err
 32589  	}
 32590  	return ret, nil
 32591  	// {
 32592  	//   "description": "Inserts a new floodlight activity.",
 32593  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 32594  	//   "httpMethod": "POST",
 32595  	//   "id": "dfareporting.floodlightActivities.insert",
 32596  	//   "parameterOrder": [
 32597  	//     "profileId"
 32598  	//   ],
 32599  	//   "parameters": {
 32600  	//     "profileId": {
 32601  	//       "description": "User profile ID associated with this request.",
 32602  	//       "format": "int64",
 32603  	//       "location": "path",
 32604  	//       "required": true,
 32605  	//       "type": "string"
 32606  	//     }
 32607  	//   },
 32608  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32609  	//   "request": {
 32610  	//     "$ref": "FloodlightActivity"
 32611  	//   },
 32612  	//   "response": {
 32613  	//     "$ref": "FloodlightActivity"
 32614  	//   },
 32615  	//   "scopes": [
 32616  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32617  	//   ]
 32618  	// }
 32619  
 32620  }
 32621  
 32622  // method id "dfareporting.floodlightActivities.list":
 32623  
 32624  type FloodlightActivitiesListCall struct {
 32625  	s            *Service
 32626  	profileId    int64
 32627  	urlParams_   gensupport.URLParams
 32628  	ifNoneMatch_ string
 32629  	ctx_         context.Context
 32630  	header_      http.Header
 32631  }
 32632  
 32633  // List: Retrieves a list of floodlight activities, possibly filtered.
 32634  // This method supports paging.
 32635  //
 32636  // - profileId: User profile ID associated with this request.
 32637  func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
 32638  	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 32639  	c.profileId = profileId
 32640  	return c
 32641  }
 32642  
 32643  // AdvertiserId sets the optional parameter "advertiserId": Select only
 32644  // floodlight activities for the specified advertiser ID. Must specify
 32645  // either ids, advertiserId, or floodlightConfigurationId for a
 32646  // non-empty result.
 32647  func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
 32648  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 32649  	return c
 32650  }
 32651  
 32652  // FloodlightActivityGroupIds sets the optional parameter
 32653  // "floodlightActivityGroupIds": Select only floodlight activities with
 32654  // the specified floodlight activity group IDs.
 32655  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
 32656  	var floodlightActivityGroupIds_ []string
 32657  	for _, v := range floodlightActivityGroupIds {
 32658  		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
 32659  	}
 32660  	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
 32661  	return c
 32662  }
 32663  
 32664  // FloodlightActivityGroupName sets the optional parameter
 32665  // "floodlightActivityGroupName": Select only floodlight activities with
 32666  // the specified floodlight activity group name.
 32667  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
 32668  	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
 32669  	return c
 32670  }
 32671  
 32672  // FloodlightActivityGroupTagString sets the optional parameter
 32673  // "floodlightActivityGroupTagString": Select only floodlight activities
 32674  // with the specified floodlight activity group tag string.
 32675  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
 32676  	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
 32677  	return c
 32678  }
 32679  
 32680  // FloodlightActivityGroupType sets the optional parameter
 32681  // "floodlightActivityGroupType": Select only floodlight activities with
 32682  // the specified floodlight activity group type.
 32683  //
 32684  // Possible values:
 32685  //
 32686  //	"COUNTER"
 32687  //	"SALE"
 32688  func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
 32689  	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
 32690  	return c
 32691  }
 32692  
 32693  // FloodlightConfigurationId sets the optional parameter
 32694  // "floodlightConfigurationId": Select only floodlight activities for
 32695  // the specified floodlight configuration ID. Must specify either ids,
 32696  // advertiserId, or floodlightConfigurationId for a non-empty result.
 32697  func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
 32698  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 32699  	return c
 32700  }
 32701  
 32702  // Ids sets the optional parameter "ids": Select only floodlight
 32703  // activities with the specified IDs. Must specify either ids,
 32704  // advertiserId, or floodlightConfigurationId for a non-empty result.
 32705  func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
 32706  	var ids_ []string
 32707  	for _, v := range ids {
 32708  		ids_ = append(ids_, fmt.Sprint(v))
 32709  	}
 32710  	c.urlParams_.SetMulti("ids", ids_)
 32711  	return c
 32712  }
 32713  
 32714  // MaxResults sets the optional parameter "maxResults": Maximum number
 32715  // of results to return.
 32716  func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
 32717  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 32718  	return c
 32719  }
 32720  
 32721  // PageToken sets the optional parameter "pageToken": Value of the
 32722  // nextPageToken from the previous result page.
 32723  func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
 32724  	c.urlParams_.Set("pageToken", pageToken)
 32725  	return c
 32726  }
 32727  
 32728  // SearchString sets the optional parameter "searchString": Allows
 32729  // searching for objects by name or ID. Wildcards (*) are allowed. For
 32730  // example, "floodlightactivity*2015" will return objects with names
 32731  // like "floodlightactivity June 2015", "floodlightactivity April 2015",
 32732  // or simply "floodlightactivity 2015". Most of the searches also add
 32733  // wildcards implicitly at the start and the end of the search string.
 32734  // For example, a search string of "floodlightactivity" will match
 32735  // objects with name "my floodlightactivity activity",
 32736  // "floodlightactivity 2015", or simply "floodlightactivity".
 32737  func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
 32738  	c.urlParams_.Set("searchString", searchString)
 32739  	return c
 32740  }
 32741  
 32742  // SortField sets the optional parameter "sortField": Field by which to
 32743  // sort the list.
 32744  //
 32745  // Possible values:
 32746  //
 32747  //	"ID" (default)
 32748  //	"NAME"
 32749  func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
 32750  	c.urlParams_.Set("sortField", sortField)
 32751  	return c
 32752  }
 32753  
 32754  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 32755  // results.
 32756  //
 32757  // Possible values:
 32758  //
 32759  //	"ASCENDING" (default)
 32760  //	"DESCENDING"
 32761  func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
 32762  	c.urlParams_.Set("sortOrder", sortOrder)
 32763  	return c
 32764  }
 32765  
 32766  // TagString sets the optional parameter "tagString": Select only
 32767  // floodlight activities with the specified tag string.
 32768  func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
 32769  	c.urlParams_.Set("tagString", tagString)
 32770  	return c
 32771  }
 32772  
 32773  // Fields allows partial responses to be retrieved. See
 32774  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 32775  // for more information.
 32776  func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
 32777  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 32778  	return c
 32779  }
 32780  
 32781  // IfNoneMatch sets the optional parameter which makes the operation
 32782  // fail if the object's ETag matches the given value. This is useful for
 32783  // getting updates only after the object has changed since the last
 32784  // request. Use googleapi.IsNotModified to check whether the response
 32785  // error from Do is the result of In-None-Match.
 32786  func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
 32787  	c.ifNoneMatch_ = entityTag
 32788  	return c
 32789  }
 32790  
 32791  // Context sets the context to be used in this call's Do method. Any
 32792  // pending HTTP request will be aborted if the provided context is
 32793  // canceled.
 32794  func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
 32795  	c.ctx_ = ctx
 32796  	return c
 32797  }
 32798  
 32799  // Header returns an http.Header that can be modified by the caller to
 32800  // add HTTP headers to the request.
 32801  func (c *FloodlightActivitiesListCall) Header() http.Header {
 32802  	if c.header_ == nil {
 32803  		c.header_ = make(http.Header)
 32804  	}
 32805  	return c.header_
 32806  }
 32807  
 32808  func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
 32809  	reqHeaders := make(http.Header)
 32810  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 32811  	for k, v := range c.header_ {
 32812  		reqHeaders[k] = v
 32813  	}
 32814  	reqHeaders.Set("User-Agent", c.s.userAgent())
 32815  	if c.ifNoneMatch_ != "" {
 32816  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 32817  	}
 32818  	var body io.Reader = nil
 32819  	c.urlParams_.Set("alt", alt)
 32820  	c.urlParams_.Set("prettyPrint", "false")
 32821  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 32822  	urls += "?" + c.urlParams_.Encode()
 32823  	req, err := http.NewRequest("GET", urls, body)
 32824  	if err != nil {
 32825  		return nil, err
 32826  	}
 32827  	req.Header = reqHeaders
 32828  	googleapi.Expand(req.URL, map[string]string{
 32829  		"profileId": strconv.FormatInt(c.profileId, 10),
 32830  	})
 32831  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 32832  }
 32833  
 32834  // Do executes the "dfareporting.floodlightActivities.list" call.
 32835  // Exactly one of *FloodlightActivitiesListResponse or error will be
 32836  // non-nil. Any non-2xx status code is an error. Response headers are in
 32837  // either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
 32838  // a response was returned at all) in error.(*googleapi.Error).Header.
 32839  // Use googleapi.IsNotModified to check whether the returned error was
 32840  // because http.StatusNotModified was returned.
 32841  func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
 32842  	gensupport.SetOptions(c.urlParams_, opts...)
 32843  	res, err := c.doRequest("json")
 32844  	if res != nil && res.StatusCode == http.StatusNotModified {
 32845  		if res.Body != nil {
 32846  			res.Body.Close()
 32847  		}
 32848  		return nil, &googleapi.Error{
 32849  			Code:   res.StatusCode,
 32850  			Header: res.Header,
 32851  		}
 32852  	}
 32853  	if err != nil {
 32854  		return nil, err
 32855  	}
 32856  	defer googleapi.CloseBody(res)
 32857  	if err := googleapi.CheckResponse(res); err != nil {
 32858  		return nil, err
 32859  	}
 32860  	ret := &FloodlightActivitiesListResponse{
 32861  		ServerResponse: googleapi.ServerResponse{
 32862  			Header:         res.Header,
 32863  			HTTPStatusCode: res.StatusCode,
 32864  		},
 32865  	}
 32866  	target := &ret
 32867  	if err := gensupport.DecodeResponse(target, res); err != nil {
 32868  		return nil, err
 32869  	}
 32870  	return ret, nil
 32871  	// {
 32872  	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
 32873  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 32874  	//   "httpMethod": "GET",
 32875  	//   "id": "dfareporting.floodlightActivities.list",
 32876  	//   "parameterOrder": [
 32877  	//     "profileId"
 32878  	//   ],
 32879  	//   "parameters": {
 32880  	//     "advertiserId": {
 32881  	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 32882  	//       "format": "int64",
 32883  	//       "location": "query",
 32884  	//       "type": "string"
 32885  	//     },
 32886  	//     "floodlightActivityGroupIds": {
 32887  	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
 32888  	//       "format": "int64",
 32889  	//       "location": "query",
 32890  	//       "repeated": true,
 32891  	//       "type": "string"
 32892  	//     },
 32893  	//     "floodlightActivityGroupName": {
 32894  	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
 32895  	//       "location": "query",
 32896  	//       "type": "string"
 32897  	//     },
 32898  	//     "floodlightActivityGroupTagString": {
 32899  	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
 32900  	//       "location": "query",
 32901  	//       "type": "string"
 32902  	//     },
 32903  	//     "floodlightActivityGroupType": {
 32904  	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
 32905  	//       "enum": [
 32906  	//         "COUNTER",
 32907  	//         "SALE"
 32908  	//       ],
 32909  	//       "enumDescriptions": [
 32910  	//         "",
 32911  	//         ""
 32912  	//       ],
 32913  	//       "location": "query",
 32914  	//       "type": "string"
 32915  	//     },
 32916  	//     "floodlightConfigurationId": {
 32917  	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 32918  	//       "format": "int64",
 32919  	//       "location": "query",
 32920  	//       "type": "string"
 32921  	//     },
 32922  	//     "ids": {
 32923  	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
 32924  	//       "format": "int64",
 32925  	//       "location": "query",
 32926  	//       "repeated": true,
 32927  	//       "type": "string"
 32928  	//     },
 32929  	//     "maxResults": {
 32930  	//       "default": "1000",
 32931  	//       "description": "Maximum number of results to return.",
 32932  	//       "format": "int32",
 32933  	//       "location": "query",
 32934  	//       "maximum": "1000",
 32935  	//       "minimum": "0",
 32936  	//       "type": "integer"
 32937  	//     },
 32938  	//     "pageToken": {
 32939  	//       "description": "Value of the nextPageToken from the previous result page.",
 32940  	//       "location": "query",
 32941  	//       "type": "string"
 32942  	//     },
 32943  	//     "profileId": {
 32944  	//       "description": "User profile ID associated with this request.",
 32945  	//       "format": "int64",
 32946  	//       "location": "path",
 32947  	//       "required": true,
 32948  	//       "type": "string"
 32949  	//     },
 32950  	//     "searchString": {
 32951  	//       "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\".",
 32952  	//       "location": "query",
 32953  	//       "type": "string"
 32954  	//     },
 32955  	//     "sortField": {
 32956  	//       "default": "ID",
 32957  	//       "description": "Field by which to sort the list.",
 32958  	//       "enum": [
 32959  	//         "ID",
 32960  	//         "NAME"
 32961  	//       ],
 32962  	//       "enumDescriptions": [
 32963  	//         "",
 32964  	//         ""
 32965  	//       ],
 32966  	//       "location": "query",
 32967  	//       "type": "string"
 32968  	//     },
 32969  	//     "sortOrder": {
 32970  	//       "default": "ASCENDING",
 32971  	//       "description": "Order of sorted results.",
 32972  	//       "enum": [
 32973  	//         "ASCENDING",
 32974  	//         "DESCENDING"
 32975  	//       ],
 32976  	//       "enumDescriptions": [
 32977  	//         "",
 32978  	//         ""
 32979  	//       ],
 32980  	//       "location": "query",
 32981  	//       "type": "string"
 32982  	//     },
 32983  	//     "tagString": {
 32984  	//       "description": "Select only floodlight activities with the specified tag string.",
 32985  	//       "location": "query",
 32986  	//       "type": "string"
 32987  	//     }
 32988  	//   },
 32989  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 32990  	//   "response": {
 32991  	//     "$ref": "FloodlightActivitiesListResponse"
 32992  	//   },
 32993  	//   "scopes": [
 32994  	//     "https://www.googleapis.com/auth/dfatrafficking"
 32995  	//   ]
 32996  	// }
 32997  
 32998  }
 32999  
 33000  // Pages invokes f for each page of results.
 33001  // A non-nil error returned from f will halt the iteration.
 33002  // The provided context supersedes any context provided to the Context method.
 33003  func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
 33004  	c.ctx_ = ctx
 33005  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 33006  	for {
 33007  		x, err := c.Do()
 33008  		if err != nil {
 33009  			return err
 33010  		}
 33011  		if err := f(x); err != nil {
 33012  			return err
 33013  		}
 33014  		if x.NextPageToken == "" {
 33015  			return nil
 33016  		}
 33017  		c.PageToken(x.NextPageToken)
 33018  	}
 33019  }
 33020  
 33021  // method id "dfareporting.floodlightActivities.patch":
 33022  
 33023  type FloodlightActivitiesPatchCall struct {
 33024  	s                  *Service
 33025  	profileId          int64
 33026  	floodlightactivity *FloodlightActivity
 33027  	urlParams_         gensupport.URLParams
 33028  	ctx_               context.Context
 33029  	header_            http.Header
 33030  }
 33031  
 33032  // Patch: Updates an existing floodlight activity. This method supports
 33033  // patch semantics.
 33034  //
 33035  // - id: FloodlightActivity ID.
 33036  // - profileId: User profile ID associated with this request.
 33037  func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
 33038  	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33039  	c.profileId = profileId
 33040  	c.urlParams_.Set("id", fmt.Sprint(id))
 33041  	c.floodlightactivity = floodlightactivity
 33042  	return c
 33043  }
 33044  
 33045  // Fields allows partial responses to be retrieved. See
 33046  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33047  // for more information.
 33048  func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
 33049  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33050  	return c
 33051  }
 33052  
 33053  // Context sets the context to be used in this call's Do method. Any
 33054  // pending HTTP request will be aborted if the provided context is
 33055  // canceled.
 33056  func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
 33057  	c.ctx_ = ctx
 33058  	return c
 33059  }
 33060  
 33061  // Header returns an http.Header that can be modified by the caller to
 33062  // add HTTP headers to the request.
 33063  func (c *FloodlightActivitiesPatchCall) Header() http.Header {
 33064  	if c.header_ == nil {
 33065  		c.header_ = make(http.Header)
 33066  	}
 33067  	return c.header_
 33068  }
 33069  
 33070  func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
 33071  	reqHeaders := make(http.Header)
 33072  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33073  	for k, v := range c.header_ {
 33074  		reqHeaders[k] = v
 33075  	}
 33076  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33077  	var body io.Reader = nil
 33078  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 33079  	if err != nil {
 33080  		return nil, err
 33081  	}
 33082  	reqHeaders.Set("Content-Type", "application/json")
 33083  	c.urlParams_.Set("alt", alt)
 33084  	c.urlParams_.Set("prettyPrint", "false")
 33085  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33086  	urls += "?" + c.urlParams_.Encode()
 33087  	req, err := http.NewRequest("PATCH", urls, body)
 33088  	if err != nil {
 33089  		return nil, err
 33090  	}
 33091  	req.Header = reqHeaders
 33092  	googleapi.Expand(req.URL, map[string]string{
 33093  		"profileId": strconv.FormatInt(c.profileId, 10),
 33094  	})
 33095  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33096  }
 33097  
 33098  // Do executes the "dfareporting.floodlightActivities.patch" call.
 33099  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 33100  // non-2xx status code is an error. Response headers are in either
 33101  // *FloodlightActivity.ServerResponse.Header or (if a response was
 33102  // returned at all) in error.(*googleapi.Error).Header. Use
 33103  // googleapi.IsNotModified to check whether the returned error was
 33104  // because http.StatusNotModified was returned.
 33105  func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 33106  	gensupport.SetOptions(c.urlParams_, opts...)
 33107  	res, err := c.doRequest("json")
 33108  	if res != nil && res.StatusCode == http.StatusNotModified {
 33109  		if res.Body != nil {
 33110  			res.Body.Close()
 33111  		}
 33112  		return nil, &googleapi.Error{
 33113  			Code:   res.StatusCode,
 33114  			Header: res.Header,
 33115  		}
 33116  	}
 33117  	if err != nil {
 33118  		return nil, err
 33119  	}
 33120  	defer googleapi.CloseBody(res)
 33121  	if err := googleapi.CheckResponse(res); err != nil {
 33122  		return nil, err
 33123  	}
 33124  	ret := &FloodlightActivity{
 33125  		ServerResponse: googleapi.ServerResponse{
 33126  			Header:         res.Header,
 33127  			HTTPStatusCode: res.StatusCode,
 33128  		},
 33129  	}
 33130  	target := &ret
 33131  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33132  		return nil, err
 33133  	}
 33134  	return ret, nil
 33135  	// {
 33136  	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
 33137  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 33138  	//   "httpMethod": "PATCH",
 33139  	//   "id": "dfareporting.floodlightActivities.patch",
 33140  	//   "parameterOrder": [
 33141  	//     "profileId",
 33142  	//     "id"
 33143  	//   ],
 33144  	//   "parameters": {
 33145  	//     "id": {
 33146  	//       "description": "FloodlightActivity ID.",
 33147  	//       "format": "int64",
 33148  	//       "location": "query",
 33149  	//       "required": true,
 33150  	//       "type": "string"
 33151  	//     },
 33152  	//     "profileId": {
 33153  	//       "description": "User profile ID associated with this request.",
 33154  	//       "format": "int64",
 33155  	//       "location": "path",
 33156  	//       "required": true,
 33157  	//       "type": "string"
 33158  	//     }
 33159  	//   },
 33160  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33161  	//   "request": {
 33162  	//     "$ref": "FloodlightActivity"
 33163  	//   },
 33164  	//   "response": {
 33165  	//     "$ref": "FloodlightActivity"
 33166  	//   },
 33167  	//   "scopes": [
 33168  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33169  	//   ]
 33170  	// }
 33171  
 33172  }
 33173  
 33174  // method id "dfareporting.floodlightActivities.update":
 33175  
 33176  type FloodlightActivitiesUpdateCall struct {
 33177  	s                  *Service
 33178  	profileId          int64
 33179  	floodlightactivity *FloodlightActivity
 33180  	urlParams_         gensupport.URLParams
 33181  	ctx_               context.Context
 33182  	header_            http.Header
 33183  }
 33184  
 33185  // Update: Updates an existing floodlight activity.
 33186  //
 33187  // - profileId: User profile ID associated with this request.
 33188  func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
 33189  	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33190  	c.profileId = profileId
 33191  	c.floodlightactivity = floodlightactivity
 33192  	return c
 33193  }
 33194  
 33195  // Fields allows partial responses to be retrieved. See
 33196  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33197  // for more information.
 33198  func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
 33199  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33200  	return c
 33201  }
 33202  
 33203  // Context sets the context to be used in this call's Do method. Any
 33204  // pending HTTP request will be aborted if the provided context is
 33205  // canceled.
 33206  func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
 33207  	c.ctx_ = ctx
 33208  	return c
 33209  }
 33210  
 33211  // Header returns an http.Header that can be modified by the caller to
 33212  // add HTTP headers to the request.
 33213  func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
 33214  	if c.header_ == nil {
 33215  		c.header_ = make(http.Header)
 33216  	}
 33217  	return c.header_
 33218  }
 33219  
 33220  func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 33221  	reqHeaders := make(http.Header)
 33222  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33223  	for k, v := range c.header_ {
 33224  		reqHeaders[k] = v
 33225  	}
 33226  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33227  	var body io.Reader = nil
 33228  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
 33229  	if err != nil {
 33230  		return nil, err
 33231  	}
 33232  	reqHeaders.Set("Content-Type", "application/json")
 33233  	c.urlParams_.Set("alt", alt)
 33234  	c.urlParams_.Set("prettyPrint", "false")
 33235  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
 33236  	urls += "?" + c.urlParams_.Encode()
 33237  	req, err := http.NewRequest("PUT", urls, body)
 33238  	if err != nil {
 33239  		return nil, err
 33240  	}
 33241  	req.Header = reqHeaders
 33242  	googleapi.Expand(req.URL, map[string]string{
 33243  		"profileId": strconv.FormatInt(c.profileId, 10),
 33244  	})
 33245  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33246  }
 33247  
 33248  // Do executes the "dfareporting.floodlightActivities.update" call.
 33249  // Exactly one of *FloodlightActivity or error will be non-nil. Any
 33250  // non-2xx status code is an error. Response headers are in either
 33251  // *FloodlightActivity.ServerResponse.Header or (if a response was
 33252  // returned at all) in error.(*googleapi.Error).Header. Use
 33253  // googleapi.IsNotModified to check whether the returned error was
 33254  // because http.StatusNotModified was returned.
 33255  func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
 33256  	gensupport.SetOptions(c.urlParams_, opts...)
 33257  	res, err := c.doRequest("json")
 33258  	if res != nil && res.StatusCode == http.StatusNotModified {
 33259  		if res.Body != nil {
 33260  			res.Body.Close()
 33261  		}
 33262  		return nil, &googleapi.Error{
 33263  			Code:   res.StatusCode,
 33264  			Header: res.Header,
 33265  		}
 33266  	}
 33267  	if err != nil {
 33268  		return nil, err
 33269  	}
 33270  	defer googleapi.CloseBody(res)
 33271  	if err := googleapi.CheckResponse(res); err != nil {
 33272  		return nil, err
 33273  	}
 33274  	ret := &FloodlightActivity{
 33275  		ServerResponse: googleapi.ServerResponse{
 33276  			Header:         res.Header,
 33277  			HTTPStatusCode: res.StatusCode,
 33278  		},
 33279  	}
 33280  	target := &ret
 33281  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33282  		return nil, err
 33283  	}
 33284  	return ret, nil
 33285  	// {
 33286  	//   "description": "Updates an existing floodlight activity.",
 33287  	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
 33288  	//   "httpMethod": "PUT",
 33289  	//   "id": "dfareporting.floodlightActivities.update",
 33290  	//   "parameterOrder": [
 33291  	//     "profileId"
 33292  	//   ],
 33293  	//   "parameters": {
 33294  	//     "profileId": {
 33295  	//       "description": "User profile ID associated with this request.",
 33296  	//       "format": "int64",
 33297  	//       "location": "path",
 33298  	//       "required": true,
 33299  	//       "type": "string"
 33300  	//     }
 33301  	//   },
 33302  	//   "path": "userprofiles/{profileId}/floodlightActivities",
 33303  	//   "request": {
 33304  	//     "$ref": "FloodlightActivity"
 33305  	//   },
 33306  	//   "response": {
 33307  	//     "$ref": "FloodlightActivity"
 33308  	//   },
 33309  	//   "scopes": [
 33310  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33311  	//   ]
 33312  	// }
 33313  
 33314  }
 33315  
 33316  // method id "dfareporting.floodlightActivityGroups.get":
 33317  
 33318  type FloodlightActivityGroupsGetCall struct {
 33319  	s            *Service
 33320  	profileId    int64
 33321  	id           int64
 33322  	urlParams_   gensupport.URLParams
 33323  	ifNoneMatch_ string
 33324  	ctx_         context.Context
 33325  	header_      http.Header
 33326  }
 33327  
 33328  // Get: Gets one floodlight activity group by ID.
 33329  //
 33330  // - id: Floodlight activity Group ID.
 33331  // - profileId: User profile ID associated with this request.
 33332  func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
 33333  	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33334  	c.profileId = profileId
 33335  	c.id = id
 33336  	return c
 33337  }
 33338  
 33339  // Fields allows partial responses to be retrieved. See
 33340  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33341  // for more information.
 33342  func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
 33343  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33344  	return c
 33345  }
 33346  
 33347  // IfNoneMatch sets the optional parameter which makes the operation
 33348  // fail if the object's ETag matches the given value. This is useful for
 33349  // getting updates only after the object has changed since the last
 33350  // request. Use googleapi.IsNotModified to check whether the response
 33351  // error from Do is the result of In-None-Match.
 33352  func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
 33353  	c.ifNoneMatch_ = entityTag
 33354  	return c
 33355  }
 33356  
 33357  // Context sets the context to be used in this call's Do method. Any
 33358  // pending HTTP request will be aborted if the provided context is
 33359  // canceled.
 33360  func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
 33361  	c.ctx_ = ctx
 33362  	return c
 33363  }
 33364  
 33365  // Header returns an http.Header that can be modified by the caller to
 33366  // add HTTP headers to the request.
 33367  func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
 33368  	if c.header_ == nil {
 33369  		c.header_ = make(http.Header)
 33370  	}
 33371  	return c.header_
 33372  }
 33373  
 33374  func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 33375  	reqHeaders := make(http.Header)
 33376  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33377  	for k, v := range c.header_ {
 33378  		reqHeaders[k] = v
 33379  	}
 33380  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33381  	if c.ifNoneMatch_ != "" {
 33382  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33383  	}
 33384  	var body io.Reader = nil
 33385  	c.urlParams_.Set("alt", alt)
 33386  	c.urlParams_.Set("prettyPrint", "false")
 33387  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
 33388  	urls += "?" + c.urlParams_.Encode()
 33389  	req, err := http.NewRequest("GET", urls, body)
 33390  	if err != nil {
 33391  		return nil, err
 33392  	}
 33393  	req.Header = reqHeaders
 33394  	googleapi.Expand(req.URL, map[string]string{
 33395  		"profileId": strconv.FormatInt(c.profileId, 10),
 33396  		"id":        strconv.FormatInt(c.id, 10),
 33397  	})
 33398  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33399  }
 33400  
 33401  // Do executes the "dfareporting.floodlightActivityGroups.get" call.
 33402  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33403  // non-2xx status code is an error. Response headers are in either
 33404  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33405  // returned at all) in error.(*googleapi.Error).Header. Use
 33406  // googleapi.IsNotModified to check whether the returned error was
 33407  // because http.StatusNotModified was returned.
 33408  func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33409  	gensupport.SetOptions(c.urlParams_, opts...)
 33410  	res, err := c.doRequest("json")
 33411  	if res != nil && res.StatusCode == http.StatusNotModified {
 33412  		if res.Body != nil {
 33413  			res.Body.Close()
 33414  		}
 33415  		return nil, &googleapi.Error{
 33416  			Code:   res.StatusCode,
 33417  			Header: res.Header,
 33418  		}
 33419  	}
 33420  	if err != nil {
 33421  		return nil, err
 33422  	}
 33423  	defer googleapi.CloseBody(res)
 33424  	if err := googleapi.CheckResponse(res); err != nil {
 33425  		return nil, err
 33426  	}
 33427  	ret := &FloodlightActivityGroup{
 33428  		ServerResponse: googleapi.ServerResponse{
 33429  			Header:         res.Header,
 33430  			HTTPStatusCode: res.StatusCode,
 33431  		},
 33432  	}
 33433  	target := &ret
 33434  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33435  		return nil, err
 33436  	}
 33437  	return ret, nil
 33438  	// {
 33439  	//   "description": "Gets one floodlight activity group by ID.",
 33440  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 33441  	//   "httpMethod": "GET",
 33442  	//   "id": "dfareporting.floodlightActivityGroups.get",
 33443  	//   "parameterOrder": [
 33444  	//     "profileId",
 33445  	//     "id"
 33446  	//   ],
 33447  	//   "parameters": {
 33448  	//     "id": {
 33449  	//       "description": "Floodlight activity Group ID.",
 33450  	//       "format": "int64",
 33451  	//       "location": "path",
 33452  	//       "required": true,
 33453  	//       "type": "string"
 33454  	//     },
 33455  	//     "profileId": {
 33456  	//       "description": "User profile ID associated with this request.",
 33457  	//       "format": "int64",
 33458  	//       "location": "path",
 33459  	//       "required": true,
 33460  	//       "type": "string"
 33461  	//     }
 33462  	//   },
 33463  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
 33464  	//   "response": {
 33465  	//     "$ref": "FloodlightActivityGroup"
 33466  	//   },
 33467  	//   "scopes": [
 33468  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33469  	//   ]
 33470  	// }
 33471  
 33472  }
 33473  
 33474  // method id "dfareporting.floodlightActivityGroups.insert":
 33475  
 33476  type FloodlightActivityGroupsInsertCall struct {
 33477  	s                       *Service
 33478  	profileId               int64
 33479  	floodlightactivitygroup *FloodlightActivityGroup
 33480  	urlParams_              gensupport.URLParams
 33481  	ctx_                    context.Context
 33482  	header_                 http.Header
 33483  }
 33484  
 33485  // Insert: Inserts a new floodlight activity group.
 33486  //
 33487  // - profileId: User profile ID associated with this request.
 33488  func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
 33489  	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33490  	c.profileId = profileId
 33491  	c.floodlightactivitygroup = floodlightactivitygroup
 33492  	return c
 33493  }
 33494  
 33495  // Fields allows partial responses to be retrieved. See
 33496  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33497  // for more information.
 33498  func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
 33499  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33500  	return c
 33501  }
 33502  
 33503  // Context sets the context to be used in this call's Do method. Any
 33504  // pending HTTP request will be aborted if the provided context is
 33505  // canceled.
 33506  func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
 33507  	c.ctx_ = ctx
 33508  	return c
 33509  }
 33510  
 33511  // Header returns an http.Header that can be modified by the caller to
 33512  // add HTTP headers to the request.
 33513  func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
 33514  	if c.header_ == nil {
 33515  		c.header_ = make(http.Header)
 33516  	}
 33517  	return c.header_
 33518  }
 33519  
 33520  func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 33521  	reqHeaders := make(http.Header)
 33522  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33523  	for k, v := range c.header_ {
 33524  		reqHeaders[k] = v
 33525  	}
 33526  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33527  	var body io.Reader = nil
 33528  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 33529  	if err != nil {
 33530  		return nil, err
 33531  	}
 33532  	reqHeaders.Set("Content-Type", "application/json")
 33533  	c.urlParams_.Set("alt", alt)
 33534  	c.urlParams_.Set("prettyPrint", "false")
 33535  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33536  	urls += "?" + c.urlParams_.Encode()
 33537  	req, err := http.NewRequest("POST", urls, body)
 33538  	if err != nil {
 33539  		return nil, err
 33540  	}
 33541  	req.Header = reqHeaders
 33542  	googleapi.Expand(req.URL, map[string]string{
 33543  		"profileId": strconv.FormatInt(c.profileId, 10),
 33544  	})
 33545  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33546  }
 33547  
 33548  // Do executes the "dfareporting.floodlightActivityGroups.insert" call.
 33549  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 33550  // non-2xx status code is an error. Response headers are in either
 33551  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 33552  // returned at all) in error.(*googleapi.Error).Header. Use
 33553  // googleapi.IsNotModified to check whether the returned error was
 33554  // because http.StatusNotModified was returned.
 33555  func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 33556  	gensupport.SetOptions(c.urlParams_, opts...)
 33557  	res, err := c.doRequest("json")
 33558  	if res != nil && res.StatusCode == http.StatusNotModified {
 33559  		if res.Body != nil {
 33560  			res.Body.Close()
 33561  		}
 33562  		return nil, &googleapi.Error{
 33563  			Code:   res.StatusCode,
 33564  			Header: res.Header,
 33565  		}
 33566  	}
 33567  	if err != nil {
 33568  		return nil, err
 33569  	}
 33570  	defer googleapi.CloseBody(res)
 33571  	if err := googleapi.CheckResponse(res); err != nil {
 33572  		return nil, err
 33573  	}
 33574  	ret := &FloodlightActivityGroup{
 33575  		ServerResponse: googleapi.ServerResponse{
 33576  			Header:         res.Header,
 33577  			HTTPStatusCode: res.StatusCode,
 33578  		},
 33579  	}
 33580  	target := &ret
 33581  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33582  		return nil, err
 33583  	}
 33584  	return ret, nil
 33585  	// {
 33586  	//   "description": "Inserts a new floodlight activity group.",
 33587  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 33588  	//   "httpMethod": "POST",
 33589  	//   "id": "dfareporting.floodlightActivityGroups.insert",
 33590  	//   "parameterOrder": [
 33591  	//     "profileId"
 33592  	//   ],
 33593  	//   "parameters": {
 33594  	//     "profileId": {
 33595  	//       "description": "User profile ID associated with this request.",
 33596  	//       "format": "int64",
 33597  	//       "location": "path",
 33598  	//       "required": true,
 33599  	//       "type": "string"
 33600  	//     }
 33601  	//   },
 33602  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33603  	//   "request": {
 33604  	//     "$ref": "FloodlightActivityGroup"
 33605  	//   },
 33606  	//   "response": {
 33607  	//     "$ref": "FloodlightActivityGroup"
 33608  	//   },
 33609  	//   "scopes": [
 33610  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33611  	//   ]
 33612  	// }
 33613  
 33614  }
 33615  
 33616  // method id "dfareporting.floodlightActivityGroups.list":
 33617  
 33618  type FloodlightActivityGroupsListCall struct {
 33619  	s            *Service
 33620  	profileId    int64
 33621  	urlParams_   gensupport.URLParams
 33622  	ifNoneMatch_ string
 33623  	ctx_         context.Context
 33624  	header_      http.Header
 33625  }
 33626  
 33627  // List: Retrieves a list of floodlight activity groups, possibly
 33628  // filtered. This method supports paging.
 33629  //
 33630  // - profileId: User profile ID associated with this request.
 33631  func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
 33632  	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33633  	c.profileId = profileId
 33634  	return c
 33635  }
 33636  
 33637  // AdvertiserId sets the optional parameter "advertiserId": Select only
 33638  // floodlight activity groups with the specified advertiser ID. Must
 33639  // specify either advertiserId or floodlightConfigurationId for a
 33640  // non-empty result.
 33641  func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
 33642  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 33643  	return c
 33644  }
 33645  
 33646  // FloodlightConfigurationId sets the optional parameter
 33647  // "floodlightConfigurationId": Select only floodlight activity groups
 33648  // with the specified floodlight configuration ID. Must specify either
 33649  // advertiserId, or floodlightConfigurationId for a non-empty result.
 33650  func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
 33651  	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
 33652  	return c
 33653  }
 33654  
 33655  // Ids sets the optional parameter "ids": Select only floodlight
 33656  // activity groups with the specified IDs. Must specify either
 33657  // advertiserId or floodlightConfigurationId for a non-empty result.
 33658  func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
 33659  	var ids_ []string
 33660  	for _, v := range ids {
 33661  		ids_ = append(ids_, fmt.Sprint(v))
 33662  	}
 33663  	c.urlParams_.SetMulti("ids", ids_)
 33664  	return c
 33665  }
 33666  
 33667  // MaxResults sets the optional parameter "maxResults": Maximum number
 33668  // of results to return.
 33669  func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
 33670  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 33671  	return c
 33672  }
 33673  
 33674  // PageToken sets the optional parameter "pageToken": Value of the
 33675  // nextPageToken from the previous result page.
 33676  func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
 33677  	c.urlParams_.Set("pageToken", pageToken)
 33678  	return c
 33679  }
 33680  
 33681  // SearchString sets the optional parameter "searchString": Allows
 33682  // searching for objects by name or ID. Wildcards (*) are allowed. For
 33683  // example, "floodlightactivitygroup*2015" will return objects with
 33684  // names like "floodlightactivitygroup June 2015",
 33685  // "floodlightactivitygroup April 2015", or simply
 33686  // "floodlightactivitygroup 2015". Most of the searches also add
 33687  // wildcards implicitly at the start and the end of the search string.
 33688  // For example, a search string of "floodlightactivitygroup" will match
 33689  // objects with name "my floodlightactivitygroup activity",
 33690  // "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
 33691  func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
 33692  	c.urlParams_.Set("searchString", searchString)
 33693  	return c
 33694  }
 33695  
 33696  // SortField sets the optional parameter "sortField": Field by which to
 33697  // sort the list.
 33698  //
 33699  // Possible values:
 33700  //
 33701  //	"ID" (default)
 33702  //	"NAME"
 33703  func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
 33704  	c.urlParams_.Set("sortField", sortField)
 33705  	return c
 33706  }
 33707  
 33708  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 33709  // results.
 33710  //
 33711  // Possible values:
 33712  //
 33713  //	"ASCENDING" (default)
 33714  //	"DESCENDING"
 33715  func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
 33716  	c.urlParams_.Set("sortOrder", sortOrder)
 33717  	return c
 33718  }
 33719  
 33720  // Type sets the optional parameter "type": Select only floodlight
 33721  // activity groups with the specified floodlight activity group type.
 33722  //
 33723  // Possible values:
 33724  //
 33725  //	"COUNTER"
 33726  //	"SALE"
 33727  func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
 33728  	c.urlParams_.Set("type", type_)
 33729  	return c
 33730  }
 33731  
 33732  // Fields allows partial responses to be retrieved. See
 33733  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33734  // for more information.
 33735  func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
 33736  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33737  	return c
 33738  }
 33739  
 33740  // IfNoneMatch sets the optional parameter which makes the operation
 33741  // fail if the object's ETag matches the given value. This is useful for
 33742  // getting updates only after the object has changed since the last
 33743  // request. Use googleapi.IsNotModified to check whether the response
 33744  // error from Do is the result of In-None-Match.
 33745  func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
 33746  	c.ifNoneMatch_ = entityTag
 33747  	return c
 33748  }
 33749  
 33750  // Context sets the context to be used in this call's Do method. Any
 33751  // pending HTTP request will be aborted if the provided context is
 33752  // canceled.
 33753  func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
 33754  	c.ctx_ = ctx
 33755  	return c
 33756  }
 33757  
 33758  // Header returns an http.Header that can be modified by the caller to
 33759  // add HTTP headers to the request.
 33760  func (c *FloodlightActivityGroupsListCall) Header() http.Header {
 33761  	if c.header_ == nil {
 33762  		c.header_ = make(http.Header)
 33763  	}
 33764  	return c.header_
 33765  }
 33766  
 33767  func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
 33768  	reqHeaders := make(http.Header)
 33769  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 33770  	for k, v := range c.header_ {
 33771  		reqHeaders[k] = v
 33772  	}
 33773  	reqHeaders.Set("User-Agent", c.s.userAgent())
 33774  	if c.ifNoneMatch_ != "" {
 33775  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 33776  	}
 33777  	var body io.Reader = nil
 33778  	c.urlParams_.Set("alt", alt)
 33779  	c.urlParams_.Set("prettyPrint", "false")
 33780  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 33781  	urls += "?" + c.urlParams_.Encode()
 33782  	req, err := http.NewRequest("GET", urls, body)
 33783  	if err != nil {
 33784  		return nil, err
 33785  	}
 33786  	req.Header = reqHeaders
 33787  	googleapi.Expand(req.URL, map[string]string{
 33788  		"profileId": strconv.FormatInt(c.profileId, 10),
 33789  	})
 33790  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 33791  }
 33792  
 33793  // Do executes the "dfareporting.floodlightActivityGroups.list" call.
 33794  // Exactly one of *FloodlightActivityGroupsListResponse or error will be
 33795  // non-nil. Any non-2xx status code is an error. Response headers are in
 33796  // either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
 33797  // (if a response was returned at all) in
 33798  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 33799  // whether the returned error was because http.StatusNotModified was
 33800  // returned.
 33801  func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
 33802  	gensupport.SetOptions(c.urlParams_, opts...)
 33803  	res, err := c.doRequest("json")
 33804  	if res != nil && res.StatusCode == http.StatusNotModified {
 33805  		if res.Body != nil {
 33806  			res.Body.Close()
 33807  		}
 33808  		return nil, &googleapi.Error{
 33809  			Code:   res.StatusCode,
 33810  			Header: res.Header,
 33811  		}
 33812  	}
 33813  	if err != nil {
 33814  		return nil, err
 33815  	}
 33816  	defer googleapi.CloseBody(res)
 33817  	if err := googleapi.CheckResponse(res); err != nil {
 33818  		return nil, err
 33819  	}
 33820  	ret := &FloodlightActivityGroupsListResponse{
 33821  		ServerResponse: googleapi.ServerResponse{
 33822  			Header:         res.Header,
 33823  			HTTPStatusCode: res.StatusCode,
 33824  		},
 33825  	}
 33826  	target := &ret
 33827  	if err := gensupport.DecodeResponse(target, res); err != nil {
 33828  		return nil, err
 33829  	}
 33830  	return ret, nil
 33831  	// {
 33832  	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
 33833  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 33834  	//   "httpMethod": "GET",
 33835  	//   "id": "dfareporting.floodlightActivityGroups.list",
 33836  	//   "parameterOrder": [
 33837  	//     "profileId"
 33838  	//   ],
 33839  	//   "parameters": {
 33840  	//     "advertiserId": {
 33841  	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 33842  	//       "format": "int64",
 33843  	//       "location": "query",
 33844  	//       "type": "string"
 33845  	//     },
 33846  	//     "floodlightConfigurationId": {
 33847  	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
 33848  	//       "format": "int64",
 33849  	//       "location": "query",
 33850  	//       "type": "string"
 33851  	//     },
 33852  	//     "ids": {
 33853  	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
 33854  	//       "format": "int64",
 33855  	//       "location": "query",
 33856  	//       "repeated": true,
 33857  	//       "type": "string"
 33858  	//     },
 33859  	//     "maxResults": {
 33860  	//       "default": "1000",
 33861  	//       "description": "Maximum number of results to return.",
 33862  	//       "format": "int32",
 33863  	//       "location": "query",
 33864  	//       "maximum": "1000",
 33865  	//       "minimum": "0",
 33866  	//       "type": "integer"
 33867  	//     },
 33868  	//     "pageToken": {
 33869  	//       "description": "Value of the nextPageToken from the previous result page.",
 33870  	//       "location": "query",
 33871  	//       "type": "string"
 33872  	//     },
 33873  	//     "profileId": {
 33874  	//       "description": "User profile ID associated with this request.",
 33875  	//       "format": "int64",
 33876  	//       "location": "path",
 33877  	//       "required": true,
 33878  	//       "type": "string"
 33879  	//     },
 33880  	//     "searchString": {
 33881  	//       "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\".",
 33882  	//       "location": "query",
 33883  	//       "type": "string"
 33884  	//     },
 33885  	//     "sortField": {
 33886  	//       "default": "ID",
 33887  	//       "description": "Field by which to sort the list.",
 33888  	//       "enum": [
 33889  	//         "ID",
 33890  	//         "NAME"
 33891  	//       ],
 33892  	//       "enumDescriptions": [
 33893  	//         "",
 33894  	//         ""
 33895  	//       ],
 33896  	//       "location": "query",
 33897  	//       "type": "string"
 33898  	//     },
 33899  	//     "sortOrder": {
 33900  	//       "default": "ASCENDING",
 33901  	//       "description": "Order of sorted results.",
 33902  	//       "enum": [
 33903  	//         "ASCENDING",
 33904  	//         "DESCENDING"
 33905  	//       ],
 33906  	//       "enumDescriptions": [
 33907  	//         "",
 33908  	//         ""
 33909  	//       ],
 33910  	//       "location": "query",
 33911  	//       "type": "string"
 33912  	//     },
 33913  	//     "type": {
 33914  	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
 33915  	//       "enum": [
 33916  	//         "COUNTER",
 33917  	//         "SALE"
 33918  	//       ],
 33919  	//       "enumDescriptions": [
 33920  	//         "",
 33921  	//         ""
 33922  	//       ],
 33923  	//       "location": "query",
 33924  	//       "type": "string"
 33925  	//     }
 33926  	//   },
 33927  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 33928  	//   "response": {
 33929  	//     "$ref": "FloodlightActivityGroupsListResponse"
 33930  	//   },
 33931  	//   "scopes": [
 33932  	//     "https://www.googleapis.com/auth/dfatrafficking"
 33933  	//   ]
 33934  	// }
 33935  
 33936  }
 33937  
 33938  // Pages invokes f for each page of results.
 33939  // A non-nil error returned from f will halt the iteration.
 33940  // The provided context supersedes any context provided to the Context method.
 33941  func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
 33942  	c.ctx_ = ctx
 33943  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 33944  	for {
 33945  		x, err := c.Do()
 33946  		if err != nil {
 33947  			return err
 33948  		}
 33949  		if err := f(x); err != nil {
 33950  			return err
 33951  		}
 33952  		if x.NextPageToken == "" {
 33953  			return nil
 33954  		}
 33955  		c.PageToken(x.NextPageToken)
 33956  	}
 33957  }
 33958  
 33959  // method id "dfareporting.floodlightActivityGroups.patch":
 33960  
 33961  type FloodlightActivityGroupsPatchCall struct {
 33962  	s                       *Service
 33963  	profileId               int64
 33964  	floodlightactivitygroup *FloodlightActivityGroup
 33965  	urlParams_              gensupport.URLParams
 33966  	ctx_                    context.Context
 33967  	header_                 http.Header
 33968  }
 33969  
 33970  // Patch: Updates an existing floodlight activity group. This method
 33971  // supports patch semantics.
 33972  //
 33973  // - id: FloodlightActivityGroup ID.
 33974  // - profileId: User profile ID associated with this request.
 33975  func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
 33976  	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 33977  	c.profileId = profileId
 33978  	c.urlParams_.Set("id", fmt.Sprint(id))
 33979  	c.floodlightactivitygroup = floodlightactivitygroup
 33980  	return c
 33981  }
 33982  
 33983  // Fields allows partial responses to be retrieved. See
 33984  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 33985  // for more information.
 33986  func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
 33987  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 33988  	return c
 33989  }
 33990  
 33991  // Context sets the context to be used in this call's Do method. Any
 33992  // pending HTTP request will be aborted if the provided context is
 33993  // canceled.
 33994  func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
 33995  	c.ctx_ = ctx
 33996  	return c
 33997  }
 33998  
 33999  // Header returns an http.Header that can be modified by the caller to
 34000  // add HTTP headers to the request.
 34001  func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
 34002  	if c.header_ == nil {
 34003  		c.header_ = make(http.Header)
 34004  	}
 34005  	return c.header_
 34006  }
 34007  
 34008  func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 34009  	reqHeaders := make(http.Header)
 34010  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34011  	for k, v := range c.header_ {
 34012  		reqHeaders[k] = v
 34013  	}
 34014  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34015  	var body io.Reader = nil
 34016  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 34017  	if err != nil {
 34018  		return nil, err
 34019  	}
 34020  	reqHeaders.Set("Content-Type", "application/json")
 34021  	c.urlParams_.Set("alt", alt)
 34022  	c.urlParams_.Set("prettyPrint", "false")
 34023  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34024  	urls += "?" + c.urlParams_.Encode()
 34025  	req, err := http.NewRequest("PATCH", urls, body)
 34026  	if err != nil {
 34027  		return nil, err
 34028  	}
 34029  	req.Header = reqHeaders
 34030  	googleapi.Expand(req.URL, map[string]string{
 34031  		"profileId": strconv.FormatInt(c.profileId, 10),
 34032  	})
 34033  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34034  }
 34035  
 34036  // Do executes the "dfareporting.floodlightActivityGroups.patch" call.
 34037  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 34038  // non-2xx status code is an error. Response headers are in either
 34039  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 34040  // returned at all) in error.(*googleapi.Error).Header. Use
 34041  // googleapi.IsNotModified to check whether the returned error was
 34042  // because http.StatusNotModified was returned.
 34043  func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 34044  	gensupport.SetOptions(c.urlParams_, opts...)
 34045  	res, err := c.doRequest("json")
 34046  	if res != nil && res.StatusCode == http.StatusNotModified {
 34047  		if res.Body != nil {
 34048  			res.Body.Close()
 34049  		}
 34050  		return nil, &googleapi.Error{
 34051  			Code:   res.StatusCode,
 34052  			Header: res.Header,
 34053  		}
 34054  	}
 34055  	if err != nil {
 34056  		return nil, err
 34057  	}
 34058  	defer googleapi.CloseBody(res)
 34059  	if err := googleapi.CheckResponse(res); err != nil {
 34060  		return nil, err
 34061  	}
 34062  	ret := &FloodlightActivityGroup{
 34063  		ServerResponse: googleapi.ServerResponse{
 34064  			Header:         res.Header,
 34065  			HTTPStatusCode: res.StatusCode,
 34066  		},
 34067  	}
 34068  	target := &ret
 34069  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34070  		return nil, err
 34071  	}
 34072  	return ret, nil
 34073  	// {
 34074  	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
 34075  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 34076  	//   "httpMethod": "PATCH",
 34077  	//   "id": "dfareporting.floodlightActivityGroups.patch",
 34078  	//   "parameterOrder": [
 34079  	//     "profileId",
 34080  	//     "id"
 34081  	//   ],
 34082  	//   "parameters": {
 34083  	//     "id": {
 34084  	//       "description": "FloodlightActivityGroup ID.",
 34085  	//       "format": "int64",
 34086  	//       "location": "query",
 34087  	//       "required": true,
 34088  	//       "type": "string"
 34089  	//     },
 34090  	//     "profileId": {
 34091  	//       "description": "User profile ID associated with this request.",
 34092  	//       "format": "int64",
 34093  	//       "location": "path",
 34094  	//       "required": true,
 34095  	//       "type": "string"
 34096  	//     }
 34097  	//   },
 34098  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34099  	//   "request": {
 34100  	//     "$ref": "FloodlightActivityGroup"
 34101  	//   },
 34102  	//   "response": {
 34103  	//     "$ref": "FloodlightActivityGroup"
 34104  	//   },
 34105  	//   "scopes": [
 34106  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34107  	//   ]
 34108  	// }
 34109  
 34110  }
 34111  
 34112  // method id "dfareporting.floodlightActivityGroups.update":
 34113  
 34114  type FloodlightActivityGroupsUpdateCall struct {
 34115  	s                       *Service
 34116  	profileId               int64
 34117  	floodlightactivitygroup *FloodlightActivityGroup
 34118  	urlParams_              gensupport.URLParams
 34119  	ctx_                    context.Context
 34120  	header_                 http.Header
 34121  }
 34122  
 34123  // Update: Updates an existing floodlight activity group.
 34124  //
 34125  // - profileId: User profile ID associated with this request.
 34126  func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
 34127  	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34128  	c.profileId = profileId
 34129  	c.floodlightactivitygroup = floodlightactivitygroup
 34130  	return c
 34131  }
 34132  
 34133  // Fields allows partial responses to be retrieved. See
 34134  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34135  // for more information.
 34136  func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
 34137  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34138  	return c
 34139  }
 34140  
 34141  // Context sets the context to be used in this call's Do method. Any
 34142  // pending HTTP request will be aborted if the provided context is
 34143  // canceled.
 34144  func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
 34145  	c.ctx_ = ctx
 34146  	return c
 34147  }
 34148  
 34149  // Header returns an http.Header that can be modified by the caller to
 34150  // add HTTP headers to the request.
 34151  func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
 34152  	if c.header_ == nil {
 34153  		c.header_ = make(http.Header)
 34154  	}
 34155  	return c.header_
 34156  }
 34157  
 34158  func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 34159  	reqHeaders := make(http.Header)
 34160  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34161  	for k, v := range c.header_ {
 34162  		reqHeaders[k] = v
 34163  	}
 34164  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34165  	var body io.Reader = nil
 34166  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
 34167  	if err != nil {
 34168  		return nil, err
 34169  	}
 34170  	reqHeaders.Set("Content-Type", "application/json")
 34171  	c.urlParams_.Set("alt", alt)
 34172  	c.urlParams_.Set("prettyPrint", "false")
 34173  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
 34174  	urls += "?" + c.urlParams_.Encode()
 34175  	req, err := http.NewRequest("PUT", urls, body)
 34176  	if err != nil {
 34177  		return nil, err
 34178  	}
 34179  	req.Header = reqHeaders
 34180  	googleapi.Expand(req.URL, map[string]string{
 34181  		"profileId": strconv.FormatInt(c.profileId, 10),
 34182  	})
 34183  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34184  }
 34185  
 34186  // Do executes the "dfareporting.floodlightActivityGroups.update" call.
 34187  // Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
 34188  // non-2xx status code is an error. Response headers are in either
 34189  // *FloodlightActivityGroup.ServerResponse.Header or (if a response was
 34190  // returned at all) in error.(*googleapi.Error).Header. Use
 34191  // googleapi.IsNotModified to check whether the returned error was
 34192  // because http.StatusNotModified was returned.
 34193  func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
 34194  	gensupport.SetOptions(c.urlParams_, opts...)
 34195  	res, err := c.doRequest("json")
 34196  	if res != nil && res.StatusCode == http.StatusNotModified {
 34197  		if res.Body != nil {
 34198  			res.Body.Close()
 34199  		}
 34200  		return nil, &googleapi.Error{
 34201  			Code:   res.StatusCode,
 34202  			Header: res.Header,
 34203  		}
 34204  	}
 34205  	if err != nil {
 34206  		return nil, err
 34207  	}
 34208  	defer googleapi.CloseBody(res)
 34209  	if err := googleapi.CheckResponse(res); err != nil {
 34210  		return nil, err
 34211  	}
 34212  	ret := &FloodlightActivityGroup{
 34213  		ServerResponse: googleapi.ServerResponse{
 34214  			Header:         res.Header,
 34215  			HTTPStatusCode: res.StatusCode,
 34216  		},
 34217  	}
 34218  	target := &ret
 34219  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34220  		return nil, err
 34221  	}
 34222  	return ret, nil
 34223  	// {
 34224  	//   "description": "Updates an existing floodlight activity group.",
 34225  	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
 34226  	//   "httpMethod": "PUT",
 34227  	//   "id": "dfareporting.floodlightActivityGroups.update",
 34228  	//   "parameterOrder": [
 34229  	//     "profileId"
 34230  	//   ],
 34231  	//   "parameters": {
 34232  	//     "profileId": {
 34233  	//       "description": "User profile ID associated with this request.",
 34234  	//       "format": "int64",
 34235  	//       "location": "path",
 34236  	//       "required": true,
 34237  	//       "type": "string"
 34238  	//     }
 34239  	//   },
 34240  	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
 34241  	//   "request": {
 34242  	//     "$ref": "FloodlightActivityGroup"
 34243  	//   },
 34244  	//   "response": {
 34245  	//     "$ref": "FloodlightActivityGroup"
 34246  	//   },
 34247  	//   "scopes": [
 34248  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34249  	//   ]
 34250  	// }
 34251  
 34252  }
 34253  
 34254  // method id "dfareporting.floodlightConfigurations.get":
 34255  
 34256  type FloodlightConfigurationsGetCall struct {
 34257  	s            *Service
 34258  	profileId    int64
 34259  	id           int64
 34260  	urlParams_   gensupport.URLParams
 34261  	ifNoneMatch_ string
 34262  	ctx_         context.Context
 34263  	header_      http.Header
 34264  }
 34265  
 34266  // Get: Gets one floodlight configuration by ID.
 34267  //
 34268  // - id: Floodlight configuration ID.
 34269  // - profileId: User profile ID associated with this request.
 34270  func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
 34271  	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34272  	c.profileId = profileId
 34273  	c.id = id
 34274  	return c
 34275  }
 34276  
 34277  // Fields allows partial responses to be retrieved. See
 34278  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34279  // for more information.
 34280  func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
 34281  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34282  	return c
 34283  }
 34284  
 34285  // IfNoneMatch sets the optional parameter which makes the operation
 34286  // fail if the object's ETag matches the given value. This is useful for
 34287  // getting updates only after the object has changed since the last
 34288  // request. Use googleapi.IsNotModified to check whether the response
 34289  // error from Do is the result of In-None-Match.
 34290  func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
 34291  	c.ifNoneMatch_ = entityTag
 34292  	return c
 34293  }
 34294  
 34295  // Context sets the context to be used in this call's Do method. Any
 34296  // pending HTTP request will be aborted if the provided context is
 34297  // canceled.
 34298  func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
 34299  	c.ctx_ = ctx
 34300  	return c
 34301  }
 34302  
 34303  // Header returns an http.Header that can be modified by the caller to
 34304  // add HTTP headers to the request.
 34305  func (c *FloodlightConfigurationsGetCall) Header() http.Header {
 34306  	if c.header_ == nil {
 34307  		c.header_ = make(http.Header)
 34308  	}
 34309  	return c.header_
 34310  }
 34311  
 34312  func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
 34313  	reqHeaders := make(http.Header)
 34314  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34315  	for k, v := range c.header_ {
 34316  		reqHeaders[k] = v
 34317  	}
 34318  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34319  	if c.ifNoneMatch_ != "" {
 34320  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34321  	}
 34322  	var body io.Reader = nil
 34323  	c.urlParams_.Set("alt", alt)
 34324  	c.urlParams_.Set("prettyPrint", "false")
 34325  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
 34326  	urls += "?" + c.urlParams_.Encode()
 34327  	req, err := http.NewRequest("GET", urls, body)
 34328  	if err != nil {
 34329  		return nil, err
 34330  	}
 34331  	req.Header = reqHeaders
 34332  	googleapi.Expand(req.URL, map[string]string{
 34333  		"profileId": strconv.FormatInt(c.profileId, 10),
 34334  		"id":        strconv.FormatInt(c.id, 10),
 34335  	})
 34336  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34337  }
 34338  
 34339  // Do executes the "dfareporting.floodlightConfigurations.get" call.
 34340  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34341  // non-2xx status code is an error. Response headers are in either
 34342  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34343  // returned at all) in error.(*googleapi.Error).Header. Use
 34344  // googleapi.IsNotModified to check whether the returned error was
 34345  // because http.StatusNotModified was returned.
 34346  func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34347  	gensupport.SetOptions(c.urlParams_, opts...)
 34348  	res, err := c.doRequest("json")
 34349  	if res != nil && res.StatusCode == http.StatusNotModified {
 34350  		if res.Body != nil {
 34351  			res.Body.Close()
 34352  		}
 34353  		return nil, &googleapi.Error{
 34354  			Code:   res.StatusCode,
 34355  			Header: res.Header,
 34356  		}
 34357  	}
 34358  	if err != nil {
 34359  		return nil, err
 34360  	}
 34361  	defer googleapi.CloseBody(res)
 34362  	if err := googleapi.CheckResponse(res); err != nil {
 34363  		return nil, err
 34364  	}
 34365  	ret := &FloodlightConfiguration{
 34366  		ServerResponse: googleapi.ServerResponse{
 34367  			Header:         res.Header,
 34368  			HTTPStatusCode: res.StatusCode,
 34369  		},
 34370  	}
 34371  	target := &ret
 34372  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34373  		return nil, err
 34374  	}
 34375  	return ret, nil
 34376  	// {
 34377  	//   "description": "Gets one floodlight configuration by ID.",
 34378  	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 34379  	//   "httpMethod": "GET",
 34380  	//   "id": "dfareporting.floodlightConfigurations.get",
 34381  	//   "parameterOrder": [
 34382  	//     "profileId",
 34383  	//     "id"
 34384  	//   ],
 34385  	//   "parameters": {
 34386  	//     "id": {
 34387  	//       "description": "Floodlight configuration ID.",
 34388  	//       "format": "int64",
 34389  	//       "location": "path",
 34390  	//       "required": true,
 34391  	//       "type": "string"
 34392  	//     },
 34393  	//     "profileId": {
 34394  	//       "description": "User profile ID associated with this request.",
 34395  	//       "format": "int64",
 34396  	//       "location": "path",
 34397  	//       "required": true,
 34398  	//       "type": "string"
 34399  	//     }
 34400  	//   },
 34401  	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
 34402  	//   "response": {
 34403  	//     "$ref": "FloodlightConfiguration"
 34404  	//   },
 34405  	//   "scopes": [
 34406  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34407  	//   ]
 34408  	// }
 34409  
 34410  }
 34411  
 34412  // method id "dfareporting.floodlightConfigurations.list":
 34413  
 34414  type FloodlightConfigurationsListCall struct {
 34415  	s            *Service
 34416  	profileId    int64
 34417  	urlParams_   gensupport.URLParams
 34418  	ifNoneMatch_ string
 34419  	ctx_         context.Context
 34420  	header_      http.Header
 34421  }
 34422  
 34423  // List: Retrieves a list of floodlight configurations, possibly
 34424  // filtered.
 34425  //
 34426  // - profileId: User profile ID associated with this request.
 34427  func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
 34428  	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34429  	c.profileId = profileId
 34430  	return c
 34431  }
 34432  
 34433  // Ids sets the optional parameter "ids": Set of IDs of floodlight
 34434  // configurations to retrieve. Required field; otherwise an empty list
 34435  // will be returned.
 34436  func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
 34437  	var ids_ []string
 34438  	for _, v := range ids {
 34439  		ids_ = append(ids_, fmt.Sprint(v))
 34440  	}
 34441  	c.urlParams_.SetMulti("ids", ids_)
 34442  	return c
 34443  }
 34444  
 34445  // Fields allows partial responses to be retrieved. See
 34446  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34447  // for more information.
 34448  func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
 34449  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34450  	return c
 34451  }
 34452  
 34453  // IfNoneMatch sets the optional parameter which makes the operation
 34454  // fail if the object's ETag matches the given value. This is useful for
 34455  // getting updates only after the object has changed since the last
 34456  // request. Use googleapi.IsNotModified to check whether the response
 34457  // error from Do is the result of In-None-Match.
 34458  func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
 34459  	c.ifNoneMatch_ = entityTag
 34460  	return c
 34461  }
 34462  
 34463  // Context sets the context to be used in this call's Do method. Any
 34464  // pending HTTP request will be aborted if the provided context is
 34465  // canceled.
 34466  func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
 34467  	c.ctx_ = ctx
 34468  	return c
 34469  }
 34470  
 34471  // Header returns an http.Header that can be modified by the caller to
 34472  // add HTTP headers to the request.
 34473  func (c *FloodlightConfigurationsListCall) Header() http.Header {
 34474  	if c.header_ == nil {
 34475  		c.header_ = make(http.Header)
 34476  	}
 34477  	return c.header_
 34478  }
 34479  
 34480  func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
 34481  	reqHeaders := make(http.Header)
 34482  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34483  	for k, v := range c.header_ {
 34484  		reqHeaders[k] = v
 34485  	}
 34486  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34487  	if c.ifNoneMatch_ != "" {
 34488  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34489  	}
 34490  	var body io.Reader = nil
 34491  	c.urlParams_.Set("alt", alt)
 34492  	c.urlParams_.Set("prettyPrint", "false")
 34493  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34494  	urls += "?" + c.urlParams_.Encode()
 34495  	req, err := http.NewRequest("GET", urls, body)
 34496  	if err != nil {
 34497  		return nil, err
 34498  	}
 34499  	req.Header = reqHeaders
 34500  	googleapi.Expand(req.URL, map[string]string{
 34501  		"profileId": strconv.FormatInt(c.profileId, 10),
 34502  	})
 34503  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34504  }
 34505  
 34506  // Do executes the "dfareporting.floodlightConfigurations.list" call.
 34507  // Exactly one of *FloodlightConfigurationsListResponse or error will be
 34508  // non-nil. Any non-2xx status code is an error. Response headers are in
 34509  // either *FloodlightConfigurationsListResponse.ServerResponse.Header or
 34510  // (if a response was returned at all) in
 34511  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 34512  // whether the returned error was because http.StatusNotModified was
 34513  // returned.
 34514  func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
 34515  	gensupport.SetOptions(c.urlParams_, opts...)
 34516  	res, err := c.doRequest("json")
 34517  	if res != nil && res.StatusCode == http.StatusNotModified {
 34518  		if res.Body != nil {
 34519  			res.Body.Close()
 34520  		}
 34521  		return nil, &googleapi.Error{
 34522  			Code:   res.StatusCode,
 34523  			Header: res.Header,
 34524  		}
 34525  	}
 34526  	if err != nil {
 34527  		return nil, err
 34528  	}
 34529  	defer googleapi.CloseBody(res)
 34530  	if err := googleapi.CheckResponse(res); err != nil {
 34531  		return nil, err
 34532  	}
 34533  	ret := &FloodlightConfigurationsListResponse{
 34534  		ServerResponse: googleapi.ServerResponse{
 34535  			Header:         res.Header,
 34536  			HTTPStatusCode: res.StatusCode,
 34537  		},
 34538  	}
 34539  	target := &ret
 34540  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34541  		return nil, err
 34542  	}
 34543  	return ret, nil
 34544  	// {
 34545  	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
 34546  	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 34547  	//   "httpMethod": "GET",
 34548  	//   "id": "dfareporting.floodlightConfigurations.list",
 34549  	//   "parameterOrder": [
 34550  	//     "profileId"
 34551  	//   ],
 34552  	//   "parameters": {
 34553  	//     "ids": {
 34554  	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
 34555  	//       "format": "int64",
 34556  	//       "location": "query",
 34557  	//       "repeated": true,
 34558  	//       "type": "string"
 34559  	//     },
 34560  	//     "profileId": {
 34561  	//       "description": "User profile ID associated with this request.",
 34562  	//       "format": "int64",
 34563  	//       "location": "path",
 34564  	//       "required": true,
 34565  	//       "type": "string"
 34566  	//     }
 34567  	//   },
 34568  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34569  	//   "response": {
 34570  	//     "$ref": "FloodlightConfigurationsListResponse"
 34571  	//   },
 34572  	//   "scopes": [
 34573  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34574  	//   ]
 34575  	// }
 34576  
 34577  }
 34578  
 34579  // method id "dfareporting.floodlightConfigurations.patch":
 34580  
 34581  type FloodlightConfigurationsPatchCall struct {
 34582  	s                       *Service
 34583  	profileId               int64
 34584  	floodlightconfiguration *FloodlightConfiguration
 34585  	urlParams_              gensupport.URLParams
 34586  	ctx_                    context.Context
 34587  	header_                 http.Header
 34588  }
 34589  
 34590  // Patch: Updates an existing floodlight configuration. This method
 34591  // supports patch semantics.
 34592  //
 34593  // - id: FloodlightConfiguration ID.
 34594  // - profileId: User profile ID associated with this request.
 34595  func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
 34596  	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34597  	c.profileId = profileId
 34598  	c.urlParams_.Set("id", fmt.Sprint(id))
 34599  	c.floodlightconfiguration = floodlightconfiguration
 34600  	return c
 34601  }
 34602  
 34603  // Fields allows partial responses to be retrieved. See
 34604  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34605  // for more information.
 34606  func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
 34607  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34608  	return c
 34609  }
 34610  
 34611  // Context sets the context to be used in this call's Do method. Any
 34612  // pending HTTP request will be aborted if the provided context is
 34613  // canceled.
 34614  func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
 34615  	c.ctx_ = ctx
 34616  	return c
 34617  }
 34618  
 34619  // Header returns an http.Header that can be modified by the caller to
 34620  // add HTTP headers to the request.
 34621  func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
 34622  	if c.header_ == nil {
 34623  		c.header_ = make(http.Header)
 34624  	}
 34625  	return c.header_
 34626  }
 34627  
 34628  func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
 34629  	reqHeaders := make(http.Header)
 34630  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34631  	for k, v := range c.header_ {
 34632  		reqHeaders[k] = v
 34633  	}
 34634  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34635  	var body io.Reader = nil
 34636  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 34637  	if err != nil {
 34638  		return nil, err
 34639  	}
 34640  	reqHeaders.Set("Content-Type", "application/json")
 34641  	c.urlParams_.Set("alt", alt)
 34642  	c.urlParams_.Set("prettyPrint", "false")
 34643  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34644  	urls += "?" + c.urlParams_.Encode()
 34645  	req, err := http.NewRequest("PATCH", urls, body)
 34646  	if err != nil {
 34647  		return nil, err
 34648  	}
 34649  	req.Header = reqHeaders
 34650  	googleapi.Expand(req.URL, map[string]string{
 34651  		"profileId": strconv.FormatInt(c.profileId, 10),
 34652  	})
 34653  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34654  }
 34655  
 34656  // Do executes the "dfareporting.floodlightConfigurations.patch" call.
 34657  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34658  // non-2xx status code is an error. Response headers are in either
 34659  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34660  // returned at all) in error.(*googleapi.Error).Header. Use
 34661  // googleapi.IsNotModified to check whether the returned error was
 34662  // because http.StatusNotModified was returned.
 34663  func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34664  	gensupport.SetOptions(c.urlParams_, opts...)
 34665  	res, err := c.doRequest("json")
 34666  	if res != nil && res.StatusCode == http.StatusNotModified {
 34667  		if res.Body != nil {
 34668  			res.Body.Close()
 34669  		}
 34670  		return nil, &googleapi.Error{
 34671  			Code:   res.StatusCode,
 34672  			Header: res.Header,
 34673  		}
 34674  	}
 34675  	if err != nil {
 34676  		return nil, err
 34677  	}
 34678  	defer googleapi.CloseBody(res)
 34679  	if err := googleapi.CheckResponse(res); err != nil {
 34680  		return nil, err
 34681  	}
 34682  	ret := &FloodlightConfiguration{
 34683  		ServerResponse: googleapi.ServerResponse{
 34684  			Header:         res.Header,
 34685  			HTTPStatusCode: res.StatusCode,
 34686  		},
 34687  	}
 34688  	target := &ret
 34689  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34690  		return nil, err
 34691  	}
 34692  	return ret, nil
 34693  	// {
 34694  	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
 34695  	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 34696  	//   "httpMethod": "PATCH",
 34697  	//   "id": "dfareporting.floodlightConfigurations.patch",
 34698  	//   "parameterOrder": [
 34699  	//     "profileId",
 34700  	//     "id"
 34701  	//   ],
 34702  	//   "parameters": {
 34703  	//     "id": {
 34704  	//       "description": "FloodlightConfiguration ID.",
 34705  	//       "format": "int64",
 34706  	//       "location": "query",
 34707  	//       "required": true,
 34708  	//       "type": "string"
 34709  	//     },
 34710  	//     "profileId": {
 34711  	//       "description": "User profile ID associated with this request.",
 34712  	//       "format": "int64",
 34713  	//       "location": "path",
 34714  	//       "required": true,
 34715  	//       "type": "string"
 34716  	//     }
 34717  	//   },
 34718  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34719  	//   "request": {
 34720  	//     "$ref": "FloodlightConfiguration"
 34721  	//   },
 34722  	//   "response": {
 34723  	//     "$ref": "FloodlightConfiguration"
 34724  	//   },
 34725  	//   "scopes": [
 34726  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34727  	//   ]
 34728  	// }
 34729  
 34730  }
 34731  
 34732  // method id "dfareporting.floodlightConfigurations.update":
 34733  
 34734  type FloodlightConfigurationsUpdateCall struct {
 34735  	s                       *Service
 34736  	profileId               int64
 34737  	floodlightconfiguration *FloodlightConfiguration
 34738  	urlParams_              gensupport.URLParams
 34739  	ctx_                    context.Context
 34740  	header_                 http.Header
 34741  }
 34742  
 34743  // Update: Updates an existing floodlight configuration.
 34744  //
 34745  // - profileId: User profile ID associated with this request.
 34746  func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
 34747  	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34748  	c.profileId = profileId
 34749  	c.floodlightconfiguration = floodlightconfiguration
 34750  	return c
 34751  }
 34752  
 34753  // Fields allows partial responses to be retrieved. See
 34754  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34755  // for more information.
 34756  func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
 34757  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34758  	return c
 34759  }
 34760  
 34761  // Context sets the context to be used in this call's Do method. Any
 34762  // pending HTTP request will be aborted if the provided context is
 34763  // canceled.
 34764  func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
 34765  	c.ctx_ = ctx
 34766  	return c
 34767  }
 34768  
 34769  // Header returns an http.Header that can be modified by the caller to
 34770  // add HTTP headers to the request.
 34771  func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
 34772  	if c.header_ == nil {
 34773  		c.header_ = make(http.Header)
 34774  	}
 34775  	return c.header_
 34776  }
 34777  
 34778  func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
 34779  	reqHeaders := make(http.Header)
 34780  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34781  	for k, v := range c.header_ {
 34782  		reqHeaders[k] = v
 34783  	}
 34784  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34785  	var body io.Reader = nil
 34786  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
 34787  	if err != nil {
 34788  		return nil, err
 34789  	}
 34790  	reqHeaders.Set("Content-Type", "application/json")
 34791  	c.urlParams_.Set("alt", alt)
 34792  	c.urlParams_.Set("prettyPrint", "false")
 34793  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
 34794  	urls += "?" + c.urlParams_.Encode()
 34795  	req, err := http.NewRequest("PUT", urls, body)
 34796  	if err != nil {
 34797  		return nil, err
 34798  	}
 34799  	req.Header = reqHeaders
 34800  	googleapi.Expand(req.URL, map[string]string{
 34801  		"profileId": strconv.FormatInt(c.profileId, 10),
 34802  	})
 34803  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34804  }
 34805  
 34806  // Do executes the "dfareporting.floodlightConfigurations.update" call.
 34807  // Exactly one of *FloodlightConfiguration or error will be non-nil. Any
 34808  // non-2xx status code is an error. Response headers are in either
 34809  // *FloodlightConfiguration.ServerResponse.Header or (if a response was
 34810  // returned at all) in error.(*googleapi.Error).Header. Use
 34811  // googleapi.IsNotModified to check whether the returned error was
 34812  // because http.StatusNotModified was returned.
 34813  func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
 34814  	gensupport.SetOptions(c.urlParams_, opts...)
 34815  	res, err := c.doRequest("json")
 34816  	if res != nil && res.StatusCode == http.StatusNotModified {
 34817  		if res.Body != nil {
 34818  			res.Body.Close()
 34819  		}
 34820  		return nil, &googleapi.Error{
 34821  			Code:   res.StatusCode,
 34822  			Header: res.Header,
 34823  		}
 34824  	}
 34825  	if err != nil {
 34826  		return nil, err
 34827  	}
 34828  	defer googleapi.CloseBody(res)
 34829  	if err := googleapi.CheckResponse(res); err != nil {
 34830  		return nil, err
 34831  	}
 34832  	ret := &FloodlightConfiguration{
 34833  		ServerResponse: googleapi.ServerResponse{
 34834  			Header:         res.Header,
 34835  			HTTPStatusCode: res.StatusCode,
 34836  		},
 34837  	}
 34838  	target := &ret
 34839  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34840  		return nil, err
 34841  	}
 34842  	return ret, nil
 34843  	// {
 34844  	//   "description": "Updates an existing floodlight configuration.",
 34845  	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
 34846  	//   "httpMethod": "PUT",
 34847  	//   "id": "dfareporting.floodlightConfigurations.update",
 34848  	//   "parameterOrder": [
 34849  	//     "profileId"
 34850  	//   ],
 34851  	//   "parameters": {
 34852  	//     "profileId": {
 34853  	//       "description": "User profile ID associated with this request.",
 34854  	//       "format": "int64",
 34855  	//       "location": "path",
 34856  	//       "required": true,
 34857  	//       "type": "string"
 34858  	//     }
 34859  	//   },
 34860  	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
 34861  	//   "request": {
 34862  	//     "$ref": "FloodlightConfiguration"
 34863  	//   },
 34864  	//   "response": {
 34865  	//     "$ref": "FloodlightConfiguration"
 34866  	//   },
 34867  	//   "scopes": [
 34868  	//     "https://www.googleapis.com/auth/dfatrafficking"
 34869  	//   ]
 34870  	// }
 34871  
 34872  }
 34873  
 34874  // method id "dfareporting.inventoryItems.get":
 34875  
 34876  type InventoryItemsGetCall struct {
 34877  	s            *Service
 34878  	profileId    int64
 34879  	projectId    int64
 34880  	id           int64
 34881  	urlParams_   gensupport.URLParams
 34882  	ifNoneMatch_ string
 34883  	ctx_         context.Context
 34884  	header_      http.Header
 34885  }
 34886  
 34887  // Get: Gets one inventory item by ID.
 34888  //
 34889  // - id: Inventory item ID.
 34890  // - profileId: User profile ID associated with this request.
 34891  // - projectId: Project ID for order documents.
 34892  func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
 34893  	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 34894  	c.profileId = profileId
 34895  	c.projectId = projectId
 34896  	c.id = id
 34897  	return c
 34898  }
 34899  
 34900  // Fields allows partial responses to be retrieved. See
 34901  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 34902  // for more information.
 34903  func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
 34904  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 34905  	return c
 34906  }
 34907  
 34908  // IfNoneMatch sets the optional parameter which makes the operation
 34909  // fail if the object's ETag matches the given value. This is useful for
 34910  // getting updates only after the object has changed since the last
 34911  // request. Use googleapi.IsNotModified to check whether the response
 34912  // error from Do is the result of In-None-Match.
 34913  func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
 34914  	c.ifNoneMatch_ = entityTag
 34915  	return c
 34916  }
 34917  
 34918  // Context sets the context to be used in this call's Do method. Any
 34919  // pending HTTP request will be aborted if the provided context is
 34920  // canceled.
 34921  func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
 34922  	c.ctx_ = ctx
 34923  	return c
 34924  }
 34925  
 34926  // Header returns an http.Header that can be modified by the caller to
 34927  // add HTTP headers to the request.
 34928  func (c *InventoryItemsGetCall) Header() http.Header {
 34929  	if c.header_ == nil {
 34930  		c.header_ = make(http.Header)
 34931  	}
 34932  	return c.header_
 34933  }
 34934  
 34935  func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
 34936  	reqHeaders := make(http.Header)
 34937  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 34938  	for k, v := range c.header_ {
 34939  		reqHeaders[k] = v
 34940  	}
 34941  	reqHeaders.Set("User-Agent", c.s.userAgent())
 34942  	if c.ifNoneMatch_ != "" {
 34943  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 34944  	}
 34945  	var body io.Reader = nil
 34946  	c.urlParams_.Set("alt", alt)
 34947  	c.urlParams_.Set("prettyPrint", "false")
 34948  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
 34949  	urls += "?" + c.urlParams_.Encode()
 34950  	req, err := http.NewRequest("GET", urls, body)
 34951  	if err != nil {
 34952  		return nil, err
 34953  	}
 34954  	req.Header = reqHeaders
 34955  	googleapi.Expand(req.URL, map[string]string{
 34956  		"profileId": strconv.FormatInt(c.profileId, 10),
 34957  		"projectId": strconv.FormatInt(c.projectId, 10),
 34958  		"id":        strconv.FormatInt(c.id, 10),
 34959  	})
 34960  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 34961  }
 34962  
 34963  // Do executes the "dfareporting.inventoryItems.get" call.
 34964  // Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
 34965  // status code is an error. Response headers are in either
 34966  // *InventoryItem.ServerResponse.Header or (if a response was returned
 34967  // at all) in error.(*googleapi.Error).Header. Use
 34968  // googleapi.IsNotModified to check whether the returned error was
 34969  // because http.StatusNotModified was returned.
 34970  func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
 34971  	gensupport.SetOptions(c.urlParams_, opts...)
 34972  	res, err := c.doRequest("json")
 34973  	if res != nil && res.StatusCode == http.StatusNotModified {
 34974  		if res.Body != nil {
 34975  			res.Body.Close()
 34976  		}
 34977  		return nil, &googleapi.Error{
 34978  			Code:   res.StatusCode,
 34979  			Header: res.Header,
 34980  		}
 34981  	}
 34982  	if err != nil {
 34983  		return nil, err
 34984  	}
 34985  	defer googleapi.CloseBody(res)
 34986  	if err := googleapi.CheckResponse(res); err != nil {
 34987  		return nil, err
 34988  	}
 34989  	ret := &InventoryItem{
 34990  		ServerResponse: googleapi.ServerResponse{
 34991  			Header:         res.Header,
 34992  			HTTPStatusCode: res.StatusCode,
 34993  		},
 34994  	}
 34995  	target := &ret
 34996  	if err := gensupport.DecodeResponse(target, res); err != nil {
 34997  		return nil, err
 34998  	}
 34999  	return ret, nil
 35000  	// {
 35001  	//   "description": "Gets one inventory item by ID.",
 35002  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 35003  	//   "httpMethod": "GET",
 35004  	//   "id": "dfareporting.inventoryItems.get",
 35005  	//   "parameterOrder": [
 35006  	//     "profileId",
 35007  	//     "projectId",
 35008  	//     "id"
 35009  	//   ],
 35010  	//   "parameters": {
 35011  	//     "id": {
 35012  	//       "description": "Inventory item ID.",
 35013  	//       "format": "int64",
 35014  	//       "location": "path",
 35015  	//       "required": true,
 35016  	//       "type": "string"
 35017  	//     },
 35018  	//     "profileId": {
 35019  	//       "description": "User profile ID associated with this request.",
 35020  	//       "format": "int64",
 35021  	//       "location": "path",
 35022  	//       "required": true,
 35023  	//       "type": "string"
 35024  	//     },
 35025  	//     "projectId": {
 35026  	//       "description": "Project ID for order documents.",
 35027  	//       "format": "int64",
 35028  	//       "location": "path",
 35029  	//       "required": true,
 35030  	//       "type": "string"
 35031  	//     }
 35032  	//   },
 35033  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
 35034  	//   "response": {
 35035  	//     "$ref": "InventoryItem"
 35036  	//   },
 35037  	//   "scopes": [
 35038  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35039  	//   ]
 35040  	// }
 35041  
 35042  }
 35043  
 35044  // method id "dfareporting.inventoryItems.list":
 35045  
 35046  type InventoryItemsListCall struct {
 35047  	s            *Service
 35048  	profileId    int64
 35049  	projectId    int64
 35050  	urlParams_   gensupport.URLParams
 35051  	ifNoneMatch_ string
 35052  	ctx_         context.Context
 35053  	header_      http.Header
 35054  }
 35055  
 35056  // List: Retrieves a list of inventory items, possibly filtered. This
 35057  // method supports paging.
 35058  //
 35059  // - profileId: User profile ID associated with this request.
 35060  // - projectId: Project ID for order documents.
 35061  func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
 35062  	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35063  	c.profileId = profileId
 35064  	c.projectId = projectId
 35065  	return c
 35066  }
 35067  
 35068  // Ids sets the optional parameter "ids": Select only inventory items
 35069  // with these IDs.
 35070  func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
 35071  	var ids_ []string
 35072  	for _, v := range ids {
 35073  		ids_ = append(ids_, fmt.Sprint(v))
 35074  	}
 35075  	c.urlParams_.SetMulti("ids", ids_)
 35076  	return c
 35077  }
 35078  
 35079  // InPlan sets the optional parameter "inPlan": Select only inventory
 35080  // items that are in plan.
 35081  func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
 35082  	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
 35083  	return c
 35084  }
 35085  
 35086  // MaxResults sets the optional parameter "maxResults": Maximum number
 35087  // of results to return.
 35088  func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
 35089  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 35090  	return c
 35091  }
 35092  
 35093  // OrderId sets the optional parameter "orderId": Select only inventory
 35094  // items that belong to specified orders.
 35095  func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
 35096  	var orderId_ []string
 35097  	for _, v := range orderId {
 35098  		orderId_ = append(orderId_, fmt.Sprint(v))
 35099  	}
 35100  	c.urlParams_.SetMulti("orderId", orderId_)
 35101  	return c
 35102  }
 35103  
 35104  // PageToken sets the optional parameter "pageToken": Value of the
 35105  // nextPageToken from the previous result page.
 35106  func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
 35107  	c.urlParams_.Set("pageToken", pageToken)
 35108  	return c
 35109  }
 35110  
 35111  // SiteId sets the optional parameter "siteId": Select only inventory
 35112  // items that are associated with these sites.
 35113  func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
 35114  	var siteId_ []string
 35115  	for _, v := range siteId {
 35116  		siteId_ = append(siteId_, fmt.Sprint(v))
 35117  	}
 35118  	c.urlParams_.SetMulti("siteId", siteId_)
 35119  	return c
 35120  }
 35121  
 35122  // SortField sets the optional parameter "sortField": Field by which to
 35123  // sort the list.
 35124  //
 35125  // Possible values:
 35126  //
 35127  //	"ID" (default)
 35128  //	"NAME"
 35129  func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
 35130  	c.urlParams_.Set("sortField", sortField)
 35131  	return c
 35132  }
 35133  
 35134  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 35135  // results.
 35136  //
 35137  // Possible values:
 35138  //
 35139  //	"ASCENDING" (default)
 35140  //	"DESCENDING"
 35141  func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
 35142  	c.urlParams_.Set("sortOrder", sortOrder)
 35143  	return c
 35144  }
 35145  
 35146  // Type sets the optional parameter "type": Select only inventory items
 35147  // with this type.
 35148  //
 35149  // Possible values:
 35150  //
 35151  //	"PLANNING_PLACEMENT_TYPE_REGULAR"
 35152  //	"PLANNING_PLACEMENT_TYPE_CREDIT"
 35153  func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
 35154  	c.urlParams_.Set("type", type_)
 35155  	return c
 35156  }
 35157  
 35158  // Fields allows partial responses to be retrieved. See
 35159  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35160  // for more information.
 35161  func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
 35162  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35163  	return c
 35164  }
 35165  
 35166  // IfNoneMatch sets the optional parameter which makes the operation
 35167  // fail if the object's ETag matches the given value. This is useful for
 35168  // getting updates only after the object has changed since the last
 35169  // request. Use googleapi.IsNotModified to check whether the response
 35170  // error from Do is the result of In-None-Match.
 35171  func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
 35172  	c.ifNoneMatch_ = entityTag
 35173  	return c
 35174  }
 35175  
 35176  // Context sets the context to be used in this call's Do method. Any
 35177  // pending HTTP request will be aborted if the provided context is
 35178  // canceled.
 35179  func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
 35180  	c.ctx_ = ctx
 35181  	return c
 35182  }
 35183  
 35184  // Header returns an http.Header that can be modified by the caller to
 35185  // add HTTP headers to the request.
 35186  func (c *InventoryItemsListCall) Header() http.Header {
 35187  	if c.header_ == nil {
 35188  		c.header_ = make(http.Header)
 35189  	}
 35190  	return c.header_
 35191  }
 35192  
 35193  func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
 35194  	reqHeaders := make(http.Header)
 35195  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35196  	for k, v := range c.header_ {
 35197  		reqHeaders[k] = v
 35198  	}
 35199  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35200  	if c.ifNoneMatch_ != "" {
 35201  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35202  	}
 35203  	var body io.Reader = nil
 35204  	c.urlParams_.Set("alt", alt)
 35205  	c.urlParams_.Set("prettyPrint", "false")
 35206  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
 35207  	urls += "?" + c.urlParams_.Encode()
 35208  	req, err := http.NewRequest("GET", urls, body)
 35209  	if err != nil {
 35210  		return nil, err
 35211  	}
 35212  	req.Header = reqHeaders
 35213  	googleapi.Expand(req.URL, map[string]string{
 35214  		"profileId": strconv.FormatInt(c.profileId, 10),
 35215  		"projectId": strconv.FormatInt(c.projectId, 10),
 35216  	})
 35217  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35218  }
 35219  
 35220  // Do executes the "dfareporting.inventoryItems.list" call.
 35221  // Exactly one of *InventoryItemsListResponse or error will be non-nil.
 35222  // Any non-2xx status code is an error. Response headers are in either
 35223  // *InventoryItemsListResponse.ServerResponse.Header or (if a response
 35224  // was returned at all) in error.(*googleapi.Error).Header. Use
 35225  // googleapi.IsNotModified to check whether the returned error was
 35226  // because http.StatusNotModified was returned.
 35227  func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
 35228  	gensupport.SetOptions(c.urlParams_, opts...)
 35229  	res, err := c.doRequest("json")
 35230  	if res != nil && res.StatusCode == http.StatusNotModified {
 35231  		if res.Body != nil {
 35232  			res.Body.Close()
 35233  		}
 35234  		return nil, &googleapi.Error{
 35235  			Code:   res.StatusCode,
 35236  			Header: res.Header,
 35237  		}
 35238  	}
 35239  	if err != nil {
 35240  		return nil, err
 35241  	}
 35242  	defer googleapi.CloseBody(res)
 35243  	if err := googleapi.CheckResponse(res); err != nil {
 35244  		return nil, err
 35245  	}
 35246  	ret := &InventoryItemsListResponse{
 35247  		ServerResponse: googleapi.ServerResponse{
 35248  			Header:         res.Header,
 35249  			HTTPStatusCode: res.StatusCode,
 35250  		},
 35251  	}
 35252  	target := &ret
 35253  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35254  		return nil, err
 35255  	}
 35256  	return ret, nil
 35257  	// {
 35258  	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
 35259  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 35260  	//   "httpMethod": "GET",
 35261  	//   "id": "dfareporting.inventoryItems.list",
 35262  	//   "parameterOrder": [
 35263  	//     "profileId",
 35264  	//     "projectId"
 35265  	//   ],
 35266  	//   "parameters": {
 35267  	//     "ids": {
 35268  	//       "description": "Select only inventory items with these IDs.",
 35269  	//       "format": "int64",
 35270  	//       "location": "query",
 35271  	//       "repeated": true,
 35272  	//       "type": "string"
 35273  	//     },
 35274  	//     "inPlan": {
 35275  	//       "description": "Select only inventory items that are in plan.",
 35276  	//       "location": "query",
 35277  	//       "type": "boolean"
 35278  	//     },
 35279  	//     "maxResults": {
 35280  	//       "default": "1000",
 35281  	//       "description": "Maximum number of results to return.",
 35282  	//       "format": "int32",
 35283  	//       "location": "query",
 35284  	//       "maximum": "1000",
 35285  	//       "minimum": "0",
 35286  	//       "type": "integer"
 35287  	//     },
 35288  	//     "orderId": {
 35289  	//       "description": "Select only inventory items that belong to specified orders.",
 35290  	//       "format": "int64",
 35291  	//       "location": "query",
 35292  	//       "repeated": true,
 35293  	//       "type": "string"
 35294  	//     },
 35295  	//     "pageToken": {
 35296  	//       "description": "Value of the nextPageToken from the previous result page.",
 35297  	//       "location": "query",
 35298  	//       "type": "string"
 35299  	//     },
 35300  	//     "profileId": {
 35301  	//       "description": "User profile ID associated with this request.",
 35302  	//       "format": "int64",
 35303  	//       "location": "path",
 35304  	//       "required": true,
 35305  	//       "type": "string"
 35306  	//     },
 35307  	//     "projectId": {
 35308  	//       "description": "Project ID for order documents.",
 35309  	//       "format": "int64",
 35310  	//       "location": "path",
 35311  	//       "required": true,
 35312  	//       "type": "string"
 35313  	//     },
 35314  	//     "siteId": {
 35315  	//       "description": "Select only inventory items that are associated with these sites.",
 35316  	//       "format": "int64",
 35317  	//       "location": "query",
 35318  	//       "repeated": true,
 35319  	//       "type": "string"
 35320  	//     },
 35321  	//     "sortField": {
 35322  	//       "default": "ID",
 35323  	//       "description": "Field by which to sort the list.",
 35324  	//       "enum": [
 35325  	//         "ID",
 35326  	//         "NAME"
 35327  	//       ],
 35328  	//       "enumDescriptions": [
 35329  	//         "",
 35330  	//         ""
 35331  	//       ],
 35332  	//       "location": "query",
 35333  	//       "type": "string"
 35334  	//     },
 35335  	//     "sortOrder": {
 35336  	//       "default": "ASCENDING",
 35337  	//       "description": "Order of sorted results.",
 35338  	//       "enum": [
 35339  	//         "ASCENDING",
 35340  	//         "DESCENDING"
 35341  	//       ],
 35342  	//       "enumDescriptions": [
 35343  	//         "",
 35344  	//         ""
 35345  	//       ],
 35346  	//       "location": "query",
 35347  	//       "type": "string"
 35348  	//     },
 35349  	//     "type": {
 35350  	//       "description": "Select only inventory items with this type.",
 35351  	//       "enum": [
 35352  	//         "PLANNING_PLACEMENT_TYPE_REGULAR",
 35353  	//         "PLANNING_PLACEMENT_TYPE_CREDIT"
 35354  	//       ],
 35355  	//       "enumDescriptions": [
 35356  	//         "",
 35357  	//         ""
 35358  	//       ],
 35359  	//       "location": "query",
 35360  	//       "type": "string"
 35361  	//     }
 35362  	//   },
 35363  	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
 35364  	//   "response": {
 35365  	//     "$ref": "InventoryItemsListResponse"
 35366  	//   },
 35367  	//   "scopes": [
 35368  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35369  	//   ]
 35370  	// }
 35371  
 35372  }
 35373  
 35374  // Pages invokes f for each page of results.
 35375  // A non-nil error returned from f will halt the iteration.
 35376  // The provided context supersedes any context provided to the Context method.
 35377  func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
 35378  	c.ctx_ = ctx
 35379  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 35380  	for {
 35381  		x, err := c.Do()
 35382  		if err != nil {
 35383  			return err
 35384  		}
 35385  		if err := f(x); err != nil {
 35386  			return err
 35387  		}
 35388  		if x.NextPageToken == "" {
 35389  			return nil
 35390  		}
 35391  		c.PageToken(x.NextPageToken)
 35392  	}
 35393  }
 35394  
 35395  // method id "dfareporting.languages.list":
 35396  
 35397  type LanguagesListCall struct {
 35398  	s            *Service
 35399  	profileId    int64
 35400  	urlParams_   gensupport.URLParams
 35401  	ifNoneMatch_ string
 35402  	ctx_         context.Context
 35403  	header_      http.Header
 35404  }
 35405  
 35406  // List: Retrieves a list of languages.
 35407  //
 35408  // - profileId: User profile ID associated with this request.
 35409  func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
 35410  	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35411  	c.profileId = profileId
 35412  	return c
 35413  }
 35414  
 35415  // Fields allows partial responses to be retrieved. See
 35416  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35417  // for more information.
 35418  func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
 35419  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35420  	return c
 35421  }
 35422  
 35423  // IfNoneMatch sets the optional parameter which makes the operation
 35424  // fail if the object's ETag matches the given value. This is useful for
 35425  // getting updates only after the object has changed since the last
 35426  // request. Use googleapi.IsNotModified to check whether the response
 35427  // error from Do is the result of In-None-Match.
 35428  func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
 35429  	c.ifNoneMatch_ = entityTag
 35430  	return c
 35431  }
 35432  
 35433  // Context sets the context to be used in this call's Do method. Any
 35434  // pending HTTP request will be aborted if the provided context is
 35435  // canceled.
 35436  func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
 35437  	c.ctx_ = ctx
 35438  	return c
 35439  }
 35440  
 35441  // Header returns an http.Header that can be modified by the caller to
 35442  // add HTTP headers to the request.
 35443  func (c *LanguagesListCall) Header() http.Header {
 35444  	if c.header_ == nil {
 35445  		c.header_ = make(http.Header)
 35446  	}
 35447  	return c.header_
 35448  }
 35449  
 35450  func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
 35451  	reqHeaders := make(http.Header)
 35452  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35453  	for k, v := range c.header_ {
 35454  		reqHeaders[k] = v
 35455  	}
 35456  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35457  	if c.ifNoneMatch_ != "" {
 35458  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35459  	}
 35460  	var body io.Reader = nil
 35461  	c.urlParams_.Set("alt", alt)
 35462  	c.urlParams_.Set("prettyPrint", "false")
 35463  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
 35464  	urls += "?" + c.urlParams_.Encode()
 35465  	req, err := http.NewRequest("GET", urls, body)
 35466  	if err != nil {
 35467  		return nil, err
 35468  	}
 35469  	req.Header = reqHeaders
 35470  	googleapi.Expand(req.URL, map[string]string{
 35471  		"profileId": strconv.FormatInt(c.profileId, 10),
 35472  	})
 35473  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35474  }
 35475  
 35476  // Do executes the "dfareporting.languages.list" call.
 35477  // Exactly one of *LanguagesListResponse or error will be non-nil. Any
 35478  // non-2xx status code is an error. Response headers are in either
 35479  // *LanguagesListResponse.ServerResponse.Header or (if a response was
 35480  // returned at all) in error.(*googleapi.Error).Header. Use
 35481  // googleapi.IsNotModified to check whether the returned error was
 35482  // because http.StatusNotModified was returned.
 35483  func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
 35484  	gensupport.SetOptions(c.urlParams_, opts...)
 35485  	res, err := c.doRequest("json")
 35486  	if res != nil && res.StatusCode == http.StatusNotModified {
 35487  		if res.Body != nil {
 35488  			res.Body.Close()
 35489  		}
 35490  		return nil, &googleapi.Error{
 35491  			Code:   res.StatusCode,
 35492  			Header: res.Header,
 35493  		}
 35494  	}
 35495  	if err != nil {
 35496  		return nil, err
 35497  	}
 35498  	defer googleapi.CloseBody(res)
 35499  	if err := googleapi.CheckResponse(res); err != nil {
 35500  		return nil, err
 35501  	}
 35502  	ret := &LanguagesListResponse{
 35503  		ServerResponse: googleapi.ServerResponse{
 35504  			Header:         res.Header,
 35505  			HTTPStatusCode: res.StatusCode,
 35506  		},
 35507  	}
 35508  	target := &ret
 35509  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35510  		return nil, err
 35511  	}
 35512  	return ret, nil
 35513  	// {
 35514  	//   "description": "Retrieves a list of languages.",
 35515  	//   "flatPath": "userprofiles/{profileId}/languages",
 35516  	//   "httpMethod": "GET",
 35517  	//   "id": "dfareporting.languages.list",
 35518  	//   "parameterOrder": [
 35519  	//     "profileId"
 35520  	//   ],
 35521  	//   "parameters": {
 35522  	//     "profileId": {
 35523  	//       "description": "User profile ID associated with this request.",
 35524  	//       "format": "int64",
 35525  	//       "location": "path",
 35526  	//       "required": true,
 35527  	//       "type": "string"
 35528  	//     }
 35529  	//   },
 35530  	//   "path": "userprofiles/{profileId}/languages",
 35531  	//   "response": {
 35532  	//     "$ref": "LanguagesListResponse"
 35533  	//   },
 35534  	//   "scopes": [
 35535  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35536  	//   ]
 35537  	// }
 35538  
 35539  }
 35540  
 35541  // method id "dfareporting.metros.list":
 35542  
 35543  type MetrosListCall struct {
 35544  	s            *Service
 35545  	profileId    int64
 35546  	urlParams_   gensupport.URLParams
 35547  	ifNoneMatch_ string
 35548  	ctx_         context.Context
 35549  	header_      http.Header
 35550  }
 35551  
 35552  // List: Retrieves a list of metros.
 35553  //
 35554  // - profileId: User profile ID associated with this request.
 35555  func (r *MetrosService) List(profileId int64) *MetrosListCall {
 35556  	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35557  	c.profileId = profileId
 35558  	return c
 35559  }
 35560  
 35561  // Fields allows partial responses to be retrieved. See
 35562  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35563  // for more information.
 35564  func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
 35565  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35566  	return c
 35567  }
 35568  
 35569  // IfNoneMatch sets the optional parameter which makes the operation
 35570  // fail if the object's ETag matches the given value. This is useful for
 35571  // getting updates only after the object has changed since the last
 35572  // request. Use googleapi.IsNotModified to check whether the response
 35573  // error from Do is the result of In-None-Match.
 35574  func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
 35575  	c.ifNoneMatch_ = entityTag
 35576  	return c
 35577  }
 35578  
 35579  // Context sets the context to be used in this call's Do method. Any
 35580  // pending HTTP request will be aborted if the provided context is
 35581  // canceled.
 35582  func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
 35583  	c.ctx_ = ctx
 35584  	return c
 35585  }
 35586  
 35587  // Header returns an http.Header that can be modified by the caller to
 35588  // add HTTP headers to the request.
 35589  func (c *MetrosListCall) Header() http.Header {
 35590  	if c.header_ == nil {
 35591  		c.header_ = make(http.Header)
 35592  	}
 35593  	return c.header_
 35594  }
 35595  
 35596  func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
 35597  	reqHeaders := make(http.Header)
 35598  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35599  	for k, v := range c.header_ {
 35600  		reqHeaders[k] = v
 35601  	}
 35602  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35603  	if c.ifNoneMatch_ != "" {
 35604  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35605  	}
 35606  	var body io.Reader = nil
 35607  	c.urlParams_.Set("alt", alt)
 35608  	c.urlParams_.Set("prettyPrint", "false")
 35609  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
 35610  	urls += "?" + c.urlParams_.Encode()
 35611  	req, err := http.NewRequest("GET", urls, body)
 35612  	if err != nil {
 35613  		return nil, err
 35614  	}
 35615  	req.Header = reqHeaders
 35616  	googleapi.Expand(req.URL, map[string]string{
 35617  		"profileId": strconv.FormatInt(c.profileId, 10),
 35618  	})
 35619  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35620  }
 35621  
 35622  // Do executes the "dfareporting.metros.list" call.
 35623  // Exactly one of *MetrosListResponse or error will be non-nil. Any
 35624  // non-2xx status code is an error. Response headers are in either
 35625  // *MetrosListResponse.ServerResponse.Header or (if a response was
 35626  // returned at all) in error.(*googleapi.Error).Header. Use
 35627  // googleapi.IsNotModified to check whether the returned error was
 35628  // because http.StatusNotModified was returned.
 35629  func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
 35630  	gensupport.SetOptions(c.urlParams_, opts...)
 35631  	res, err := c.doRequest("json")
 35632  	if res != nil && res.StatusCode == http.StatusNotModified {
 35633  		if res.Body != nil {
 35634  			res.Body.Close()
 35635  		}
 35636  		return nil, &googleapi.Error{
 35637  			Code:   res.StatusCode,
 35638  			Header: res.Header,
 35639  		}
 35640  	}
 35641  	if err != nil {
 35642  		return nil, err
 35643  	}
 35644  	defer googleapi.CloseBody(res)
 35645  	if err := googleapi.CheckResponse(res); err != nil {
 35646  		return nil, err
 35647  	}
 35648  	ret := &MetrosListResponse{
 35649  		ServerResponse: googleapi.ServerResponse{
 35650  			Header:         res.Header,
 35651  			HTTPStatusCode: res.StatusCode,
 35652  		},
 35653  	}
 35654  	target := &ret
 35655  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35656  		return nil, err
 35657  	}
 35658  	return ret, nil
 35659  	// {
 35660  	//   "description": "Retrieves a list of metros.",
 35661  	//   "flatPath": "userprofiles/{profileId}/metros",
 35662  	//   "httpMethod": "GET",
 35663  	//   "id": "dfareporting.metros.list",
 35664  	//   "parameterOrder": [
 35665  	//     "profileId"
 35666  	//   ],
 35667  	//   "parameters": {
 35668  	//     "profileId": {
 35669  	//       "description": "User profile ID associated with this request.",
 35670  	//       "format": "int64",
 35671  	//       "location": "path",
 35672  	//       "required": true,
 35673  	//       "type": "string"
 35674  	//     }
 35675  	//   },
 35676  	//   "path": "userprofiles/{profileId}/metros",
 35677  	//   "response": {
 35678  	//     "$ref": "MetrosListResponse"
 35679  	//   },
 35680  	//   "scopes": [
 35681  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35682  	//   ]
 35683  	// }
 35684  
 35685  }
 35686  
 35687  // method id "dfareporting.mobileApps.get":
 35688  
 35689  type MobileAppsGetCall struct {
 35690  	s            *Service
 35691  	profileId    int64
 35692  	id           string
 35693  	urlParams_   gensupport.URLParams
 35694  	ifNoneMatch_ string
 35695  	ctx_         context.Context
 35696  	header_      http.Header
 35697  }
 35698  
 35699  // Get: Gets one mobile app by ID.
 35700  //
 35701  // - id: Mobile app ID.
 35702  // - profileId: User profile ID associated with this request.
 35703  func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
 35704  	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35705  	c.profileId = profileId
 35706  	c.id = id
 35707  	return c
 35708  }
 35709  
 35710  // Fields allows partial responses to be retrieved. See
 35711  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35712  // for more information.
 35713  func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
 35714  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35715  	return c
 35716  }
 35717  
 35718  // IfNoneMatch sets the optional parameter which makes the operation
 35719  // fail if the object's ETag matches the given value. This is useful for
 35720  // getting updates only after the object has changed since the last
 35721  // request. Use googleapi.IsNotModified to check whether the response
 35722  // error from Do is the result of In-None-Match.
 35723  func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
 35724  	c.ifNoneMatch_ = entityTag
 35725  	return c
 35726  }
 35727  
 35728  // Context sets the context to be used in this call's Do method. Any
 35729  // pending HTTP request will be aborted if the provided context is
 35730  // canceled.
 35731  func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
 35732  	c.ctx_ = ctx
 35733  	return c
 35734  }
 35735  
 35736  // Header returns an http.Header that can be modified by the caller to
 35737  // add HTTP headers to the request.
 35738  func (c *MobileAppsGetCall) Header() http.Header {
 35739  	if c.header_ == nil {
 35740  		c.header_ = make(http.Header)
 35741  	}
 35742  	return c.header_
 35743  }
 35744  
 35745  func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
 35746  	reqHeaders := make(http.Header)
 35747  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35748  	for k, v := range c.header_ {
 35749  		reqHeaders[k] = v
 35750  	}
 35751  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35752  	if c.ifNoneMatch_ != "" {
 35753  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35754  	}
 35755  	var body io.Reader = nil
 35756  	c.urlParams_.Set("alt", alt)
 35757  	c.urlParams_.Set("prettyPrint", "false")
 35758  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
 35759  	urls += "?" + c.urlParams_.Encode()
 35760  	req, err := http.NewRequest("GET", urls, body)
 35761  	if err != nil {
 35762  		return nil, err
 35763  	}
 35764  	req.Header = reqHeaders
 35765  	googleapi.Expand(req.URL, map[string]string{
 35766  		"profileId": strconv.FormatInt(c.profileId, 10),
 35767  		"id":        c.id,
 35768  	})
 35769  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35770  }
 35771  
 35772  // Do executes the "dfareporting.mobileApps.get" call.
 35773  // Exactly one of *MobileApp or error will be non-nil. Any non-2xx
 35774  // status code is an error. Response headers are in either
 35775  // *MobileApp.ServerResponse.Header or (if a response was returned at
 35776  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 35777  // to check whether the returned error was because
 35778  // http.StatusNotModified was returned.
 35779  func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
 35780  	gensupport.SetOptions(c.urlParams_, opts...)
 35781  	res, err := c.doRequest("json")
 35782  	if res != nil && res.StatusCode == http.StatusNotModified {
 35783  		if res.Body != nil {
 35784  			res.Body.Close()
 35785  		}
 35786  		return nil, &googleapi.Error{
 35787  			Code:   res.StatusCode,
 35788  			Header: res.Header,
 35789  		}
 35790  	}
 35791  	if err != nil {
 35792  		return nil, err
 35793  	}
 35794  	defer googleapi.CloseBody(res)
 35795  	if err := googleapi.CheckResponse(res); err != nil {
 35796  		return nil, err
 35797  	}
 35798  	ret := &MobileApp{
 35799  		ServerResponse: googleapi.ServerResponse{
 35800  			Header:         res.Header,
 35801  			HTTPStatusCode: res.StatusCode,
 35802  		},
 35803  	}
 35804  	target := &ret
 35805  	if err := gensupport.DecodeResponse(target, res); err != nil {
 35806  		return nil, err
 35807  	}
 35808  	return ret, nil
 35809  	// {
 35810  	//   "description": "Gets one mobile app by ID.",
 35811  	//   "flatPath": "userprofiles/{profileId}/mobileApps/{id}",
 35812  	//   "httpMethod": "GET",
 35813  	//   "id": "dfareporting.mobileApps.get",
 35814  	//   "parameterOrder": [
 35815  	//     "profileId",
 35816  	//     "id"
 35817  	//   ],
 35818  	//   "parameters": {
 35819  	//     "id": {
 35820  	//       "description": "Mobile app ID.",
 35821  	//       "location": "path",
 35822  	//       "required": true,
 35823  	//       "type": "string"
 35824  	//     },
 35825  	//     "profileId": {
 35826  	//       "description": "User profile ID associated with this request.",
 35827  	//       "format": "int64",
 35828  	//       "location": "path",
 35829  	//       "required": true,
 35830  	//       "type": "string"
 35831  	//     }
 35832  	//   },
 35833  	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
 35834  	//   "response": {
 35835  	//     "$ref": "MobileApp"
 35836  	//   },
 35837  	//   "scopes": [
 35838  	//     "https://www.googleapis.com/auth/dfatrafficking"
 35839  	//   ]
 35840  	// }
 35841  
 35842  }
 35843  
 35844  // method id "dfareporting.mobileApps.list":
 35845  
 35846  type MobileAppsListCall struct {
 35847  	s            *Service
 35848  	profileId    int64
 35849  	urlParams_   gensupport.URLParams
 35850  	ifNoneMatch_ string
 35851  	ctx_         context.Context
 35852  	header_      http.Header
 35853  }
 35854  
 35855  // List: Retrieves list of available mobile apps.
 35856  //
 35857  // - profileId: User profile ID associated with this request.
 35858  func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
 35859  	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 35860  	c.profileId = profileId
 35861  	return c
 35862  }
 35863  
 35864  // Directories sets the optional parameter "directories": Select only
 35865  // apps from these directories.
 35866  //
 35867  // Possible values:
 35868  //
 35869  //	"UNKNOWN"
 35870  //	"APPLE_APP_STORE"
 35871  //	"GOOGLE_PLAY_STORE"
 35872  func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
 35873  	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
 35874  	return c
 35875  }
 35876  
 35877  // Ids sets the optional parameter "ids": Select only apps with these
 35878  // IDs.
 35879  func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
 35880  	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
 35881  	return c
 35882  }
 35883  
 35884  // MaxResults sets the optional parameter "maxResults": Maximum number
 35885  // of results to return.
 35886  func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
 35887  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 35888  	return c
 35889  }
 35890  
 35891  // PageToken sets the optional parameter "pageToken": Value of the
 35892  // nextPageToken from the previous result page.
 35893  func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
 35894  	c.urlParams_.Set("pageToken", pageToken)
 35895  	return c
 35896  }
 35897  
 35898  // SearchString sets the optional parameter "searchString": Allows
 35899  // searching for objects by name or ID. Wildcards (*) are allowed. For
 35900  // example, "app*2015" will return objects with names like "app Jan
 35901  // 2018", "app Jan 2018", or simply "app 2018". Most of the searches
 35902  // also add wildcards implicitly at the start and the end of the search
 35903  // string. For example, a search string of "app" will match objects with
 35904  // name "my app", "app 2018", or simply "app".
 35905  func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
 35906  	c.urlParams_.Set("searchString", searchString)
 35907  	return c
 35908  }
 35909  
 35910  // Fields allows partial responses to be retrieved. See
 35911  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 35912  // for more information.
 35913  func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
 35914  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 35915  	return c
 35916  }
 35917  
 35918  // IfNoneMatch sets the optional parameter which makes the operation
 35919  // fail if the object's ETag matches the given value. This is useful for
 35920  // getting updates only after the object has changed since the last
 35921  // request. Use googleapi.IsNotModified to check whether the response
 35922  // error from Do is the result of In-None-Match.
 35923  func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
 35924  	c.ifNoneMatch_ = entityTag
 35925  	return c
 35926  }
 35927  
 35928  // Context sets the context to be used in this call's Do method. Any
 35929  // pending HTTP request will be aborted if the provided context is
 35930  // canceled.
 35931  func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
 35932  	c.ctx_ = ctx
 35933  	return c
 35934  }
 35935  
 35936  // Header returns an http.Header that can be modified by the caller to
 35937  // add HTTP headers to the request.
 35938  func (c *MobileAppsListCall) Header() http.Header {
 35939  	if c.header_ == nil {
 35940  		c.header_ = make(http.Header)
 35941  	}
 35942  	return c.header_
 35943  }
 35944  
 35945  func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
 35946  	reqHeaders := make(http.Header)
 35947  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 35948  	for k, v := range c.header_ {
 35949  		reqHeaders[k] = v
 35950  	}
 35951  	reqHeaders.Set("User-Agent", c.s.userAgent())
 35952  	if c.ifNoneMatch_ != "" {
 35953  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 35954  	}
 35955  	var body io.Reader = nil
 35956  	c.urlParams_.Set("alt", alt)
 35957  	c.urlParams_.Set("prettyPrint", "false")
 35958  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
 35959  	urls += "?" + c.urlParams_.Encode()
 35960  	req, err := http.NewRequest("GET", urls, body)
 35961  	if err != nil {
 35962  		return nil, err
 35963  	}
 35964  	req.Header = reqHeaders
 35965  	googleapi.Expand(req.URL, map[string]string{
 35966  		"profileId": strconv.FormatInt(c.profileId, 10),
 35967  	})
 35968  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 35969  }
 35970  
 35971  // Do executes the "dfareporting.mobileApps.list" call.
 35972  // Exactly one of *MobileAppsListResponse or error will be non-nil. Any
 35973  // non-2xx status code is an error. Response headers are in either
 35974  // *MobileAppsListResponse.ServerResponse.Header or (if a response was
 35975  // returned at all) in error.(*googleapi.Error).Header. Use
 35976  // googleapi.IsNotModified to check whether the returned error was
 35977  // because http.StatusNotModified was returned.
 35978  func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
 35979  	gensupport.SetOptions(c.urlParams_, opts...)
 35980  	res, err := c.doRequest("json")
 35981  	if res != nil && res.StatusCode == http.StatusNotModified {
 35982  		if res.Body != nil {
 35983  			res.Body.Close()
 35984  		}
 35985  		return nil, &googleapi.Error{
 35986  			Code:   res.StatusCode,
 35987  			Header: res.Header,
 35988  		}
 35989  	}
 35990  	if err != nil {
 35991  		return nil, err
 35992  	}
 35993  	defer googleapi.CloseBody(res)
 35994  	if err := googleapi.CheckResponse(res); err != nil {
 35995  		return nil, err
 35996  	}
 35997  	ret := &MobileAppsListResponse{
 35998  		ServerResponse: googleapi.ServerResponse{
 35999  			Header:         res.Header,
 36000  			HTTPStatusCode: res.StatusCode,
 36001  		},
 36002  	}
 36003  	target := &ret
 36004  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36005  		return nil, err
 36006  	}
 36007  	return ret, nil
 36008  	// {
 36009  	//   "description": "Retrieves list of available mobile apps.",
 36010  	//   "flatPath": "userprofiles/{profileId}/mobileApps",
 36011  	//   "httpMethod": "GET",
 36012  	//   "id": "dfareporting.mobileApps.list",
 36013  	//   "parameterOrder": [
 36014  	//     "profileId"
 36015  	//   ],
 36016  	//   "parameters": {
 36017  	//     "directories": {
 36018  	//       "description": "Select only apps from these directories.",
 36019  	//       "enum": [
 36020  	//         "UNKNOWN",
 36021  	//         "APPLE_APP_STORE",
 36022  	//         "GOOGLE_PLAY_STORE"
 36023  	//       ],
 36024  	//       "enumDescriptions": [
 36025  	//         "",
 36026  	//         "",
 36027  	//         ""
 36028  	//       ],
 36029  	//       "location": "query",
 36030  	//       "repeated": true,
 36031  	//       "type": "string"
 36032  	//     },
 36033  	//     "ids": {
 36034  	//       "description": "Select only apps with these IDs.",
 36035  	//       "location": "query",
 36036  	//       "repeated": true,
 36037  	//       "type": "string"
 36038  	//     },
 36039  	//     "maxResults": {
 36040  	//       "default": "1000",
 36041  	//       "description": "Maximum number of results to return.",
 36042  	//       "format": "int32",
 36043  	//       "location": "query",
 36044  	//       "maximum": "1000",
 36045  	//       "minimum": "0",
 36046  	//       "type": "integer"
 36047  	//     },
 36048  	//     "pageToken": {
 36049  	//       "description": "Value of the nextPageToken from the previous result page.",
 36050  	//       "location": "query",
 36051  	//       "type": "string"
 36052  	//     },
 36053  	//     "profileId": {
 36054  	//       "description": "User profile ID associated with this request.",
 36055  	//       "format": "int64",
 36056  	//       "location": "path",
 36057  	//       "required": true,
 36058  	//       "type": "string"
 36059  	//     },
 36060  	//     "searchString": {
 36061  	//       "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\".",
 36062  	//       "location": "query",
 36063  	//       "type": "string"
 36064  	//     }
 36065  	//   },
 36066  	//   "path": "userprofiles/{profileId}/mobileApps",
 36067  	//   "response": {
 36068  	//     "$ref": "MobileAppsListResponse"
 36069  	//   },
 36070  	//   "scopes": [
 36071  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36072  	//   ]
 36073  	// }
 36074  
 36075  }
 36076  
 36077  // Pages invokes f for each page of results.
 36078  // A non-nil error returned from f will halt the iteration.
 36079  // The provided context supersedes any context provided to the Context method.
 36080  func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
 36081  	c.ctx_ = ctx
 36082  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 36083  	for {
 36084  		x, err := c.Do()
 36085  		if err != nil {
 36086  			return err
 36087  		}
 36088  		if err := f(x); err != nil {
 36089  			return err
 36090  		}
 36091  		if x.NextPageToken == "" {
 36092  			return nil
 36093  		}
 36094  		c.PageToken(x.NextPageToken)
 36095  	}
 36096  }
 36097  
 36098  // method id "dfareporting.mobileCarriers.get":
 36099  
 36100  type MobileCarriersGetCall struct {
 36101  	s            *Service
 36102  	profileId    int64
 36103  	id           int64
 36104  	urlParams_   gensupport.URLParams
 36105  	ifNoneMatch_ string
 36106  	ctx_         context.Context
 36107  	header_      http.Header
 36108  }
 36109  
 36110  // Get: Gets one mobile carrier by ID.
 36111  //
 36112  // - id: Mobile carrier ID.
 36113  // - profileId: User profile ID associated with this request.
 36114  func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
 36115  	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36116  	c.profileId = profileId
 36117  	c.id = id
 36118  	return c
 36119  }
 36120  
 36121  // Fields allows partial responses to be retrieved. See
 36122  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36123  // for more information.
 36124  func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
 36125  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36126  	return c
 36127  }
 36128  
 36129  // IfNoneMatch sets the optional parameter which makes the operation
 36130  // fail if the object's ETag matches the given value. This is useful for
 36131  // getting updates only after the object has changed since the last
 36132  // request. Use googleapi.IsNotModified to check whether the response
 36133  // error from Do is the result of In-None-Match.
 36134  func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
 36135  	c.ifNoneMatch_ = entityTag
 36136  	return c
 36137  }
 36138  
 36139  // Context sets the context to be used in this call's Do method. Any
 36140  // pending HTTP request will be aborted if the provided context is
 36141  // canceled.
 36142  func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
 36143  	c.ctx_ = ctx
 36144  	return c
 36145  }
 36146  
 36147  // Header returns an http.Header that can be modified by the caller to
 36148  // add HTTP headers to the request.
 36149  func (c *MobileCarriersGetCall) Header() http.Header {
 36150  	if c.header_ == nil {
 36151  		c.header_ = make(http.Header)
 36152  	}
 36153  	return c.header_
 36154  }
 36155  
 36156  func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
 36157  	reqHeaders := make(http.Header)
 36158  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36159  	for k, v := range c.header_ {
 36160  		reqHeaders[k] = v
 36161  	}
 36162  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36163  	if c.ifNoneMatch_ != "" {
 36164  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36165  	}
 36166  	var body io.Reader = nil
 36167  	c.urlParams_.Set("alt", alt)
 36168  	c.urlParams_.Set("prettyPrint", "false")
 36169  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
 36170  	urls += "?" + c.urlParams_.Encode()
 36171  	req, err := http.NewRequest("GET", urls, body)
 36172  	if err != nil {
 36173  		return nil, err
 36174  	}
 36175  	req.Header = reqHeaders
 36176  	googleapi.Expand(req.URL, map[string]string{
 36177  		"profileId": strconv.FormatInt(c.profileId, 10),
 36178  		"id":        strconv.FormatInt(c.id, 10),
 36179  	})
 36180  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36181  }
 36182  
 36183  // Do executes the "dfareporting.mobileCarriers.get" call.
 36184  // Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
 36185  // status code is an error. Response headers are in either
 36186  // *MobileCarrier.ServerResponse.Header or (if a response was returned
 36187  // at all) in error.(*googleapi.Error).Header. Use
 36188  // googleapi.IsNotModified to check whether the returned error was
 36189  // because http.StatusNotModified was returned.
 36190  func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
 36191  	gensupport.SetOptions(c.urlParams_, opts...)
 36192  	res, err := c.doRequest("json")
 36193  	if res != nil && res.StatusCode == http.StatusNotModified {
 36194  		if res.Body != nil {
 36195  			res.Body.Close()
 36196  		}
 36197  		return nil, &googleapi.Error{
 36198  			Code:   res.StatusCode,
 36199  			Header: res.Header,
 36200  		}
 36201  	}
 36202  	if err != nil {
 36203  		return nil, err
 36204  	}
 36205  	defer googleapi.CloseBody(res)
 36206  	if err := googleapi.CheckResponse(res); err != nil {
 36207  		return nil, err
 36208  	}
 36209  	ret := &MobileCarrier{
 36210  		ServerResponse: googleapi.ServerResponse{
 36211  			Header:         res.Header,
 36212  			HTTPStatusCode: res.StatusCode,
 36213  		},
 36214  	}
 36215  	target := &ret
 36216  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36217  		return nil, err
 36218  	}
 36219  	return ret, nil
 36220  	// {
 36221  	//   "description": "Gets one mobile carrier by ID.",
 36222  	//   "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}",
 36223  	//   "httpMethod": "GET",
 36224  	//   "id": "dfareporting.mobileCarriers.get",
 36225  	//   "parameterOrder": [
 36226  	//     "profileId",
 36227  	//     "id"
 36228  	//   ],
 36229  	//   "parameters": {
 36230  	//     "id": {
 36231  	//       "description": "Mobile carrier ID.",
 36232  	//       "format": "int64",
 36233  	//       "location": "path",
 36234  	//       "required": true,
 36235  	//       "type": "string"
 36236  	//     },
 36237  	//     "profileId": {
 36238  	//       "description": "User profile ID associated with this request.",
 36239  	//       "format": "int64",
 36240  	//       "location": "path",
 36241  	//       "required": true,
 36242  	//       "type": "string"
 36243  	//     }
 36244  	//   },
 36245  	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
 36246  	//   "response": {
 36247  	//     "$ref": "MobileCarrier"
 36248  	//   },
 36249  	//   "scopes": [
 36250  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36251  	//   ]
 36252  	// }
 36253  
 36254  }
 36255  
 36256  // method id "dfareporting.mobileCarriers.list":
 36257  
 36258  type MobileCarriersListCall struct {
 36259  	s            *Service
 36260  	profileId    int64
 36261  	urlParams_   gensupport.URLParams
 36262  	ifNoneMatch_ string
 36263  	ctx_         context.Context
 36264  	header_      http.Header
 36265  }
 36266  
 36267  // List: Retrieves a list of mobile carriers.
 36268  //
 36269  // - profileId: User profile ID associated with this request.
 36270  func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
 36271  	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36272  	c.profileId = profileId
 36273  	return c
 36274  }
 36275  
 36276  // Fields allows partial responses to be retrieved. See
 36277  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36278  // for more information.
 36279  func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
 36280  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36281  	return c
 36282  }
 36283  
 36284  // IfNoneMatch sets the optional parameter which makes the operation
 36285  // fail if the object's ETag matches the given value. This is useful for
 36286  // getting updates only after the object has changed since the last
 36287  // request. Use googleapi.IsNotModified to check whether the response
 36288  // error from Do is the result of In-None-Match.
 36289  func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
 36290  	c.ifNoneMatch_ = entityTag
 36291  	return c
 36292  }
 36293  
 36294  // Context sets the context to be used in this call's Do method. Any
 36295  // pending HTTP request will be aborted if the provided context is
 36296  // canceled.
 36297  func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
 36298  	c.ctx_ = ctx
 36299  	return c
 36300  }
 36301  
 36302  // Header returns an http.Header that can be modified by the caller to
 36303  // add HTTP headers to the request.
 36304  func (c *MobileCarriersListCall) Header() http.Header {
 36305  	if c.header_ == nil {
 36306  		c.header_ = make(http.Header)
 36307  	}
 36308  	return c.header_
 36309  }
 36310  
 36311  func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
 36312  	reqHeaders := make(http.Header)
 36313  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36314  	for k, v := range c.header_ {
 36315  		reqHeaders[k] = v
 36316  	}
 36317  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36318  	if c.ifNoneMatch_ != "" {
 36319  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36320  	}
 36321  	var body io.Reader = nil
 36322  	c.urlParams_.Set("alt", alt)
 36323  	c.urlParams_.Set("prettyPrint", "false")
 36324  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
 36325  	urls += "?" + c.urlParams_.Encode()
 36326  	req, err := http.NewRequest("GET", urls, body)
 36327  	if err != nil {
 36328  		return nil, err
 36329  	}
 36330  	req.Header = reqHeaders
 36331  	googleapi.Expand(req.URL, map[string]string{
 36332  		"profileId": strconv.FormatInt(c.profileId, 10),
 36333  	})
 36334  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36335  }
 36336  
 36337  // Do executes the "dfareporting.mobileCarriers.list" call.
 36338  // Exactly one of *MobileCarriersListResponse or error will be non-nil.
 36339  // Any non-2xx status code is an error. Response headers are in either
 36340  // *MobileCarriersListResponse.ServerResponse.Header or (if a response
 36341  // was returned at all) in error.(*googleapi.Error).Header. Use
 36342  // googleapi.IsNotModified to check whether the returned error was
 36343  // because http.StatusNotModified was returned.
 36344  func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
 36345  	gensupport.SetOptions(c.urlParams_, opts...)
 36346  	res, err := c.doRequest("json")
 36347  	if res != nil && res.StatusCode == http.StatusNotModified {
 36348  		if res.Body != nil {
 36349  			res.Body.Close()
 36350  		}
 36351  		return nil, &googleapi.Error{
 36352  			Code:   res.StatusCode,
 36353  			Header: res.Header,
 36354  		}
 36355  	}
 36356  	if err != nil {
 36357  		return nil, err
 36358  	}
 36359  	defer googleapi.CloseBody(res)
 36360  	if err := googleapi.CheckResponse(res); err != nil {
 36361  		return nil, err
 36362  	}
 36363  	ret := &MobileCarriersListResponse{
 36364  		ServerResponse: googleapi.ServerResponse{
 36365  			Header:         res.Header,
 36366  			HTTPStatusCode: res.StatusCode,
 36367  		},
 36368  	}
 36369  	target := &ret
 36370  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36371  		return nil, err
 36372  	}
 36373  	return ret, nil
 36374  	// {
 36375  	//   "description": "Retrieves a list of mobile carriers.",
 36376  	//   "flatPath": "userprofiles/{profileId}/mobileCarriers",
 36377  	//   "httpMethod": "GET",
 36378  	//   "id": "dfareporting.mobileCarriers.list",
 36379  	//   "parameterOrder": [
 36380  	//     "profileId"
 36381  	//   ],
 36382  	//   "parameters": {
 36383  	//     "profileId": {
 36384  	//       "description": "User profile ID associated with this request.",
 36385  	//       "format": "int64",
 36386  	//       "location": "path",
 36387  	//       "required": true,
 36388  	//       "type": "string"
 36389  	//     }
 36390  	//   },
 36391  	//   "path": "userprofiles/{profileId}/mobileCarriers",
 36392  	//   "response": {
 36393  	//     "$ref": "MobileCarriersListResponse"
 36394  	//   },
 36395  	//   "scopes": [
 36396  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36397  	//   ]
 36398  	// }
 36399  
 36400  }
 36401  
 36402  // method id "dfareporting.operatingSystemVersions.get":
 36403  
 36404  type OperatingSystemVersionsGetCall struct {
 36405  	s            *Service
 36406  	profileId    int64
 36407  	id           int64
 36408  	urlParams_   gensupport.URLParams
 36409  	ifNoneMatch_ string
 36410  	ctx_         context.Context
 36411  	header_      http.Header
 36412  }
 36413  
 36414  // Get: Gets one operating system version by ID.
 36415  //
 36416  // - id: Operating system version ID.
 36417  // - profileId: User profile ID associated with this request.
 36418  func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
 36419  	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36420  	c.profileId = profileId
 36421  	c.id = id
 36422  	return c
 36423  }
 36424  
 36425  // Fields allows partial responses to be retrieved. See
 36426  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36427  // for more information.
 36428  func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
 36429  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36430  	return c
 36431  }
 36432  
 36433  // IfNoneMatch sets the optional parameter which makes the operation
 36434  // fail if the object's ETag matches the given value. This is useful for
 36435  // getting updates only after the object has changed since the last
 36436  // request. Use googleapi.IsNotModified to check whether the response
 36437  // error from Do is the result of In-None-Match.
 36438  func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
 36439  	c.ifNoneMatch_ = entityTag
 36440  	return c
 36441  }
 36442  
 36443  // Context sets the context to be used in this call's Do method. Any
 36444  // pending HTTP request will be aborted if the provided context is
 36445  // canceled.
 36446  func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
 36447  	c.ctx_ = ctx
 36448  	return c
 36449  }
 36450  
 36451  // Header returns an http.Header that can be modified by the caller to
 36452  // add HTTP headers to the request.
 36453  func (c *OperatingSystemVersionsGetCall) Header() http.Header {
 36454  	if c.header_ == nil {
 36455  		c.header_ = make(http.Header)
 36456  	}
 36457  	return c.header_
 36458  }
 36459  
 36460  func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
 36461  	reqHeaders := make(http.Header)
 36462  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36463  	for k, v := range c.header_ {
 36464  		reqHeaders[k] = v
 36465  	}
 36466  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36467  	if c.ifNoneMatch_ != "" {
 36468  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36469  	}
 36470  	var body io.Reader = nil
 36471  	c.urlParams_.Set("alt", alt)
 36472  	c.urlParams_.Set("prettyPrint", "false")
 36473  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
 36474  	urls += "?" + c.urlParams_.Encode()
 36475  	req, err := http.NewRequest("GET", urls, body)
 36476  	if err != nil {
 36477  		return nil, err
 36478  	}
 36479  	req.Header = reqHeaders
 36480  	googleapi.Expand(req.URL, map[string]string{
 36481  		"profileId": strconv.FormatInt(c.profileId, 10),
 36482  		"id":        strconv.FormatInt(c.id, 10),
 36483  	})
 36484  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36485  }
 36486  
 36487  // Do executes the "dfareporting.operatingSystemVersions.get" call.
 36488  // Exactly one of *OperatingSystemVersion or error will be non-nil. Any
 36489  // non-2xx status code is an error. Response headers are in either
 36490  // *OperatingSystemVersion.ServerResponse.Header or (if a response was
 36491  // returned at all) in error.(*googleapi.Error).Header. Use
 36492  // googleapi.IsNotModified to check whether the returned error was
 36493  // because http.StatusNotModified was returned.
 36494  func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
 36495  	gensupport.SetOptions(c.urlParams_, opts...)
 36496  	res, err := c.doRequest("json")
 36497  	if res != nil && res.StatusCode == http.StatusNotModified {
 36498  		if res.Body != nil {
 36499  			res.Body.Close()
 36500  		}
 36501  		return nil, &googleapi.Error{
 36502  			Code:   res.StatusCode,
 36503  			Header: res.Header,
 36504  		}
 36505  	}
 36506  	if err != nil {
 36507  		return nil, err
 36508  	}
 36509  	defer googleapi.CloseBody(res)
 36510  	if err := googleapi.CheckResponse(res); err != nil {
 36511  		return nil, err
 36512  	}
 36513  	ret := &OperatingSystemVersion{
 36514  		ServerResponse: googleapi.ServerResponse{
 36515  			Header:         res.Header,
 36516  			HTTPStatusCode: res.StatusCode,
 36517  		},
 36518  	}
 36519  	target := &ret
 36520  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36521  		return nil, err
 36522  	}
 36523  	return ret, nil
 36524  	// {
 36525  	//   "description": "Gets one operating system version by ID.",
 36526  	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 36527  	//   "httpMethod": "GET",
 36528  	//   "id": "dfareporting.operatingSystemVersions.get",
 36529  	//   "parameterOrder": [
 36530  	//     "profileId",
 36531  	//     "id"
 36532  	//   ],
 36533  	//   "parameters": {
 36534  	//     "id": {
 36535  	//       "description": "Operating system version ID.",
 36536  	//       "format": "int64",
 36537  	//       "location": "path",
 36538  	//       "required": true,
 36539  	//       "type": "string"
 36540  	//     },
 36541  	//     "profileId": {
 36542  	//       "description": "User profile ID associated with this request.",
 36543  	//       "format": "int64",
 36544  	//       "location": "path",
 36545  	//       "required": true,
 36546  	//       "type": "string"
 36547  	//     }
 36548  	//   },
 36549  	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
 36550  	//   "response": {
 36551  	//     "$ref": "OperatingSystemVersion"
 36552  	//   },
 36553  	//   "scopes": [
 36554  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36555  	//   ]
 36556  	// }
 36557  
 36558  }
 36559  
 36560  // method id "dfareporting.operatingSystemVersions.list":
 36561  
 36562  type OperatingSystemVersionsListCall struct {
 36563  	s            *Service
 36564  	profileId    int64
 36565  	urlParams_   gensupport.URLParams
 36566  	ifNoneMatch_ string
 36567  	ctx_         context.Context
 36568  	header_      http.Header
 36569  }
 36570  
 36571  // List: Retrieves a list of operating system versions.
 36572  //
 36573  // - profileId: User profile ID associated with this request.
 36574  func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
 36575  	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36576  	c.profileId = profileId
 36577  	return c
 36578  }
 36579  
 36580  // Fields allows partial responses to be retrieved. See
 36581  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36582  // for more information.
 36583  func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
 36584  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36585  	return c
 36586  }
 36587  
 36588  // IfNoneMatch sets the optional parameter which makes the operation
 36589  // fail if the object's ETag matches the given value. This is useful for
 36590  // getting updates only after the object has changed since the last
 36591  // request. Use googleapi.IsNotModified to check whether the response
 36592  // error from Do is the result of In-None-Match.
 36593  func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
 36594  	c.ifNoneMatch_ = entityTag
 36595  	return c
 36596  }
 36597  
 36598  // Context sets the context to be used in this call's Do method. Any
 36599  // pending HTTP request will be aborted if the provided context is
 36600  // canceled.
 36601  func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
 36602  	c.ctx_ = ctx
 36603  	return c
 36604  }
 36605  
 36606  // Header returns an http.Header that can be modified by the caller to
 36607  // add HTTP headers to the request.
 36608  func (c *OperatingSystemVersionsListCall) Header() http.Header {
 36609  	if c.header_ == nil {
 36610  		c.header_ = make(http.Header)
 36611  	}
 36612  	return c.header_
 36613  }
 36614  
 36615  func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
 36616  	reqHeaders := make(http.Header)
 36617  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36618  	for k, v := range c.header_ {
 36619  		reqHeaders[k] = v
 36620  	}
 36621  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36622  	if c.ifNoneMatch_ != "" {
 36623  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36624  	}
 36625  	var body io.Reader = nil
 36626  	c.urlParams_.Set("alt", alt)
 36627  	c.urlParams_.Set("prettyPrint", "false")
 36628  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
 36629  	urls += "?" + c.urlParams_.Encode()
 36630  	req, err := http.NewRequest("GET", urls, body)
 36631  	if err != nil {
 36632  		return nil, err
 36633  	}
 36634  	req.Header = reqHeaders
 36635  	googleapi.Expand(req.URL, map[string]string{
 36636  		"profileId": strconv.FormatInt(c.profileId, 10),
 36637  	})
 36638  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36639  }
 36640  
 36641  // Do executes the "dfareporting.operatingSystemVersions.list" call.
 36642  // Exactly one of *OperatingSystemVersionsListResponse or error will be
 36643  // non-nil. Any non-2xx status code is an error. Response headers are in
 36644  // either *OperatingSystemVersionsListResponse.ServerResponse.Header or
 36645  // (if a response was returned at all) in
 36646  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 36647  // whether the returned error was because http.StatusNotModified was
 36648  // returned.
 36649  func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
 36650  	gensupport.SetOptions(c.urlParams_, opts...)
 36651  	res, err := c.doRequest("json")
 36652  	if res != nil && res.StatusCode == http.StatusNotModified {
 36653  		if res.Body != nil {
 36654  			res.Body.Close()
 36655  		}
 36656  		return nil, &googleapi.Error{
 36657  			Code:   res.StatusCode,
 36658  			Header: res.Header,
 36659  		}
 36660  	}
 36661  	if err != nil {
 36662  		return nil, err
 36663  	}
 36664  	defer googleapi.CloseBody(res)
 36665  	if err := googleapi.CheckResponse(res); err != nil {
 36666  		return nil, err
 36667  	}
 36668  	ret := &OperatingSystemVersionsListResponse{
 36669  		ServerResponse: googleapi.ServerResponse{
 36670  			Header:         res.Header,
 36671  			HTTPStatusCode: res.StatusCode,
 36672  		},
 36673  	}
 36674  	target := &ret
 36675  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36676  		return nil, err
 36677  	}
 36678  	return ret, nil
 36679  	// {
 36680  	//   "description": "Retrieves a list of operating system versions.",
 36681  	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions",
 36682  	//   "httpMethod": "GET",
 36683  	//   "id": "dfareporting.operatingSystemVersions.list",
 36684  	//   "parameterOrder": [
 36685  	//     "profileId"
 36686  	//   ],
 36687  	//   "parameters": {
 36688  	//     "profileId": {
 36689  	//       "description": "User profile ID associated with this request.",
 36690  	//       "format": "int64",
 36691  	//       "location": "path",
 36692  	//       "required": true,
 36693  	//       "type": "string"
 36694  	//     }
 36695  	//   },
 36696  	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
 36697  	//   "response": {
 36698  	//     "$ref": "OperatingSystemVersionsListResponse"
 36699  	//   },
 36700  	//   "scopes": [
 36701  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36702  	//   ]
 36703  	// }
 36704  
 36705  }
 36706  
 36707  // method id "dfareporting.operatingSystems.get":
 36708  
 36709  type OperatingSystemsGetCall struct {
 36710  	s            *Service
 36711  	profileId    int64
 36712  	dartId       int64
 36713  	urlParams_   gensupport.URLParams
 36714  	ifNoneMatch_ string
 36715  	ctx_         context.Context
 36716  	header_      http.Header
 36717  }
 36718  
 36719  // Get: Gets one operating system by DART ID.
 36720  //
 36721  // - dartId: Operating system DART ID.
 36722  // - profileId: User profile ID associated with this request.
 36723  func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
 36724  	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36725  	c.profileId = profileId
 36726  	c.dartId = dartId
 36727  	return c
 36728  }
 36729  
 36730  // Fields allows partial responses to be retrieved. See
 36731  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36732  // for more information.
 36733  func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
 36734  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36735  	return c
 36736  }
 36737  
 36738  // IfNoneMatch sets the optional parameter which makes the operation
 36739  // fail if the object's ETag matches the given value. This is useful for
 36740  // getting updates only after the object has changed since the last
 36741  // request. Use googleapi.IsNotModified to check whether the response
 36742  // error from Do is the result of In-None-Match.
 36743  func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
 36744  	c.ifNoneMatch_ = entityTag
 36745  	return c
 36746  }
 36747  
 36748  // Context sets the context to be used in this call's Do method. Any
 36749  // pending HTTP request will be aborted if the provided context is
 36750  // canceled.
 36751  func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
 36752  	c.ctx_ = ctx
 36753  	return c
 36754  }
 36755  
 36756  // Header returns an http.Header that can be modified by the caller to
 36757  // add HTTP headers to the request.
 36758  func (c *OperatingSystemsGetCall) Header() http.Header {
 36759  	if c.header_ == nil {
 36760  		c.header_ = make(http.Header)
 36761  	}
 36762  	return c.header_
 36763  }
 36764  
 36765  func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
 36766  	reqHeaders := make(http.Header)
 36767  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36768  	for k, v := range c.header_ {
 36769  		reqHeaders[k] = v
 36770  	}
 36771  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36772  	if c.ifNoneMatch_ != "" {
 36773  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36774  	}
 36775  	var body io.Reader = nil
 36776  	c.urlParams_.Set("alt", alt)
 36777  	c.urlParams_.Set("prettyPrint", "false")
 36778  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
 36779  	urls += "?" + c.urlParams_.Encode()
 36780  	req, err := http.NewRequest("GET", urls, body)
 36781  	if err != nil {
 36782  		return nil, err
 36783  	}
 36784  	req.Header = reqHeaders
 36785  	googleapi.Expand(req.URL, map[string]string{
 36786  		"profileId": strconv.FormatInt(c.profileId, 10),
 36787  		"dartId":    strconv.FormatInt(c.dartId, 10),
 36788  	})
 36789  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36790  }
 36791  
 36792  // Do executes the "dfareporting.operatingSystems.get" call.
 36793  // Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
 36794  // status code is an error. Response headers are in either
 36795  // *OperatingSystem.ServerResponse.Header or (if a response was returned
 36796  // at all) in error.(*googleapi.Error).Header. Use
 36797  // googleapi.IsNotModified to check whether the returned error was
 36798  // because http.StatusNotModified was returned.
 36799  func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
 36800  	gensupport.SetOptions(c.urlParams_, opts...)
 36801  	res, err := c.doRequest("json")
 36802  	if res != nil && res.StatusCode == http.StatusNotModified {
 36803  		if res.Body != nil {
 36804  			res.Body.Close()
 36805  		}
 36806  		return nil, &googleapi.Error{
 36807  			Code:   res.StatusCode,
 36808  			Header: res.Header,
 36809  		}
 36810  	}
 36811  	if err != nil {
 36812  		return nil, err
 36813  	}
 36814  	defer googleapi.CloseBody(res)
 36815  	if err := googleapi.CheckResponse(res); err != nil {
 36816  		return nil, err
 36817  	}
 36818  	ret := &OperatingSystem{
 36819  		ServerResponse: googleapi.ServerResponse{
 36820  			Header:         res.Header,
 36821  			HTTPStatusCode: res.StatusCode,
 36822  		},
 36823  	}
 36824  	target := &ret
 36825  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36826  		return nil, err
 36827  	}
 36828  	return ret, nil
 36829  	// {
 36830  	//   "description": "Gets one operating system by DART ID.",
 36831  	//   "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}",
 36832  	//   "httpMethod": "GET",
 36833  	//   "id": "dfareporting.operatingSystems.get",
 36834  	//   "parameterOrder": [
 36835  	//     "profileId",
 36836  	//     "dartId"
 36837  	//   ],
 36838  	//   "parameters": {
 36839  	//     "dartId": {
 36840  	//       "description": "Operating system DART ID.",
 36841  	//       "format": "int64",
 36842  	//       "location": "path",
 36843  	//       "required": true,
 36844  	//       "type": "string"
 36845  	//     },
 36846  	//     "profileId": {
 36847  	//       "description": "User profile ID associated with this request.",
 36848  	//       "format": "int64",
 36849  	//       "location": "path",
 36850  	//       "required": true,
 36851  	//       "type": "string"
 36852  	//     }
 36853  	//   },
 36854  	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
 36855  	//   "response": {
 36856  	//     "$ref": "OperatingSystem"
 36857  	//   },
 36858  	//   "scopes": [
 36859  	//     "https://www.googleapis.com/auth/dfatrafficking"
 36860  	//   ]
 36861  	// }
 36862  
 36863  }
 36864  
 36865  // method id "dfareporting.operatingSystems.list":
 36866  
 36867  type OperatingSystemsListCall struct {
 36868  	s            *Service
 36869  	profileId    int64
 36870  	urlParams_   gensupport.URLParams
 36871  	ifNoneMatch_ string
 36872  	ctx_         context.Context
 36873  	header_      http.Header
 36874  }
 36875  
 36876  // List: Retrieves a list of operating systems.
 36877  //
 36878  // - profileId: User profile ID associated with this request.
 36879  func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
 36880  	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 36881  	c.profileId = profileId
 36882  	return c
 36883  }
 36884  
 36885  // Fields allows partial responses to be retrieved. See
 36886  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 36887  // for more information.
 36888  func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
 36889  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 36890  	return c
 36891  }
 36892  
 36893  // IfNoneMatch sets the optional parameter which makes the operation
 36894  // fail if the object's ETag matches the given value. This is useful for
 36895  // getting updates only after the object has changed since the last
 36896  // request. Use googleapi.IsNotModified to check whether the response
 36897  // error from Do is the result of In-None-Match.
 36898  func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
 36899  	c.ifNoneMatch_ = entityTag
 36900  	return c
 36901  }
 36902  
 36903  // Context sets the context to be used in this call's Do method. Any
 36904  // pending HTTP request will be aborted if the provided context is
 36905  // canceled.
 36906  func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
 36907  	c.ctx_ = ctx
 36908  	return c
 36909  }
 36910  
 36911  // Header returns an http.Header that can be modified by the caller to
 36912  // add HTTP headers to the request.
 36913  func (c *OperatingSystemsListCall) Header() http.Header {
 36914  	if c.header_ == nil {
 36915  		c.header_ = make(http.Header)
 36916  	}
 36917  	return c.header_
 36918  }
 36919  
 36920  func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
 36921  	reqHeaders := make(http.Header)
 36922  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 36923  	for k, v := range c.header_ {
 36924  		reqHeaders[k] = v
 36925  	}
 36926  	reqHeaders.Set("User-Agent", c.s.userAgent())
 36927  	if c.ifNoneMatch_ != "" {
 36928  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 36929  	}
 36930  	var body io.Reader = nil
 36931  	c.urlParams_.Set("alt", alt)
 36932  	c.urlParams_.Set("prettyPrint", "false")
 36933  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
 36934  	urls += "?" + c.urlParams_.Encode()
 36935  	req, err := http.NewRequest("GET", urls, body)
 36936  	if err != nil {
 36937  		return nil, err
 36938  	}
 36939  	req.Header = reqHeaders
 36940  	googleapi.Expand(req.URL, map[string]string{
 36941  		"profileId": strconv.FormatInt(c.profileId, 10),
 36942  	})
 36943  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 36944  }
 36945  
 36946  // Do executes the "dfareporting.operatingSystems.list" call.
 36947  // Exactly one of *OperatingSystemsListResponse or error will be
 36948  // non-nil. Any non-2xx status code is an error. Response headers are in
 36949  // either *OperatingSystemsListResponse.ServerResponse.Header or (if a
 36950  // response was returned at all) in error.(*googleapi.Error).Header. Use
 36951  // googleapi.IsNotModified to check whether the returned error was
 36952  // because http.StatusNotModified was returned.
 36953  func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
 36954  	gensupport.SetOptions(c.urlParams_, opts...)
 36955  	res, err := c.doRequest("json")
 36956  	if res != nil && res.StatusCode == http.StatusNotModified {
 36957  		if res.Body != nil {
 36958  			res.Body.Close()
 36959  		}
 36960  		return nil, &googleapi.Error{
 36961  			Code:   res.StatusCode,
 36962  			Header: res.Header,
 36963  		}
 36964  	}
 36965  	if err != nil {
 36966  		return nil, err
 36967  	}
 36968  	defer googleapi.CloseBody(res)
 36969  	if err := googleapi.CheckResponse(res); err != nil {
 36970  		return nil, err
 36971  	}
 36972  	ret := &OperatingSystemsListResponse{
 36973  		ServerResponse: googleapi.ServerResponse{
 36974  			Header:         res.Header,
 36975  			HTTPStatusCode: res.StatusCode,
 36976  		},
 36977  	}
 36978  	target := &ret
 36979  	if err := gensupport.DecodeResponse(target, res); err != nil {
 36980  		return nil, err
 36981  	}
 36982  	return ret, nil
 36983  	// {
 36984  	//   "description": "Retrieves a list of operating systems.",
 36985  	//   "flatPath": "userprofiles/{profileId}/operatingSystems",
 36986  	//   "httpMethod": "GET",
 36987  	//   "id": "dfareporting.operatingSystems.list",
 36988  	//   "parameterOrder": [
 36989  	//     "profileId"
 36990  	//   ],
 36991  	//   "parameters": {
 36992  	//     "profileId": {
 36993  	//       "description": "User profile ID associated with this request.",
 36994  	//       "format": "int64",
 36995  	//       "location": "path",
 36996  	//       "required": true,
 36997  	//       "type": "string"
 36998  	//     }
 36999  	//   },
 37000  	//   "path": "userprofiles/{profileId}/operatingSystems",
 37001  	//   "response": {
 37002  	//     "$ref": "OperatingSystemsListResponse"
 37003  	//   },
 37004  	//   "scopes": [
 37005  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37006  	//   ]
 37007  	// }
 37008  
 37009  }
 37010  
 37011  // method id "dfareporting.orderDocuments.get":
 37012  
 37013  type OrderDocumentsGetCall struct {
 37014  	s            *Service
 37015  	profileId    int64
 37016  	projectId    int64
 37017  	id           int64
 37018  	urlParams_   gensupport.URLParams
 37019  	ifNoneMatch_ string
 37020  	ctx_         context.Context
 37021  	header_      http.Header
 37022  }
 37023  
 37024  // Get: Gets one order document by ID.
 37025  //
 37026  // - id: Order document ID.
 37027  // - profileId: User profile ID associated with this request.
 37028  // - projectId: Project ID for order documents.
 37029  func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
 37030  	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37031  	c.profileId = profileId
 37032  	c.projectId = projectId
 37033  	c.id = id
 37034  	return c
 37035  }
 37036  
 37037  // Fields allows partial responses to be retrieved. See
 37038  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37039  // for more information.
 37040  func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
 37041  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37042  	return c
 37043  }
 37044  
 37045  // IfNoneMatch sets the optional parameter which makes the operation
 37046  // fail if the object's ETag matches the given value. This is useful for
 37047  // getting updates only after the object has changed since the last
 37048  // request. Use googleapi.IsNotModified to check whether the response
 37049  // error from Do is the result of In-None-Match.
 37050  func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
 37051  	c.ifNoneMatch_ = entityTag
 37052  	return c
 37053  }
 37054  
 37055  // Context sets the context to be used in this call's Do method. Any
 37056  // pending HTTP request will be aborted if the provided context is
 37057  // canceled.
 37058  func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
 37059  	c.ctx_ = ctx
 37060  	return c
 37061  }
 37062  
 37063  // Header returns an http.Header that can be modified by the caller to
 37064  // add HTTP headers to the request.
 37065  func (c *OrderDocumentsGetCall) Header() http.Header {
 37066  	if c.header_ == nil {
 37067  		c.header_ = make(http.Header)
 37068  	}
 37069  	return c.header_
 37070  }
 37071  
 37072  func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
 37073  	reqHeaders := make(http.Header)
 37074  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37075  	for k, v := range c.header_ {
 37076  		reqHeaders[k] = v
 37077  	}
 37078  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37079  	if c.ifNoneMatch_ != "" {
 37080  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37081  	}
 37082  	var body io.Reader = nil
 37083  	c.urlParams_.Set("alt", alt)
 37084  	c.urlParams_.Set("prettyPrint", "false")
 37085  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
 37086  	urls += "?" + c.urlParams_.Encode()
 37087  	req, err := http.NewRequest("GET", urls, body)
 37088  	if err != nil {
 37089  		return nil, err
 37090  	}
 37091  	req.Header = reqHeaders
 37092  	googleapi.Expand(req.URL, map[string]string{
 37093  		"profileId": strconv.FormatInt(c.profileId, 10),
 37094  		"projectId": strconv.FormatInt(c.projectId, 10),
 37095  		"id":        strconv.FormatInt(c.id, 10),
 37096  	})
 37097  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37098  }
 37099  
 37100  // Do executes the "dfareporting.orderDocuments.get" call.
 37101  // Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
 37102  // status code is an error. Response headers are in either
 37103  // *OrderDocument.ServerResponse.Header or (if a response was returned
 37104  // at all) in error.(*googleapi.Error).Header. Use
 37105  // googleapi.IsNotModified to check whether the returned error was
 37106  // because http.StatusNotModified was returned.
 37107  func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
 37108  	gensupport.SetOptions(c.urlParams_, opts...)
 37109  	res, err := c.doRequest("json")
 37110  	if res != nil && res.StatusCode == http.StatusNotModified {
 37111  		if res.Body != nil {
 37112  			res.Body.Close()
 37113  		}
 37114  		return nil, &googleapi.Error{
 37115  			Code:   res.StatusCode,
 37116  			Header: res.Header,
 37117  		}
 37118  	}
 37119  	if err != nil {
 37120  		return nil, err
 37121  	}
 37122  	defer googleapi.CloseBody(res)
 37123  	if err := googleapi.CheckResponse(res); err != nil {
 37124  		return nil, err
 37125  	}
 37126  	ret := &OrderDocument{
 37127  		ServerResponse: googleapi.ServerResponse{
 37128  			Header:         res.Header,
 37129  			HTTPStatusCode: res.StatusCode,
 37130  		},
 37131  	}
 37132  	target := &ret
 37133  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37134  		return nil, err
 37135  	}
 37136  	return ret, nil
 37137  	// {
 37138  	//   "description": "Gets one order document by ID.",
 37139  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 37140  	//   "httpMethod": "GET",
 37141  	//   "id": "dfareporting.orderDocuments.get",
 37142  	//   "parameterOrder": [
 37143  	//     "profileId",
 37144  	//     "projectId",
 37145  	//     "id"
 37146  	//   ],
 37147  	//   "parameters": {
 37148  	//     "id": {
 37149  	//       "description": "Order document ID.",
 37150  	//       "format": "int64",
 37151  	//       "location": "path",
 37152  	//       "required": true,
 37153  	//       "type": "string"
 37154  	//     },
 37155  	//     "profileId": {
 37156  	//       "description": "User profile ID associated with this request.",
 37157  	//       "format": "int64",
 37158  	//       "location": "path",
 37159  	//       "required": true,
 37160  	//       "type": "string"
 37161  	//     },
 37162  	//     "projectId": {
 37163  	//       "description": "Project ID for order documents.",
 37164  	//       "format": "int64",
 37165  	//       "location": "path",
 37166  	//       "required": true,
 37167  	//       "type": "string"
 37168  	//     }
 37169  	//   },
 37170  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
 37171  	//   "response": {
 37172  	//     "$ref": "OrderDocument"
 37173  	//   },
 37174  	//   "scopes": [
 37175  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37176  	//   ]
 37177  	// }
 37178  
 37179  }
 37180  
 37181  // method id "dfareporting.orderDocuments.list":
 37182  
 37183  type OrderDocumentsListCall struct {
 37184  	s            *Service
 37185  	profileId    int64
 37186  	projectId    int64
 37187  	urlParams_   gensupport.URLParams
 37188  	ifNoneMatch_ string
 37189  	ctx_         context.Context
 37190  	header_      http.Header
 37191  }
 37192  
 37193  // List: Retrieves a list of order documents, possibly filtered. This
 37194  // method supports paging.
 37195  //
 37196  // - profileId: User profile ID associated with this request.
 37197  // - projectId: Project ID for order documents.
 37198  func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
 37199  	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37200  	c.profileId = profileId
 37201  	c.projectId = projectId
 37202  	return c
 37203  }
 37204  
 37205  // Approved sets the optional parameter "approved": Select only order
 37206  // documents that have been approved by at least one user.
 37207  func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
 37208  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 37209  	return c
 37210  }
 37211  
 37212  // Ids sets the optional parameter "ids": Select only order documents
 37213  // with these IDs.
 37214  func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
 37215  	var ids_ []string
 37216  	for _, v := range ids {
 37217  		ids_ = append(ids_, fmt.Sprint(v))
 37218  	}
 37219  	c.urlParams_.SetMulti("ids", ids_)
 37220  	return c
 37221  }
 37222  
 37223  // MaxResults sets the optional parameter "maxResults": Maximum number
 37224  // of results to return.
 37225  func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
 37226  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37227  	return c
 37228  }
 37229  
 37230  // OrderId sets the optional parameter "orderId": Select only order
 37231  // documents for specified orders.
 37232  func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
 37233  	var orderId_ []string
 37234  	for _, v := range orderId {
 37235  		orderId_ = append(orderId_, fmt.Sprint(v))
 37236  	}
 37237  	c.urlParams_.SetMulti("orderId", orderId_)
 37238  	return c
 37239  }
 37240  
 37241  // PageToken sets the optional parameter "pageToken": Value of the
 37242  // nextPageToken from the previous result page.
 37243  func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
 37244  	c.urlParams_.Set("pageToken", pageToken)
 37245  	return c
 37246  }
 37247  
 37248  // SearchString sets the optional parameter "searchString": Allows
 37249  // searching for order documents by name or ID. Wildcards (*) are
 37250  // allowed. For example, "orderdocument*2015" will return order
 37251  // documents with names like "orderdocument June 2015", "orderdocument
 37252  // April 2015", or simply "orderdocument 2015". Most of the searches
 37253  // also add wildcards implicitly at the start and the end of the search
 37254  // string. For example, a search string of "orderdocument" will match
 37255  // order documents with name "my orderdocument", "orderdocument 2015",
 37256  // or simply "orderdocument".
 37257  func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
 37258  	c.urlParams_.Set("searchString", searchString)
 37259  	return c
 37260  }
 37261  
 37262  // SiteId sets the optional parameter "siteId": Select only order
 37263  // documents that are associated with these sites.
 37264  func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
 37265  	var siteId_ []string
 37266  	for _, v := range siteId {
 37267  		siteId_ = append(siteId_, fmt.Sprint(v))
 37268  	}
 37269  	c.urlParams_.SetMulti("siteId", siteId_)
 37270  	return c
 37271  }
 37272  
 37273  // SortField sets the optional parameter "sortField": Field by which to
 37274  // sort the list.
 37275  //
 37276  // Possible values:
 37277  //
 37278  //	"ID" (default)
 37279  //	"NAME"
 37280  func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
 37281  	c.urlParams_.Set("sortField", sortField)
 37282  	return c
 37283  }
 37284  
 37285  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 37286  // results.
 37287  //
 37288  // Possible values:
 37289  //
 37290  //	"ASCENDING" (default)
 37291  //	"DESCENDING"
 37292  func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
 37293  	c.urlParams_.Set("sortOrder", sortOrder)
 37294  	return c
 37295  }
 37296  
 37297  // Fields allows partial responses to be retrieved. See
 37298  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37299  // for more information.
 37300  func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
 37301  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37302  	return c
 37303  }
 37304  
 37305  // IfNoneMatch sets the optional parameter which makes the operation
 37306  // fail if the object's ETag matches the given value. This is useful for
 37307  // getting updates only after the object has changed since the last
 37308  // request. Use googleapi.IsNotModified to check whether the response
 37309  // error from Do is the result of In-None-Match.
 37310  func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
 37311  	c.ifNoneMatch_ = entityTag
 37312  	return c
 37313  }
 37314  
 37315  // Context sets the context to be used in this call's Do method. Any
 37316  // pending HTTP request will be aborted if the provided context is
 37317  // canceled.
 37318  func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
 37319  	c.ctx_ = ctx
 37320  	return c
 37321  }
 37322  
 37323  // Header returns an http.Header that can be modified by the caller to
 37324  // add HTTP headers to the request.
 37325  func (c *OrderDocumentsListCall) Header() http.Header {
 37326  	if c.header_ == nil {
 37327  		c.header_ = make(http.Header)
 37328  	}
 37329  	return c.header_
 37330  }
 37331  
 37332  func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
 37333  	reqHeaders := make(http.Header)
 37334  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37335  	for k, v := range c.header_ {
 37336  		reqHeaders[k] = v
 37337  	}
 37338  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37339  	if c.ifNoneMatch_ != "" {
 37340  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37341  	}
 37342  	var body io.Reader = nil
 37343  	c.urlParams_.Set("alt", alt)
 37344  	c.urlParams_.Set("prettyPrint", "false")
 37345  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
 37346  	urls += "?" + c.urlParams_.Encode()
 37347  	req, err := http.NewRequest("GET", urls, body)
 37348  	if err != nil {
 37349  		return nil, err
 37350  	}
 37351  	req.Header = reqHeaders
 37352  	googleapi.Expand(req.URL, map[string]string{
 37353  		"profileId": strconv.FormatInt(c.profileId, 10),
 37354  		"projectId": strconv.FormatInt(c.projectId, 10),
 37355  	})
 37356  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37357  }
 37358  
 37359  // Do executes the "dfareporting.orderDocuments.list" call.
 37360  // Exactly one of *OrderDocumentsListResponse or error will be non-nil.
 37361  // Any non-2xx status code is an error. Response headers are in either
 37362  // *OrderDocumentsListResponse.ServerResponse.Header or (if a response
 37363  // was returned at all) in error.(*googleapi.Error).Header. Use
 37364  // googleapi.IsNotModified to check whether the returned error was
 37365  // because http.StatusNotModified was returned.
 37366  func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
 37367  	gensupport.SetOptions(c.urlParams_, opts...)
 37368  	res, err := c.doRequest("json")
 37369  	if res != nil && res.StatusCode == http.StatusNotModified {
 37370  		if res.Body != nil {
 37371  			res.Body.Close()
 37372  		}
 37373  		return nil, &googleapi.Error{
 37374  			Code:   res.StatusCode,
 37375  			Header: res.Header,
 37376  		}
 37377  	}
 37378  	if err != nil {
 37379  		return nil, err
 37380  	}
 37381  	defer googleapi.CloseBody(res)
 37382  	if err := googleapi.CheckResponse(res); err != nil {
 37383  		return nil, err
 37384  	}
 37385  	ret := &OrderDocumentsListResponse{
 37386  		ServerResponse: googleapi.ServerResponse{
 37387  			Header:         res.Header,
 37388  			HTTPStatusCode: res.StatusCode,
 37389  		},
 37390  	}
 37391  	target := &ret
 37392  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37393  		return nil, err
 37394  	}
 37395  	return ret, nil
 37396  	// {
 37397  	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
 37398  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 37399  	//   "httpMethod": "GET",
 37400  	//   "id": "dfareporting.orderDocuments.list",
 37401  	//   "parameterOrder": [
 37402  	//     "profileId",
 37403  	//     "projectId"
 37404  	//   ],
 37405  	//   "parameters": {
 37406  	//     "approved": {
 37407  	//       "description": "Select only order documents that have been approved by at least one user.",
 37408  	//       "location": "query",
 37409  	//       "type": "boolean"
 37410  	//     },
 37411  	//     "ids": {
 37412  	//       "description": "Select only order documents with these IDs.",
 37413  	//       "format": "int64",
 37414  	//       "location": "query",
 37415  	//       "repeated": true,
 37416  	//       "type": "string"
 37417  	//     },
 37418  	//     "maxResults": {
 37419  	//       "default": "1000",
 37420  	//       "description": "Maximum number of results to return.",
 37421  	//       "format": "int32",
 37422  	//       "location": "query",
 37423  	//       "maximum": "1000",
 37424  	//       "minimum": "0",
 37425  	//       "type": "integer"
 37426  	//     },
 37427  	//     "orderId": {
 37428  	//       "description": "Select only order documents for specified orders.",
 37429  	//       "format": "int64",
 37430  	//       "location": "query",
 37431  	//       "repeated": true,
 37432  	//       "type": "string"
 37433  	//     },
 37434  	//     "pageToken": {
 37435  	//       "description": "Value of the nextPageToken from the previous result page.",
 37436  	//       "location": "query",
 37437  	//       "type": "string"
 37438  	//     },
 37439  	//     "profileId": {
 37440  	//       "description": "User profile ID associated with this request.",
 37441  	//       "format": "int64",
 37442  	//       "location": "path",
 37443  	//       "required": true,
 37444  	//       "type": "string"
 37445  	//     },
 37446  	//     "projectId": {
 37447  	//       "description": "Project ID for order documents.",
 37448  	//       "format": "int64",
 37449  	//       "location": "path",
 37450  	//       "required": true,
 37451  	//       "type": "string"
 37452  	//     },
 37453  	//     "searchString": {
 37454  	//       "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\".",
 37455  	//       "location": "query",
 37456  	//       "type": "string"
 37457  	//     },
 37458  	//     "siteId": {
 37459  	//       "description": "Select only order documents that are associated with these sites.",
 37460  	//       "format": "int64",
 37461  	//       "location": "query",
 37462  	//       "repeated": true,
 37463  	//       "type": "string"
 37464  	//     },
 37465  	//     "sortField": {
 37466  	//       "default": "ID",
 37467  	//       "description": "Field by which to sort the list.",
 37468  	//       "enum": [
 37469  	//         "ID",
 37470  	//         "NAME"
 37471  	//       ],
 37472  	//       "enumDescriptions": [
 37473  	//         "",
 37474  	//         ""
 37475  	//       ],
 37476  	//       "location": "query",
 37477  	//       "type": "string"
 37478  	//     },
 37479  	//     "sortOrder": {
 37480  	//       "default": "ASCENDING",
 37481  	//       "description": "Order of sorted results.",
 37482  	//       "enum": [
 37483  	//         "ASCENDING",
 37484  	//         "DESCENDING"
 37485  	//       ],
 37486  	//       "enumDescriptions": [
 37487  	//         "",
 37488  	//         ""
 37489  	//       ],
 37490  	//       "location": "query",
 37491  	//       "type": "string"
 37492  	//     }
 37493  	//   },
 37494  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
 37495  	//   "response": {
 37496  	//     "$ref": "OrderDocumentsListResponse"
 37497  	//   },
 37498  	//   "scopes": [
 37499  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37500  	//   ]
 37501  	// }
 37502  
 37503  }
 37504  
 37505  // Pages invokes f for each page of results.
 37506  // A non-nil error returned from f will halt the iteration.
 37507  // The provided context supersedes any context provided to the Context method.
 37508  func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
 37509  	c.ctx_ = ctx
 37510  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 37511  	for {
 37512  		x, err := c.Do()
 37513  		if err != nil {
 37514  			return err
 37515  		}
 37516  		if err := f(x); err != nil {
 37517  			return err
 37518  		}
 37519  		if x.NextPageToken == "" {
 37520  			return nil
 37521  		}
 37522  		c.PageToken(x.NextPageToken)
 37523  	}
 37524  }
 37525  
 37526  // method id "dfareporting.orders.get":
 37527  
 37528  type OrdersGetCall struct {
 37529  	s            *Service
 37530  	profileId    int64
 37531  	projectId    int64
 37532  	id           int64
 37533  	urlParams_   gensupport.URLParams
 37534  	ifNoneMatch_ string
 37535  	ctx_         context.Context
 37536  	header_      http.Header
 37537  }
 37538  
 37539  // Get: Gets one order by ID.
 37540  //
 37541  // - id: Order ID.
 37542  // - profileId: User profile ID associated with this request.
 37543  // - projectId: Project ID for orders.
 37544  func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
 37545  	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37546  	c.profileId = profileId
 37547  	c.projectId = projectId
 37548  	c.id = id
 37549  	return c
 37550  }
 37551  
 37552  // Fields allows partial responses to be retrieved. See
 37553  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37554  // for more information.
 37555  func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
 37556  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37557  	return c
 37558  }
 37559  
 37560  // IfNoneMatch sets the optional parameter which makes the operation
 37561  // fail if the object's ETag matches the given value. This is useful for
 37562  // getting updates only after the object has changed since the last
 37563  // request. Use googleapi.IsNotModified to check whether the response
 37564  // error from Do is the result of In-None-Match.
 37565  func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
 37566  	c.ifNoneMatch_ = entityTag
 37567  	return c
 37568  }
 37569  
 37570  // Context sets the context to be used in this call's Do method. Any
 37571  // pending HTTP request will be aborted if the provided context is
 37572  // canceled.
 37573  func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
 37574  	c.ctx_ = ctx
 37575  	return c
 37576  }
 37577  
 37578  // Header returns an http.Header that can be modified by the caller to
 37579  // add HTTP headers to the request.
 37580  func (c *OrdersGetCall) Header() http.Header {
 37581  	if c.header_ == nil {
 37582  		c.header_ = make(http.Header)
 37583  	}
 37584  	return c.header_
 37585  }
 37586  
 37587  func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
 37588  	reqHeaders := make(http.Header)
 37589  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37590  	for k, v := range c.header_ {
 37591  		reqHeaders[k] = v
 37592  	}
 37593  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37594  	if c.ifNoneMatch_ != "" {
 37595  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37596  	}
 37597  	var body io.Reader = nil
 37598  	c.urlParams_.Set("alt", alt)
 37599  	c.urlParams_.Set("prettyPrint", "false")
 37600  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
 37601  	urls += "?" + c.urlParams_.Encode()
 37602  	req, err := http.NewRequest("GET", urls, body)
 37603  	if err != nil {
 37604  		return nil, err
 37605  	}
 37606  	req.Header = reqHeaders
 37607  	googleapi.Expand(req.URL, map[string]string{
 37608  		"profileId": strconv.FormatInt(c.profileId, 10),
 37609  		"projectId": strconv.FormatInt(c.projectId, 10),
 37610  		"id":        strconv.FormatInt(c.id, 10),
 37611  	})
 37612  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37613  }
 37614  
 37615  // Do executes the "dfareporting.orders.get" call.
 37616  // Exactly one of *Order or error will be non-nil. Any non-2xx status
 37617  // code is an error. Response headers are in either
 37618  // *Order.ServerResponse.Header or (if a response was returned at all)
 37619  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 37620  // check whether the returned error was because http.StatusNotModified
 37621  // was returned.
 37622  func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
 37623  	gensupport.SetOptions(c.urlParams_, opts...)
 37624  	res, err := c.doRequest("json")
 37625  	if res != nil && res.StatusCode == http.StatusNotModified {
 37626  		if res.Body != nil {
 37627  			res.Body.Close()
 37628  		}
 37629  		return nil, &googleapi.Error{
 37630  			Code:   res.StatusCode,
 37631  			Header: res.Header,
 37632  		}
 37633  	}
 37634  	if err != nil {
 37635  		return nil, err
 37636  	}
 37637  	defer googleapi.CloseBody(res)
 37638  	if err := googleapi.CheckResponse(res); err != nil {
 37639  		return nil, err
 37640  	}
 37641  	ret := &Order{
 37642  		ServerResponse: googleapi.ServerResponse{
 37643  			Header:         res.Header,
 37644  			HTTPStatusCode: res.StatusCode,
 37645  		},
 37646  	}
 37647  	target := &ret
 37648  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37649  		return nil, err
 37650  	}
 37651  	return ret, nil
 37652  	// {
 37653  	//   "description": "Gets one order by ID.",
 37654  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 37655  	//   "httpMethod": "GET",
 37656  	//   "id": "dfareporting.orders.get",
 37657  	//   "parameterOrder": [
 37658  	//     "profileId",
 37659  	//     "projectId",
 37660  	//     "id"
 37661  	//   ],
 37662  	//   "parameters": {
 37663  	//     "id": {
 37664  	//       "description": "Order ID.",
 37665  	//       "format": "int64",
 37666  	//       "location": "path",
 37667  	//       "required": true,
 37668  	//       "type": "string"
 37669  	//     },
 37670  	//     "profileId": {
 37671  	//       "description": "User profile ID associated with this request.",
 37672  	//       "format": "int64",
 37673  	//       "location": "path",
 37674  	//       "required": true,
 37675  	//       "type": "string"
 37676  	//     },
 37677  	//     "projectId": {
 37678  	//       "description": "Project ID for orders.",
 37679  	//       "format": "int64",
 37680  	//       "location": "path",
 37681  	//       "required": true,
 37682  	//       "type": "string"
 37683  	//     }
 37684  	//   },
 37685  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
 37686  	//   "response": {
 37687  	//     "$ref": "Order"
 37688  	//   },
 37689  	//   "scopes": [
 37690  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37691  	//   ]
 37692  	// }
 37693  
 37694  }
 37695  
 37696  // method id "dfareporting.orders.list":
 37697  
 37698  type OrdersListCall struct {
 37699  	s            *Service
 37700  	profileId    int64
 37701  	projectId    int64
 37702  	urlParams_   gensupport.URLParams
 37703  	ifNoneMatch_ string
 37704  	ctx_         context.Context
 37705  	header_      http.Header
 37706  }
 37707  
 37708  // List: Retrieves a list of orders, possibly filtered. This method
 37709  // supports paging.
 37710  //
 37711  // - profileId: User profile ID associated with this request.
 37712  // - projectId: Project ID for orders.
 37713  func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
 37714  	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 37715  	c.profileId = profileId
 37716  	c.projectId = projectId
 37717  	return c
 37718  }
 37719  
 37720  // Ids sets the optional parameter "ids": Select only orders with these
 37721  // IDs.
 37722  func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
 37723  	var ids_ []string
 37724  	for _, v := range ids {
 37725  		ids_ = append(ids_, fmt.Sprint(v))
 37726  	}
 37727  	c.urlParams_.SetMulti("ids", ids_)
 37728  	return c
 37729  }
 37730  
 37731  // MaxResults sets the optional parameter "maxResults": Maximum number
 37732  // of results to return.
 37733  func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
 37734  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 37735  	return c
 37736  }
 37737  
 37738  // PageToken sets the optional parameter "pageToken": Value of the
 37739  // nextPageToken from the previous result page.
 37740  func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
 37741  	c.urlParams_.Set("pageToken", pageToken)
 37742  	return c
 37743  }
 37744  
 37745  // SearchString sets the optional parameter "searchString": Allows
 37746  // searching for orders by name or ID. Wildcards (*) are allowed. For
 37747  // example, "order*2015" will return orders with names like "order June
 37748  // 2015", "order April 2015", or simply "order 2015". Most of the
 37749  // searches also add wildcards implicitly at the start and the end of
 37750  // the search string. For example, a search string of "order" will match
 37751  // orders with name "my order", "order 2015", or simply "order".
 37752  func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
 37753  	c.urlParams_.Set("searchString", searchString)
 37754  	return c
 37755  }
 37756  
 37757  // SiteId sets the optional parameter "siteId": Select only orders that
 37758  // are associated with these site IDs.
 37759  func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
 37760  	var siteId_ []string
 37761  	for _, v := range siteId {
 37762  		siteId_ = append(siteId_, fmt.Sprint(v))
 37763  	}
 37764  	c.urlParams_.SetMulti("siteId", siteId_)
 37765  	return c
 37766  }
 37767  
 37768  // SortField sets the optional parameter "sortField": Field by which to
 37769  // sort the list.
 37770  //
 37771  // Possible values:
 37772  //
 37773  //	"ID" (default)
 37774  //	"NAME"
 37775  func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
 37776  	c.urlParams_.Set("sortField", sortField)
 37777  	return c
 37778  }
 37779  
 37780  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 37781  // results.
 37782  //
 37783  // Possible values:
 37784  //
 37785  //	"ASCENDING" (default)
 37786  //	"DESCENDING"
 37787  func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
 37788  	c.urlParams_.Set("sortOrder", sortOrder)
 37789  	return c
 37790  }
 37791  
 37792  // Fields allows partial responses to be retrieved. See
 37793  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 37794  // for more information.
 37795  func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
 37796  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 37797  	return c
 37798  }
 37799  
 37800  // IfNoneMatch sets the optional parameter which makes the operation
 37801  // fail if the object's ETag matches the given value. This is useful for
 37802  // getting updates only after the object has changed since the last
 37803  // request. Use googleapi.IsNotModified to check whether the response
 37804  // error from Do is the result of In-None-Match.
 37805  func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
 37806  	c.ifNoneMatch_ = entityTag
 37807  	return c
 37808  }
 37809  
 37810  // Context sets the context to be used in this call's Do method. Any
 37811  // pending HTTP request will be aborted if the provided context is
 37812  // canceled.
 37813  func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
 37814  	c.ctx_ = ctx
 37815  	return c
 37816  }
 37817  
 37818  // Header returns an http.Header that can be modified by the caller to
 37819  // add HTTP headers to the request.
 37820  func (c *OrdersListCall) Header() http.Header {
 37821  	if c.header_ == nil {
 37822  		c.header_ = make(http.Header)
 37823  	}
 37824  	return c.header_
 37825  }
 37826  
 37827  func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
 37828  	reqHeaders := make(http.Header)
 37829  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 37830  	for k, v := range c.header_ {
 37831  		reqHeaders[k] = v
 37832  	}
 37833  	reqHeaders.Set("User-Agent", c.s.userAgent())
 37834  	if c.ifNoneMatch_ != "" {
 37835  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 37836  	}
 37837  	var body io.Reader = nil
 37838  	c.urlParams_.Set("alt", alt)
 37839  	c.urlParams_.Set("prettyPrint", "false")
 37840  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
 37841  	urls += "?" + c.urlParams_.Encode()
 37842  	req, err := http.NewRequest("GET", urls, body)
 37843  	if err != nil {
 37844  		return nil, err
 37845  	}
 37846  	req.Header = reqHeaders
 37847  	googleapi.Expand(req.URL, map[string]string{
 37848  		"profileId": strconv.FormatInt(c.profileId, 10),
 37849  		"projectId": strconv.FormatInt(c.projectId, 10),
 37850  	})
 37851  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 37852  }
 37853  
 37854  // Do executes the "dfareporting.orders.list" call.
 37855  // Exactly one of *OrdersListResponse or error will be non-nil. Any
 37856  // non-2xx status code is an error. Response headers are in either
 37857  // *OrdersListResponse.ServerResponse.Header or (if a response was
 37858  // returned at all) in error.(*googleapi.Error).Header. Use
 37859  // googleapi.IsNotModified to check whether the returned error was
 37860  // because http.StatusNotModified was returned.
 37861  func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
 37862  	gensupport.SetOptions(c.urlParams_, opts...)
 37863  	res, err := c.doRequest("json")
 37864  	if res != nil && res.StatusCode == http.StatusNotModified {
 37865  		if res.Body != nil {
 37866  			res.Body.Close()
 37867  		}
 37868  		return nil, &googleapi.Error{
 37869  			Code:   res.StatusCode,
 37870  			Header: res.Header,
 37871  		}
 37872  	}
 37873  	if err != nil {
 37874  		return nil, err
 37875  	}
 37876  	defer googleapi.CloseBody(res)
 37877  	if err := googleapi.CheckResponse(res); err != nil {
 37878  		return nil, err
 37879  	}
 37880  	ret := &OrdersListResponse{
 37881  		ServerResponse: googleapi.ServerResponse{
 37882  			Header:         res.Header,
 37883  			HTTPStatusCode: res.StatusCode,
 37884  		},
 37885  	}
 37886  	target := &ret
 37887  	if err := gensupport.DecodeResponse(target, res); err != nil {
 37888  		return nil, err
 37889  	}
 37890  	return ret, nil
 37891  	// {
 37892  	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
 37893  	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders",
 37894  	//   "httpMethod": "GET",
 37895  	//   "id": "dfareporting.orders.list",
 37896  	//   "parameterOrder": [
 37897  	//     "profileId",
 37898  	//     "projectId"
 37899  	//   ],
 37900  	//   "parameters": {
 37901  	//     "ids": {
 37902  	//       "description": "Select only orders with these IDs.",
 37903  	//       "format": "int64",
 37904  	//       "location": "query",
 37905  	//       "repeated": true,
 37906  	//       "type": "string"
 37907  	//     },
 37908  	//     "maxResults": {
 37909  	//       "default": "1000",
 37910  	//       "description": "Maximum number of results to return.",
 37911  	//       "format": "int32",
 37912  	//       "location": "query",
 37913  	//       "maximum": "1000",
 37914  	//       "minimum": "0",
 37915  	//       "type": "integer"
 37916  	//     },
 37917  	//     "pageToken": {
 37918  	//       "description": "Value of the nextPageToken from the previous result page.",
 37919  	//       "location": "query",
 37920  	//       "type": "string"
 37921  	//     },
 37922  	//     "profileId": {
 37923  	//       "description": "User profile ID associated with this request.",
 37924  	//       "format": "int64",
 37925  	//       "location": "path",
 37926  	//       "required": true,
 37927  	//       "type": "string"
 37928  	//     },
 37929  	//     "projectId": {
 37930  	//       "description": "Project ID for orders.",
 37931  	//       "format": "int64",
 37932  	//       "location": "path",
 37933  	//       "required": true,
 37934  	//       "type": "string"
 37935  	//     },
 37936  	//     "searchString": {
 37937  	//       "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\".",
 37938  	//       "location": "query",
 37939  	//       "type": "string"
 37940  	//     },
 37941  	//     "siteId": {
 37942  	//       "description": "Select only orders that are associated with these site IDs.",
 37943  	//       "format": "int64",
 37944  	//       "location": "query",
 37945  	//       "repeated": true,
 37946  	//       "type": "string"
 37947  	//     },
 37948  	//     "sortField": {
 37949  	//       "default": "ID",
 37950  	//       "description": "Field by which to sort the list.",
 37951  	//       "enum": [
 37952  	//         "ID",
 37953  	//         "NAME"
 37954  	//       ],
 37955  	//       "enumDescriptions": [
 37956  	//         "",
 37957  	//         ""
 37958  	//       ],
 37959  	//       "location": "query",
 37960  	//       "type": "string"
 37961  	//     },
 37962  	//     "sortOrder": {
 37963  	//       "default": "ASCENDING",
 37964  	//       "description": "Order of sorted results.",
 37965  	//       "enum": [
 37966  	//         "ASCENDING",
 37967  	//         "DESCENDING"
 37968  	//       ],
 37969  	//       "enumDescriptions": [
 37970  	//         "",
 37971  	//         ""
 37972  	//       ],
 37973  	//       "location": "query",
 37974  	//       "type": "string"
 37975  	//     }
 37976  	//   },
 37977  	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
 37978  	//   "response": {
 37979  	//     "$ref": "OrdersListResponse"
 37980  	//   },
 37981  	//   "scopes": [
 37982  	//     "https://www.googleapis.com/auth/dfatrafficking"
 37983  	//   ]
 37984  	// }
 37985  
 37986  }
 37987  
 37988  // Pages invokes f for each page of results.
 37989  // A non-nil error returned from f will halt the iteration.
 37990  // The provided context supersedes any context provided to the Context method.
 37991  func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
 37992  	c.ctx_ = ctx
 37993  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 37994  	for {
 37995  		x, err := c.Do()
 37996  		if err != nil {
 37997  			return err
 37998  		}
 37999  		if err := f(x); err != nil {
 38000  			return err
 38001  		}
 38002  		if x.NextPageToken == "" {
 38003  			return nil
 38004  		}
 38005  		c.PageToken(x.NextPageToken)
 38006  	}
 38007  }
 38008  
 38009  // method id "dfareporting.placementGroups.get":
 38010  
 38011  type PlacementGroupsGetCall struct {
 38012  	s            *Service
 38013  	profileId    int64
 38014  	id           int64
 38015  	urlParams_   gensupport.URLParams
 38016  	ifNoneMatch_ string
 38017  	ctx_         context.Context
 38018  	header_      http.Header
 38019  }
 38020  
 38021  // Get: Gets one placement group by ID.
 38022  //
 38023  // - id: Placement group ID.
 38024  // - profileId: User profile ID associated with this request.
 38025  func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
 38026  	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38027  	c.profileId = profileId
 38028  	c.id = id
 38029  	return c
 38030  }
 38031  
 38032  // Fields allows partial responses to be retrieved. See
 38033  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38034  // for more information.
 38035  func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
 38036  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38037  	return c
 38038  }
 38039  
 38040  // IfNoneMatch sets the optional parameter which makes the operation
 38041  // fail if the object's ETag matches the given value. This is useful for
 38042  // getting updates only after the object has changed since the last
 38043  // request. Use googleapi.IsNotModified to check whether the response
 38044  // error from Do is the result of In-None-Match.
 38045  func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
 38046  	c.ifNoneMatch_ = entityTag
 38047  	return c
 38048  }
 38049  
 38050  // Context sets the context to be used in this call's Do method. Any
 38051  // pending HTTP request will be aborted if the provided context is
 38052  // canceled.
 38053  func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
 38054  	c.ctx_ = ctx
 38055  	return c
 38056  }
 38057  
 38058  // Header returns an http.Header that can be modified by the caller to
 38059  // add HTTP headers to the request.
 38060  func (c *PlacementGroupsGetCall) Header() http.Header {
 38061  	if c.header_ == nil {
 38062  		c.header_ = make(http.Header)
 38063  	}
 38064  	return c.header_
 38065  }
 38066  
 38067  func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 38068  	reqHeaders := make(http.Header)
 38069  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38070  	for k, v := range c.header_ {
 38071  		reqHeaders[k] = v
 38072  	}
 38073  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38074  	if c.ifNoneMatch_ != "" {
 38075  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38076  	}
 38077  	var body io.Reader = nil
 38078  	c.urlParams_.Set("alt", alt)
 38079  	c.urlParams_.Set("prettyPrint", "false")
 38080  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
 38081  	urls += "?" + c.urlParams_.Encode()
 38082  	req, err := http.NewRequest("GET", urls, body)
 38083  	if err != nil {
 38084  		return nil, err
 38085  	}
 38086  	req.Header = reqHeaders
 38087  	googleapi.Expand(req.URL, map[string]string{
 38088  		"profileId": strconv.FormatInt(c.profileId, 10),
 38089  		"id":        strconv.FormatInt(c.id, 10),
 38090  	})
 38091  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38092  }
 38093  
 38094  // Do executes the "dfareporting.placementGroups.get" call.
 38095  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38096  // status code is an error. Response headers are in either
 38097  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38098  // at all) in error.(*googleapi.Error).Header. Use
 38099  // googleapi.IsNotModified to check whether the returned error was
 38100  // because http.StatusNotModified was returned.
 38101  func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38102  	gensupport.SetOptions(c.urlParams_, opts...)
 38103  	res, err := c.doRequest("json")
 38104  	if res != nil && res.StatusCode == http.StatusNotModified {
 38105  		if res.Body != nil {
 38106  			res.Body.Close()
 38107  		}
 38108  		return nil, &googleapi.Error{
 38109  			Code:   res.StatusCode,
 38110  			Header: res.Header,
 38111  		}
 38112  	}
 38113  	if err != nil {
 38114  		return nil, err
 38115  	}
 38116  	defer googleapi.CloseBody(res)
 38117  	if err := googleapi.CheckResponse(res); err != nil {
 38118  		return nil, err
 38119  	}
 38120  	ret := &PlacementGroup{
 38121  		ServerResponse: googleapi.ServerResponse{
 38122  			Header:         res.Header,
 38123  			HTTPStatusCode: res.StatusCode,
 38124  		},
 38125  	}
 38126  	target := &ret
 38127  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38128  		return nil, err
 38129  	}
 38130  	return ret, nil
 38131  	// {
 38132  	//   "description": "Gets one placement group by ID.",
 38133  	//   "flatPath": "userprofiles/{profileId}/placementGroups/{id}",
 38134  	//   "httpMethod": "GET",
 38135  	//   "id": "dfareporting.placementGroups.get",
 38136  	//   "parameterOrder": [
 38137  	//     "profileId",
 38138  	//     "id"
 38139  	//   ],
 38140  	//   "parameters": {
 38141  	//     "id": {
 38142  	//       "description": "Placement group ID.",
 38143  	//       "format": "int64",
 38144  	//       "location": "path",
 38145  	//       "required": true,
 38146  	//       "type": "string"
 38147  	//     },
 38148  	//     "profileId": {
 38149  	//       "description": "User profile ID associated with this request.",
 38150  	//       "format": "int64",
 38151  	//       "location": "path",
 38152  	//       "required": true,
 38153  	//       "type": "string"
 38154  	//     }
 38155  	//   },
 38156  	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
 38157  	//   "response": {
 38158  	//     "$ref": "PlacementGroup"
 38159  	//   },
 38160  	//   "scopes": [
 38161  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38162  	//   ]
 38163  	// }
 38164  
 38165  }
 38166  
 38167  // method id "dfareporting.placementGroups.insert":
 38168  
 38169  type PlacementGroupsInsertCall struct {
 38170  	s              *Service
 38171  	profileId      int64
 38172  	placementgroup *PlacementGroup
 38173  	urlParams_     gensupport.URLParams
 38174  	ctx_           context.Context
 38175  	header_        http.Header
 38176  }
 38177  
 38178  // Insert: Inserts a new placement group.
 38179  //
 38180  // - profileId: User profile ID associated with this request.
 38181  func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
 38182  	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38183  	c.profileId = profileId
 38184  	c.placementgroup = placementgroup
 38185  	return c
 38186  }
 38187  
 38188  // Fields allows partial responses to be retrieved. See
 38189  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38190  // for more information.
 38191  func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
 38192  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38193  	return c
 38194  }
 38195  
 38196  // Context sets the context to be used in this call's Do method. Any
 38197  // pending HTTP request will be aborted if the provided context is
 38198  // canceled.
 38199  func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
 38200  	c.ctx_ = ctx
 38201  	return c
 38202  }
 38203  
 38204  // Header returns an http.Header that can be modified by the caller to
 38205  // add HTTP headers to the request.
 38206  func (c *PlacementGroupsInsertCall) Header() http.Header {
 38207  	if c.header_ == nil {
 38208  		c.header_ = make(http.Header)
 38209  	}
 38210  	return c.header_
 38211  }
 38212  
 38213  func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
 38214  	reqHeaders := make(http.Header)
 38215  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38216  	for k, v := range c.header_ {
 38217  		reqHeaders[k] = v
 38218  	}
 38219  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38220  	var body io.Reader = nil
 38221  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38222  	if err != nil {
 38223  		return nil, err
 38224  	}
 38225  	reqHeaders.Set("Content-Type", "application/json")
 38226  	c.urlParams_.Set("alt", alt)
 38227  	c.urlParams_.Set("prettyPrint", "false")
 38228  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38229  	urls += "?" + c.urlParams_.Encode()
 38230  	req, err := http.NewRequest("POST", urls, body)
 38231  	if err != nil {
 38232  		return nil, err
 38233  	}
 38234  	req.Header = reqHeaders
 38235  	googleapi.Expand(req.URL, map[string]string{
 38236  		"profileId": strconv.FormatInt(c.profileId, 10),
 38237  	})
 38238  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38239  }
 38240  
 38241  // Do executes the "dfareporting.placementGroups.insert" call.
 38242  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38243  // status code is an error. Response headers are in either
 38244  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38245  // at all) in error.(*googleapi.Error).Header. Use
 38246  // googleapi.IsNotModified to check whether the returned error was
 38247  // because http.StatusNotModified was returned.
 38248  func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38249  	gensupport.SetOptions(c.urlParams_, opts...)
 38250  	res, err := c.doRequest("json")
 38251  	if res != nil && res.StatusCode == http.StatusNotModified {
 38252  		if res.Body != nil {
 38253  			res.Body.Close()
 38254  		}
 38255  		return nil, &googleapi.Error{
 38256  			Code:   res.StatusCode,
 38257  			Header: res.Header,
 38258  		}
 38259  	}
 38260  	if err != nil {
 38261  		return nil, err
 38262  	}
 38263  	defer googleapi.CloseBody(res)
 38264  	if err := googleapi.CheckResponse(res); err != nil {
 38265  		return nil, err
 38266  	}
 38267  	ret := &PlacementGroup{
 38268  		ServerResponse: googleapi.ServerResponse{
 38269  			Header:         res.Header,
 38270  			HTTPStatusCode: res.StatusCode,
 38271  		},
 38272  	}
 38273  	target := &ret
 38274  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38275  		return nil, err
 38276  	}
 38277  	return ret, nil
 38278  	// {
 38279  	//   "description": "Inserts a new placement group.",
 38280  	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 38281  	//   "httpMethod": "POST",
 38282  	//   "id": "dfareporting.placementGroups.insert",
 38283  	//   "parameterOrder": [
 38284  	//     "profileId"
 38285  	//   ],
 38286  	//   "parameters": {
 38287  	//     "profileId": {
 38288  	//       "description": "User profile ID associated with this request.",
 38289  	//       "format": "int64",
 38290  	//       "location": "path",
 38291  	//       "required": true,
 38292  	//       "type": "string"
 38293  	//     }
 38294  	//   },
 38295  	//   "path": "userprofiles/{profileId}/placementGroups",
 38296  	//   "request": {
 38297  	//     "$ref": "PlacementGroup"
 38298  	//   },
 38299  	//   "response": {
 38300  	//     "$ref": "PlacementGroup"
 38301  	//   },
 38302  	//   "scopes": [
 38303  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38304  	//   ]
 38305  	// }
 38306  
 38307  }
 38308  
 38309  // method id "dfareporting.placementGroups.list":
 38310  
 38311  type PlacementGroupsListCall struct {
 38312  	s            *Service
 38313  	profileId    int64
 38314  	urlParams_   gensupport.URLParams
 38315  	ifNoneMatch_ string
 38316  	ctx_         context.Context
 38317  	header_      http.Header
 38318  }
 38319  
 38320  // List: Retrieves a list of placement groups, possibly filtered. This
 38321  // method supports paging.
 38322  //
 38323  // - profileId: User profile ID associated with this request.
 38324  func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
 38325  	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38326  	c.profileId = profileId
 38327  	return c
 38328  }
 38329  
 38330  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 38331  // only placement groups that belong to these advertisers.
 38332  func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
 38333  	var advertiserIds_ []string
 38334  	for _, v := range advertiserIds {
 38335  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 38336  	}
 38337  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 38338  	return c
 38339  }
 38340  
 38341  // Archived sets the optional parameter "archived": Select only archived
 38342  // placements. Don't set this field to select both archived and
 38343  // non-archived placements.
 38344  func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
 38345  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 38346  	return c
 38347  }
 38348  
 38349  // CampaignIds sets the optional parameter "campaignIds": Select only
 38350  // placement groups that belong to these campaigns.
 38351  func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
 38352  	var campaignIds_ []string
 38353  	for _, v := range campaignIds {
 38354  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 38355  	}
 38356  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 38357  	return c
 38358  }
 38359  
 38360  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 38361  // Select only placement groups that are associated with these content
 38362  // categories.
 38363  func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
 38364  	var contentCategoryIds_ []string
 38365  	for _, v := range contentCategoryIds {
 38366  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 38367  	}
 38368  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 38369  	return c
 38370  }
 38371  
 38372  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 38373  // Select only placement groups that are associated with these directory
 38374  // sites.
 38375  func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
 38376  	var directorySiteIds_ []string
 38377  	for _, v := range directorySiteIds {
 38378  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 38379  	}
 38380  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 38381  	return c
 38382  }
 38383  
 38384  // Ids sets the optional parameter "ids": Select only placement groups
 38385  // with these IDs.
 38386  func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
 38387  	var ids_ []string
 38388  	for _, v := range ids {
 38389  		ids_ = append(ids_, fmt.Sprint(v))
 38390  	}
 38391  	c.urlParams_.SetMulti("ids", ids_)
 38392  	return c
 38393  }
 38394  
 38395  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 38396  // placements or placement groups whose end date is on or before the
 38397  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 38398  func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
 38399  	c.urlParams_.Set("maxEndDate", maxEndDate)
 38400  	return c
 38401  }
 38402  
 38403  // MaxResults sets the optional parameter "maxResults": Maximum number
 38404  // of results to return.
 38405  func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
 38406  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 38407  	return c
 38408  }
 38409  
 38410  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 38411  // placements or placement groups whose start date is on or before the
 38412  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 38413  func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
 38414  	c.urlParams_.Set("maxStartDate", maxStartDate)
 38415  	return c
 38416  }
 38417  
 38418  // MinEndDate sets the optional parameter "minEndDate": Select only
 38419  // placements or placement groups whose end date is on or after the
 38420  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 38421  func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
 38422  	c.urlParams_.Set("minEndDate", minEndDate)
 38423  	return c
 38424  }
 38425  
 38426  // MinStartDate sets the optional parameter "minStartDate": Select only
 38427  // placements or placement groups whose start date is on or after the
 38428  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 38429  func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
 38430  	c.urlParams_.Set("minStartDate", minStartDate)
 38431  	return c
 38432  }
 38433  
 38434  // PageToken sets the optional parameter "pageToken": Value of the
 38435  // nextPageToken from the previous result page.
 38436  func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
 38437  	c.urlParams_.Set("pageToken", pageToken)
 38438  	return c
 38439  }
 38440  
 38441  // PlacementGroupType sets the optional parameter "placementGroupType":
 38442  // Select only placement groups belonging with this group type. A
 38443  // package is a simple group of placements that acts as a single pricing
 38444  // point for a group of tags. A roadblock is a group of placements that
 38445  // not only acts as a single pricing point but also assumes that all the
 38446  // tags in it will be served at the same time. A roadblock requires one
 38447  // of its assigned placements to be marked as primary for reporting.
 38448  //
 38449  // Possible values:
 38450  //
 38451  //	"PLACEMENT_PACKAGE"
 38452  //	"PLACEMENT_ROADBLOCK"
 38453  func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
 38454  	c.urlParams_.Set("placementGroupType", placementGroupType)
 38455  	return c
 38456  }
 38457  
 38458  // PlacementStrategyIds sets the optional parameter
 38459  // "placementStrategyIds": Select only placement groups that are
 38460  // associated with these placement strategies.
 38461  func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
 38462  	var placementStrategyIds_ []string
 38463  	for _, v := range placementStrategyIds {
 38464  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 38465  	}
 38466  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 38467  	return c
 38468  }
 38469  
 38470  // PricingTypes sets the optional parameter "pricingTypes": Select only
 38471  // placement groups with these pricing types.
 38472  //
 38473  // Possible values:
 38474  //
 38475  //	"PRICING_TYPE_CPM"
 38476  //	"PRICING_TYPE_CPC"
 38477  //	"PRICING_TYPE_CPA"
 38478  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 38479  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 38480  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 38481  func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
 38482  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 38483  	return c
 38484  }
 38485  
 38486  // SearchString sets the optional parameter "searchString": Allows
 38487  // searching for placement groups by name or ID. Wildcards (*) are
 38488  // allowed. For example, "placement*2015" will return placement groups
 38489  // with names like "placement group June 2015", "placement group May
 38490  // 2015", or simply "placements 2015". Most of the searches also add
 38491  // wildcards implicitly at the start and the end of the search string.
 38492  // For example, a search string of "placementgroup" will match placement
 38493  // groups with name "my placementgroup", "placementgroup 2015", or
 38494  // simply "placementgroup".
 38495  func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
 38496  	c.urlParams_.Set("searchString", searchString)
 38497  	return c
 38498  }
 38499  
 38500  // SiteIds sets the optional parameter "siteIds": Select only placement
 38501  // groups that are associated with these sites.
 38502  func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
 38503  	var siteIds_ []string
 38504  	for _, v := range siteIds {
 38505  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 38506  	}
 38507  	c.urlParams_.SetMulti("siteIds", siteIds_)
 38508  	return c
 38509  }
 38510  
 38511  // SortField sets the optional parameter "sortField": Field by which to
 38512  // sort the list.
 38513  //
 38514  // Possible values:
 38515  //
 38516  //	"ID" (default)
 38517  //	"NAME"
 38518  func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
 38519  	c.urlParams_.Set("sortField", sortField)
 38520  	return c
 38521  }
 38522  
 38523  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 38524  // results.
 38525  //
 38526  // Possible values:
 38527  //
 38528  //	"ASCENDING" (default)
 38529  //	"DESCENDING"
 38530  func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
 38531  	c.urlParams_.Set("sortOrder", sortOrder)
 38532  	return c
 38533  }
 38534  
 38535  // Fields allows partial responses to be retrieved. See
 38536  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38537  // for more information.
 38538  func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
 38539  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38540  	return c
 38541  }
 38542  
 38543  // IfNoneMatch sets the optional parameter which makes the operation
 38544  // fail if the object's ETag matches the given value. This is useful for
 38545  // getting updates only after the object has changed since the last
 38546  // request. Use googleapi.IsNotModified to check whether the response
 38547  // error from Do is the result of In-None-Match.
 38548  func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
 38549  	c.ifNoneMatch_ = entityTag
 38550  	return c
 38551  }
 38552  
 38553  // Context sets the context to be used in this call's Do method. Any
 38554  // pending HTTP request will be aborted if the provided context is
 38555  // canceled.
 38556  func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
 38557  	c.ctx_ = ctx
 38558  	return c
 38559  }
 38560  
 38561  // Header returns an http.Header that can be modified by the caller to
 38562  // add HTTP headers to the request.
 38563  func (c *PlacementGroupsListCall) Header() http.Header {
 38564  	if c.header_ == nil {
 38565  		c.header_ = make(http.Header)
 38566  	}
 38567  	return c.header_
 38568  }
 38569  
 38570  func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
 38571  	reqHeaders := make(http.Header)
 38572  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38573  	for k, v := range c.header_ {
 38574  		reqHeaders[k] = v
 38575  	}
 38576  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38577  	if c.ifNoneMatch_ != "" {
 38578  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 38579  	}
 38580  	var body io.Reader = nil
 38581  	c.urlParams_.Set("alt", alt)
 38582  	c.urlParams_.Set("prettyPrint", "false")
 38583  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38584  	urls += "?" + c.urlParams_.Encode()
 38585  	req, err := http.NewRequest("GET", urls, body)
 38586  	if err != nil {
 38587  		return nil, err
 38588  	}
 38589  	req.Header = reqHeaders
 38590  	googleapi.Expand(req.URL, map[string]string{
 38591  		"profileId": strconv.FormatInt(c.profileId, 10),
 38592  	})
 38593  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38594  }
 38595  
 38596  // Do executes the "dfareporting.placementGroups.list" call.
 38597  // Exactly one of *PlacementGroupsListResponse or error will be non-nil.
 38598  // Any non-2xx status code is an error. Response headers are in either
 38599  // *PlacementGroupsListResponse.ServerResponse.Header or (if a response
 38600  // was returned at all) in error.(*googleapi.Error).Header. Use
 38601  // googleapi.IsNotModified to check whether the returned error was
 38602  // because http.StatusNotModified was returned.
 38603  func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
 38604  	gensupport.SetOptions(c.urlParams_, opts...)
 38605  	res, err := c.doRequest("json")
 38606  	if res != nil && res.StatusCode == http.StatusNotModified {
 38607  		if res.Body != nil {
 38608  			res.Body.Close()
 38609  		}
 38610  		return nil, &googleapi.Error{
 38611  			Code:   res.StatusCode,
 38612  			Header: res.Header,
 38613  		}
 38614  	}
 38615  	if err != nil {
 38616  		return nil, err
 38617  	}
 38618  	defer googleapi.CloseBody(res)
 38619  	if err := googleapi.CheckResponse(res); err != nil {
 38620  		return nil, err
 38621  	}
 38622  	ret := &PlacementGroupsListResponse{
 38623  		ServerResponse: googleapi.ServerResponse{
 38624  			Header:         res.Header,
 38625  			HTTPStatusCode: res.StatusCode,
 38626  		},
 38627  	}
 38628  	target := &ret
 38629  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38630  		return nil, err
 38631  	}
 38632  	return ret, nil
 38633  	// {
 38634  	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
 38635  	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 38636  	//   "httpMethod": "GET",
 38637  	//   "id": "dfareporting.placementGroups.list",
 38638  	//   "parameterOrder": [
 38639  	//     "profileId"
 38640  	//   ],
 38641  	//   "parameters": {
 38642  	//     "advertiserIds": {
 38643  	//       "description": "Select only placement groups that belong to these advertisers.",
 38644  	//       "format": "int64",
 38645  	//       "location": "query",
 38646  	//       "repeated": true,
 38647  	//       "type": "string"
 38648  	//     },
 38649  	//     "archived": {
 38650  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 38651  	//       "location": "query",
 38652  	//       "type": "boolean"
 38653  	//     },
 38654  	//     "campaignIds": {
 38655  	//       "description": "Select only placement groups that belong to these campaigns.",
 38656  	//       "format": "int64",
 38657  	//       "location": "query",
 38658  	//       "repeated": true,
 38659  	//       "type": "string"
 38660  	//     },
 38661  	//     "contentCategoryIds": {
 38662  	//       "description": "Select only placement groups that are associated with these content categories.",
 38663  	//       "format": "int64",
 38664  	//       "location": "query",
 38665  	//       "repeated": true,
 38666  	//       "type": "string"
 38667  	//     },
 38668  	//     "directorySiteIds": {
 38669  	//       "description": "Select only placement groups that are associated with these directory sites.",
 38670  	//       "format": "int64",
 38671  	//       "location": "query",
 38672  	//       "repeated": true,
 38673  	//       "type": "string"
 38674  	//     },
 38675  	//     "ids": {
 38676  	//       "description": "Select only placement groups with these IDs.",
 38677  	//       "format": "int64",
 38678  	//       "location": "query",
 38679  	//       "repeated": true,
 38680  	//       "type": "string"
 38681  	//     },
 38682  	//     "maxEndDate": {
 38683  	//       "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\".",
 38684  	//       "location": "query",
 38685  	//       "type": "string"
 38686  	//     },
 38687  	//     "maxResults": {
 38688  	//       "default": "800",
 38689  	//       "description": "Maximum number of results to return.",
 38690  	//       "format": "int32",
 38691  	//       "location": "query",
 38692  	//       "maximum": "800",
 38693  	//       "minimum": "0",
 38694  	//       "type": "integer"
 38695  	//     },
 38696  	//     "maxStartDate": {
 38697  	//       "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\".",
 38698  	//       "location": "query",
 38699  	//       "type": "string"
 38700  	//     },
 38701  	//     "minEndDate": {
 38702  	//       "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\".",
 38703  	//       "location": "query",
 38704  	//       "type": "string"
 38705  	//     },
 38706  	//     "minStartDate": {
 38707  	//       "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\".",
 38708  	//       "location": "query",
 38709  	//       "type": "string"
 38710  	//     },
 38711  	//     "pageToken": {
 38712  	//       "description": "Value of the nextPageToken from the previous result page.",
 38713  	//       "location": "query",
 38714  	//       "type": "string"
 38715  	//     },
 38716  	//     "placementGroupType": {
 38717  	//       "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.",
 38718  	//       "enum": [
 38719  	//         "PLACEMENT_PACKAGE",
 38720  	//         "PLACEMENT_ROADBLOCK"
 38721  	//       ],
 38722  	//       "enumDescriptions": [
 38723  	//         "",
 38724  	//         ""
 38725  	//       ],
 38726  	//       "location": "query",
 38727  	//       "type": "string"
 38728  	//     },
 38729  	//     "placementStrategyIds": {
 38730  	//       "description": "Select only placement groups that are associated with these placement strategies.",
 38731  	//       "format": "int64",
 38732  	//       "location": "query",
 38733  	//       "repeated": true,
 38734  	//       "type": "string"
 38735  	//     },
 38736  	//     "pricingTypes": {
 38737  	//       "description": "Select only placement groups with these pricing types.",
 38738  	//       "enum": [
 38739  	//         "PRICING_TYPE_CPM",
 38740  	//         "PRICING_TYPE_CPC",
 38741  	//         "PRICING_TYPE_CPA",
 38742  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
 38743  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 38744  	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
 38745  	//       ],
 38746  	//       "enumDescriptions": [
 38747  	//         "",
 38748  	//         "",
 38749  	//         "",
 38750  	//         "",
 38751  	//         "",
 38752  	//         ""
 38753  	//       ],
 38754  	//       "location": "query",
 38755  	//       "repeated": true,
 38756  	//       "type": "string"
 38757  	//     },
 38758  	//     "profileId": {
 38759  	//       "description": "User profile ID associated with this request.",
 38760  	//       "format": "int64",
 38761  	//       "location": "path",
 38762  	//       "required": true,
 38763  	//       "type": "string"
 38764  	//     },
 38765  	//     "searchString": {
 38766  	//       "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\".",
 38767  	//       "location": "query",
 38768  	//       "type": "string"
 38769  	//     },
 38770  	//     "siteIds": {
 38771  	//       "description": "Select only placement groups that are associated with these sites.",
 38772  	//       "format": "int64",
 38773  	//       "location": "query",
 38774  	//       "repeated": true,
 38775  	//       "type": "string"
 38776  	//     },
 38777  	//     "sortField": {
 38778  	//       "default": "ID",
 38779  	//       "description": "Field by which to sort the list.",
 38780  	//       "enum": [
 38781  	//         "ID",
 38782  	//         "NAME"
 38783  	//       ],
 38784  	//       "enumDescriptions": [
 38785  	//         "",
 38786  	//         ""
 38787  	//       ],
 38788  	//       "location": "query",
 38789  	//       "type": "string"
 38790  	//     },
 38791  	//     "sortOrder": {
 38792  	//       "default": "ASCENDING",
 38793  	//       "description": "Order of sorted results.",
 38794  	//       "enum": [
 38795  	//         "ASCENDING",
 38796  	//         "DESCENDING"
 38797  	//       ],
 38798  	//       "enumDescriptions": [
 38799  	//         "",
 38800  	//         ""
 38801  	//       ],
 38802  	//       "location": "query",
 38803  	//       "type": "string"
 38804  	//     }
 38805  	//   },
 38806  	//   "path": "userprofiles/{profileId}/placementGroups",
 38807  	//   "response": {
 38808  	//     "$ref": "PlacementGroupsListResponse"
 38809  	//   },
 38810  	//   "scopes": [
 38811  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38812  	//   ]
 38813  	// }
 38814  
 38815  }
 38816  
 38817  // Pages invokes f for each page of results.
 38818  // A non-nil error returned from f will halt the iteration.
 38819  // The provided context supersedes any context provided to the Context method.
 38820  func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
 38821  	c.ctx_ = ctx
 38822  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 38823  	for {
 38824  		x, err := c.Do()
 38825  		if err != nil {
 38826  			return err
 38827  		}
 38828  		if err := f(x); err != nil {
 38829  			return err
 38830  		}
 38831  		if x.NextPageToken == "" {
 38832  			return nil
 38833  		}
 38834  		c.PageToken(x.NextPageToken)
 38835  	}
 38836  }
 38837  
 38838  // method id "dfareporting.placementGroups.patch":
 38839  
 38840  type PlacementGroupsPatchCall struct {
 38841  	s              *Service
 38842  	profileId      int64
 38843  	placementgroup *PlacementGroup
 38844  	urlParams_     gensupport.URLParams
 38845  	ctx_           context.Context
 38846  	header_        http.Header
 38847  }
 38848  
 38849  // Patch: Updates an existing placement group. This method supports
 38850  // patch semantics.
 38851  //
 38852  // - id: PlacementGroup ID.
 38853  // - profileId: User profile ID associated with this request.
 38854  func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
 38855  	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 38856  	c.profileId = profileId
 38857  	c.urlParams_.Set("id", fmt.Sprint(id))
 38858  	c.placementgroup = placementgroup
 38859  	return c
 38860  }
 38861  
 38862  // Fields allows partial responses to be retrieved. See
 38863  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 38864  // for more information.
 38865  func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
 38866  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 38867  	return c
 38868  }
 38869  
 38870  // Context sets the context to be used in this call's Do method. Any
 38871  // pending HTTP request will be aborted if the provided context is
 38872  // canceled.
 38873  func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
 38874  	c.ctx_ = ctx
 38875  	return c
 38876  }
 38877  
 38878  // Header returns an http.Header that can be modified by the caller to
 38879  // add HTTP headers to the request.
 38880  func (c *PlacementGroupsPatchCall) Header() http.Header {
 38881  	if c.header_ == nil {
 38882  		c.header_ = make(http.Header)
 38883  	}
 38884  	return c.header_
 38885  }
 38886  
 38887  func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
 38888  	reqHeaders := make(http.Header)
 38889  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 38890  	for k, v := range c.header_ {
 38891  		reqHeaders[k] = v
 38892  	}
 38893  	reqHeaders.Set("User-Agent", c.s.userAgent())
 38894  	var body io.Reader = nil
 38895  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 38896  	if err != nil {
 38897  		return nil, err
 38898  	}
 38899  	reqHeaders.Set("Content-Type", "application/json")
 38900  	c.urlParams_.Set("alt", alt)
 38901  	c.urlParams_.Set("prettyPrint", "false")
 38902  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 38903  	urls += "?" + c.urlParams_.Encode()
 38904  	req, err := http.NewRequest("PATCH", urls, body)
 38905  	if err != nil {
 38906  		return nil, err
 38907  	}
 38908  	req.Header = reqHeaders
 38909  	googleapi.Expand(req.URL, map[string]string{
 38910  		"profileId": strconv.FormatInt(c.profileId, 10),
 38911  	})
 38912  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 38913  }
 38914  
 38915  // Do executes the "dfareporting.placementGroups.patch" call.
 38916  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 38917  // status code is an error. Response headers are in either
 38918  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 38919  // at all) in error.(*googleapi.Error).Header. Use
 38920  // googleapi.IsNotModified to check whether the returned error was
 38921  // because http.StatusNotModified was returned.
 38922  func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 38923  	gensupport.SetOptions(c.urlParams_, opts...)
 38924  	res, err := c.doRequest("json")
 38925  	if res != nil && res.StatusCode == http.StatusNotModified {
 38926  		if res.Body != nil {
 38927  			res.Body.Close()
 38928  		}
 38929  		return nil, &googleapi.Error{
 38930  			Code:   res.StatusCode,
 38931  			Header: res.Header,
 38932  		}
 38933  	}
 38934  	if err != nil {
 38935  		return nil, err
 38936  	}
 38937  	defer googleapi.CloseBody(res)
 38938  	if err := googleapi.CheckResponse(res); err != nil {
 38939  		return nil, err
 38940  	}
 38941  	ret := &PlacementGroup{
 38942  		ServerResponse: googleapi.ServerResponse{
 38943  			Header:         res.Header,
 38944  			HTTPStatusCode: res.StatusCode,
 38945  		},
 38946  	}
 38947  	target := &ret
 38948  	if err := gensupport.DecodeResponse(target, res); err != nil {
 38949  		return nil, err
 38950  	}
 38951  	return ret, nil
 38952  	// {
 38953  	//   "description": "Updates an existing placement group. This method supports patch semantics.",
 38954  	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 38955  	//   "httpMethod": "PATCH",
 38956  	//   "id": "dfareporting.placementGroups.patch",
 38957  	//   "parameterOrder": [
 38958  	//     "profileId",
 38959  	//     "id"
 38960  	//   ],
 38961  	//   "parameters": {
 38962  	//     "id": {
 38963  	//       "description": "PlacementGroup ID.",
 38964  	//       "format": "int64",
 38965  	//       "location": "query",
 38966  	//       "required": true,
 38967  	//       "type": "string"
 38968  	//     },
 38969  	//     "profileId": {
 38970  	//       "description": "User profile ID associated with this request.",
 38971  	//       "format": "int64",
 38972  	//       "location": "path",
 38973  	//       "required": true,
 38974  	//       "type": "string"
 38975  	//     }
 38976  	//   },
 38977  	//   "path": "userprofiles/{profileId}/placementGroups",
 38978  	//   "request": {
 38979  	//     "$ref": "PlacementGroup"
 38980  	//   },
 38981  	//   "response": {
 38982  	//     "$ref": "PlacementGroup"
 38983  	//   },
 38984  	//   "scopes": [
 38985  	//     "https://www.googleapis.com/auth/dfatrafficking"
 38986  	//   ]
 38987  	// }
 38988  
 38989  }
 38990  
 38991  // method id "dfareporting.placementGroups.update":
 38992  
 38993  type PlacementGroupsUpdateCall struct {
 38994  	s              *Service
 38995  	profileId      int64
 38996  	placementgroup *PlacementGroup
 38997  	urlParams_     gensupport.URLParams
 38998  	ctx_           context.Context
 38999  	header_        http.Header
 39000  }
 39001  
 39002  // Update: Updates an existing placement group.
 39003  //
 39004  // - profileId: User profile ID associated with this request.
 39005  func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
 39006  	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39007  	c.profileId = profileId
 39008  	c.placementgroup = placementgroup
 39009  	return c
 39010  }
 39011  
 39012  // Fields allows partial responses to be retrieved. See
 39013  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39014  // for more information.
 39015  func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
 39016  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39017  	return c
 39018  }
 39019  
 39020  // Context sets the context to be used in this call's Do method. Any
 39021  // pending HTTP request will be aborted if the provided context is
 39022  // canceled.
 39023  func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
 39024  	c.ctx_ = ctx
 39025  	return c
 39026  }
 39027  
 39028  // Header returns an http.Header that can be modified by the caller to
 39029  // add HTTP headers to the request.
 39030  func (c *PlacementGroupsUpdateCall) Header() http.Header {
 39031  	if c.header_ == nil {
 39032  		c.header_ = make(http.Header)
 39033  	}
 39034  	return c.header_
 39035  }
 39036  
 39037  func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
 39038  	reqHeaders := make(http.Header)
 39039  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39040  	for k, v := range c.header_ {
 39041  		reqHeaders[k] = v
 39042  	}
 39043  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39044  	var body io.Reader = nil
 39045  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
 39046  	if err != nil {
 39047  		return nil, err
 39048  	}
 39049  	reqHeaders.Set("Content-Type", "application/json")
 39050  	c.urlParams_.Set("alt", alt)
 39051  	c.urlParams_.Set("prettyPrint", "false")
 39052  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
 39053  	urls += "?" + c.urlParams_.Encode()
 39054  	req, err := http.NewRequest("PUT", urls, body)
 39055  	if err != nil {
 39056  		return nil, err
 39057  	}
 39058  	req.Header = reqHeaders
 39059  	googleapi.Expand(req.URL, map[string]string{
 39060  		"profileId": strconv.FormatInt(c.profileId, 10),
 39061  	})
 39062  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39063  }
 39064  
 39065  // Do executes the "dfareporting.placementGroups.update" call.
 39066  // Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
 39067  // status code is an error. Response headers are in either
 39068  // *PlacementGroup.ServerResponse.Header or (if a response was returned
 39069  // at all) in error.(*googleapi.Error).Header. Use
 39070  // googleapi.IsNotModified to check whether the returned error was
 39071  // because http.StatusNotModified was returned.
 39072  func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
 39073  	gensupport.SetOptions(c.urlParams_, opts...)
 39074  	res, err := c.doRequest("json")
 39075  	if res != nil && res.StatusCode == http.StatusNotModified {
 39076  		if res.Body != nil {
 39077  			res.Body.Close()
 39078  		}
 39079  		return nil, &googleapi.Error{
 39080  			Code:   res.StatusCode,
 39081  			Header: res.Header,
 39082  		}
 39083  	}
 39084  	if err != nil {
 39085  		return nil, err
 39086  	}
 39087  	defer googleapi.CloseBody(res)
 39088  	if err := googleapi.CheckResponse(res); err != nil {
 39089  		return nil, err
 39090  	}
 39091  	ret := &PlacementGroup{
 39092  		ServerResponse: googleapi.ServerResponse{
 39093  			Header:         res.Header,
 39094  			HTTPStatusCode: res.StatusCode,
 39095  		},
 39096  	}
 39097  	target := &ret
 39098  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39099  		return nil, err
 39100  	}
 39101  	return ret, nil
 39102  	// {
 39103  	//   "description": "Updates an existing placement group.",
 39104  	//   "flatPath": "userprofiles/{profileId}/placementGroups",
 39105  	//   "httpMethod": "PUT",
 39106  	//   "id": "dfareporting.placementGroups.update",
 39107  	//   "parameterOrder": [
 39108  	//     "profileId"
 39109  	//   ],
 39110  	//   "parameters": {
 39111  	//     "profileId": {
 39112  	//       "description": "User profile ID associated with this request.",
 39113  	//       "format": "int64",
 39114  	//       "location": "path",
 39115  	//       "required": true,
 39116  	//       "type": "string"
 39117  	//     }
 39118  	//   },
 39119  	//   "path": "userprofiles/{profileId}/placementGroups",
 39120  	//   "request": {
 39121  	//     "$ref": "PlacementGroup"
 39122  	//   },
 39123  	//   "response": {
 39124  	//     "$ref": "PlacementGroup"
 39125  	//   },
 39126  	//   "scopes": [
 39127  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39128  	//   ]
 39129  	// }
 39130  
 39131  }
 39132  
 39133  // method id "dfareporting.placementStrategies.delete":
 39134  
 39135  type PlacementStrategiesDeleteCall struct {
 39136  	s          *Service
 39137  	profileId  int64
 39138  	id         int64
 39139  	urlParams_ gensupport.URLParams
 39140  	ctx_       context.Context
 39141  	header_    http.Header
 39142  }
 39143  
 39144  // Delete: Deletes an existing placement strategy.
 39145  //
 39146  // - id: Placement strategy ID.
 39147  // - profileId: User profile ID associated with this request.
 39148  func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
 39149  	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39150  	c.profileId = profileId
 39151  	c.id = id
 39152  	return c
 39153  }
 39154  
 39155  // Fields allows partial responses to be retrieved. See
 39156  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39157  // for more information.
 39158  func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
 39159  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39160  	return c
 39161  }
 39162  
 39163  // Context sets the context to be used in this call's Do method. Any
 39164  // pending HTTP request will be aborted if the provided context is
 39165  // canceled.
 39166  func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
 39167  	c.ctx_ = ctx
 39168  	return c
 39169  }
 39170  
 39171  // Header returns an http.Header that can be modified by the caller to
 39172  // add HTTP headers to the request.
 39173  func (c *PlacementStrategiesDeleteCall) Header() http.Header {
 39174  	if c.header_ == nil {
 39175  		c.header_ = make(http.Header)
 39176  	}
 39177  	return c.header_
 39178  }
 39179  
 39180  func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
 39181  	reqHeaders := make(http.Header)
 39182  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39183  	for k, v := range c.header_ {
 39184  		reqHeaders[k] = v
 39185  	}
 39186  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39187  	var body io.Reader = nil
 39188  	c.urlParams_.Set("alt", alt)
 39189  	c.urlParams_.Set("prettyPrint", "false")
 39190  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 39191  	urls += "?" + c.urlParams_.Encode()
 39192  	req, err := http.NewRequest("DELETE", urls, body)
 39193  	if err != nil {
 39194  		return nil, err
 39195  	}
 39196  	req.Header = reqHeaders
 39197  	googleapi.Expand(req.URL, map[string]string{
 39198  		"profileId": strconv.FormatInt(c.profileId, 10),
 39199  		"id":        strconv.FormatInt(c.id, 10),
 39200  	})
 39201  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39202  }
 39203  
 39204  // Do executes the "dfareporting.placementStrategies.delete" call.
 39205  func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
 39206  	gensupport.SetOptions(c.urlParams_, opts...)
 39207  	res, err := c.doRequest("json")
 39208  	if err != nil {
 39209  		return err
 39210  	}
 39211  	defer googleapi.CloseBody(res)
 39212  	if err := googleapi.CheckResponse(res); err != nil {
 39213  		return err
 39214  	}
 39215  	return nil
 39216  	// {
 39217  	//   "description": "Deletes an existing placement strategy.",
 39218  	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
 39219  	//   "httpMethod": "DELETE",
 39220  	//   "id": "dfareporting.placementStrategies.delete",
 39221  	//   "parameterOrder": [
 39222  	//     "profileId",
 39223  	//     "id"
 39224  	//   ],
 39225  	//   "parameters": {
 39226  	//     "id": {
 39227  	//       "description": "Placement strategy ID.",
 39228  	//       "format": "int64",
 39229  	//       "location": "path",
 39230  	//       "required": true,
 39231  	//       "type": "string"
 39232  	//     },
 39233  	//     "profileId": {
 39234  	//       "description": "User profile ID associated with this request.",
 39235  	//       "format": "int64",
 39236  	//       "location": "path",
 39237  	//       "required": true,
 39238  	//       "type": "string"
 39239  	//     }
 39240  	//   },
 39241  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 39242  	//   "scopes": [
 39243  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39244  	//   ]
 39245  	// }
 39246  
 39247  }
 39248  
 39249  // method id "dfareporting.placementStrategies.get":
 39250  
 39251  type PlacementStrategiesGetCall struct {
 39252  	s            *Service
 39253  	profileId    int64
 39254  	id           int64
 39255  	urlParams_   gensupport.URLParams
 39256  	ifNoneMatch_ string
 39257  	ctx_         context.Context
 39258  	header_      http.Header
 39259  }
 39260  
 39261  // Get: Gets one placement strategy by ID.
 39262  //
 39263  // - id: Placement strategy ID.
 39264  // - profileId: User profile ID associated with this request.
 39265  func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
 39266  	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39267  	c.profileId = profileId
 39268  	c.id = id
 39269  	return c
 39270  }
 39271  
 39272  // Fields allows partial responses to be retrieved. See
 39273  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39274  // for more information.
 39275  func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
 39276  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39277  	return c
 39278  }
 39279  
 39280  // IfNoneMatch sets the optional parameter which makes the operation
 39281  // fail if the object's ETag matches the given value. This is useful for
 39282  // getting updates only after the object has changed since the last
 39283  // request. Use googleapi.IsNotModified to check whether the response
 39284  // error from Do is the result of In-None-Match.
 39285  func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
 39286  	c.ifNoneMatch_ = entityTag
 39287  	return c
 39288  }
 39289  
 39290  // Context sets the context to be used in this call's Do method. Any
 39291  // pending HTTP request will be aborted if the provided context is
 39292  // canceled.
 39293  func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
 39294  	c.ctx_ = ctx
 39295  	return c
 39296  }
 39297  
 39298  // Header returns an http.Header that can be modified by the caller to
 39299  // add HTTP headers to the request.
 39300  func (c *PlacementStrategiesGetCall) Header() http.Header {
 39301  	if c.header_ == nil {
 39302  		c.header_ = make(http.Header)
 39303  	}
 39304  	return c.header_
 39305  }
 39306  
 39307  func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
 39308  	reqHeaders := make(http.Header)
 39309  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39310  	for k, v := range c.header_ {
 39311  		reqHeaders[k] = v
 39312  	}
 39313  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39314  	if c.ifNoneMatch_ != "" {
 39315  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39316  	}
 39317  	var body io.Reader = nil
 39318  	c.urlParams_.Set("alt", alt)
 39319  	c.urlParams_.Set("prettyPrint", "false")
 39320  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
 39321  	urls += "?" + c.urlParams_.Encode()
 39322  	req, err := http.NewRequest("GET", urls, body)
 39323  	if err != nil {
 39324  		return nil, err
 39325  	}
 39326  	req.Header = reqHeaders
 39327  	googleapi.Expand(req.URL, map[string]string{
 39328  		"profileId": strconv.FormatInt(c.profileId, 10),
 39329  		"id":        strconv.FormatInt(c.id, 10),
 39330  	})
 39331  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39332  }
 39333  
 39334  // Do executes the "dfareporting.placementStrategies.get" call.
 39335  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39336  // non-2xx status code is an error. Response headers are in either
 39337  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39338  // returned at all) in error.(*googleapi.Error).Header. Use
 39339  // googleapi.IsNotModified to check whether the returned error was
 39340  // because http.StatusNotModified was returned.
 39341  func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39342  	gensupport.SetOptions(c.urlParams_, opts...)
 39343  	res, err := c.doRequest("json")
 39344  	if res != nil && res.StatusCode == http.StatusNotModified {
 39345  		if res.Body != nil {
 39346  			res.Body.Close()
 39347  		}
 39348  		return nil, &googleapi.Error{
 39349  			Code:   res.StatusCode,
 39350  			Header: res.Header,
 39351  		}
 39352  	}
 39353  	if err != nil {
 39354  		return nil, err
 39355  	}
 39356  	defer googleapi.CloseBody(res)
 39357  	if err := googleapi.CheckResponse(res); err != nil {
 39358  		return nil, err
 39359  	}
 39360  	ret := &PlacementStrategy{
 39361  		ServerResponse: googleapi.ServerResponse{
 39362  			Header:         res.Header,
 39363  			HTTPStatusCode: res.StatusCode,
 39364  		},
 39365  	}
 39366  	target := &ret
 39367  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39368  		return nil, err
 39369  	}
 39370  	return ret, nil
 39371  	// {
 39372  	//   "description": "Gets one placement strategy by ID.",
 39373  	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
 39374  	//   "httpMethod": "GET",
 39375  	//   "id": "dfareporting.placementStrategies.get",
 39376  	//   "parameterOrder": [
 39377  	//     "profileId",
 39378  	//     "id"
 39379  	//   ],
 39380  	//   "parameters": {
 39381  	//     "id": {
 39382  	//       "description": "Placement strategy ID.",
 39383  	//       "format": "int64",
 39384  	//       "location": "path",
 39385  	//       "required": true,
 39386  	//       "type": "string"
 39387  	//     },
 39388  	//     "profileId": {
 39389  	//       "description": "User profile ID associated with this request.",
 39390  	//       "format": "int64",
 39391  	//       "location": "path",
 39392  	//       "required": true,
 39393  	//       "type": "string"
 39394  	//     }
 39395  	//   },
 39396  	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
 39397  	//   "response": {
 39398  	//     "$ref": "PlacementStrategy"
 39399  	//   },
 39400  	//   "scopes": [
 39401  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39402  	//   ]
 39403  	// }
 39404  
 39405  }
 39406  
 39407  // method id "dfareporting.placementStrategies.insert":
 39408  
 39409  type PlacementStrategiesInsertCall struct {
 39410  	s                 *Service
 39411  	profileId         int64
 39412  	placementstrategy *PlacementStrategy
 39413  	urlParams_        gensupport.URLParams
 39414  	ctx_              context.Context
 39415  	header_           http.Header
 39416  }
 39417  
 39418  // Insert: Inserts a new placement strategy.
 39419  //
 39420  // - profileId: User profile ID associated with this request.
 39421  func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
 39422  	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39423  	c.profileId = profileId
 39424  	c.placementstrategy = placementstrategy
 39425  	return c
 39426  }
 39427  
 39428  // Fields allows partial responses to be retrieved. See
 39429  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39430  // for more information.
 39431  func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
 39432  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39433  	return c
 39434  }
 39435  
 39436  // Context sets the context to be used in this call's Do method. Any
 39437  // pending HTTP request will be aborted if the provided context is
 39438  // canceled.
 39439  func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
 39440  	c.ctx_ = ctx
 39441  	return c
 39442  }
 39443  
 39444  // Header returns an http.Header that can be modified by the caller to
 39445  // add HTTP headers to the request.
 39446  func (c *PlacementStrategiesInsertCall) Header() http.Header {
 39447  	if c.header_ == nil {
 39448  		c.header_ = make(http.Header)
 39449  	}
 39450  	return c.header_
 39451  }
 39452  
 39453  func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
 39454  	reqHeaders := make(http.Header)
 39455  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39456  	for k, v := range c.header_ {
 39457  		reqHeaders[k] = v
 39458  	}
 39459  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39460  	var body io.Reader = nil
 39461  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39462  	if err != nil {
 39463  		return nil, err
 39464  	}
 39465  	reqHeaders.Set("Content-Type", "application/json")
 39466  	c.urlParams_.Set("alt", alt)
 39467  	c.urlParams_.Set("prettyPrint", "false")
 39468  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39469  	urls += "?" + c.urlParams_.Encode()
 39470  	req, err := http.NewRequest("POST", urls, body)
 39471  	if err != nil {
 39472  		return nil, err
 39473  	}
 39474  	req.Header = reqHeaders
 39475  	googleapi.Expand(req.URL, map[string]string{
 39476  		"profileId": strconv.FormatInt(c.profileId, 10),
 39477  	})
 39478  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39479  }
 39480  
 39481  // Do executes the "dfareporting.placementStrategies.insert" call.
 39482  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39483  // non-2xx status code is an error. Response headers are in either
 39484  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39485  // returned at all) in error.(*googleapi.Error).Header. Use
 39486  // googleapi.IsNotModified to check whether the returned error was
 39487  // because http.StatusNotModified was returned.
 39488  func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39489  	gensupport.SetOptions(c.urlParams_, opts...)
 39490  	res, err := c.doRequest("json")
 39491  	if res != nil && res.StatusCode == http.StatusNotModified {
 39492  		if res.Body != nil {
 39493  			res.Body.Close()
 39494  		}
 39495  		return nil, &googleapi.Error{
 39496  			Code:   res.StatusCode,
 39497  			Header: res.Header,
 39498  		}
 39499  	}
 39500  	if err != nil {
 39501  		return nil, err
 39502  	}
 39503  	defer googleapi.CloseBody(res)
 39504  	if err := googleapi.CheckResponse(res); err != nil {
 39505  		return nil, err
 39506  	}
 39507  	ret := &PlacementStrategy{
 39508  		ServerResponse: googleapi.ServerResponse{
 39509  			Header:         res.Header,
 39510  			HTTPStatusCode: res.StatusCode,
 39511  		},
 39512  	}
 39513  	target := &ret
 39514  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39515  		return nil, err
 39516  	}
 39517  	return ret, nil
 39518  	// {
 39519  	//   "description": "Inserts a new placement strategy.",
 39520  	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 39521  	//   "httpMethod": "POST",
 39522  	//   "id": "dfareporting.placementStrategies.insert",
 39523  	//   "parameterOrder": [
 39524  	//     "profileId"
 39525  	//   ],
 39526  	//   "parameters": {
 39527  	//     "profileId": {
 39528  	//       "description": "User profile ID associated with this request.",
 39529  	//       "format": "int64",
 39530  	//       "location": "path",
 39531  	//       "required": true,
 39532  	//       "type": "string"
 39533  	//     }
 39534  	//   },
 39535  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39536  	//   "request": {
 39537  	//     "$ref": "PlacementStrategy"
 39538  	//   },
 39539  	//   "response": {
 39540  	//     "$ref": "PlacementStrategy"
 39541  	//   },
 39542  	//   "scopes": [
 39543  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39544  	//   ]
 39545  	// }
 39546  
 39547  }
 39548  
 39549  // method id "dfareporting.placementStrategies.list":
 39550  
 39551  type PlacementStrategiesListCall struct {
 39552  	s            *Service
 39553  	profileId    int64
 39554  	urlParams_   gensupport.URLParams
 39555  	ifNoneMatch_ string
 39556  	ctx_         context.Context
 39557  	header_      http.Header
 39558  }
 39559  
 39560  // List: Retrieves a list of placement strategies, possibly filtered.
 39561  // This method supports paging.
 39562  //
 39563  // - profileId: User profile ID associated with this request.
 39564  func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
 39565  	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39566  	c.profileId = profileId
 39567  	return c
 39568  }
 39569  
 39570  // Ids sets the optional parameter "ids": Select only placement
 39571  // strategies with these IDs.
 39572  func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
 39573  	var ids_ []string
 39574  	for _, v := range ids {
 39575  		ids_ = append(ids_, fmt.Sprint(v))
 39576  	}
 39577  	c.urlParams_.SetMulti("ids", ids_)
 39578  	return c
 39579  }
 39580  
 39581  // MaxResults sets the optional parameter "maxResults": Maximum number
 39582  // of results to return.
 39583  func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
 39584  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 39585  	return c
 39586  }
 39587  
 39588  // PageToken sets the optional parameter "pageToken": Value of the
 39589  // nextPageToken from the previous result page.
 39590  func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
 39591  	c.urlParams_.Set("pageToken", pageToken)
 39592  	return c
 39593  }
 39594  
 39595  // SearchString sets the optional parameter "searchString": Allows
 39596  // searching for objects by name or ID. Wildcards (*) are allowed. For
 39597  // example, "placementstrategy*2015" will return objects with names like
 39598  // "placementstrategy June 2015", "placementstrategy April 2015", or
 39599  // simply "placementstrategy 2015". Most of the searches also add
 39600  // wildcards implicitly at the start and the end of the search string.
 39601  // For example, a search string of "placementstrategy" will match
 39602  // objects with name "my placementstrategy", "placementstrategy 2015",
 39603  // or simply "placementstrategy".
 39604  func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
 39605  	c.urlParams_.Set("searchString", searchString)
 39606  	return c
 39607  }
 39608  
 39609  // SortField sets the optional parameter "sortField": Field by which to
 39610  // sort the list.
 39611  //
 39612  // Possible values:
 39613  //
 39614  //	"ID" (default)
 39615  //	"NAME"
 39616  func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
 39617  	c.urlParams_.Set("sortField", sortField)
 39618  	return c
 39619  }
 39620  
 39621  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 39622  // results.
 39623  //
 39624  // Possible values:
 39625  //
 39626  //	"ASCENDING" (default)
 39627  //	"DESCENDING"
 39628  func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
 39629  	c.urlParams_.Set("sortOrder", sortOrder)
 39630  	return c
 39631  }
 39632  
 39633  // Fields allows partial responses to be retrieved. See
 39634  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39635  // for more information.
 39636  func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
 39637  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39638  	return c
 39639  }
 39640  
 39641  // IfNoneMatch sets the optional parameter which makes the operation
 39642  // fail if the object's ETag matches the given value. This is useful for
 39643  // getting updates only after the object has changed since the last
 39644  // request. Use googleapi.IsNotModified to check whether the response
 39645  // error from Do is the result of In-None-Match.
 39646  func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
 39647  	c.ifNoneMatch_ = entityTag
 39648  	return c
 39649  }
 39650  
 39651  // Context sets the context to be used in this call's Do method. Any
 39652  // pending HTTP request will be aborted if the provided context is
 39653  // canceled.
 39654  func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
 39655  	c.ctx_ = ctx
 39656  	return c
 39657  }
 39658  
 39659  // Header returns an http.Header that can be modified by the caller to
 39660  // add HTTP headers to the request.
 39661  func (c *PlacementStrategiesListCall) Header() http.Header {
 39662  	if c.header_ == nil {
 39663  		c.header_ = make(http.Header)
 39664  	}
 39665  	return c.header_
 39666  }
 39667  
 39668  func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
 39669  	reqHeaders := make(http.Header)
 39670  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39671  	for k, v := range c.header_ {
 39672  		reqHeaders[k] = v
 39673  	}
 39674  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39675  	if c.ifNoneMatch_ != "" {
 39676  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 39677  	}
 39678  	var body io.Reader = nil
 39679  	c.urlParams_.Set("alt", alt)
 39680  	c.urlParams_.Set("prettyPrint", "false")
 39681  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39682  	urls += "?" + c.urlParams_.Encode()
 39683  	req, err := http.NewRequest("GET", urls, body)
 39684  	if err != nil {
 39685  		return nil, err
 39686  	}
 39687  	req.Header = reqHeaders
 39688  	googleapi.Expand(req.URL, map[string]string{
 39689  		"profileId": strconv.FormatInt(c.profileId, 10),
 39690  	})
 39691  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39692  }
 39693  
 39694  // Do executes the "dfareporting.placementStrategies.list" call.
 39695  // Exactly one of *PlacementStrategiesListResponse or error will be
 39696  // non-nil. Any non-2xx status code is an error. Response headers are in
 39697  // either *PlacementStrategiesListResponse.ServerResponse.Header or (if
 39698  // a response was returned at all) in error.(*googleapi.Error).Header.
 39699  // Use googleapi.IsNotModified to check whether the returned error was
 39700  // because http.StatusNotModified was returned.
 39701  func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
 39702  	gensupport.SetOptions(c.urlParams_, opts...)
 39703  	res, err := c.doRequest("json")
 39704  	if res != nil && res.StatusCode == http.StatusNotModified {
 39705  		if res.Body != nil {
 39706  			res.Body.Close()
 39707  		}
 39708  		return nil, &googleapi.Error{
 39709  			Code:   res.StatusCode,
 39710  			Header: res.Header,
 39711  		}
 39712  	}
 39713  	if err != nil {
 39714  		return nil, err
 39715  	}
 39716  	defer googleapi.CloseBody(res)
 39717  	if err := googleapi.CheckResponse(res); err != nil {
 39718  		return nil, err
 39719  	}
 39720  	ret := &PlacementStrategiesListResponse{
 39721  		ServerResponse: googleapi.ServerResponse{
 39722  			Header:         res.Header,
 39723  			HTTPStatusCode: res.StatusCode,
 39724  		},
 39725  	}
 39726  	target := &ret
 39727  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39728  		return nil, err
 39729  	}
 39730  	return ret, nil
 39731  	// {
 39732  	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
 39733  	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 39734  	//   "httpMethod": "GET",
 39735  	//   "id": "dfareporting.placementStrategies.list",
 39736  	//   "parameterOrder": [
 39737  	//     "profileId"
 39738  	//   ],
 39739  	//   "parameters": {
 39740  	//     "ids": {
 39741  	//       "description": "Select only placement strategies with these IDs.",
 39742  	//       "format": "int64",
 39743  	//       "location": "query",
 39744  	//       "repeated": true,
 39745  	//       "type": "string"
 39746  	//     },
 39747  	//     "maxResults": {
 39748  	//       "default": "1000",
 39749  	//       "description": "Maximum number of results to return.",
 39750  	//       "format": "int32",
 39751  	//       "location": "query",
 39752  	//       "maximum": "1000",
 39753  	//       "minimum": "0",
 39754  	//       "type": "integer"
 39755  	//     },
 39756  	//     "pageToken": {
 39757  	//       "description": "Value of the nextPageToken from the previous result page.",
 39758  	//       "location": "query",
 39759  	//       "type": "string"
 39760  	//     },
 39761  	//     "profileId": {
 39762  	//       "description": "User profile ID associated with this request.",
 39763  	//       "format": "int64",
 39764  	//       "location": "path",
 39765  	//       "required": true,
 39766  	//       "type": "string"
 39767  	//     },
 39768  	//     "searchString": {
 39769  	//       "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\".",
 39770  	//       "location": "query",
 39771  	//       "type": "string"
 39772  	//     },
 39773  	//     "sortField": {
 39774  	//       "default": "ID",
 39775  	//       "description": "Field by which to sort the list.",
 39776  	//       "enum": [
 39777  	//         "ID",
 39778  	//         "NAME"
 39779  	//       ],
 39780  	//       "enumDescriptions": [
 39781  	//         "",
 39782  	//         ""
 39783  	//       ],
 39784  	//       "location": "query",
 39785  	//       "type": "string"
 39786  	//     },
 39787  	//     "sortOrder": {
 39788  	//       "default": "ASCENDING",
 39789  	//       "description": "Order of sorted results.",
 39790  	//       "enum": [
 39791  	//         "ASCENDING",
 39792  	//         "DESCENDING"
 39793  	//       ],
 39794  	//       "enumDescriptions": [
 39795  	//         "",
 39796  	//         ""
 39797  	//       ],
 39798  	//       "location": "query",
 39799  	//       "type": "string"
 39800  	//     }
 39801  	//   },
 39802  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39803  	//   "response": {
 39804  	//     "$ref": "PlacementStrategiesListResponse"
 39805  	//   },
 39806  	//   "scopes": [
 39807  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39808  	//   ]
 39809  	// }
 39810  
 39811  }
 39812  
 39813  // Pages invokes f for each page of results.
 39814  // A non-nil error returned from f will halt the iteration.
 39815  // The provided context supersedes any context provided to the Context method.
 39816  func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
 39817  	c.ctx_ = ctx
 39818  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 39819  	for {
 39820  		x, err := c.Do()
 39821  		if err != nil {
 39822  			return err
 39823  		}
 39824  		if err := f(x); err != nil {
 39825  			return err
 39826  		}
 39827  		if x.NextPageToken == "" {
 39828  			return nil
 39829  		}
 39830  		c.PageToken(x.NextPageToken)
 39831  	}
 39832  }
 39833  
 39834  // method id "dfareporting.placementStrategies.patch":
 39835  
 39836  type PlacementStrategiesPatchCall struct {
 39837  	s                 *Service
 39838  	profileId         int64
 39839  	placementstrategy *PlacementStrategy
 39840  	urlParams_        gensupport.URLParams
 39841  	ctx_              context.Context
 39842  	header_           http.Header
 39843  }
 39844  
 39845  // Patch: Updates an existing placement strategy. This method supports
 39846  // patch semantics.
 39847  //
 39848  // - id: PlacementStrategy ID.
 39849  // - profileId: User profile ID associated with this request.
 39850  func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
 39851  	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 39852  	c.profileId = profileId
 39853  	c.urlParams_.Set("id", fmt.Sprint(id))
 39854  	c.placementstrategy = placementstrategy
 39855  	return c
 39856  }
 39857  
 39858  // Fields allows partial responses to be retrieved. See
 39859  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 39860  // for more information.
 39861  func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
 39862  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 39863  	return c
 39864  }
 39865  
 39866  // Context sets the context to be used in this call's Do method. Any
 39867  // pending HTTP request will be aborted if the provided context is
 39868  // canceled.
 39869  func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
 39870  	c.ctx_ = ctx
 39871  	return c
 39872  }
 39873  
 39874  // Header returns an http.Header that can be modified by the caller to
 39875  // add HTTP headers to the request.
 39876  func (c *PlacementStrategiesPatchCall) Header() http.Header {
 39877  	if c.header_ == nil {
 39878  		c.header_ = make(http.Header)
 39879  	}
 39880  	return c.header_
 39881  }
 39882  
 39883  func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
 39884  	reqHeaders := make(http.Header)
 39885  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 39886  	for k, v := range c.header_ {
 39887  		reqHeaders[k] = v
 39888  	}
 39889  	reqHeaders.Set("User-Agent", c.s.userAgent())
 39890  	var body io.Reader = nil
 39891  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 39892  	if err != nil {
 39893  		return nil, err
 39894  	}
 39895  	reqHeaders.Set("Content-Type", "application/json")
 39896  	c.urlParams_.Set("alt", alt)
 39897  	c.urlParams_.Set("prettyPrint", "false")
 39898  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 39899  	urls += "?" + c.urlParams_.Encode()
 39900  	req, err := http.NewRequest("PATCH", urls, body)
 39901  	if err != nil {
 39902  		return nil, err
 39903  	}
 39904  	req.Header = reqHeaders
 39905  	googleapi.Expand(req.URL, map[string]string{
 39906  		"profileId": strconv.FormatInt(c.profileId, 10),
 39907  	})
 39908  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 39909  }
 39910  
 39911  // Do executes the "dfareporting.placementStrategies.patch" call.
 39912  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 39913  // non-2xx status code is an error. Response headers are in either
 39914  // *PlacementStrategy.ServerResponse.Header or (if a response was
 39915  // returned at all) in error.(*googleapi.Error).Header. Use
 39916  // googleapi.IsNotModified to check whether the returned error was
 39917  // because http.StatusNotModified was returned.
 39918  func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 39919  	gensupport.SetOptions(c.urlParams_, opts...)
 39920  	res, err := c.doRequest("json")
 39921  	if res != nil && res.StatusCode == http.StatusNotModified {
 39922  		if res.Body != nil {
 39923  			res.Body.Close()
 39924  		}
 39925  		return nil, &googleapi.Error{
 39926  			Code:   res.StatusCode,
 39927  			Header: res.Header,
 39928  		}
 39929  	}
 39930  	if err != nil {
 39931  		return nil, err
 39932  	}
 39933  	defer googleapi.CloseBody(res)
 39934  	if err := googleapi.CheckResponse(res); err != nil {
 39935  		return nil, err
 39936  	}
 39937  	ret := &PlacementStrategy{
 39938  		ServerResponse: googleapi.ServerResponse{
 39939  			Header:         res.Header,
 39940  			HTTPStatusCode: res.StatusCode,
 39941  		},
 39942  	}
 39943  	target := &ret
 39944  	if err := gensupport.DecodeResponse(target, res); err != nil {
 39945  		return nil, err
 39946  	}
 39947  	return ret, nil
 39948  	// {
 39949  	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
 39950  	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 39951  	//   "httpMethod": "PATCH",
 39952  	//   "id": "dfareporting.placementStrategies.patch",
 39953  	//   "parameterOrder": [
 39954  	//     "profileId",
 39955  	//     "id"
 39956  	//   ],
 39957  	//   "parameters": {
 39958  	//     "id": {
 39959  	//       "description": "PlacementStrategy ID.",
 39960  	//       "format": "int64",
 39961  	//       "location": "query",
 39962  	//       "required": true,
 39963  	//       "type": "string"
 39964  	//     },
 39965  	//     "profileId": {
 39966  	//       "description": "User profile ID associated with this request.",
 39967  	//       "format": "int64",
 39968  	//       "location": "path",
 39969  	//       "required": true,
 39970  	//       "type": "string"
 39971  	//     }
 39972  	//   },
 39973  	//   "path": "userprofiles/{profileId}/placementStrategies",
 39974  	//   "request": {
 39975  	//     "$ref": "PlacementStrategy"
 39976  	//   },
 39977  	//   "response": {
 39978  	//     "$ref": "PlacementStrategy"
 39979  	//   },
 39980  	//   "scopes": [
 39981  	//     "https://www.googleapis.com/auth/dfatrafficking"
 39982  	//   ]
 39983  	// }
 39984  
 39985  }
 39986  
 39987  // method id "dfareporting.placementStrategies.update":
 39988  
 39989  type PlacementStrategiesUpdateCall struct {
 39990  	s                 *Service
 39991  	profileId         int64
 39992  	placementstrategy *PlacementStrategy
 39993  	urlParams_        gensupport.URLParams
 39994  	ctx_              context.Context
 39995  	header_           http.Header
 39996  }
 39997  
 39998  // Update: Updates an existing placement strategy.
 39999  //
 40000  // - profileId: User profile ID associated with this request.
 40001  func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
 40002  	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40003  	c.profileId = profileId
 40004  	c.placementstrategy = placementstrategy
 40005  	return c
 40006  }
 40007  
 40008  // Fields allows partial responses to be retrieved. See
 40009  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40010  // for more information.
 40011  func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
 40012  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40013  	return c
 40014  }
 40015  
 40016  // Context sets the context to be used in this call's Do method. Any
 40017  // pending HTTP request will be aborted if the provided context is
 40018  // canceled.
 40019  func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
 40020  	c.ctx_ = ctx
 40021  	return c
 40022  }
 40023  
 40024  // Header returns an http.Header that can be modified by the caller to
 40025  // add HTTP headers to the request.
 40026  func (c *PlacementStrategiesUpdateCall) Header() http.Header {
 40027  	if c.header_ == nil {
 40028  		c.header_ = make(http.Header)
 40029  	}
 40030  	return c.header_
 40031  }
 40032  
 40033  func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
 40034  	reqHeaders := make(http.Header)
 40035  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40036  	for k, v := range c.header_ {
 40037  		reqHeaders[k] = v
 40038  	}
 40039  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40040  	var body io.Reader = nil
 40041  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
 40042  	if err != nil {
 40043  		return nil, err
 40044  	}
 40045  	reqHeaders.Set("Content-Type", "application/json")
 40046  	c.urlParams_.Set("alt", alt)
 40047  	c.urlParams_.Set("prettyPrint", "false")
 40048  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
 40049  	urls += "?" + c.urlParams_.Encode()
 40050  	req, err := http.NewRequest("PUT", urls, body)
 40051  	if err != nil {
 40052  		return nil, err
 40053  	}
 40054  	req.Header = reqHeaders
 40055  	googleapi.Expand(req.URL, map[string]string{
 40056  		"profileId": strconv.FormatInt(c.profileId, 10),
 40057  	})
 40058  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40059  }
 40060  
 40061  // Do executes the "dfareporting.placementStrategies.update" call.
 40062  // Exactly one of *PlacementStrategy or error will be non-nil. Any
 40063  // non-2xx status code is an error. Response headers are in either
 40064  // *PlacementStrategy.ServerResponse.Header or (if a response was
 40065  // returned at all) in error.(*googleapi.Error).Header. Use
 40066  // googleapi.IsNotModified to check whether the returned error was
 40067  // because http.StatusNotModified was returned.
 40068  func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
 40069  	gensupport.SetOptions(c.urlParams_, opts...)
 40070  	res, err := c.doRequest("json")
 40071  	if res != nil && res.StatusCode == http.StatusNotModified {
 40072  		if res.Body != nil {
 40073  			res.Body.Close()
 40074  		}
 40075  		return nil, &googleapi.Error{
 40076  			Code:   res.StatusCode,
 40077  			Header: res.Header,
 40078  		}
 40079  	}
 40080  	if err != nil {
 40081  		return nil, err
 40082  	}
 40083  	defer googleapi.CloseBody(res)
 40084  	if err := googleapi.CheckResponse(res); err != nil {
 40085  		return nil, err
 40086  	}
 40087  	ret := &PlacementStrategy{
 40088  		ServerResponse: googleapi.ServerResponse{
 40089  			Header:         res.Header,
 40090  			HTTPStatusCode: res.StatusCode,
 40091  		},
 40092  	}
 40093  	target := &ret
 40094  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40095  		return nil, err
 40096  	}
 40097  	return ret, nil
 40098  	// {
 40099  	//   "description": "Updates an existing placement strategy.",
 40100  	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
 40101  	//   "httpMethod": "PUT",
 40102  	//   "id": "dfareporting.placementStrategies.update",
 40103  	//   "parameterOrder": [
 40104  	//     "profileId"
 40105  	//   ],
 40106  	//   "parameters": {
 40107  	//     "profileId": {
 40108  	//       "description": "User profile ID associated with this request.",
 40109  	//       "format": "int64",
 40110  	//       "location": "path",
 40111  	//       "required": true,
 40112  	//       "type": "string"
 40113  	//     }
 40114  	//   },
 40115  	//   "path": "userprofiles/{profileId}/placementStrategies",
 40116  	//   "request": {
 40117  	//     "$ref": "PlacementStrategy"
 40118  	//   },
 40119  	//   "response": {
 40120  	//     "$ref": "PlacementStrategy"
 40121  	//   },
 40122  	//   "scopes": [
 40123  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40124  	//   ]
 40125  	// }
 40126  
 40127  }
 40128  
 40129  // method id "dfareporting.placements.generatetags":
 40130  
 40131  type PlacementsGeneratetagsCall struct {
 40132  	s          *Service
 40133  	profileId  int64
 40134  	urlParams_ gensupport.URLParams
 40135  	ctx_       context.Context
 40136  	header_    http.Header
 40137  }
 40138  
 40139  // Generatetags: Generates tags for a placement.
 40140  //
 40141  // - profileId: User profile ID associated with this request.
 40142  func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
 40143  	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40144  	c.profileId = profileId
 40145  	return c
 40146  }
 40147  
 40148  // CampaignId sets the optional parameter "campaignId": Generate
 40149  // placements belonging to this campaign. This is a required field.
 40150  func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
 40151  	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
 40152  	return c
 40153  }
 40154  
 40155  // PlacementIds sets the optional parameter "placementIds": Generate
 40156  // tags for these placements.
 40157  func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
 40158  	var placementIds_ []string
 40159  	for _, v := range placementIds {
 40160  		placementIds_ = append(placementIds_, fmt.Sprint(v))
 40161  	}
 40162  	c.urlParams_.SetMulti("placementIds", placementIds_)
 40163  	return c
 40164  }
 40165  
 40166  // TagFormats sets the optional parameter "tagFormats": Tag formats to
 40167  // generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can
 40168  // only be generated for 1x1 placements.
 40169  //
 40170  // Possible values:
 40171  //
 40172  //	"PLACEMENT_TAG_STANDARD"
 40173  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT"
 40174  //	"PLACEMENT_TAG_IFRAME_ILAYER"
 40175  //	"PLACEMENT_TAG_INTERNAL_REDIRECT"
 40176  //	"PLACEMENT_TAG_JAVASCRIPT"
 40177  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
 40178  //	"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
 40179  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
 40180  //	"PLACEMENT_TAG_CLICK_COMMANDS"
 40181  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
 40182  //	"PLACEMENT_TAG_TRACKING"
 40183  //	"PLACEMENT_TAG_TRACKING_IFRAME"
 40184  //	"PLACEMENT_TAG_TRACKING_JAVASCRIPT"
 40185  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
 40186  //	"PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
 40187  //	"PLACEMENT_TAG_JAVASCRIPT_LEGACY"
 40188  //	"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
 40189  //	"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
 40190  //	"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
 40191  //	"PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
 40192  func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
 40193  	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
 40194  	return c
 40195  }
 40196  
 40197  // Fields allows partial responses to be retrieved. See
 40198  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40199  // for more information.
 40200  func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
 40201  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40202  	return c
 40203  }
 40204  
 40205  // Context sets the context to be used in this call's Do method. Any
 40206  // pending HTTP request will be aborted if the provided context is
 40207  // canceled.
 40208  func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
 40209  	c.ctx_ = ctx
 40210  	return c
 40211  }
 40212  
 40213  // Header returns an http.Header that can be modified by the caller to
 40214  // add HTTP headers to the request.
 40215  func (c *PlacementsGeneratetagsCall) Header() http.Header {
 40216  	if c.header_ == nil {
 40217  		c.header_ = make(http.Header)
 40218  	}
 40219  	return c.header_
 40220  }
 40221  
 40222  func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
 40223  	reqHeaders := make(http.Header)
 40224  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40225  	for k, v := range c.header_ {
 40226  		reqHeaders[k] = v
 40227  	}
 40228  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40229  	var body io.Reader = nil
 40230  	c.urlParams_.Set("alt", alt)
 40231  	c.urlParams_.Set("prettyPrint", "false")
 40232  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
 40233  	urls += "?" + c.urlParams_.Encode()
 40234  	req, err := http.NewRequest("POST", urls, body)
 40235  	if err != nil {
 40236  		return nil, err
 40237  	}
 40238  	req.Header = reqHeaders
 40239  	googleapi.Expand(req.URL, map[string]string{
 40240  		"profileId": strconv.FormatInt(c.profileId, 10),
 40241  	})
 40242  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40243  }
 40244  
 40245  // Do executes the "dfareporting.placements.generatetags" call.
 40246  // Exactly one of *PlacementsGenerateTagsResponse or error will be
 40247  // non-nil. Any non-2xx status code is an error. Response headers are in
 40248  // either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
 40249  // response was returned at all) in error.(*googleapi.Error).Header. Use
 40250  // googleapi.IsNotModified to check whether the returned error was
 40251  // because http.StatusNotModified was returned.
 40252  func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
 40253  	gensupport.SetOptions(c.urlParams_, opts...)
 40254  	res, err := c.doRequest("json")
 40255  	if res != nil && res.StatusCode == http.StatusNotModified {
 40256  		if res.Body != nil {
 40257  			res.Body.Close()
 40258  		}
 40259  		return nil, &googleapi.Error{
 40260  			Code:   res.StatusCode,
 40261  			Header: res.Header,
 40262  		}
 40263  	}
 40264  	if err != nil {
 40265  		return nil, err
 40266  	}
 40267  	defer googleapi.CloseBody(res)
 40268  	if err := googleapi.CheckResponse(res); err != nil {
 40269  		return nil, err
 40270  	}
 40271  	ret := &PlacementsGenerateTagsResponse{
 40272  		ServerResponse: googleapi.ServerResponse{
 40273  			Header:         res.Header,
 40274  			HTTPStatusCode: res.StatusCode,
 40275  		},
 40276  	}
 40277  	target := &ret
 40278  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40279  		return nil, err
 40280  	}
 40281  	return ret, nil
 40282  	// {
 40283  	//   "description": "Generates tags for a placement.",
 40284  	//   "flatPath": "userprofiles/{profileId}/placements/generatetags",
 40285  	//   "httpMethod": "POST",
 40286  	//   "id": "dfareporting.placements.generatetags",
 40287  	//   "parameterOrder": [
 40288  	//     "profileId"
 40289  	//   ],
 40290  	//   "parameters": {
 40291  	//     "campaignId": {
 40292  	//       "description": "Generate placements belonging to this campaign. This is a required field.",
 40293  	//       "format": "int64",
 40294  	//       "location": "query",
 40295  	//       "type": "string"
 40296  	//     },
 40297  	//     "placementIds": {
 40298  	//       "description": "Generate tags for these placements.",
 40299  	//       "format": "int64",
 40300  	//       "location": "query",
 40301  	//       "repeated": true,
 40302  	//       "type": "string"
 40303  	//     },
 40304  	//     "profileId": {
 40305  	//       "description": "User profile ID associated with this request.",
 40306  	//       "format": "int64",
 40307  	//       "location": "path",
 40308  	//       "required": true,
 40309  	//       "type": "string"
 40310  	//     },
 40311  	//     "tagFormats": {
 40312  	//       "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
 40313  	//       "enum": [
 40314  	//         "PLACEMENT_TAG_STANDARD",
 40315  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
 40316  	//         "PLACEMENT_TAG_IFRAME_ILAYER",
 40317  	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
 40318  	//         "PLACEMENT_TAG_JAVASCRIPT",
 40319  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
 40320  	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
 40321  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
 40322  	//         "PLACEMENT_TAG_CLICK_COMMANDS",
 40323  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
 40324  	//         "PLACEMENT_TAG_TRACKING",
 40325  	//         "PLACEMENT_TAG_TRACKING_IFRAME",
 40326  	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
 40327  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
 40328  	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
 40329  	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
 40330  	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
 40331  	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
 40332  	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
 40333  	//         "PLACEMENT_TAG_TRACKING_THIRD_PARTY_MEASUREMENT"
 40334  	//       ],
 40335  	//       "enumDescriptions": [
 40336  	//         "",
 40337  	//         "",
 40338  	//         "",
 40339  	//         "",
 40340  	//         "",
 40341  	//         "",
 40342  	//         "",
 40343  	//         "",
 40344  	//         "",
 40345  	//         "",
 40346  	//         "",
 40347  	//         "",
 40348  	//         "",
 40349  	//         "",
 40350  	//         "",
 40351  	//         "",
 40352  	//         "",
 40353  	//         "",
 40354  	//         "",
 40355  	//         ""
 40356  	//       ],
 40357  	//       "location": "query",
 40358  	//       "repeated": true,
 40359  	//       "type": "string"
 40360  	//     }
 40361  	//   },
 40362  	//   "path": "userprofiles/{profileId}/placements/generatetags",
 40363  	//   "response": {
 40364  	//     "$ref": "PlacementsGenerateTagsResponse"
 40365  	//   },
 40366  	//   "scopes": [
 40367  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40368  	//   ]
 40369  	// }
 40370  
 40371  }
 40372  
 40373  // method id "dfareporting.placements.get":
 40374  
 40375  type PlacementsGetCall struct {
 40376  	s            *Service
 40377  	profileId    int64
 40378  	id           int64
 40379  	urlParams_   gensupport.URLParams
 40380  	ifNoneMatch_ string
 40381  	ctx_         context.Context
 40382  	header_      http.Header
 40383  }
 40384  
 40385  // Get: Gets one placement by ID.
 40386  //
 40387  // - id: Placement ID.
 40388  // - profileId: User profile ID associated with this request.
 40389  func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
 40390  	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40391  	c.profileId = profileId
 40392  	c.id = id
 40393  	return c
 40394  }
 40395  
 40396  // Fields allows partial responses to be retrieved. See
 40397  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40398  // for more information.
 40399  func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
 40400  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40401  	return c
 40402  }
 40403  
 40404  // IfNoneMatch sets the optional parameter which makes the operation
 40405  // fail if the object's ETag matches the given value. This is useful for
 40406  // getting updates only after the object has changed since the last
 40407  // request. Use googleapi.IsNotModified to check whether the response
 40408  // error from Do is the result of In-None-Match.
 40409  func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
 40410  	c.ifNoneMatch_ = entityTag
 40411  	return c
 40412  }
 40413  
 40414  // Context sets the context to be used in this call's Do method. Any
 40415  // pending HTTP request will be aborted if the provided context is
 40416  // canceled.
 40417  func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
 40418  	c.ctx_ = ctx
 40419  	return c
 40420  }
 40421  
 40422  // Header returns an http.Header that can be modified by the caller to
 40423  // add HTTP headers to the request.
 40424  func (c *PlacementsGetCall) Header() http.Header {
 40425  	if c.header_ == nil {
 40426  		c.header_ = make(http.Header)
 40427  	}
 40428  	return c.header_
 40429  }
 40430  
 40431  func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
 40432  	reqHeaders := make(http.Header)
 40433  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40434  	for k, v := range c.header_ {
 40435  		reqHeaders[k] = v
 40436  	}
 40437  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40438  	if c.ifNoneMatch_ != "" {
 40439  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40440  	}
 40441  	var body io.Reader = nil
 40442  	c.urlParams_.Set("alt", alt)
 40443  	c.urlParams_.Set("prettyPrint", "false")
 40444  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
 40445  	urls += "?" + c.urlParams_.Encode()
 40446  	req, err := http.NewRequest("GET", urls, body)
 40447  	if err != nil {
 40448  		return nil, err
 40449  	}
 40450  	req.Header = reqHeaders
 40451  	googleapi.Expand(req.URL, map[string]string{
 40452  		"profileId": strconv.FormatInt(c.profileId, 10),
 40453  		"id":        strconv.FormatInt(c.id, 10),
 40454  	})
 40455  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40456  }
 40457  
 40458  // Do executes the "dfareporting.placements.get" call.
 40459  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40460  // status code is an error. Response headers are in either
 40461  // *Placement.ServerResponse.Header or (if a response was returned at
 40462  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40463  // to check whether the returned error was because
 40464  // http.StatusNotModified was returned.
 40465  func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40466  	gensupport.SetOptions(c.urlParams_, opts...)
 40467  	res, err := c.doRequest("json")
 40468  	if res != nil && res.StatusCode == http.StatusNotModified {
 40469  		if res.Body != nil {
 40470  			res.Body.Close()
 40471  		}
 40472  		return nil, &googleapi.Error{
 40473  			Code:   res.StatusCode,
 40474  			Header: res.Header,
 40475  		}
 40476  	}
 40477  	if err != nil {
 40478  		return nil, err
 40479  	}
 40480  	defer googleapi.CloseBody(res)
 40481  	if err := googleapi.CheckResponse(res); err != nil {
 40482  		return nil, err
 40483  	}
 40484  	ret := &Placement{
 40485  		ServerResponse: googleapi.ServerResponse{
 40486  			Header:         res.Header,
 40487  			HTTPStatusCode: res.StatusCode,
 40488  		},
 40489  	}
 40490  	target := &ret
 40491  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40492  		return nil, err
 40493  	}
 40494  	return ret, nil
 40495  	// {
 40496  	//   "description": "Gets one placement by ID.",
 40497  	//   "flatPath": "userprofiles/{profileId}/placements/{id}",
 40498  	//   "httpMethod": "GET",
 40499  	//   "id": "dfareporting.placements.get",
 40500  	//   "parameterOrder": [
 40501  	//     "profileId",
 40502  	//     "id"
 40503  	//   ],
 40504  	//   "parameters": {
 40505  	//     "id": {
 40506  	//       "description": "Placement ID.",
 40507  	//       "format": "int64",
 40508  	//       "location": "path",
 40509  	//       "required": true,
 40510  	//       "type": "string"
 40511  	//     },
 40512  	//     "profileId": {
 40513  	//       "description": "User profile ID associated with this request.",
 40514  	//       "format": "int64",
 40515  	//       "location": "path",
 40516  	//       "required": true,
 40517  	//       "type": "string"
 40518  	//     }
 40519  	//   },
 40520  	//   "path": "userprofiles/{profileId}/placements/{id}",
 40521  	//   "response": {
 40522  	//     "$ref": "Placement"
 40523  	//   },
 40524  	//   "scopes": [
 40525  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40526  	//   ]
 40527  	// }
 40528  
 40529  }
 40530  
 40531  // method id "dfareporting.placements.insert":
 40532  
 40533  type PlacementsInsertCall struct {
 40534  	s          *Service
 40535  	profileId  int64
 40536  	placement  *Placement
 40537  	urlParams_ gensupport.URLParams
 40538  	ctx_       context.Context
 40539  	header_    http.Header
 40540  }
 40541  
 40542  // Insert: Inserts a new placement.
 40543  //
 40544  // - profileId: User profile ID associated with this request.
 40545  func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
 40546  	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40547  	c.profileId = profileId
 40548  	c.placement = placement
 40549  	return c
 40550  }
 40551  
 40552  // Fields allows partial responses to be retrieved. See
 40553  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40554  // for more information.
 40555  func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
 40556  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40557  	return c
 40558  }
 40559  
 40560  // Context sets the context to be used in this call's Do method. Any
 40561  // pending HTTP request will be aborted if the provided context is
 40562  // canceled.
 40563  func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
 40564  	c.ctx_ = ctx
 40565  	return c
 40566  }
 40567  
 40568  // Header returns an http.Header that can be modified by the caller to
 40569  // add HTTP headers to the request.
 40570  func (c *PlacementsInsertCall) Header() http.Header {
 40571  	if c.header_ == nil {
 40572  		c.header_ = make(http.Header)
 40573  	}
 40574  	return c.header_
 40575  }
 40576  
 40577  func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
 40578  	reqHeaders := make(http.Header)
 40579  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40580  	for k, v := range c.header_ {
 40581  		reqHeaders[k] = v
 40582  	}
 40583  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40584  	var body io.Reader = nil
 40585  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 40586  	if err != nil {
 40587  		return nil, err
 40588  	}
 40589  	reqHeaders.Set("Content-Type", "application/json")
 40590  	c.urlParams_.Set("alt", alt)
 40591  	c.urlParams_.Set("prettyPrint", "false")
 40592  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40593  	urls += "?" + c.urlParams_.Encode()
 40594  	req, err := http.NewRequest("POST", urls, body)
 40595  	if err != nil {
 40596  		return nil, err
 40597  	}
 40598  	req.Header = reqHeaders
 40599  	googleapi.Expand(req.URL, map[string]string{
 40600  		"profileId": strconv.FormatInt(c.profileId, 10),
 40601  	})
 40602  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40603  }
 40604  
 40605  // Do executes the "dfareporting.placements.insert" call.
 40606  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 40607  // status code is an error. Response headers are in either
 40608  // *Placement.ServerResponse.Header or (if a response was returned at
 40609  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 40610  // to check whether the returned error was because
 40611  // http.StatusNotModified was returned.
 40612  func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 40613  	gensupport.SetOptions(c.urlParams_, opts...)
 40614  	res, err := c.doRequest("json")
 40615  	if res != nil && res.StatusCode == http.StatusNotModified {
 40616  		if res.Body != nil {
 40617  			res.Body.Close()
 40618  		}
 40619  		return nil, &googleapi.Error{
 40620  			Code:   res.StatusCode,
 40621  			Header: res.Header,
 40622  		}
 40623  	}
 40624  	if err != nil {
 40625  		return nil, err
 40626  	}
 40627  	defer googleapi.CloseBody(res)
 40628  	if err := googleapi.CheckResponse(res); err != nil {
 40629  		return nil, err
 40630  	}
 40631  	ret := &Placement{
 40632  		ServerResponse: googleapi.ServerResponse{
 40633  			Header:         res.Header,
 40634  			HTTPStatusCode: res.StatusCode,
 40635  		},
 40636  	}
 40637  	target := &ret
 40638  	if err := gensupport.DecodeResponse(target, res); err != nil {
 40639  		return nil, err
 40640  	}
 40641  	return ret, nil
 40642  	// {
 40643  	//   "description": "Inserts a new placement.",
 40644  	//   "flatPath": "userprofiles/{profileId}/placements",
 40645  	//   "httpMethod": "POST",
 40646  	//   "id": "dfareporting.placements.insert",
 40647  	//   "parameterOrder": [
 40648  	//     "profileId"
 40649  	//   ],
 40650  	//   "parameters": {
 40651  	//     "profileId": {
 40652  	//       "description": "User profile ID associated with this request.",
 40653  	//       "format": "int64",
 40654  	//       "location": "path",
 40655  	//       "required": true,
 40656  	//       "type": "string"
 40657  	//     }
 40658  	//   },
 40659  	//   "path": "userprofiles/{profileId}/placements",
 40660  	//   "request": {
 40661  	//     "$ref": "Placement"
 40662  	//   },
 40663  	//   "response": {
 40664  	//     "$ref": "Placement"
 40665  	//   },
 40666  	//   "scopes": [
 40667  	//     "https://www.googleapis.com/auth/dfatrafficking"
 40668  	//   ]
 40669  	// }
 40670  
 40671  }
 40672  
 40673  // method id "dfareporting.placements.list":
 40674  
 40675  type PlacementsListCall struct {
 40676  	s            *Service
 40677  	profileId    int64
 40678  	urlParams_   gensupport.URLParams
 40679  	ifNoneMatch_ string
 40680  	ctx_         context.Context
 40681  	header_      http.Header
 40682  }
 40683  
 40684  // List: Retrieves a list of placements, possibly filtered. This method
 40685  // supports paging.
 40686  //
 40687  // - profileId: User profile ID associated with this request.
 40688  func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
 40689  	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 40690  	c.profileId = profileId
 40691  	return c
 40692  }
 40693  
 40694  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 40695  // only placements that belong to these advertisers.
 40696  func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
 40697  	var advertiserIds_ []string
 40698  	for _, v := range advertiserIds {
 40699  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 40700  	}
 40701  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 40702  	return c
 40703  }
 40704  
 40705  // Archived sets the optional parameter "archived": Select only archived
 40706  // placements. Don't set this field to select both archived and
 40707  // non-archived placements.
 40708  func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
 40709  	c.urlParams_.Set("archived", fmt.Sprint(archived))
 40710  	return c
 40711  }
 40712  
 40713  // CampaignIds sets the optional parameter "campaignIds": Select only
 40714  // placements that belong to these campaigns.
 40715  func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
 40716  	var campaignIds_ []string
 40717  	for _, v := range campaignIds {
 40718  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 40719  	}
 40720  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 40721  	return c
 40722  }
 40723  
 40724  // Compatibilities sets the optional parameter "compatibilities": Select
 40725  // only placements that are associated with these compatibilities.
 40726  // DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
 40727  // or on mobile devices for regular or interstitial ads respectively.
 40728  // APP and APP_INTERSTITIAL are for rendering in mobile apps.
 40729  // IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
 40730  // with the VAST standard.
 40731  //
 40732  // Possible values:
 40733  //
 40734  //	"DISPLAY"
 40735  //	"DISPLAY_INTERSTITIAL"
 40736  //	"APP"
 40737  //	"APP_INTERSTITIAL"
 40738  //	"IN_STREAM_VIDEO"
 40739  //	"IN_STREAM_AUDIO"
 40740  func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
 40741  	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
 40742  	return c
 40743  }
 40744  
 40745  // ContentCategoryIds sets the optional parameter "contentCategoryIds":
 40746  // Select only placements that are associated with these content
 40747  // categories.
 40748  func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
 40749  	var contentCategoryIds_ []string
 40750  	for _, v := range contentCategoryIds {
 40751  		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
 40752  	}
 40753  	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
 40754  	return c
 40755  }
 40756  
 40757  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 40758  // Select only placements that are associated with these directory
 40759  // sites.
 40760  func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
 40761  	var directorySiteIds_ []string
 40762  	for _, v := range directorySiteIds {
 40763  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 40764  	}
 40765  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 40766  	return c
 40767  }
 40768  
 40769  // GroupIds sets the optional parameter "groupIds": Select only
 40770  // placements that belong to these placement groups.
 40771  func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
 40772  	var groupIds_ []string
 40773  	for _, v := range groupIds {
 40774  		groupIds_ = append(groupIds_, fmt.Sprint(v))
 40775  	}
 40776  	c.urlParams_.SetMulti("groupIds", groupIds_)
 40777  	return c
 40778  }
 40779  
 40780  // Ids sets the optional parameter "ids": Select only placements with
 40781  // these IDs.
 40782  func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
 40783  	var ids_ []string
 40784  	for _, v := range ids {
 40785  		ids_ = append(ids_, fmt.Sprint(v))
 40786  	}
 40787  	c.urlParams_.SetMulti("ids", ids_)
 40788  	return c
 40789  }
 40790  
 40791  // MaxEndDate sets the optional parameter "maxEndDate": Select only
 40792  // placements or placement groups whose end date is on or before the
 40793  // specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
 40794  func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
 40795  	c.urlParams_.Set("maxEndDate", maxEndDate)
 40796  	return c
 40797  }
 40798  
 40799  // MaxResults sets the optional parameter "maxResults": Maximum number
 40800  // of results to return.
 40801  func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
 40802  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 40803  	return c
 40804  }
 40805  
 40806  // MaxStartDate sets the optional parameter "maxStartDate": Select only
 40807  // placements or placement groups whose start date is on or before the
 40808  // specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
 40809  func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
 40810  	c.urlParams_.Set("maxStartDate", maxStartDate)
 40811  	return c
 40812  }
 40813  
 40814  // MinEndDate sets the optional parameter "minEndDate": Select only
 40815  // placements or placement groups whose end date is on or after the
 40816  // specified minEndDate. The date should be formatted as "yyyy-MM-dd".
 40817  func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
 40818  	c.urlParams_.Set("minEndDate", minEndDate)
 40819  	return c
 40820  }
 40821  
 40822  // MinStartDate sets the optional parameter "minStartDate": Select only
 40823  // placements or placement groups whose start date is on or after the
 40824  // specified minStartDate. The date should be formatted as "yyyy-MM-dd".
 40825  func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
 40826  	c.urlParams_.Set("minStartDate", minStartDate)
 40827  	return c
 40828  }
 40829  
 40830  // PageToken sets the optional parameter "pageToken": Value of the
 40831  // nextPageToken from the previous result page.
 40832  func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
 40833  	c.urlParams_.Set("pageToken", pageToken)
 40834  	return c
 40835  }
 40836  
 40837  // PaymentSource sets the optional parameter "paymentSource": Select
 40838  // only placements with this payment source.
 40839  //
 40840  // Possible values:
 40841  //
 40842  //	"PLACEMENT_AGENCY_PAID"
 40843  //	"PLACEMENT_PUBLISHER_PAID"
 40844  func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
 40845  	c.urlParams_.Set("paymentSource", paymentSource)
 40846  	return c
 40847  }
 40848  
 40849  // PlacementStrategyIds sets the optional parameter
 40850  // "placementStrategyIds": Select only placements that are associated
 40851  // with these placement strategies.
 40852  func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
 40853  	var placementStrategyIds_ []string
 40854  	for _, v := range placementStrategyIds {
 40855  		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
 40856  	}
 40857  	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
 40858  	return c
 40859  }
 40860  
 40861  // PricingTypes sets the optional parameter "pricingTypes": Select only
 40862  // placements with these pricing types.
 40863  //
 40864  // Possible values:
 40865  //
 40866  //	"PRICING_TYPE_CPM"
 40867  //	"PRICING_TYPE_CPC"
 40868  //	"PRICING_TYPE_CPA"
 40869  //	"PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
 40870  //	"PRICING_TYPE_FLAT_RATE_CLICKS"
 40871  //	"PRICING_TYPE_CPM_ACTIVEVIEW"
 40872  func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
 40873  	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
 40874  	return c
 40875  }
 40876  
 40877  // SearchString sets the optional parameter "searchString": Allows
 40878  // searching for placements by name or ID. Wildcards (*) are allowed.
 40879  // For example, "placement*2015" will return placements with names like
 40880  // "placement June 2015", "placement May 2015", or simply "placements
 40881  // 2015". Most of the searches also add wildcards implicitly at the
 40882  // start and the end of the search string. For example, a search string
 40883  // of "placement" will match placements with name "my placement",
 40884  // "placement 2015", or simply "placement" .
 40885  func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
 40886  	c.urlParams_.Set("searchString", searchString)
 40887  	return c
 40888  }
 40889  
 40890  // SiteIds sets the optional parameter "siteIds": Select only placements
 40891  // that are associated with these sites.
 40892  func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
 40893  	var siteIds_ []string
 40894  	for _, v := range siteIds {
 40895  		siteIds_ = append(siteIds_, fmt.Sprint(v))
 40896  	}
 40897  	c.urlParams_.SetMulti("siteIds", siteIds_)
 40898  	return c
 40899  }
 40900  
 40901  // SizeIds sets the optional parameter "sizeIds": Select only placements
 40902  // that are associated with these sizes.
 40903  func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
 40904  	var sizeIds_ []string
 40905  	for _, v := range sizeIds {
 40906  		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
 40907  	}
 40908  	c.urlParams_.SetMulti("sizeIds", sizeIds_)
 40909  	return c
 40910  }
 40911  
 40912  // SortField sets the optional parameter "sortField": Field by which to
 40913  // sort the list.
 40914  //
 40915  // Possible values:
 40916  //
 40917  //	"ID" (default)
 40918  //	"NAME"
 40919  func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
 40920  	c.urlParams_.Set("sortField", sortField)
 40921  	return c
 40922  }
 40923  
 40924  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 40925  // results.
 40926  //
 40927  // Possible values:
 40928  //
 40929  //	"ASCENDING" (default)
 40930  //	"DESCENDING"
 40931  func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
 40932  	c.urlParams_.Set("sortOrder", sortOrder)
 40933  	return c
 40934  }
 40935  
 40936  // Fields allows partial responses to be retrieved. See
 40937  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 40938  // for more information.
 40939  func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
 40940  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 40941  	return c
 40942  }
 40943  
 40944  // IfNoneMatch sets the optional parameter which makes the operation
 40945  // fail if the object's ETag matches the given value. This is useful for
 40946  // getting updates only after the object has changed since the last
 40947  // request. Use googleapi.IsNotModified to check whether the response
 40948  // error from Do is the result of In-None-Match.
 40949  func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
 40950  	c.ifNoneMatch_ = entityTag
 40951  	return c
 40952  }
 40953  
 40954  // Context sets the context to be used in this call's Do method. Any
 40955  // pending HTTP request will be aborted if the provided context is
 40956  // canceled.
 40957  func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
 40958  	c.ctx_ = ctx
 40959  	return c
 40960  }
 40961  
 40962  // Header returns an http.Header that can be modified by the caller to
 40963  // add HTTP headers to the request.
 40964  func (c *PlacementsListCall) Header() http.Header {
 40965  	if c.header_ == nil {
 40966  		c.header_ = make(http.Header)
 40967  	}
 40968  	return c.header_
 40969  }
 40970  
 40971  func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
 40972  	reqHeaders := make(http.Header)
 40973  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 40974  	for k, v := range c.header_ {
 40975  		reqHeaders[k] = v
 40976  	}
 40977  	reqHeaders.Set("User-Agent", c.s.userAgent())
 40978  	if c.ifNoneMatch_ != "" {
 40979  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 40980  	}
 40981  	var body io.Reader = nil
 40982  	c.urlParams_.Set("alt", alt)
 40983  	c.urlParams_.Set("prettyPrint", "false")
 40984  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 40985  	urls += "?" + c.urlParams_.Encode()
 40986  	req, err := http.NewRequest("GET", urls, body)
 40987  	if err != nil {
 40988  		return nil, err
 40989  	}
 40990  	req.Header = reqHeaders
 40991  	googleapi.Expand(req.URL, map[string]string{
 40992  		"profileId": strconv.FormatInt(c.profileId, 10),
 40993  	})
 40994  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 40995  }
 40996  
 40997  // Do executes the "dfareporting.placements.list" call.
 40998  // Exactly one of *PlacementsListResponse or error will be non-nil. Any
 40999  // non-2xx status code is an error. Response headers are in either
 41000  // *PlacementsListResponse.ServerResponse.Header or (if a response was
 41001  // returned at all) in error.(*googleapi.Error).Header. Use
 41002  // googleapi.IsNotModified to check whether the returned error was
 41003  // because http.StatusNotModified was returned.
 41004  func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
 41005  	gensupport.SetOptions(c.urlParams_, opts...)
 41006  	res, err := c.doRequest("json")
 41007  	if res != nil && res.StatusCode == http.StatusNotModified {
 41008  		if res.Body != nil {
 41009  			res.Body.Close()
 41010  		}
 41011  		return nil, &googleapi.Error{
 41012  			Code:   res.StatusCode,
 41013  			Header: res.Header,
 41014  		}
 41015  	}
 41016  	if err != nil {
 41017  		return nil, err
 41018  	}
 41019  	defer googleapi.CloseBody(res)
 41020  	if err := googleapi.CheckResponse(res); err != nil {
 41021  		return nil, err
 41022  	}
 41023  	ret := &PlacementsListResponse{
 41024  		ServerResponse: googleapi.ServerResponse{
 41025  			Header:         res.Header,
 41026  			HTTPStatusCode: res.StatusCode,
 41027  		},
 41028  	}
 41029  	target := &ret
 41030  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41031  		return nil, err
 41032  	}
 41033  	return ret, nil
 41034  	// {
 41035  	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
 41036  	//   "flatPath": "userprofiles/{profileId}/placements",
 41037  	//   "httpMethod": "GET",
 41038  	//   "id": "dfareporting.placements.list",
 41039  	//   "parameterOrder": [
 41040  	//     "profileId"
 41041  	//   ],
 41042  	//   "parameters": {
 41043  	//     "advertiserIds": {
 41044  	//       "description": "Select only placements that belong to these advertisers.",
 41045  	//       "format": "int64",
 41046  	//       "location": "query",
 41047  	//       "repeated": true,
 41048  	//       "type": "string"
 41049  	//     },
 41050  	//     "archived": {
 41051  	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
 41052  	//       "location": "query",
 41053  	//       "type": "boolean"
 41054  	//     },
 41055  	//     "campaignIds": {
 41056  	//       "description": "Select only placements that belong to these campaigns.",
 41057  	//       "format": "int64",
 41058  	//       "location": "query",
 41059  	//       "repeated": true,
 41060  	//       "type": "string"
 41061  	//     },
 41062  	//     "compatibilities": {
 41063  	//       "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.",
 41064  	//       "enum": [
 41065  	//         "DISPLAY",
 41066  	//         "DISPLAY_INTERSTITIAL",
 41067  	//         "APP",
 41068  	//         "APP_INTERSTITIAL",
 41069  	//         "IN_STREAM_VIDEO",
 41070  	//         "IN_STREAM_AUDIO"
 41071  	//       ],
 41072  	//       "enumDescriptions": [
 41073  	//         "",
 41074  	//         "",
 41075  	//         "",
 41076  	//         "",
 41077  	//         "",
 41078  	//         ""
 41079  	//       ],
 41080  	//       "location": "query",
 41081  	//       "repeated": true,
 41082  	//       "type": "string"
 41083  	//     },
 41084  	//     "contentCategoryIds": {
 41085  	//       "description": "Select only placements that are associated with these content categories.",
 41086  	//       "format": "int64",
 41087  	//       "location": "query",
 41088  	//       "repeated": true,
 41089  	//       "type": "string"
 41090  	//     },
 41091  	//     "directorySiteIds": {
 41092  	//       "description": "Select only placements that are associated with these directory sites.",
 41093  	//       "format": "int64",
 41094  	//       "location": "query",
 41095  	//       "repeated": true,
 41096  	//       "type": "string"
 41097  	//     },
 41098  	//     "groupIds": {
 41099  	//       "description": "Select only placements that belong to these placement groups.",
 41100  	//       "format": "int64",
 41101  	//       "location": "query",
 41102  	//       "repeated": true,
 41103  	//       "type": "string"
 41104  	//     },
 41105  	//     "ids": {
 41106  	//       "description": "Select only placements with these IDs.",
 41107  	//       "format": "int64",
 41108  	//       "location": "query",
 41109  	//       "repeated": true,
 41110  	//       "type": "string"
 41111  	//     },
 41112  	//     "maxEndDate": {
 41113  	//       "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\".",
 41114  	//       "location": "query",
 41115  	//       "type": "string"
 41116  	//     },
 41117  	//     "maxResults": {
 41118  	//       "default": "1000",
 41119  	//       "description": "Maximum number of results to return.",
 41120  	//       "format": "int32",
 41121  	//       "location": "query",
 41122  	//       "maximum": "1000",
 41123  	//       "minimum": "0",
 41124  	//       "type": "integer"
 41125  	//     },
 41126  	//     "maxStartDate": {
 41127  	//       "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\".",
 41128  	//       "location": "query",
 41129  	//       "type": "string"
 41130  	//     },
 41131  	//     "minEndDate": {
 41132  	//       "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\".",
 41133  	//       "location": "query",
 41134  	//       "type": "string"
 41135  	//     },
 41136  	//     "minStartDate": {
 41137  	//       "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\".",
 41138  	//       "location": "query",
 41139  	//       "type": "string"
 41140  	//     },
 41141  	//     "pageToken": {
 41142  	//       "description": "Value of the nextPageToken from the previous result page.",
 41143  	//       "location": "query",
 41144  	//       "type": "string"
 41145  	//     },
 41146  	//     "paymentSource": {
 41147  	//       "description": "Select only placements with this payment source.",
 41148  	//       "enum": [
 41149  	//         "PLACEMENT_AGENCY_PAID",
 41150  	//         "PLACEMENT_PUBLISHER_PAID"
 41151  	//       ],
 41152  	//       "enumDescriptions": [
 41153  	//         "",
 41154  	//         ""
 41155  	//       ],
 41156  	//       "location": "query",
 41157  	//       "type": "string"
 41158  	//     },
 41159  	//     "placementStrategyIds": {
 41160  	//       "description": "Select only placements that are associated with these placement strategies.",
 41161  	//       "format": "int64",
 41162  	//       "location": "query",
 41163  	//       "repeated": true,
 41164  	//       "type": "string"
 41165  	//     },
 41166  	//     "pricingTypes": {
 41167  	//       "description": "Select only placements with these pricing types.",
 41168  	//       "enum": [
 41169  	//         "PRICING_TYPE_CPM",
 41170  	//         "PRICING_TYPE_CPC",
 41171  	//         "PRICING_TYPE_CPA",
 41172  	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
 41173  	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
 41174  	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
 41175  	//       ],
 41176  	//       "enumDescriptions": [
 41177  	//         "",
 41178  	//         "",
 41179  	//         "",
 41180  	//         "",
 41181  	//         "",
 41182  	//         ""
 41183  	//       ],
 41184  	//       "location": "query",
 41185  	//       "repeated": true,
 41186  	//       "type": "string"
 41187  	//     },
 41188  	//     "profileId": {
 41189  	//       "description": "User profile ID associated with this request.",
 41190  	//       "format": "int64",
 41191  	//       "location": "path",
 41192  	//       "required": true,
 41193  	//       "type": "string"
 41194  	//     },
 41195  	//     "searchString": {
 41196  	//       "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\" .",
 41197  	//       "location": "query",
 41198  	//       "type": "string"
 41199  	//     },
 41200  	//     "siteIds": {
 41201  	//       "description": "Select only placements that are associated with these sites.",
 41202  	//       "format": "int64",
 41203  	//       "location": "query",
 41204  	//       "repeated": true,
 41205  	//       "type": "string"
 41206  	//     },
 41207  	//     "sizeIds": {
 41208  	//       "description": "Select only placements that are associated with these sizes.",
 41209  	//       "format": "int64",
 41210  	//       "location": "query",
 41211  	//       "repeated": true,
 41212  	//       "type": "string"
 41213  	//     },
 41214  	//     "sortField": {
 41215  	//       "default": "ID",
 41216  	//       "description": "Field by which to sort the list.",
 41217  	//       "enum": [
 41218  	//         "ID",
 41219  	//         "NAME"
 41220  	//       ],
 41221  	//       "enumDescriptions": [
 41222  	//         "",
 41223  	//         ""
 41224  	//       ],
 41225  	//       "location": "query",
 41226  	//       "type": "string"
 41227  	//     },
 41228  	//     "sortOrder": {
 41229  	//       "default": "ASCENDING",
 41230  	//       "description": "Order of sorted results.",
 41231  	//       "enum": [
 41232  	//         "ASCENDING",
 41233  	//         "DESCENDING"
 41234  	//       ],
 41235  	//       "enumDescriptions": [
 41236  	//         "",
 41237  	//         ""
 41238  	//       ],
 41239  	//       "location": "query",
 41240  	//       "type": "string"
 41241  	//     }
 41242  	//   },
 41243  	//   "path": "userprofiles/{profileId}/placements",
 41244  	//   "response": {
 41245  	//     "$ref": "PlacementsListResponse"
 41246  	//   },
 41247  	//   "scopes": [
 41248  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41249  	//   ]
 41250  	// }
 41251  
 41252  }
 41253  
 41254  // Pages invokes f for each page of results.
 41255  // A non-nil error returned from f will halt the iteration.
 41256  // The provided context supersedes any context provided to the Context method.
 41257  func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
 41258  	c.ctx_ = ctx
 41259  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 41260  	for {
 41261  		x, err := c.Do()
 41262  		if err != nil {
 41263  			return err
 41264  		}
 41265  		if err := f(x); err != nil {
 41266  			return err
 41267  		}
 41268  		if x.NextPageToken == "" {
 41269  			return nil
 41270  		}
 41271  		c.PageToken(x.NextPageToken)
 41272  	}
 41273  }
 41274  
 41275  // method id "dfareporting.placements.patch":
 41276  
 41277  type PlacementsPatchCall struct {
 41278  	s          *Service
 41279  	profileId  int64
 41280  	placement  *Placement
 41281  	urlParams_ gensupport.URLParams
 41282  	ctx_       context.Context
 41283  	header_    http.Header
 41284  }
 41285  
 41286  // Patch: Updates an existing placement. This method supports patch
 41287  // semantics.
 41288  //
 41289  // - id: Placement ID.
 41290  // - profileId: User profile ID associated with this request.
 41291  func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
 41292  	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41293  	c.profileId = profileId
 41294  	c.urlParams_.Set("id", fmt.Sprint(id))
 41295  	c.placement = placement
 41296  	return c
 41297  }
 41298  
 41299  // Fields allows partial responses to be retrieved. See
 41300  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41301  // for more information.
 41302  func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
 41303  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41304  	return c
 41305  }
 41306  
 41307  // Context sets the context to be used in this call's Do method. Any
 41308  // pending HTTP request will be aborted if the provided context is
 41309  // canceled.
 41310  func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
 41311  	c.ctx_ = ctx
 41312  	return c
 41313  }
 41314  
 41315  // Header returns an http.Header that can be modified by the caller to
 41316  // add HTTP headers to the request.
 41317  func (c *PlacementsPatchCall) Header() http.Header {
 41318  	if c.header_ == nil {
 41319  		c.header_ = make(http.Header)
 41320  	}
 41321  	return c.header_
 41322  }
 41323  
 41324  func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
 41325  	reqHeaders := make(http.Header)
 41326  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41327  	for k, v := range c.header_ {
 41328  		reqHeaders[k] = v
 41329  	}
 41330  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41331  	var body io.Reader = nil
 41332  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 41333  	if err != nil {
 41334  		return nil, err
 41335  	}
 41336  	reqHeaders.Set("Content-Type", "application/json")
 41337  	c.urlParams_.Set("alt", alt)
 41338  	c.urlParams_.Set("prettyPrint", "false")
 41339  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 41340  	urls += "?" + c.urlParams_.Encode()
 41341  	req, err := http.NewRequest("PATCH", urls, body)
 41342  	if err != nil {
 41343  		return nil, err
 41344  	}
 41345  	req.Header = reqHeaders
 41346  	googleapi.Expand(req.URL, map[string]string{
 41347  		"profileId": strconv.FormatInt(c.profileId, 10),
 41348  	})
 41349  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41350  }
 41351  
 41352  // Do executes the "dfareporting.placements.patch" call.
 41353  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 41354  // status code is an error. Response headers are in either
 41355  // *Placement.ServerResponse.Header or (if a response was returned at
 41356  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41357  // to check whether the returned error was because
 41358  // http.StatusNotModified was returned.
 41359  func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 41360  	gensupport.SetOptions(c.urlParams_, opts...)
 41361  	res, err := c.doRequest("json")
 41362  	if res != nil && res.StatusCode == http.StatusNotModified {
 41363  		if res.Body != nil {
 41364  			res.Body.Close()
 41365  		}
 41366  		return nil, &googleapi.Error{
 41367  			Code:   res.StatusCode,
 41368  			Header: res.Header,
 41369  		}
 41370  	}
 41371  	if err != nil {
 41372  		return nil, err
 41373  	}
 41374  	defer googleapi.CloseBody(res)
 41375  	if err := googleapi.CheckResponse(res); err != nil {
 41376  		return nil, err
 41377  	}
 41378  	ret := &Placement{
 41379  		ServerResponse: googleapi.ServerResponse{
 41380  			Header:         res.Header,
 41381  			HTTPStatusCode: res.StatusCode,
 41382  		},
 41383  	}
 41384  	target := &ret
 41385  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41386  		return nil, err
 41387  	}
 41388  	return ret, nil
 41389  	// {
 41390  	//   "description": "Updates an existing placement. This method supports patch semantics.",
 41391  	//   "flatPath": "userprofiles/{profileId}/placements",
 41392  	//   "httpMethod": "PATCH",
 41393  	//   "id": "dfareporting.placements.patch",
 41394  	//   "parameterOrder": [
 41395  	//     "profileId",
 41396  	//     "id"
 41397  	//   ],
 41398  	//   "parameters": {
 41399  	//     "id": {
 41400  	//       "description": "Placement ID.",
 41401  	//       "format": "int64",
 41402  	//       "location": "query",
 41403  	//       "required": true,
 41404  	//       "type": "string"
 41405  	//     },
 41406  	//     "profileId": {
 41407  	//       "description": "User profile ID associated with this request.",
 41408  	//       "format": "int64",
 41409  	//       "location": "path",
 41410  	//       "required": true,
 41411  	//       "type": "string"
 41412  	//     }
 41413  	//   },
 41414  	//   "path": "userprofiles/{profileId}/placements",
 41415  	//   "request": {
 41416  	//     "$ref": "Placement"
 41417  	//   },
 41418  	//   "response": {
 41419  	//     "$ref": "Placement"
 41420  	//   },
 41421  	//   "scopes": [
 41422  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41423  	//   ]
 41424  	// }
 41425  
 41426  }
 41427  
 41428  // method id "dfareporting.placements.update":
 41429  
 41430  type PlacementsUpdateCall struct {
 41431  	s          *Service
 41432  	profileId  int64
 41433  	placement  *Placement
 41434  	urlParams_ gensupport.URLParams
 41435  	ctx_       context.Context
 41436  	header_    http.Header
 41437  }
 41438  
 41439  // Update: Updates an existing placement.
 41440  //
 41441  // - profileId: User profile ID associated with this request.
 41442  func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
 41443  	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41444  	c.profileId = profileId
 41445  	c.placement = placement
 41446  	return c
 41447  }
 41448  
 41449  // Fields allows partial responses to be retrieved. See
 41450  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41451  // for more information.
 41452  func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
 41453  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41454  	return c
 41455  }
 41456  
 41457  // Context sets the context to be used in this call's Do method. Any
 41458  // pending HTTP request will be aborted if the provided context is
 41459  // canceled.
 41460  func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
 41461  	c.ctx_ = ctx
 41462  	return c
 41463  }
 41464  
 41465  // Header returns an http.Header that can be modified by the caller to
 41466  // add HTTP headers to the request.
 41467  func (c *PlacementsUpdateCall) Header() http.Header {
 41468  	if c.header_ == nil {
 41469  		c.header_ = make(http.Header)
 41470  	}
 41471  	return c.header_
 41472  }
 41473  
 41474  func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
 41475  	reqHeaders := make(http.Header)
 41476  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41477  	for k, v := range c.header_ {
 41478  		reqHeaders[k] = v
 41479  	}
 41480  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41481  	var body io.Reader = nil
 41482  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
 41483  	if err != nil {
 41484  		return nil, err
 41485  	}
 41486  	reqHeaders.Set("Content-Type", "application/json")
 41487  	c.urlParams_.Set("alt", alt)
 41488  	c.urlParams_.Set("prettyPrint", "false")
 41489  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
 41490  	urls += "?" + c.urlParams_.Encode()
 41491  	req, err := http.NewRequest("PUT", urls, body)
 41492  	if err != nil {
 41493  		return nil, err
 41494  	}
 41495  	req.Header = reqHeaders
 41496  	googleapi.Expand(req.URL, map[string]string{
 41497  		"profileId": strconv.FormatInt(c.profileId, 10),
 41498  	})
 41499  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41500  }
 41501  
 41502  // Do executes the "dfareporting.placements.update" call.
 41503  // Exactly one of *Placement or error will be non-nil. Any non-2xx
 41504  // status code is an error. Response headers are in either
 41505  // *Placement.ServerResponse.Header or (if a response was returned at
 41506  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41507  // to check whether the returned error was because
 41508  // http.StatusNotModified was returned.
 41509  func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
 41510  	gensupport.SetOptions(c.urlParams_, opts...)
 41511  	res, err := c.doRequest("json")
 41512  	if res != nil && res.StatusCode == http.StatusNotModified {
 41513  		if res.Body != nil {
 41514  			res.Body.Close()
 41515  		}
 41516  		return nil, &googleapi.Error{
 41517  			Code:   res.StatusCode,
 41518  			Header: res.Header,
 41519  		}
 41520  	}
 41521  	if err != nil {
 41522  		return nil, err
 41523  	}
 41524  	defer googleapi.CloseBody(res)
 41525  	if err := googleapi.CheckResponse(res); err != nil {
 41526  		return nil, err
 41527  	}
 41528  	ret := &Placement{
 41529  		ServerResponse: googleapi.ServerResponse{
 41530  			Header:         res.Header,
 41531  			HTTPStatusCode: res.StatusCode,
 41532  		},
 41533  	}
 41534  	target := &ret
 41535  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41536  		return nil, err
 41537  	}
 41538  	return ret, nil
 41539  	// {
 41540  	//   "description": "Updates an existing placement.",
 41541  	//   "flatPath": "userprofiles/{profileId}/placements",
 41542  	//   "httpMethod": "PUT",
 41543  	//   "id": "dfareporting.placements.update",
 41544  	//   "parameterOrder": [
 41545  	//     "profileId"
 41546  	//   ],
 41547  	//   "parameters": {
 41548  	//     "profileId": {
 41549  	//       "description": "User profile ID associated with this request.",
 41550  	//       "format": "int64",
 41551  	//       "location": "path",
 41552  	//       "required": true,
 41553  	//       "type": "string"
 41554  	//     }
 41555  	//   },
 41556  	//   "path": "userprofiles/{profileId}/placements",
 41557  	//   "request": {
 41558  	//     "$ref": "Placement"
 41559  	//   },
 41560  	//   "response": {
 41561  	//     "$ref": "Placement"
 41562  	//   },
 41563  	//   "scopes": [
 41564  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41565  	//   ]
 41566  	// }
 41567  
 41568  }
 41569  
 41570  // method id "dfareporting.platformTypes.get":
 41571  
 41572  type PlatformTypesGetCall struct {
 41573  	s            *Service
 41574  	profileId    int64
 41575  	id           int64
 41576  	urlParams_   gensupport.URLParams
 41577  	ifNoneMatch_ string
 41578  	ctx_         context.Context
 41579  	header_      http.Header
 41580  }
 41581  
 41582  // Get: Gets one platform type by ID.
 41583  //
 41584  // - id: Platform type ID.
 41585  // - profileId: User profile ID associated with this request.
 41586  func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
 41587  	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41588  	c.profileId = profileId
 41589  	c.id = id
 41590  	return c
 41591  }
 41592  
 41593  // Fields allows partial responses to be retrieved. See
 41594  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41595  // for more information.
 41596  func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
 41597  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41598  	return c
 41599  }
 41600  
 41601  // IfNoneMatch sets the optional parameter which makes the operation
 41602  // fail if the object's ETag matches the given value. This is useful for
 41603  // getting updates only after the object has changed since the last
 41604  // request. Use googleapi.IsNotModified to check whether the response
 41605  // error from Do is the result of In-None-Match.
 41606  func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
 41607  	c.ifNoneMatch_ = entityTag
 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 *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
 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 *PlatformTypesGetCall) Header() http.Header {
 41622  	if c.header_ == nil {
 41623  		c.header_ = make(http.Header)
 41624  	}
 41625  	return c.header_
 41626  }
 41627  
 41628  func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
 41629  	reqHeaders := make(http.Header)
 41630  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41631  	for k, v := range c.header_ {
 41632  		reqHeaders[k] = v
 41633  	}
 41634  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41635  	if c.ifNoneMatch_ != "" {
 41636  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41637  	}
 41638  	var body io.Reader = nil
 41639  	c.urlParams_.Set("alt", alt)
 41640  	c.urlParams_.Set("prettyPrint", "false")
 41641  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
 41642  	urls += "?" + c.urlParams_.Encode()
 41643  	req, err := http.NewRequest("GET", urls, body)
 41644  	if err != nil {
 41645  		return nil, err
 41646  	}
 41647  	req.Header = reqHeaders
 41648  	googleapi.Expand(req.URL, map[string]string{
 41649  		"profileId": strconv.FormatInt(c.profileId, 10),
 41650  		"id":        strconv.FormatInt(c.id, 10),
 41651  	})
 41652  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41653  }
 41654  
 41655  // Do executes the "dfareporting.platformTypes.get" call.
 41656  // Exactly one of *PlatformType or error will be non-nil. Any non-2xx
 41657  // status code is an error. Response headers are in either
 41658  // *PlatformType.ServerResponse.Header or (if a response was returned at
 41659  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41660  // to check whether the returned error was because
 41661  // http.StatusNotModified was returned.
 41662  func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
 41663  	gensupport.SetOptions(c.urlParams_, opts...)
 41664  	res, err := c.doRequest("json")
 41665  	if res != nil && res.StatusCode == http.StatusNotModified {
 41666  		if res.Body != nil {
 41667  			res.Body.Close()
 41668  		}
 41669  		return nil, &googleapi.Error{
 41670  			Code:   res.StatusCode,
 41671  			Header: res.Header,
 41672  		}
 41673  	}
 41674  	if err != nil {
 41675  		return nil, err
 41676  	}
 41677  	defer googleapi.CloseBody(res)
 41678  	if err := googleapi.CheckResponse(res); err != nil {
 41679  		return nil, err
 41680  	}
 41681  	ret := &PlatformType{
 41682  		ServerResponse: googleapi.ServerResponse{
 41683  			Header:         res.Header,
 41684  			HTTPStatusCode: res.StatusCode,
 41685  		},
 41686  	}
 41687  	target := &ret
 41688  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41689  		return nil, err
 41690  	}
 41691  	return ret, nil
 41692  	// {
 41693  	//   "description": "Gets one platform type by ID.",
 41694  	//   "flatPath": "userprofiles/{profileId}/platformTypes/{id}",
 41695  	//   "httpMethod": "GET",
 41696  	//   "id": "dfareporting.platformTypes.get",
 41697  	//   "parameterOrder": [
 41698  	//     "profileId",
 41699  	//     "id"
 41700  	//   ],
 41701  	//   "parameters": {
 41702  	//     "id": {
 41703  	//       "description": "Platform type ID.",
 41704  	//       "format": "int64",
 41705  	//       "location": "path",
 41706  	//       "required": true,
 41707  	//       "type": "string"
 41708  	//     },
 41709  	//     "profileId": {
 41710  	//       "description": "User profile ID associated with this request.",
 41711  	//       "format": "int64",
 41712  	//       "location": "path",
 41713  	//       "required": true,
 41714  	//       "type": "string"
 41715  	//     }
 41716  	//   },
 41717  	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
 41718  	//   "response": {
 41719  	//     "$ref": "PlatformType"
 41720  	//   },
 41721  	//   "scopes": [
 41722  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41723  	//   ]
 41724  	// }
 41725  
 41726  }
 41727  
 41728  // method id "dfareporting.platformTypes.list":
 41729  
 41730  type PlatformTypesListCall struct {
 41731  	s            *Service
 41732  	profileId    int64
 41733  	urlParams_   gensupport.URLParams
 41734  	ifNoneMatch_ string
 41735  	ctx_         context.Context
 41736  	header_      http.Header
 41737  }
 41738  
 41739  // List: Retrieves a list of platform types.
 41740  //
 41741  // - profileId: User profile ID associated with this request.
 41742  func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
 41743  	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41744  	c.profileId = profileId
 41745  	return c
 41746  }
 41747  
 41748  // Fields allows partial responses to be retrieved. See
 41749  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41750  // for more information.
 41751  func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
 41752  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41753  	return c
 41754  }
 41755  
 41756  // IfNoneMatch sets the optional parameter which makes the operation
 41757  // fail if the object's ETag matches the given value. This is useful for
 41758  // getting updates only after the object has changed since the last
 41759  // request. Use googleapi.IsNotModified to check whether the response
 41760  // error from Do is the result of In-None-Match.
 41761  func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
 41762  	c.ifNoneMatch_ = entityTag
 41763  	return c
 41764  }
 41765  
 41766  // Context sets the context to be used in this call's Do method. Any
 41767  // pending HTTP request will be aborted if the provided context is
 41768  // canceled.
 41769  func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
 41770  	c.ctx_ = ctx
 41771  	return c
 41772  }
 41773  
 41774  // Header returns an http.Header that can be modified by the caller to
 41775  // add HTTP headers to the request.
 41776  func (c *PlatformTypesListCall) Header() http.Header {
 41777  	if c.header_ == nil {
 41778  		c.header_ = make(http.Header)
 41779  	}
 41780  	return c.header_
 41781  }
 41782  
 41783  func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
 41784  	reqHeaders := make(http.Header)
 41785  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41786  	for k, v := range c.header_ {
 41787  		reqHeaders[k] = v
 41788  	}
 41789  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41790  	if c.ifNoneMatch_ != "" {
 41791  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41792  	}
 41793  	var body io.Reader = nil
 41794  	c.urlParams_.Set("alt", alt)
 41795  	c.urlParams_.Set("prettyPrint", "false")
 41796  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
 41797  	urls += "?" + c.urlParams_.Encode()
 41798  	req, err := http.NewRequest("GET", urls, body)
 41799  	if err != nil {
 41800  		return nil, err
 41801  	}
 41802  	req.Header = reqHeaders
 41803  	googleapi.Expand(req.URL, map[string]string{
 41804  		"profileId": strconv.FormatInt(c.profileId, 10),
 41805  	})
 41806  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41807  }
 41808  
 41809  // Do executes the "dfareporting.platformTypes.list" call.
 41810  // Exactly one of *PlatformTypesListResponse or error will be non-nil.
 41811  // Any non-2xx status code is an error. Response headers are in either
 41812  // *PlatformTypesListResponse.ServerResponse.Header or (if a response
 41813  // was returned at all) in error.(*googleapi.Error).Header. Use
 41814  // googleapi.IsNotModified to check whether the returned error was
 41815  // because http.StatusNotModified was returned.
 41816  func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
 41817  	gensupport.SetOptions(c.urlParams_, opts...)
 41818  	res, err := c.doRequest("json")
 41819  	if res != nil && res.StatusCode == http.StatusNotModified {
 41820  		if res.Body != nil {
 41821  			res.Body.Close()
 41822  		}
 41823  		return nil, &googleapi.Error{
 41824  			Code:   res.StatusCode,
 41825  			Header: res.Header,
 41826  		}
 41827  	}
 41828  	if err != nil {
 41829  		return nil, err
 41830  	}
 41831  	defer googleapi.CloseBody(res)
 41832  	if err := googleapi.CheckResponse(res); err != nil {
 41833  		return nil, err
 41834  	}
 41835  	ret := &PlatformTypesListResponse{
 41836  		ServerResponse: googleapi.ServerResponse{
 41837  			Header:         res.Header,
 41838  			HTTPStatusCode: res.StatusCode,
 41839  		},
 41840  	}
 41841  	target := &ret
 41842  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41843  		return nil, err
 41844  	}
 41845  	return ret, nil
 41846  	// {
 41847  	//   "description": "Retrieves a list of platform types.",
 41848  	//   "flatPath": "userprofiles/{profileId}/platformTypes",
 41849  	//   "httpMethod": "GET",
 41850  	//   "id": "dfareporting.platformTypes.list",
 41851  	//   "parameterOrder": [
 41852  	//     "profileId"
 41853  	//   ],
 41854  	//   "parameters": {
 41855  	//     "profileId": {
 41856  	//       "description": "User profile ID associated with this request.",
 41857  	//       "format": "int64",
 41858  	//       "location": "path",
 41859  	//       "required": true,
 41860  	//       "type": "string"
 41861  	//     }
 41862  	//   },
 41863  	//   "path": "userprofiles/{profileId}/platformTypes",
 41864  	//   "response": {
 41865  	//     "$ref": "PlatformTypesListResponse"
 41866  	//   },
 41867  	//   "scopes": [
 41868  	//     "https://www.googleapis.com/auth/dfatrafficking"
 41869  	//   ]
 41870  	// }
 41871  
 41872  }
 41873  
 41874  // method id "dfareporting.postalCodes.get":
 41875  
 41876  type PostalCodesGetCall struct {
 41877  	s            *Service
 41878  	profileId    int64
 41879  	code         string
 41880  	urlParams_   gensupport.URLParams
 41881  	ifNoneMatch_ string
 41882  	ctx_         context.Context
 41883  	header_      http.Header
 41884  }
 41885  
 41886  // Get: Gets one postal code by ID.
 41887  //
 41888  // - code: Postal code ID.
 41889  // - profileId: User profile ID associated with this request.
 41890  func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
 41891  	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 41892  	c.profileId = profileId
 41893  	c.code = code
 41894  	return c
 41895  }
 41896  
 41897  // Fields allows partial responses to be retrieved. See
 41898  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 41899  // for more information.
 41900  func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
 41901  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 41902  	return c
 41903  }
 41904  
 41905  // IfNoneMatch sets the optional parameter which makes the operation
 41906  // fail if the object's ETag matches the given value. This is useful for
 41907  // getting updates only after the object has changed since the last
 41908  // request. Use googleapi.IsNotModified to check whether the response
 41909  // error from Do is the result of In-None-Match.
 41910  func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
 41911  	c.ifNoneMatch_ = entityTag
 41912  	return c
 41913  }
 41914  
 41915  // Context sets the context to be used in this call's Do method. Any
 41916  // pending HTTP request will be aborted if the provided context is
 41917  // canceled.
 41918  func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
 41919  	c.ctx_ = ctx
 41920  	return c
 41921  }
 41922  
 41923  // Header returns an http.Header that can be modified by the caller to
 41924  // add HTTP headers to the request.
 41925  func (c *PostalCodesGetCall) Header() http.Header {
 41926  	if c.header_ == nil {
 41927  		c.header_ = make(http.Header)
 41928  	}
 41929  	return c.header_
 41930  }
 41931  
 41932  func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
 41933  	reqHeaders := make(http.Header)
 41934  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 41935  	for k, v := range c.header_ {
 41936  		reqHeaders[k] = v
 41937  	}
 41938  	reqHeaders.Set("User-Agent", c.s.userAgent())
 41939  	if c.ifNoneMatch_ != "" {
 41940  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 41941  	}
 41942  	var body io.Reader = nil
 41943  	c.urlParams_.Set("alt", alt)
 41944  	c.urlParams_.Set("prettyPrint", "false")
 41945  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
 41946  	urls += "?" + c.urlParams_.Encode()
 41947  	req, err := http.NewRequest("GET", urls, body)
 41948  	if err != nil {
 41949  		return nil, err
 41950  	}
 41951  	req.Header = reqHeaders
 41952  	googleapi.Expand(req.URL, map[string]string{
 41953  		"profileId": strconv.FormatInt(c.profileId, 10),
 41954  		"code":      c.code,
 41955  	})
 41956  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 41957  }
 41958  
 41959  // Do executes the "dfareporting.postalCodes.get" call.
 41960  // Exactly one of *PostalCode or error will be non-nil. Any non-2xx
 41961  // status code is an error. Response headers are in either
 41962  // *PostalCode.ServerResponse.Header or (if a response was returned at
 41963  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 41964  // to check whether the returned error was because
 41965  // http.StatusNotModified was returned.
 41966  func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
 41967  	gensupport.SetOptions(c.urlParams_, opts...)
 41968  	res, err := c.doRequest("json")
 41969  	if res != nil && res.StatusCode == http.StatusNotModified {
 41970  		if res.Body != nil {
 41971  			res.Body.Close()
 41972  		}
 41973  		return nil, &googleapi.Error{
 41974  			Code:   res.StatusCode,
 41975  			Header: res.Header,
 41976  		}
 41977  	}
 41978  	if err != nil {
 41979  		return nil, err
 41980  	}
 41981  	defer googleapi.CloseBody(res)
 41982  	if err := googleapi.CheckResponse(res); err != nil {
 41983  		return nil, err
 41984  	}
 41985  	ret := &PostalCode{
 41986  		ServerResponse: googleapi.ServerResponse{
 41987  			Header:         res.Header,
 41988  			HTTPStatusCode: res.StatusCode,
 41989  		},
 41990  	}
 41991  	target := &ret
 41992  	if err := gensupport.DecodeResponse(target, res); err != nil {
 41993  		return nil, err
 41994  	}
 41995  	return ret, nil
 41996  	// {
 41997  	//   "description": "Gets one postal code by ID.",
 41998  	//   "flatPath": "userprofiles/{profileId}/postalCodes/{code}",
 41999  	//   "httpMethod": "GET",
 42000  	//   "id": "dfareporting.postalCodes.get",
 42001  	//   "parameterOrder": [
 42002  	//     "profileId",
 42003  	//     "code"
 42004  	//   ],
 42005  	//   "parameters": {
 42006  	//     "code": {
 42007  	//       "description": "Postal code ID.",
 42008  	//       "location": "path",
 42009  	//       "required": true,
 42010  	//       "type": "string"
 42011  	//     },
 42012  	//     "profileId": {
 42013  	//       "description": "User profile ID associated with this request.",
 42014  	//       "format": "int64",
 42015  	//       "location": "path",
 42016  	//       "required": true,
 42017  	//       "type": "string"
 42018  	//     }
 42019  	//   },
 42020  	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
 42021  	//   "response": {
 42022  	//     "$ref": "PostalCode"
 42023  	//   },
 42024  	//   "scopes": [
 42025  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42026  	//   ]
 42027  	// }
 42028  
 42029  }
 42030  
 42031  // method id "dfareporting.postalCodes.list":
 42032  
 42033  type PostalCodesListCall struct {
 42034  	s            *Service
 42035  	profileId    int64
 42036  	urlParams_   gensupport.URLParams
 42037  	ifNoneMatch_ string
 42038  	ctx_         context.Context
 42039  	header_      http.Header
 42040  }
 42041  
 42042  // List: Retrieves a list of postal codes.
 42043  //
 42044  // - profileId: User profile ID associated with this request.
 42045  func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
 42046  	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42047  	c.profileId = profileId
 42048  	return c
 42049  }
 42050  
 42051  // Fields allows partial responses to be retrieved. See
 42052  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42053  // for more information.
 42054  func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
 42055  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42056  	return c
 42057  }
 42058  
 42059  // IfNoneMatch sets the optional parameter which makes the operation
 42060  // fail if the object's ETag matches the given value. This is useful for
 42061  // getting updates only after the object has changed since the last
 42062  // request. Use googleapi.IsNotModified to check whether the response
 42063  // error from Do is the result of In-None-Match.
 42064  func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
 42065  	c.ifNoneMatch_ = entityTag
 42066  	return c
 42067  }
 42068  
 42069  // Context sets the context to be used in this call's Do method. Any
 42070  // pending HTTP request will be aborted if the provided context is
 42071  // canceled.
 42072  func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
 42073  	c.ctx_ = ctx
 42074  	return c
 42075  }
 42076  
 42077  // Header returns an http.Header that can be modified by the caller to
 42078  // add HTTP headers to the request.
 42079  func (c *PostalCodesListCall) Header() http.Header {
 42080  	if c.header_ == nil {
 42081  		c.header_ = make(http.Header)
 42082  	}
 42083  	return c.header_
 42084  }
 42085  
 42086  func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
 42087  	reqHeaders := make(http.Header)
 42088  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42089  	for k, v := range c.header_ {
 42090  		reqHeaders[k] = v
 42091  	}
 42092  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42093  	if c.ifNoneMatch_ != "" {
 42094  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42095  	}
 42096  	var body io.Reader = nil
 42097  	c.urlParams_.Set("alt", alt)
 42098  	c.urlParams_.Set("prettyPrint", "false")
 42099  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
 42100  	urls += "?" + c.urlParams_.Encode()
 42101  	req, err := http.NewRequest("GET", urls, body)
 42102  	if err != nil {
 42103  		return nil, err
 42104  	}
 42105  	req.Header = reqHeaders
 42106  	googleapi.Expand(req.URL, map[string]string{
 42107  		"profileId": strconv.FormatInt(c.profileId, 10),
 42108  	})
 42109  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42110  }
 42111  
 42112  // Do executes the "dfareporting.postalCodes.list" call.
 42113  // Exactly one of *PostalCodesListResponse or error will be non-nil. Any
 42114  // non-2xx status code is an error. Response headers are in either
 42115  // *PostalCodesListResponse.ServerResponse.Header or (if a response was
 42116  // returned at all) in error.(*googleapi.Error).Header. Use
 42117  // googleapi.IsNotModified to check whether the returned error was
 42118  // because http.StatusNotModified was returned.
 42119  func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
 42120  	gensupport.SetOptions(c.urlParams_, opts...)
 42121  	res, err := c.doRequest("json")
 42122  	if res != nil && res.StatusCode == http.StatusNotModified {
 42123  		if res.Body != nil {
 42124  			res.Body.Close()
 42125  		}
 42126  		return nil, &googleapi.Error{
 42127  			Code:   res.StatusCode,
 42128  			Header: res.Header,
 42129  		}
 42130  	}
 42131  	if err != nil {
 42132  		return nil, err
 42133  	}
 42134  	defer googleapi.CloseBody(res)
 42135  	if err := googleapi.CheckResponse(res); err != nil {
 42136  		return nil, err
 42137  	}
 42138  	ret := &PostalCodesListResponse{
 42139  		ServerResponse: googleapi.ServerResponse{
 42140  			Header:         res.Header,
 42141  			HTTPStatusCode: res.StatusCode,
 42142  		},
 42143  	}
 42144  	target := &ret
 42145  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42146  		return nil, err
 42147  	}
 42148  	return ret, nil
 42149  	// {
 42150  	//   "description": "Retrieves a list of postal codes.",
 42151  	//   "flatPath": "userprofiles/{profileId}/postalCodes",
 42152  	//   "httpMethod": "GET",
 42153  	//   "id": "dfareporting.postalCodes.list",
 42154  	//   "parameterOrder": [
 42155  	//     "profileId"
 42156  	//   ],
 42157  	//   "parameters": {
 42158  	//     "profileId": {
 42159  	//       "description": "User profile ID associated with this request.",
 42160  	//       "format": "int64",
 42161  	//       "location": "path",
 42162  	//       "required": true,
 42163  	//       "type": "string"
 42164  	//     }
 42165  	//   },
 42166  	//   "path": "userprofiles/{profileId}/postalCodes",
 42167  	//   "response": {
 42168  	//     "$ref": "PostalCodesListResponse"
 42169  	//   },
 42170  	//   "scopes": [
 42171  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42172  	//   ]
 42173  	// }
 42174  
 42175  }
 42176  
 42177  // method id "dfareporting.projects.get":
 42178  
 42179  type ProjectsGetCall struct {
 42180  	s            *Service
 42181  	profileId    int64
 42182  	id           int64
 42183  	urlParams_   gensupport.URLParams
 42184  	ifNoneMatch_ string
 42185  	ctx_         context.Context
 42186  	header_      http.Header
 42187  }
 42188  
 42189  // Get: Gets one project by ID.
 42190  //
 42191  // - id: Project ID.
 42192  // - profileId: User profile ID associated with this request.
 42193  func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
 42194  	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42195  	c.profileId = profileId
 42196  	c.id = id
 42197  	return c
 42198  }
 42199  
 42200  // Fields allows partial responses to be retrieved. See
 42201  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42202  // for more information.
 42203  func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
 42204  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42205  	return c
 42206  }
 42207  
 42208  // IfNoneMatch sets the optional parameter which makes the operation
 42209  // fail if the object's ETag matches the given value. This is useful for
 42210  // getting updates only after the object has changed since the last
 42211  // request. Use googleapi.IsNotModified to check whether the response
 42212  // error from Do is the result of In-None-Match.
 42213  func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
 42214  	c.ifNoneMatch_ = entityTag
 42215  	return c
 42216  }
 42217  
 42218  // Context sets the context to be used in this call's Do method. Any
 42219  // pending HTTP request will be aborted if the provided context is
 42220  // canceled.
 42221  func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
 42222  	c.ctx_ = ctx
 42223  	return c
 42224  }
 42225  
 42226  // Header returns an http.Header that can be modified by the caller to
 42227  // add HTTP headers to the request.
 42228  func (c *ProjectsGetCall) Header() http.Header {
 42229  	if c.header_ == nil {
 42230  		c.header_ = make(http.Header)
 42231  	}
 42232  	return c.header_
 42233  }
 42234  
 42235  func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
 42236  	reqHeaders := make(http.Header)
 42237  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42238  	for k, v := range c.header_ {
 42239  		reqHeaders[k] = v
 42240  	}
 42241  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42242  	if c.ifNoneMatch_ != "" {
 42243  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42244  	}
 42245  	var body io.Reader = nil
 42246  	c.urlParams_.Set("alt", alt)
 42247  	c.urlParams_.Set("prettyPrint", "false")
 42248  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
 42249  	urls += "?" + c.urlParams_.Encode()
 42250  	req, err := http.NewRequest("GET", urls, body)
 42251  	if err != nil {
 42252  		return nil, err
 42253  	}
 42254  	req.Header = reqHeaders
 42255  	googleapi.Expand(req.URL, map[string]string{
 42256  		"profileId": strconv.FormatInt(c.profileId, 10),
 42257  		"id":        strconv.FormatInt(c.id, 10),
 42258  	})
 42259  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42260  }
 42261  
 42262  // Do executes the "dfareporting.projects.get" call.
 42263  // Exactly one of *Project or error will be non-nil. Any non-2xx status
 42264  // code is an error. Response headers are in either
 42265  // *Project.ServerResponse.Header or (if a response was returned at all)
 42266  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 42267  // check whether the returned error was because http.StatusNotModified
 42268  // was returned.
 42269  func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
 42270  	gensupport.SetOptions(c.urlParams_, opts...)
 42271  	res, err := c.doRequest("json")
 42272  	if res != nil && res.StatusCode == http.StatusNotModified {
 42273  		if res.Body != nil {
 42274  			res.Body.Close()
 42275  		}
 42276  		return nil, &googleapi.Error{
 42277  			Code:   res.StatusCode,
 42278  			Header: res.Header,
 42279  		}
 42280  	}
 42281  	if err != nil {
 42282  		return nil, err
 42283  	}
 42284  	defer googleapi.CloseBody(res)
 42285  	if err := googleapi.CheckResponse(res); err != nil {
 42286  		return nil, err
 42287  	}
 42288  	ret := &Project{
 42289  		ServerResponse: googleapi.ServerResponse{
 42290  			Header:         res.Header,
 42291  			HTTPStatusCode: res.StatusCode,
 42292  		},
 42293  	}
 42294  	target := &ret
 42295  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42296  		return nil, err
 42297  	}
 42298  	return ret, nil
 42299  	// {
 42300  	//   "description": "Gets one project by ID.",
 42301  	//   "flatPath": "userprofiles/{profileId}/projects/{id}",
 42302  	//   "httpMethod": "GET",
 42303  	//   "id": "dfareporting.projects.get",
 42304  	//   "parameterOrder": [
 42305  	//     "profileId",
 42306  	//     "id"
 42307  	//   ],
 42308  	//   "parameters": {
 42309  	//     "id": {
 42310  	//       "description": "Project ID.",
 42311  	//       "format": "int64",
 42312  	//       "location": "path",
 42313  	//       "required": true,
 42314  	//       "type": "string"
 42315  	//     },
 42316  	//     "profileId": {
 42317  	//       "description": "User profile ID associated with this request.",
 42318  	//       "format": "int64",
 42319  	//       "location": "path",
 42320  	//       "required": true,
 42321  	//       "type": "string"
 42322  	//     }
 42323  	//   },
 42324  	//   "path": "userprofiles/{profileId}/projects/{id}",
 42325  	//   "response": {
 42326  	//     "$ref": "Project"
 42327  	//   },
 42328  	//   "scopes": [
 42329  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42330  	//   ]
 42331  	// }
 42332  
 42333  }
 42334  
 42335  // method id "dfareporting.projects.list":
 42336  
 42337  type ProjectsListCall struct {
 42338  	s            *Service
 42339  	profileId    int64
 42340  	urlParams_   gensupport.URLParams
 42341  	ifNoneMatch_ string
 42342  	ctx_         context.Context
 42343  	header_      http.Header
 42344  }
 42345  
 42346  // List: Retrieves a list of projects, possibly filtered. This method
 42347  // supports paging .
 42348  //
 42349  // - profileId: User profile ID associated with this request.
 42350  func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
 42351  	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42352  	c.profileId = profileId
 42353  	return c
 42354  }
 42355  
 42356  // AdvertiserIds sets the optional parameter "advertiserIds": Select
 42357  // only projects with these advertiser IDs.
 42358  func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
 42359  	var advertiserIds_ []string
 42360  	for _, v := range advertiserIds {
 42361  		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
 42362  	}
 42363  	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
 42364  	return c
 42365  }
 42366  
 42367  // Ids sets the optional parameter "ids": Select only projects with
 42368  // these IDs.
 42369  func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
 42370  	var ids_ []string
 42371  	for _, v := range ids {
 42372  		ids_ = append(ids_, fmt.Sprint(v))
 42373  	}
 42374  	c.urlParams_.SetMulti("ids", ids_)
 42375  	return c
 42376  }
 42377  
 42378  // MaxResults sets the optional parameter "maxResults": Maximum number
 42379  // of results to return.
 42380  func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
 42381  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 42382  	return c
 42383  }
 42384  
 42385  // PageToken sets the optional parameter "pageToken": Value of the
 42386  // nextPageToken from the previous result page.
 42387  func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
 42388  	c.urlParams_.Set("pageToken", pageToken)
 42389  	return c
 42390  }
 42391  
 42392  // SearchString sets the optional parameter "searchString": Allows
 42393  // searching for projects by name or ID. Wildcards (*) are allowed. For
 42394  // example, "project*2015" will return projects with names like "project
 42395  // June 2015", "project April 2015", or simply "project 2015". Most of
 42396  // the searches also add wildcards implicitly at the start and the end
 42397  // of the search string. For example, a search string of "project" will
 42398  // match projects with name "my project", "project 2015", or simply
 42399  // "project".
 42400  func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
 42401  	c.urlParams_.Set("searchString", searchString)
 42402  	return c
 42403  }
 42404  
 42405  // SortField sets the optional parameter "sortField": Field by which to
 42406  // sort the list.
 42407  //
 42408  // Possible values:
 42409  //
 42410  //	"ID" (default)
 42411  //	"NAME"
 42412  func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
 42413  	c.urlParams_.Set("sortField", sortField)
 42414  	return c
 42415  }
 42416  
 42417  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 42418  // results.
 42419  //
 42420  // Possible values:
 42421  //
 42422  //	"ASCENDING" (default)
 42423  //	"DESCENDING"
 42424  func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
 42425  	c.urlParams_.Set("sortOrder", sortOrder)
 42426  	return c
 42427  }
 42428  
 42429  // Fields allows partial responses to be retrieved. See
 42430  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42431  // for more information.
 42432  func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
 42433  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42434  	return c
 42435  }
 42436  
 42437  // IfNoneMatch sets the optional parameter which makes the operation
 42438  // fail if the object's ETag matches the given value. This is useful for
 42439  // getting updates only after the object has changed since the last
 42440  // request. Use googleapi.IsNotModified to check whether the response
 42441  // error from Do is the result of In-None-Match.
 42442  func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
 42443  	c.ifNoneMatch_ = entityTag
 42444  	return c
 42445  }
 42446  
 42447  // Context sets the context to be used in this call's Do method. Any
 42448  // pending HTTP request will be aborted if the provided context is
 42449  // canceled.
 42450  func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
 42451  	c.ctx_ = ctx
 42452  	return c
 42453  }
 42454  
 42455  // Header returns an http.Header that can be modified by the caller to
 42456  // add HTTP headers to the request.
 42457  func (c *ProjectsListCall) Header() http.Header {
 42458  	if c.header_ == nil {
 42459  		c.header_ = make(http.Header)
 42460  	}
 42461  	return c.header_
 42462  }
 42463  
 42464  func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
 42465  	reqHeaders := make(http.Header)
 42466  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42467  	for k, v := range c.header_ {
 42468  		reqHeaders[k] = v
 42469  	}
 42470  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42471  	if c.ifNoneMatch_ != "" {
 42472  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42473  	}
 42474  	var body io.Reader = nil
 42475  	c.urlParams_.Set("alt", alt)
 42476  	c.urlParams_.Set("prettyPrint", "false")
 42477  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
 42478  	urls += "?" + c.urlParams_.Encode()
 42479  	req, err := http.NewRequest("GET", urls, body)
 42480  	if err != nil {
 42481  		return nil, err
 42482  	}
 42483  	req.Header = reqHeaders
 42484  	googleapi.Expand(req.URL, map[string]string{
 42485  		"profileId": strconv.FormatInt(c.profileId, 10),
 42486  	})
 42487  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42488  }
 42489  
 42490  // Do executes the "dfareporting.projects.list" call.
 42491  // Exactly one of *ProjectsListResponse or error will be non-nil. Any
 42492  // non-2xx status code is an error. Response headers are in either
 42493  // *ProjectsListResponse.ServerResponse.Header or (if a response was
 42494  // returned at all) in error.(*googleapi.Error).Header. Use
 42495  // googleapi.IsNotModified to check whether the returned error was
 42496  // because http.StatusNotModified was returned.
 42497  func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
 42498  	gensupport.SetOptions(c.urlParams_, opts...)
 42499  	res, err := c.doRequest("json")
 42500  	if res != nil && res.StatusCode == http.StatusNotModified {
 42501  		if res.Body != nil {
 42502  			res.Body.Close()
 42503  		}
 42504  		return nil, &googleapi.Error{
 42505  			Code:   res.StatusCode,
 42506  			Header: res.Header,
 42507  		}
 42508  	}
 42509  	if err != nil {
 42510  		return nil, err
 42511  	}
 42512  	defer googleapi.CloseBody(res)
 42513  	if err := googleapi.CheckResponse(res); err != nil {
 42514  		return nil, err
 42515  	}
 42516  	ret := &ProjectsListResponse{
 42517  		ServerResponse: googleapi.ServerResponse{
 42518  			Header:         res.Header,
 42519  			HTTPStatusCode: res.StatusCode,
 42520  		},
 42521  	}
 42522  	target := &ret
 42523  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42524  		return nil, err
 42525  	}
 42526  	return ret, nil
 42527  	// {
 42528  	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging .",
 42529  	//   "flatPath": "userprofiles/{profileId}/projects",
 42530  	//   "httpMethod": "GET",
 42531  	//   "id": "dfareporting.projects.list",
 42532  	//   "parameterOrder": [
 42533  	//     "profileId"
 42534  	//   ],
 42535  	//   "parameters": {
 42536  	//     "advertiserIds": {
 42537  	//       "description": "Select only projects with these advertiser IDs.",
 42538  	//       "format": "int64",
 42539  	//       "location": "query",
 42540  	//       "repeated": true,
 42541  	//       "type": "string"
 42542  	//     },
 42543  	//     "ids": {
 42544  	//       "description": "Select only projects with these IDs.",
 42545  	//       "format": "int64",
 42546  	//       "location": "query",
 42547  	//       "repeated": true,
 42548  	//       "type": "string"
 42549  	//     },
 42550  	//     "maxResults": {
 42551  	//       "default": "1000",
 42552  	//       "description": "Maximum number of results to return.",
 42553  	//       "format": "int32",
 42554  	//       "location": "query",
 42555  	//       "maximum": "1000",
 42556  	//       "minimum": "0",
 42557  	//       "type": "integer"
 42558  	//     },
 42559  	//     "pageToken": {
 42560  	//       "description": "Value of the nextPageToken from the previous result page.",
 42561  	//       "location": "query",
 42562  	//       "type": "string"
 42563  	//     },
 42564  	//     "profileId": {
 42565  	//       "description": "User profile ID associated with this request.",
 42566  	//       "format": "int64",
 42567  	//       "location": "path",
 42568  	//       "required": true,
 42569  	//       "type": "string"
 42570  	//     },
 42571  	//     "searchString": {
 42572  	//       "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\".",
 42573  	//       "location": "query",
 42574  	//       "type": "string"
 42575  	//     },
 42576  	//     "sortField": {
 42577  	//       "default": "ID",
 42578  	//       "description": "Field by which to sort the list.",
 42579  	//       "enum": [
 42580  	//         "ID",
 42581  	//         "NAME"
 42582  	//       ],
 42583  	//       "enumDescriptions": [
 42584  	//         "",
 42585  	//         ""
 42586  	//       ],
 42587  	//       "location": "query",
 42588  	//       "type": "string"
 42589  	//     },
 42590  	//     "sortOrder": {
 42591  	//       "default": "ASCENDING",
 42592  	//       "description": "Order of sorted results.",
 42593  	//       "enum": [
 42594  	//         "ASCENDING",
 42595  	//         "DESCENDING"
 42596  	//       ],
 42597  	//       "enumDescriptions": [
 42598  	//         "",
 42599  	//         ""
 42600  	//       ],
 42601  	//       "location": "query",
 42602  	//       "type": "string"
 42603  	//     }
 42604  	//   },
 42605  	//   "path": "userprofiles/{profileId}/projects",
 42606  	//   "response": {
 42607  	//     "$ref": "ProjectsListResponse"
 42608  	//   },
 42609  	//   "scopes": [
 42610  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42611  	//   ]
 42612  	// }
 42613  
 42614  }
 42615  
 42616  // Pages invokes f for each page of results.
 42617  // A non-nil error returned from f will halt the iteration.
 42618  // The provided context supersedes any context provided to the Context method.
 42619  func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
 42620  	c.ctx_ = ctx
 42621  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 42622  	for {
 42623  		x, err := c.Do()
 42624  		if err != nil {
 42625  			return err
 42626  		}
 42627  		if err := f(x); err != nil {
 42628  			return err
 42629  		}
 42630  		if x.NextPageToken == "" {
 42631  			return nil
 42632  		}
 42633  		c.PageToken(x.NextPageToken)
 42634  	}
 42635  }
 42636  
 42637  // method id "dfareporting.regions.list":
 42638  
 42639  type RegionsListCall struct {
 42640  	s            *Service
 42641  	profileId    int64
 42642  	urlParams_   gensupport.URLParams
 42643  	ifNoneMatch_ string
 42644  	ctx_         context.Context
 42645  	header_      http.Header
 42646  }
 42647  
 42648  // List: Retrieves a list of regions.
 42649  //
 42650  // - profileId: User profile ID associated with this request.
 42651  func (r *RegionsService) List(profileId int64) *RegionsListCall {
 42652  	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42653  	c.profileId = profileId
 42654  	return c
 42655  }
 42656  
 42657  // Fields allows partial responses to be retrieved. See
 42658  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42659  // for more information.
 42660  func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
 42661  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42662  	return c
 42663  }
 42664  
 42665  // IfNoneMatch sets the optional parameter which makes the operation
 42666  // fail if the object's ETag matches the given value. This is useful for
 42667  // getting updates only after the object has changed since the last
 42668  // request. Use googleapi.IsNotModified to check whether the response
 42669  // error from Do is the result of In-None-Match.
 42670  func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
 42671  	c.ifNoneMatch_ = entityTag
 42672  	return c
 42673  }
 42674  
 42675  // Context sets the context to be used in this call's Do method. Any
 42676  // pending HTTP request will be aborted if the provided context is
 42677  // canceled.
 42678  func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
 42679  	c.ctx_ = ctx
 42680  	return c
 42681  }
 42682  
 42683  // Header returns an http.Header that can be modified by the caller to
 42684  // add HTTP headers to the request.
 42685  func (c *RegionsListCall) Header() http.Header {
 42686  	if c.header_ == nil {
 42687  		c.header_ = make(http.Header)
 42688  	}
 42689  	return c.header_
 42690  }
 42691  
 42692  func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
 42693  	reqHeaders := make(http.Header)
 42694  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42695  	for k, v := range c.header_ {
 42696  		reqHeaders[k] = v
 42697  	}
 42698  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42699  	if c.ifNoneMatch_ != "" {
 42700  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42701  	}
 42702  	var body io.Reader = nil
 42703  	c.urlParams_.Set("alt", alt)
 42704  	c.urlParams_.Set("prettyPrint", "false")
 42705  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
 42706  	urls += "?" + c.urlParams_.Encode()
 42707  	req, err := http.NewRequest("GET", urls, body)
 42708  	if err != nil {
 42709  		return nil, err
 42710  	}
 42711  	req.Header = reqHeaders
 42712  	googleapi.Expand(req.URL, map[string]string{
 42713  		"profileId": strconv.FormatInt(c.profileId, 10),
 42714  	})
 42715  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42716  }
 42717  
 42718  // Do executes the "dfareporting.regions.list" call.
 42719  // Exactly one of *RegionsListResponse or error will be non-nil. Any
 42720  // non-2xx status code is an error. Response headers are in either
 42721  // *RegionsListResponse.ServerResponse.Header or (if a response was
 42722  // returned at all) in error.(*googleapi.Error).Header. Use
 42723  // googleapi.IsNotModified to check whether the returned error was
 42724  // because http.StatusNotModified was returned.
 42725  func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
 42726  	gensupport.SetOptions(c.urlParams_, opts...)
 42727  	res, err := c.doRequest("json")
 42728  	if res != nil && res.StatusCode == http.StatusNotModified {
 42729  		if res.Body != nil {
 42730  			res.Body.Close()
 42731  		}
 42732  		return nil, &googleapi.Error{
 42733  			Code:   res.StatusCode,
 42734  			Header: res.Header,
 42735  		}
 42736  	}
 42737  	if err != nil {
 42738  		return nil, err
 42739  	}
 42740  	defer googleapi.CloseBody(res)
 42741  	if err := googleapi.CheckResponse(res); err != nil {
 42742  		return nil, err
 42743  	}
 42744  	ret := &RegionsListResponse{
 42745  		ServerResponse: googleapi.ServerResponse{
 42746  			Header:         res.Header,
 42747  			HTTPStatusCode: res.StatusCode,
 42748  		},
 42749  	}
 42750  	target := &ret
 42751  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42752  		return nil, err
 42753  	}
 42754  	return ret, nil
 42755  	// {
 42756  	//   "description": "Retrieves a list of regions.",
 42757  	//   "flatPath": "userprofiles/{profileId}/regions",
 42758  	//   "httpMethod": "GET",
 42759  	//   "id": "dfareporting.regions.list",
 42760  	//   "parameterOrder": [
 42761  	//     "profileId"
 42762  	//   ],
 42763  	//   "parameters": {
 42764  	//     "profileId": {
 42765  	//       "description": "User profile ID associated with this request.",
 42766  	//       "format": "int64",
 42767  	//       "location": "path",
 42768  	//       "required": true,
 42769  	//       "type": "string"
 42770  	//     }
 42771  	//   },
 42772  	//   "path": "userprofiles/{profileId}/regions",
 42773  	//   "response": {
 42774  	//     "$ref": "RegionsListResponse"
 42775  	//   },
 42776  	//   "scopes": [
 42777  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42778  	//   ]
 42779  	// }
 42780  
 42781  }
 42782  
 42783  // method id "dfareporting.remarketingListShares.get":
 42784  
 42785  type RemarketingListSharesGetCall struct {
 42786  	s                 *Service
 42787  	profileId         int64
 42788  	remarketingListId int64
 42789  	urlParams_        gensupport.URLParams
 42790  	ifNoneMatch_      string
 42791  	ctx_              context.Context
 42792  	header_           http.Header
 42793  }
 42794  
 42795  // Get: Gets one remarketing list share by remarketing list ID.
 42796  //
 42797  // - profileId: User profile ID associated with this request.
 42798  // - remarketingListId: Remarketing list ID.
 42799  func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
 42800  	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42801  	c.profileId = profileId
 42802  	c.remarketingListId = remarketingListId
 42803  	return c
 42804  }
 42805  
 42806  // Fields allows partial responses to be retrieved. See
 42807  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42808  // for more information.
 42809  func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
 42810  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42811  	return c
 42812  }
 42813  
 42814  // IfNoneMatch sets the optional parameter which makes the operation
 42815  // fail if the object's ETag matches the given value. This is useful for
 42816  // getting updates only after the object has changed since the last
 42817  // request. Use googleapi.IsNotModified to check whether the response
 42818  // error from Do is the result of In-None-Match.
 42819  func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
 42820  	c.ifNoneMatch_ = entityTag
 42821  	return c
 42822  }
 42823  
 42824  // Context sets the context to be used in this call's Do method. Any
 42825  // pending HTTP request will be aborted if the provided context is
 42826  // canceled.
 42827  func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
 42828  	c.ctx_ = ctx
 42829  	return c
 42830  }
 42831  
 42832  // Header returns an http.Header that can be modified by the caller to
 42833  // add HTTP headers to the request.
 42834  func (c *RemarketingListSharesGetCall) Header() http.Header {
 42835  	if c.header_ == nil {
 42836  		c.header_ = make(http.Header)
 42837  	}
 42838  	return c.header_
 42839  }
 42840  
 42841  func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
 42842  	reqHeaders := make(http.Header)
 42843  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42844  	for k, v := range c.header_ {
 42845  		reqHeaders[k] = v
 42846  	}
 42847  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42848  	if c.ifNoneMatch_ != "" {
 42849  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 42850  	}
 42851  	var body io.Reader = nil
 42852  	c.urlParams_.Set("alt", alt)
 42853  	c.urlParams_.Set("prettyPrint", "false")
 42854  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
 42855  	urls += "?" + c.urlParams_.Encode()
 42856  	req, err := http.NewRequest("GET", urls, body)
 42857  	if err != nil {
 42858  		return nil, err
 42859  	}
 42860  	req.Header = reqHeaders
 42861  	googleapi.Expand(req.URL, map[string]string{
 42862  		"profileId":         strconv.FormatInt(c.profileId, 10),
 42863  		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
 42864  	})
 42865  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 42866  }
 42867  
 42868  // Do executes the "dfareporting.remarketingListShares.get" call.
 42869  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 42870  // non-2xx status code is an error. Response headers are in either
 42871  // *RemarketingListShare.ServerResponse.Header or (if a response was
 42872  // returned at all) in error.(*googleapi.Error).Header. Use
 42873  // googleapi.IsNotModified to check whether the returned error was
 42874  // because http.StatusNotModified was returned.
 42875  func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 42876  	gensupport.SetOptions(c.urlParams_, opts...)
 42877  	res, err := c.doRequest("json")
 42878  	if res != nil && res.StatusCode == http.StatusNotModified {
 42879  		if res.Body != nil {
 42880  			res.Body.Close()
 42881  		}
 42882  		return nil, &googleapi.Error{
 42883  			Code:   res.StatusCode,
 42884  			Header: res.Header,
 42885  		}
 42886  	}
 42887  	if err != nil {
 42888  		return nil, err
 42889  	}
 42890  	defer googleapi.CloseBody(res)
 42891  	if err := googleapi.CheckResponse(res); err != nil {
 42892  		return nil, err
 42893  	}
 42894  	ret := &RemarketingListShare{
 42895  		ServerResponse: googleapi.ServerResponse{
 42896  			Header:         res.Header,
 42897  			HTTPStatusCode: res.StatusCode,
 42898  		},
 42899  	}
 42900  	target := &ret
 42901  	if err := gensupport.DecodeResponse(target, res); err != nil {
 42902  		return nil, err
 42903  	}
 42904  	return ret, nil
 42905  	// {
 42906  	//   "description": "Gets one remarketing list share by remarketing list ID.",
 42907  	//   "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 42908  	//   "httpMethod": "GET",
 42909  	//   "id": "dfareporting.remarketingListShares.get",
 42910  	//   "parameterOrder": [
 42911  	//     "profileId",
 42912  	//     "remarketingListId"
 42913  	//   ],
 42914  	//   "parameters": {
 42915  	//     "profileId": {
 42916  	//       "description": "User profile ID associated with this request.",
 42917  	//       "format": "int64",
 42918  	//       "location": "path",
 42919  	//       "required": true,
 42920  	//       "type": "string"
 42921  	//     },
 42922  	//     "remarketingListId": {
 42923  	//       "description": "Remarketing list ID.",
 42924  	//       "format": "int64",
 42925  	//       "location": "path",
 42926  	//       "required": true,
 42927  	//       "type": "string"
 42928  	//     }
 42929  	//   },
 42930  	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
 42931  	//   "response": {
 42932  	//     "$ref": "RemarketingListShare"
 42933  	//   },
 42934  	//   "scopes": [
 42935  	//     "https://www.googleapis.com/auth/dfatrafficking"
 42936  	//   ]
 42937  	// }
 42938  
 42939  }
 42940  
 42941  // method id "dfareporting.remarketingListShares.patch":
 42942  
 42943  type RemarketingListSharesPatchCall struct {
 42944  	s                    *Service
 42945  	profileId            int64
 42946  	remarketinglistshare *RemarketingListShare
 42947  	urlParams_           gensupport.URLParams
 42948  	ctx_                 context.Context
 42949  	header_              http.Header
 42950  }
 42951  
 42952  // Patch: Updates an existing remarketing list share. This method
 42953  // supports patch semantics.
 42954  //
 42955  // - id: RemarketingList ID.
 42956  // - profileId: User profile ID associated with this request.
 42957  func (r *RemarketingListSharesService) Patch(profileId int64, id int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
 42958  	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 42959  	c.profileId = profileId
 42960  	c.urlParams_.Set("id", fmt.Sprint(id))
 42961  	c.remarketinglistshare = remarketinglistshare
 42962  	return c
 42963  }
 42964  
 42965  // Fields allows partial responses to be retrieved. See
 42966  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 42967  // for more information.
 42968  func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
 42969  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 42970  	return c
 42971  }
 42972  
 42973  // Context sets the context to be used in this call's Do method. Any
 42974  // pending HTTP request will be aborted if the provided context is
 42975  // canceled.
 42976  func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
 42977  	c.ctx_ = ctx
 42978  	return c
 42979  }
 42980  
 42981  // Header returns an http.Header that can be modified by the caller to
 42982  // add HTTP headers to the request.
 42983  func (c *RemarketingListSharesPatchCall) Header() http.Header {
 42984  	if c.header_ == nil {
 42985  		c.header_ = make(http.Header)
 42986  	}
 42987  	return c.header_
 42988  }
 42989  
 42990  func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
 42991  	reqHeaders := make(http.Header)
 42992  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 42993  	for k, v := range c.header_ {
 42994  		reqHeaders[k] = v
 42995  	}
 42996  	reqHeaders.Set("User-Agent", c.s.userAgent())
 42997  	var body io.Reader = nil
 42998  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 42999  	if err != nil {
 43000  		return nil, err
 43001  	}
 43002  	reqHeaders.Set("Content-Type", "application/json")
 43003  	c.urlParams_.Set("alt", alt)
 43004  	c.urlParams_.Set("prettyPrint", "false")
 43005  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 43006  	urls += "?" + c.urlParams_.Encode()
 43007  	req, err := http.NewRequest("PATCH", urls, body)
 43008  	if err != nil {
 43009  		return nil, err
 43010  	}
 43011  	req.Header = reqHeaders
 43012  	googleapi.Expand(req.URL, map[string]string{
 43013  		"profileId": strconv.FormatInt(c.profileId, 10),
 43014  	})
 43015  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43016  }
 43017  
 43018  // Do executes the "dfareporting.remarketingListShares.patch" call.
 43019  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 43020  // non-2xx status code is an error. Response headers are in either
 43021  // *RemarketingListShare.ServerResponse.Header or (if a response was
 43022  // returned at all) in error.(*googleapi.Error).Header. Use
 43023  // googleapi.IsNotModified to check whether the returned error was
 43024  // because http.StatusNotModified was returned.
 43025  func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 43026  	gensupport.SetOptions(c.urlParams_, opts...)
 43027  	res, err := c.doRequest("json")
 43028  	if res != nil && res.StatusCode == http.StatusNotModified {
 43029  		if res.Body != nil {
 43030  			res.Body.Close()
 43031  		}
 43032  		return nil, &googleapi.Error{
 43033  			Code:   res.StatusCode,
 43034  			Header: res.Header,
 43035  		}
 43036  	}
 43037  	if err != nil {
 43038  		return nil, err
 43039  	}
 43040  	defer googleapi.CloseBody(res)
 43041  	if err := googleapi.CheckResponse(res); err != nil {
 43042  		return nil, err
 43043  	}
 43044  	ret := &RemarketingListShare{
 43045  		ServerResponse: googleapi.ServerResponse{
 43046  			Header:         res.Header,
 43047  			HTTPStatusCode: res.StatusCode,
 43048  		},
 43049  	}
 43050  	target := &ret
 43051  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43052  		return nil, err
 43053  	}
 43054  	return ret, nil
 43055  	// {
 43056  	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
 43057  	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
 43058  	//   "httpMethod": "PATCH",
 43059  	//   "id": "dfareporting.remarketingListShares.patch",
 43060  	//   "parameterOrder": [
 43061  	//     "profileId",
 43062  	//     "id"
 43063  	//   ],
 43064  	//   "parameters": {
 43065  	//     "id": {
 43066  	//       "description": "RemarketingList ID.",
 43067  	//       "format": "int64",
 43068  	//       "location": "query",
 43069  	//       "required": true,
 43070  	//       "type": "string"
 43071  	//     },
 43072  	//     "profileId": {
 43073  	//       "description": "User profile ID associated with this request.",
 43074  	//       "format": "int64",
 43075  	//       "location": "path",
 43076  	//       "required": true,
 43077  	//       "type": "string"
 43078  	//     }
 43079  	//   },
 43080  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 43081  	//   "request": {
 43082  	//     "$ref": "RemarketingListShare"
 43083  	//   },
 43084  	//   "response": {
 43085  	//     "$ref": "RemarketingListShare"
 43086  	//   },
 43087  	//   "scopes": [
 43088  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43089  	//   ]
 43090  	// }
 43091  
 43092  }
 43093  
 43094  // method id "dfareporting.remarketingListShares.update":
 43095  
 43096  type RemarketingListSharesUpdateCall struct {
 43097  	s                    *Service
 43098  	profileId            int64
 43099  	remarketinglistshare *RemarketingListShare
 43100  	urlParams_           gensupport.URLParams
 43101  	ctx_                 context.Context
 43102  	header_              http.Header
 43103  }
 43104  
 43105  // Update: Updates an existing remarketing list share.
 43106  //
 43107  // - profileId: User profile ID associated with this request.
 43108  func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
 43109  	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43110  	c.profileId = profileId
 43111  	c.remarketinglistshare = remarketinglistshare
 43112  	return c
 43113  }
 43114  
 43115  // Fields allows partial responses to be retrieved. See
 43116  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43117  // for more information.
 43118  func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
 43119  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43120  	return c
 43121  }
 43122  
 43123  // Context sets the context to be used in this call's Do method. Any
 43124  // pending HTTP request will be aborted if the provided context is
 43125  // canceled.
 43126  func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
 43127  	c.ctx_ = ctx
 43128  	return c
 43129  }
 43130  
 43131  // Header returns an http.Header that can be modified by the caller to
 43132  // add HTTP headers to the request.
 43133  func (c *RemarketingListSharesUpdateCall) Header() http.Header {
 43134  	if c.header_ == nil {
 43135  		c.header_ = make(http.Header)
 43136  	}
 43137  	return c.header_
 43138  }
 43139  
 43140  func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
 43141  	reqHeaders := make(http.Header)
 43142  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43143  	for k, v := range c.header_ {
 43144  		reqHeaders[k] = v
 43145  	}
 43146  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43147  	var body io.Reader = nil
 43148  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
 43149  	if err != nil {
 43150  		return nil, err
 43151  	}
 43152  	reqHeaders.Set("Content-Type", "application/json")
 43153  	c.urlParams_.Set("alt", alt)
 43154  	c.urlParams_.Set("prettyPrint", "false")
 43155  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
 43156  	urls += "?" + c.urlParams_.Encode()
 43157  	req, err := http.NewRequest("PUT", urls, body)
 43158  	if err != nil {
 43159  		return nil, err
 43160  	}
 43161  	req.Header = reqHeaders
 43162  	googleapi.Expand(req.URL, map[string]string{
 43163  		"profileId": strconv.FormatInt(c.profileId, 10),
 43164  	})
 43165  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43166  }
 43167  
 43168  // Do executes the "dfareporting.remarketingListShares.update" call.
 43169  // Exactly one of *RemarketingListShare or error will be non-nil. Any
 43170  // non-2xx status code is an error. Response headers are in either
 43171  // *RemarketingListShare.ServerResponse.Header or (if a response was
 43172  // returned at all) in error.(*googleapi.Error).Header. Use
 43173  // googleapi.IsNotModified to check whether the returned error was
 43174  // because http.StatusNotModified was returned.
 43175  func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
 43176  	gensupport.SetOptions(c.urlParams_, opts...)
 43177  	res, err := c.doRequest("json")
 43178  	if res != nil && res.StatusCode == http.StatusNotModified {
 43179  		if res.Body != nil {
 43180  			res.Body.Close()
 43181  		}
 43182  		return nil, &googleapi.Error{
 43183  			Code:   res.StatusCode,
 43184  			Header: res.Header,
 43185  		}
 43186  	}
 43187  	if err != nil {
 43188  		return nil, err
 43189  	}
 43190  	defer googleapi.CloseBody(res)
 43191  	if err := googleapi.CheckResponse(res); err != nil {
 43192  		return nil, err
 43193  	}
 43194  	ret := &RemarketingListShare{
 43195  		ServerResponse: googleapi.ServerResponse{
 43196  			Header:         res.Header,
 43197  			HTTPStatusCode: res.StatusCode,
 43198  		},
 43199  	}
 43200  	target := &ret
 43201  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43202  		return nil, err
 43203  	}
 43204  	return ret, nil
 43205  	// {
 43206  	//   "description": "Updates an existing remarketing list share.",
 43207  	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
 43208  	//   "httpMethod": "PUT",
 43209  	//   "id": "dfareporting.remarketingListShares.update",
 43210  	//   "parameterOrder": [
 43211  	//     "profileId"
 43212  	//   ],
 43213  	//   "parameters": {
 43214  	//     "profileId": {
 43215  	//       "description": "User profile ID associated with this request.",
 43216  	//       "format": "int64",
 43217  	//       "location": "path",
 43218  	//       "required": true,
 43219  	//       "type": "string"
 43220  	//     }
 43221  	//   },
 43222  	//   "path": "userprofiles/{profileId}/remarketingListShares",
 43223  	//   "request": {
 43224  	//     "$ref": "RemarketingListShare"
 43225  	//   },
 43226  	//   "response": {
 43227  	//     "$ref": "RemarketingListShare"
 43228  	//   },
 43229  	//   "scopes": [
 43230  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43231  	//   ]
 43232  	// }
 43233  
 43234  }
 43235  
 43236  // method id "dfareporting.remarketingLists.get":
 43237  
 43238  type RemarketingListsGetCall struct {
 43239  	s            *Service
 43240  	profileId    int64
 43241  	id           int64
 43242  	urlParams_   gensupport.URLParams
 43243  	ifNoneMatch_ string
 43244  	ctx_         context.Context
 43245  	header_      http.Header
 43246  }
 43247  
 43248  // Get: Gets one remarketing list by ID.
 43249  //
 43250  // - id: Remarketing list ID.
 43251  // - profileId: User profile ID associated with this request.
 43252  func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
 43253  	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43254  	c.profileId = profileId
 43255  	c.id = id
 43256  	return c
 43257  }
 43258  
 43259  // Fields allows partial responses to be retrieved. See
 43260  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43261  // for more information.
 43262  func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
 43263  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43264  	return c
 43265  }
 43266  
 43267  // IfNoneMatch sets the optional parameter which makes the operation
 43268  // fail if the object's ETag matches the given value. This is useful for
 43269  // getting updates only after the object has changed since the last
 43270  // request. Use googleapi.IsNotModified to check whether the response
 43271  // error from Do is the result of In-None-Match.
 43272  func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
 43273  	c.ifNoneMatch_ = entityTag
 43274  	return c
 43275  }
 43276  
 43277  // Context sets the context to be used in this call's Do method. Any
 43278  // pending HTTP request will be aborted if the provided context is
 43279  // canceled.
 43280  func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
 43281  	c.ctx_ = ctx
 43282  	return c
 43283  }
 43284  
 43285  // Header returns an http.Header that can be modified by the caller to
 43286  // add HTTP headers to the request.
 43287  func (c *RemarketingListsGetCall) Header() http.Header {
 43288  	if c.header_ == nil {
 43289  		c.header_ = make(http.Header)
 43290  	}
 43291  	return c.header_
 43292  }
 43293  
 43294  func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 43295  	reqHeaders := make(http.Header)
 43296  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43297  	for k, v := range c.header_ {
 43298  		reqHeaders[k] = v
 43299  	}
 43300  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43301  	if c.ifNoneMatch_ != "" {
 43302  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43303  	}
 43304  	var body io.Reader = nil
 43305  	c.urlParams_.Set("alt", alt)
 43306  	c.urlParams_.Set("prettyPrint", "false")
 43307  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
 43308  	urls += "?" + c.urlParams_.Encode()
 43309  	req, err := http.NewRequest("GET", urls, body)
 43310  	if err != nil {
 43311  		return nil, err
 43312  	}
 43313  	req.Header = reqHeaders
 43314  	googleapi.Expand(req.URL, map[string]string{
 43315  		"profileId": strconv.FormatInt(c.profileId, 10),
 43316  		"id":        strconv.FormatInt(c.id, 10),
 43317  	})
 43318  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43319  }
 43320  
 43321  // Do executes the "dfareporting.remarketingLists.get" call.
 43322  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43323  // status code is an error. Response headers are in either
 43324  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43325  // at all) in error.(*googleapi.Error).Header. Use
 43326  // googleapi.IsNotModified to check whether the returned error was
 43327  // because http.StatusNotModified was returned.
 43328  func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43329  	gensupport.SetOptions(c.urlParams_, opts...)
 43330  	res, err := c.doRequest("json")
 43331  	if res != nil && res.StatusCode == http.StatusNotModified {
 43332  		if res.Body != nil {
 43333  			res.Body.Close()
 43334  		}
 43335  		return nil, &googleapi.Error{
 43336  			Code:   res.StatusCode,
 43337  			Header: res.Header,
 43338  		}
 43339  	}
 43340  	if err != nil {
 43341  		return nil, err
 43342  	}
 43343  	defer googleapi.CloseBody(res)
 43344  	if err := googleapi.CheckResponse(res); err != nil {
 43345  		return nil, err
 43346  	}
 43347  	ret := &RemarketingList{
 43348  		ServerResponse: googleapi.ServerResponse{
 43349  			Header:         res.Header,
 43350  			HTTPStatusCode: res.StatusCode,
 43351  		},
 43352  	}
 43353  	target := &ret
 43354  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43355  		return nil, err
 43356  	}
 43357  	return ret, nil
 43358  	// {
 43359  	//   "description": "Gets one remarketing list by ID.",
 43360  	//   "flatPath": "userprofiles/{profileId}/remarketingLists/{id}",
 43361  	//   "httpMethod": "GET",
 43362  	//   "id": "dfareporting.remarketingLists.get",
 43363  	//   "parameterOrder": [
 43364  	//     "profileId",
 43365  	//     "id"
 43366  	//   ],
 43367  	//   "parameters": {
 43368  	//     "id": {
 43369  	//       "description": "Remarketing list ID.",
 43370  	//       "format": "int64",
 43371  	//       "location": "path",
 43372  	//       "required": true,
 43373  	//       "type": "string"
 43374  	//     },
 43375  	//     "profileId": {
 43376  	//       "description": "User profile ID associated with this request.",
 43377  	//       "format": "int64",
 43378  	//       "location": "path",
 43379  	//       "required": true,
 43380  	//       "type": "string"
 43381  	//     }
 43382  	//   },
 43383  	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
 43384  	//   "response": {
 43385  	//     "$ref": "RemarketingList"
 43386  	//   },
 43387  	//   "scopes": [
 43388  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43389  	//   ]
 43390  	// }
 43391  
 43392  }
 43393  
 43394  // method id "dfareporting.remarketingLists.insert":
 43395  
 43396  type RemarketingListsInsertCall struct {
 43397  	s               *Service
 43398  	profileId       int64
 43399  	remarketinglist *RemarketingList
 43400  	urlParams_      gensupport.URLParams
 43401  	ctx_            context.Context
 43402  	header_         http.Header
 43403  }
 43404  
 43405  // Insert: Inserts a new remarketing list.
 43406  //
 43407  // - profileId: User profile ID associated with this request.
 43408  func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
 43409  	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43410  	c.profileId = profileId
 43411  	c.remarketinglist = remarketinglist
 43412  	return c
 43413  }
 43414  
 43415  // Fields allows partial responses to be retrieved. See
 43416  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43417  // for more information.
 43418  func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
 43419  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43420  	return c
 43421  }
 43422  
 43423  // Context sets the context to be used in this call's Do method. Any
 43424  // pending HTTP request will be aborted if the provided context is
 43425  // canceled.
 43426  func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
 43427  	c.ctx_ = ctx
 43428  	return c
 43429  }
 43430  
 43431  // Header returns an http.Header that can be modified by the caller to
 43432  // add HTTP headers to the request.
 43433  func (c *RemarketingListsInsertCall) Header() http.Header {
 43434  	if c.header_ == nil {
 43435  		c.header_ = make(http.Header)
 43436  	}
 43437  	return c.header_
 43438  }
 43439  
 43440  func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
 43441  	reqHeaders := make(http.Header)
 43442  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43443  	for k, v := range c.header_ {
 43444  		reqHeaders[k] = v
 43445  	}
 43446  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43447  	var body io.Reader = nil
 43448  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 43449  	if err != nil {
 43450  		return nil, err
 43451  	}
 43452  	reqHeaders.Set("Content-Type", "application/json")
 43453  	c.urlParams_.Set("alt", alt)
 43454  	c.urlParams_.Set("prettyPrint", "false")
 43455  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43456  	urls += "?" + c.urlParams_.Encode()
 43457  	req, err := http.NewRequest("POST", urls, body)
 43458  	if err != nil {
 43459  		return nil, err
 43460  	}
 43461  	req.Header = reqHeaders
 43462  	googleapi.Expand(req.URL, map[string]string{
 43463  		"profileId": strconv.FormatInt(c.profileId, 10),
 43464  	})
 43465  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43466  }
 43467  
 43468  // Do executes the "dfareporting.remarketingLists.insert" call.
 43469  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43470  // status code is an error. Response headers are in either
 43471  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43472  // at all) in error.(*googleapi.Error).Header. Use
 43473  // googleapi.IsNotModified to check whether the returned error was
 43474  // because http.StatusNotModified was returned.
 43475  func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43476  	gensupport.SetOptions(c.urlParams_, opts...)
 43477  	res, err := c.doRequest("json")
 43478  	if res != nil && res.StatusCode == http.StatusNotModified {
 43479  		if res.Body != nil {
 43480  			res.Body.Close()
 43481  		}
 43482  		return nil, &googleapi.Error{
 43483  			Code:   res.StatusCode,
 43484  			Header: res.Header,
 43485  		}
 43486  	}
 43487  	if err != nil {
 43488  		return nil, err
 43489  	}
 43490  	defer googleapi.CloseBody(res)
 43491  	if err := googleapi.CheckResponse(res); err != nil {
 43492  		return nil, err
 43493  	}
 43494  	ret := &RemarketingList{
 43495  		ServerResponse: googleapi.ServerResponse{
 43496  			Header:         res.Header,
 43497  			HTTPStatusCode: res.StatusCode,
 43498  		},
 43499  	}
 43500  	target := &ret
 43501  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43502  		return nil, err
 43503  	}
 43504  	return ret, nil
 43505  	// {
 43506  	//   "description": "Inserts a new remarketing list.",
 43507  	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 43508  	//   "httpMethod": "POST",
 43509  	//   "id": "dfareporting.remarketingLists.insert",
 43510  	//   "parameterOrder": [
 43511  	//     "profileId"
 43512  	//   ],
 43513  	//   "parameters": {
 43514  	//     "profileId": {
 43515  	//       "description": "User profile ID associated with this request.",
 43516  	//       "format": "int64",
 43517  	//       "location": "path",
 43518  	//       "required": true,
 43519  	//       "type": "string"
 43520  	//     }
 43521  	//   },
 43522  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43523  	//   "request": {
 43524  	//     "$ref": "RemarketingList"
 43525  	//   },
 43526  	//   "response": {
 43527  	//     "$ref": "RemarketingList"
 43528  	//   },
 43529  	//   "scopes": [
 43530  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43531  	//   ]
 43532  	// }
 43533  
 43534  }
 43535  
 43536  // method id "dfareporting.remarketingLists.list":
 43537  
 43538  type RemarketingListsListCall struct {
 43539  	s            *Service
 43540  	profileId    int64
 43541  	urlParams_   gensupport.URLParams
 43542  	ifNoneMatch_ string
 43543  	ctx_         context.Context
 43544  	header_      http.Header
 43545  }
 43546  
 43547  // List: Retrieves a list of remarketing lists, possibly filtered. This
 43548  // method supports paging.
 43549  //
 43550  //   - advertiserId: Select only remarketing lists owned by this
 43551  //     advertiser.
 43552  //   - profileId: User profile ID associated with this request.
 43553  func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
 43554  	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43555  	c.profileId = profileId
 43556  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 43557  	return c
 43558  }
 43559  
 43560  // Active sets the optional parameter "active": Select only active or
 43561  // only inactive remarketing lists.
 43562  func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
 43563  	c.urlParams_.Set("active", fmt.Sprint(active))
 43564  	return c
 43565  }
 43566  
 43567  // FloodlightActivityId sets the optional parameter
 43568  // "floodlightActivityId": Select only remarketing lists that have this
 43569  // floodlight activity ID.
 43570  func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
 43571  	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
 43572  	return c
 43573  }
 43574  
 43575  // MaxResults sets the optional parameter "maxResults": Maximum number
 43576  // of results to return.
 43577  func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
 43578  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 43579  	return c
 43580  }
 43581  
 43582  // Name sets the optional parameter "name": Allows searching for objects
 43583  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 43584  // list*2015" will return objects with names like "remarketing list June
 43585  // 2015", "remarketing list April 2015", or simply "remarketing list
 43586  // 2015". Most of the searches also add wildcards implicitly at the
 43587  // start and the end of the search string. For example, a search string
 43588  // of "remarketing list" will match objects with name "my remarketing
 43589  // list", "remarketing list 2015", or simply "remarketing list".
 43590  func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
 43591  	c.urlParams_.Set("name", name)
 43592  	return c
 43593  }
 43594  
 43595  // PageToken sets the optional parameter "pageToken": Value of the
 43596  // nextPageToken from the previous result page.
 43597  func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
 43598  	c.urlParams_.Set("pageToken", pageToken)
 43599  	return c
 43600  }
 43601  
 43602  // SortField sets the optional parameter "sortField": Field by which to
 43603  // sort the list.
 43604  //
 43605  // Possible values:
 43606  //
 43607  //	"ID" (default)
 43608  //	"NAME"
 43609  func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
 43610  	c.urlParams_.Set("sortField", sortField)
 43611  	return c
 43612  }
 43613  
 43614  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 43615  // results.
 43616  //
 43617  // Possible values:
 43618  //
 43619  //	"ASCENDING" (default)
 43620  //	"DESCENDING"
 43621  func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
 43622  	c.urlParams_.Set("sortOrder", sortOrder)
 43623  	return c
 43624  }
 43625  
 43626  // Fields allows partial responses to be retrieved. See
 43627  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43628  // for more information.
 43629  func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
 43630  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43631  	return c
 43632  }
 43633  
 43634  // IfNoneMatch sets the optional parameter which makes the operation
 43635  // fail if the object's ETag matches the given value. This is useful for
 43636  // getting updates only after the object has changed since the last
 43637  // request. Use googleapi.IsNotModified to check whether the response
 43638  // error from Do is the result of In-None-Match.
 43639  func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
 43640  	c.ifNoneMatch_ = entityTag
 43641  	return c
 43642  }
 43643  
 43644  // Context sets the context to be used in this call's Do method. Any
 43645  // pending HTTP request will be aborted if the provided context is
 43646  // canceled.
 43647  func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
 43648  	c.ctx_ = ctx
 43649  	return c
 43650  }
 43651  
 43652  // Header returns an http.Header that can be modified by the caller to
 43653  // add HTTP headers to the request.
 43654  func (c *RemarketingListsListCall) Header() http.Header {
 43655  	if c.header_ == nil {
 43656  		c.header_ = make(http.Header)
 43657  	}
 43658  	return c.header_
 43659  }
 43660  
 43661  func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 43662  	reqHeaders := make(http.Header)
 43663  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43664  	for k, v := range c.header_ {
 43665  		reqHeaders[k] = v
 43666  	}
 43667  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43668  	if c.ifNoneMatch_ != "" {
 43669  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 43670  	}
 43671  	var body io.Reader = nil
 43672  	c.urlParams_.Set("alt", alt)
 43673  	c.urlParams_.Set("prettyPrint", "false")
 43674  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43675  	urls += "?" + c.urlParams_.Encode()
 43676  	req, err := http.NewRequest("GET", urls, body)
 43677  	if err != nil {
 43678  		return nil, err
 43679  	}
 43680  	req.Header = reqHeaders
 43681  	googleapi.Expand(req.URL, map[string]string{
 43682  		"profileId": strconv.FormatInt(c.profileId, 10),
 43683  	})
 43684  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43685  }
 43686  
 43687  // Do executes the "dfareporting.remarketingLists.list" call.
 43688  // Exactly one of *RemarketingListsListResponse or error will be
 43689  // non-nil. Any non-2xx status code is an error. Response headers are in
 43690  // either *RemarketingListsListResponse.ServerResponse.Header or (if a
 43691  // response was returned at all) in error.(*googleapi.Error).Header. Use
 43692  // googleapi.IsNotModified to check whether the returned error was
 43693  // because http.StatusNotModified was returned.
 43694  func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
 43695  	gensupport.SetOptions(c.urlParams_, opts...)
 43696  	res, err := c.doRequest("json")
 43697  	if res != nil && res.StatusCode == http.StatusNotModified {
 43698  		if res.Body != nil {
 43699  			res.Body.Close()
 43700  		}
 43701  		return nil, &googleapi.Error{
 43702  			Code:   res.StatusCode,
 43703  			Header: res.Header,
 43704  		}
 43705  	}
 43706  	if err != nil {
 43707  		return nil, err
 43708  	}
 43709  	defer googleapi.CloseBody(res)
 43710  	if err := googleapi.CheckResponse(res); err != nil {
 43711  		return nil, err
 43712  	}
 43713  	ret := &RemarketingListsListResponse{
 43714  		ServerResponse: googleapi.ServerResponse{
 43715  			Header:         res.Header,
 43716  			HTTPStatusCode: res.StatusCode,
 43717  		},
 43718  	}
 43719  	target := &ret
 43720  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43721  		return nil, err
 43722  	}
 43723  	return ret, nil
 43724  	// {
 43725  	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
 43726  	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 43727  	//   "httpMethod": "GET",
 43728  	//   "id": "dfareporting.remarketingLists.list",
 43729  	//   "parameterOrder": [
 43730  	//     "profileId",
 43731  	//     "advertiserId"
 43732  	//   ],
 43733  	//   "parameters": {
 43734  	//     "active": {
 43735  	//       "description": "Select only active or only inactive remarketing lists.",
 43736  	//       "location": "query",
 43737  	//       "type": "boolean"
 43738  	//     },
 43739  	//     "advertiserId": {
 43740  	//       "description": "Select only remarketing lists owned by this advertiser.",
 43741  	//       "format": "int64",
 43742  	//       "location": "query",
 43743  	//       "required": true,
 43744  	//       "type": "string"
 43745  	//     },
 43746  	//     "floodlightActivityId": {
 43747  	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
 43748  	//       "format": "int64",
 43749  	//       "location": "query",
 43750  	//       "type": "string"
 43751  	//     },
 43752  	//     "maxResults": {
 43753  	//       "default": "1000",
 43754  	//       "description": "Maximum number of results to return.",
 43755  	//       "format": "int32",
 43756  	//       "location": "query",
 43757  	//       "maximum": "1000",
 43758  	//       "minimum": "0",
 43759  	//       "type": "integer"
 43760  	//     },
 43761  	//     "name": {
 43762  	//       "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\".",
 43763  	//       "location": "query",
 43764  	//       "type": "string"
 43765  	//     },
 43766  	//     "pageToken": {
 43767  	//       "description": "Value of the nextPageToken from the previous result page.",
 43768  	//       "location": "query",
 43769  	//       "type": "string"
 43770  	//     },
 43771  	//     "profileId": {
 43772  	//       "description": "User profile ID associated with this request.",
 43773  	//       "format": "int64",
 43774  	//       "location": "path",
 43775  	//       "required": true,
 43776  	//       "type": "string"
 43777  	//     },
 43778  	//     "sortField": {
 43779  	//       "default": "ID",
 43780  	//       "description": "Field by which to sort the list.",
 43781  	//       "enum": [
 43782  	//         "ID",
 43783  	//         "NAME"
 43784  	//       ],
 43785  	//       "enumDescriptions": [
 43786  	//         "",
 43787  	//         ""
 43788  	//       ],
 43789  	//       "location": "query",
 43790  	//       "type": "string"
 43791  	//     },
 43792  	//     "sortOrder": {
 43793  	//       "default": "ASCENDING",
 43794  	//       "description": "Order of sorted results.",
 43795  	//       "enum": [
 43796  	//         "ASCENDING",
 43797  	//         "DESCENDING"
 43798  	//       ],
 43799  	//       "enumDescriptions": [
 43800  	//         "",
 43801  	//         ""
 43802  	//       ],
 43803  	//       "location": "query",
 43804  	//       "type": "string"
 43805  	//     }
 43806  	//   },
 43807  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43808  	//   "response": {
 43809  	//     "$ref": "RemarketingListsListResponse"
 43810  	//   },
 43811  	//   "scopes": [
 43812  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43813  	//   ]
 43814  	// }
 43815  
 43816  }
 43817  
 43818  // Pages invokes f for each page of results.
 43819  // A non-nil error returned from f will halt the iteration.
 43820  // The provided context supersedes any context provided to the Context method.
 43821  func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
 43822  	c.ctx_ = ctx
 43823  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 43824  	for {
 43825  		x, err := c.Do()
 43826  		if err != nil {
 43827  			return err
 43828  		}
 43829  		if err := f(x); err != nil {
 43830  			return err
 43831  		}
 43832  		if x.NextPageToken == "" {
 43833  			return nil
 43834  		}
 43835  		c.PageToken(x.NextPageToken)
 43836  	}
 43837  }
 43838  
 43839  // method id "dfareporting.remarketingLists.patch":
 43840  
 43841  type RemarketingListsPatchCall struct {
 43842  	s               *Service
 43843  	profileId       int64
 43844  	remarketinglist *RemarketingList
 43845  	urlParams_      gensupport.URLParams
 43846  	ctx_            context.Context
 43847  	header_         http.Header
 43848  }
 43849  
 43850  // Patch: Updates an existing remarketing list. This method supports
 43851  // patch semantics.
 43852  //
 43853  // - id: RemarketingList ID.
 43854  // - profileId: User profile ID associated with this request.
 43855  func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
 43856  	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 43857  	c.profileId = profileId
 43858  	c.urlParams_.Set("id", fmt.Sprint(id))
 43859  	c.remarketinglist = remarketinglist
 43860  	return c
 43861  }
 43862  
 43863  // Fields allows partial responses to be retrieved. See
 43864  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 43865  // for more information.
 43866  func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
 43867  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 43868  	return c
 43869  }
 43870  
 43871  // Context sets the context to be used in this call's Do method. Any
 43872  // pending HTTP request will be aborted if the provided context is
 43873  // canceled.
 43874  func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
 43875  	c.ctx_ = ctx
 43876  	return c
 43877  }
 43878  
 43879  // Header returns an http.Header that can be modified by the caller to
 43880  // add HTTP headers to the request.
 43881  func (c *RemarketingListsPatchCall) Header() http.Header {
 43882  	if c.header_ == nil {
 43883  		c.header_ = make(http.Header)
 43884  	}
 43885  	return c.header_
 43886  }
 43887  
 43888  func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
 43889  	reqHeaders := make(http.Header)
 43890  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 43891  	for k, v := range c.header_ {
 43892  		reqHeaders[k] = v
 43893  	}
 43894  	reqHeaders.Set("User-Agent", c.s.userAgent())
 43895  	var body io.Reader = nil
 43896  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 43897  	if err != nil {
 43898  		return nil, err
 43899  	}
 43900  	reqHeaders.Set("Content-Type", "application/json")
 43901  	c.urlParams_.Set("alt", alt)
 43902  	c.urlParams_.Set("prettyPrint", "false")
 43903  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 43904  	urls += "?" + c.urlParams_.Encode()
 43905  	req, err := http.NewRequest("PATCH", urls, body)
 43906  	if err != nil {
 43907  		return nil, err
 43908  	}
 43909  	req.Header = reqHeaders
 43910  	googleapi.Expand(req.URL, map[string]string{
 43911  		"profileId": strconv.FormatInt(c.profileId, 10),
 43912  	})
 43913  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 43914  }
 43915  
 43916  // Do executes the "dfareporting.remarketingLists.patch" call.
 43917  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 43918  // status code is an error. Response headers are in either
 43919  // *RemarketingList.ServerResponse.Header or (if a response was returned
 43920  // at all) in error.(*googleapi.Error).Header. Use
 43921  // googleapi.IsNotModified to check whether the returned error was
 43922  // because http.StatusNotModified was returned.
 43923  func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 43924  	gensupport.SetOptions(c.urlParams_, opts...)
 43925  	res, err := c.doRequest("json")
 43926  	if res != nil && res.StatusCode == http.StatusNotModified {
 43927  		if res.Body != nil {
 43928  			res.Body.Close()
 43929  		}
 43930  		return nil, &googleapi.Error{
 43931  			Code:   res.StatusCode,
 43932  			Header: res.Header,
 43933  		}
 43934  	}
 43935  	if err != nil {
 43936  		return nil, err
 43937  	}
 43938  	defer googleapi.CloseBody(res)
 43939  	if err := googleapi.CheckResponse(res); err != nil {
 43940  		return nil, err
 43941  	}
 43942  	ret := &RemarketingList{
 43943  		ServerResponse: googleapi.ServerResponse{
 43944  			Header:         res.Header,
 43945  			HTTPStatusCode: res.StatusCode,
 43946  		},
 43947  	}
 43948  	target := &ret
 43949  	if err := gensupport.DecodeResponse(target, res); err != nil {
 43950  		return nil, err
 43951  	}
 43952  	return ret, nil
 43953  	// {
 43954  	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
 43955  	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 43956  	//   "httpMethod": "PATCH",
 43957  	//   "id": "dfareporting.remarketingLists.patch",
 43958  	//   "parameterOrder": [
 43959  	//     "profileId",
 43960  	//     "id"
 43961  	//   ],
 43962  	//   "parameters": {
 43963  	//     "id": {
 43964  	//       "description": "RemarketingList ID.",
 43965  	//       "format": "int64",
 43966  	//       "location": "query",
 43967  	//       "required": true,
 43968  	//       "type": "string"
 43969  	//     },
 43970  	//     "profileId": {
 43971  	//       "description": "User profile ID associated with this request.",
 43972  	//       "format": "int64",
 43973  	//       "location": "path",
 43974  	//       "required": true,
 43975  	//       "type": "string"
 43976  	//     }
 43977  	//   },
 43978  	//   "path": "userprofiles/{profileId}/remarketingLists",
 43979  	//   "request": {
 43980  	//     "$ref": "RemarketingList"
 43981  	//   },
 43982  	//   "response": {
 43983  	//     "$ref": "RemarketingList"
 43984  	//   },
 43985  	//   "scopes": [
 43986  	//     "https://www.googleapis.com/auth/dfatrafficking"
 43987  	//   ]
 43988  	// }
 43989  
 43990  }
 43991  
 43992  // method id "dfareporting.remarketingLists.update":
 43993  
 43994  type RemarketingListsUpdateCall struct {
 43995  	s               *Service
 43996  	profileId       int64
 43997  	remarketinglist *RemarketingList
 43998  	urlParams_      gensupport.URLParams
 43999  	ctx_            context.Context
 44000  	header_         http.Header
 44001  }
 44002  
 44003  // Update: Updates an existing remarketing list.
 44004  //
 44005  // - profileId: User profile ID associated with this request.
 44006  func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
 44007  	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44008  	c.profileId = profileId
 44009  	c.remarketinglist = remarketinglist
 44010  	return c
 44011  }
 44012  
 44013  // Fields allows partial responses to be retrieved. See
 44014  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44015  // for more information.
 44016  func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
 44017  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44018  	return c
 44019  }
 44020  
 44021  // Context sets the context to be used in this call's Do method. Any
 44022  // pending HTTP request will be aborted if the provided context is
 44023  // canceled.
 44024  func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
 44025  	c.ctx_ = ctx
 44026  	return c
 44027  }
 44028  
 44029  // Header returns an http.Header that can be modified by the caller to
 44030  // add HTTP headers to the request.
 44031  func (c *RemarketingListsUpdateCall) Header() http.Header {
 44032  	if c.header_ == nil {
 44033  		c.header_ = make(http.Header)
 44034  	}
 44035  	return c.header_
 44036  }
 44037  
 44038  func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
 44039  	reqHeaders := make(http.Header)
 44040  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44041  	for k, v := range c.header_ {
 44042  		reqHeaders[k] = v
 44043  	}
 44044  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44045  	var body io.Reader = nil
 44046  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
 44047  	if err != nil {
 44048  		return nil, err
 44049  	}
 44050  	reqHeaders.Set("Content-Type", "application/json")
 44051  	c.urlParams_.Set("alt", alt)
 44052  	c.urlParams_.Set("prettyPrint", "false")
 44053  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
 44054  	urls += "?" + c.urlParams_.Encode()
 44055  	req, err := http.NewRequest("PUT", urls, body)
 44056  	if err != nil {
 44057  		return nil, err
 44058  	}
 44059  	req.Header = reqHeaders
 44060  	googleapi.Expand(req.URL, map[string]string{
 44061  		"profileId": strconv.FormatInt(c.profileId, 10),
 44062  	})
 44063  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44064  }
 44065  
 44066  // Do executes the "dfareporting.remarketingLists.update" call.
 44067  // Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
 44068  // status code is an error. Response headers are in either
 44069  // *RemarketingList.ServerResponse.Header or (if a response was returned
 44070  // at all) in error.(*googleapi.Error).Header. Use
 44071  // googleapi.IsNotModified to check whether the returned error was
 44072  // because http.StatusNotModified was returned.
 44073  func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
 44074  	gensupport.SetOptions(c.urlParams_, opts...)
 44075  	res, err := c.doRequest("json")
 44076  	if res != nil && res.StatusCode == http.StatusNotModified {
 44077  		if res.Body != nil {
 44078  			res.Body.Close()
 44079  		}
 44080  		return nil, &googleapi.Error{
 44081  			Code:   res.StatusCode,
 44082  			Header: res.Header,
 44083  		}
 44084  	}
 44085  	if err != nil {
 44086  		return nil, err
 44087  	}
 44088  	defer googleapi.CloseBody(res)
 44089  	if err := googleapi.CheckResponse(res); err != nil {
 44090  		return nil, err
 44091  	}
 44092  	ret := &RemarketingList{
 44093  		ServerResponse: googleapi.ServerResponse{
 44094  			Header:         res.Header,
 44095  			HTTPStatusCode: res.StatusCode,
 44096  		},
 44097  	}
 44098  	target := &ret
 44099  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44100  		return nil, err
 44101  	}
 44102  	return ret, nil
 44103  	// {
 44104  	//   "description": "Updates an existing remarketing list.",
 44105  	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
 44106  	//   "httpMethod": "PUT",
 44107  	//   "id": "dfareporting.remarketingLists.update",
 44108  	//   "parameterOrder": [
 44109  	//     "profileId"
 44110  	//   ],
 44111  	//   "parameters": {
 44112  	//     "profileId": {
 44113  	//       "description": "User profile ID associated with this request.",
 44114  	//       "format": "int64",
 44115  	//       "location": "path",
 44116  	//       "required": true,
 44117  	//       "type": "string"
 44118  	//     }
 44119  	//   },
 44120  	//   "path": "userprofiles/{profileId}/remarketingLists",
 44121  	//   "request": {
 44122  	//     "$ref": "RemarketingList"
 44123  	//   },
 44124  	//   "response": {
 44125  	//     "$ref": "RemarketingList"
 44126  	//   },
 44127  	//   "scopes": [
 44128  	//     "https://www.googleapis.com/auth/dfatrafficking"
 44129  	//   ]
 44130  	// }
 44131  
 44132  }
 44133  
 44134  // method id "dfareporting.reports.delete":
 44135  
 44136  type ReportsDeleteCall struct {
 44137  	s          *Service
 44138  	profileId  int64
 44139  	reportId   int64
 44140  	urlParams_ gensupport.URLParams
 44141  	ctx_       context.Context
 44142  	header_    http.Header
 44143  }
 44144  
 44145  // Delete: Deletes a report by its ID.
 44146  //
 44147  // - profileId: The Campaign Manager 360 user profile ID.
 44148  // - reportId: The ID of the report.
 44149  func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
 44150  	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44151  	c.profileId = profileId
 44152  	c.reportId = reportId
 44153  	return c
 44154  }
 44155  
 44156  // Fields allows partial responses to be retrieved. See
 44157  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44158  // for more information.
 44159  func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
 44160  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44161  	return c
 44162  }
 44163  
 44164  // Context sets the context to be used in this call's Do method. Any
 44165  // pending HTTP request will be aborted if the provided context is
 44166  // canceled.
 44167  func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
 44168  	c.ctx_ = ctx
 44169  	return c
 44170  }
 44171  
 44172  // Header returns an http.Header that can be modified by the caller to
 44173  // add HTTP headers to the request.
 44174  func (c *ReportsDeleteCall) Header() http.Header {
 44175  	if c.header_ == nil {
 44176  		c.header_ = make(http.Header)
 44177  	}
 44178  	return c.header_
 44179  }
 44180  
 44181  func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
 44182  	reqHeaders := make(http.Header)
 44183  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44184  	for k, v := range c.header_ {
 44185  		reqHeaders[k] = v
 44186  	}
 44187  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44188  	var body io.Reader = nil
 44189  	c.urlParams_.Set("alt", alt)
 44190  	c.urlParams_.Set("prettyPrint", "false")
 44191  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44192  	urls += "?" + c.urlParams_.Encode()
 44193  	req, err := http.NewRequest("DELETE", urls, body)
 44194  	if err != nil {
 44195  		return nil, err
 44196  	}
 44197  	req.Header = reqHeaders
 44198  	googleapi.Expand(req.URL, map[string]string{
 44199  		"profileId": strconv.FormatInt(c.profileId, 10),
 44200  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44201  	})
 44202  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44203  }
 44204  
 44205  // Do executes the "dfareporting.reports.delete" call.
 44206  func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
 44207  	gensupport.SetOptions(c.urlParams_, opts...)
 44208  	res, err := c.doRequest("json")
 44209  	if err != nil {
 44210  		return err
 44211  	}
 44212  	defer googleapi.CloseBody(res)
 44213  	if err := googleapi.CheckResponse(res); err != nil {
 44214  		return err
 44215  	}
 44216  	return nil
 44217  	// {
 44218  	//   "description": "Deletes a report by its ID.",
 44219  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 44220  	//   "httpMethod": "DELETE",
 44221  	//   "id": "dfareporting.reports.delete",
 44222  	//   "parameterOrder": [
 44223  	//     "profileId",
 44224  	//     "reportId"
 44225  	//   ],
 44226  	//   "parameters": {
 44227  	//     "profileId": {
 44228  	//       "description": "The Campaign Manager 360 user profile ID.",
 44229  	//       "format": "int64",
 44230  	//       "location": "path",
 44231  	//       "required": true,
 44232  	//       "type": "string"
 44233  	//     },
 44234  	//     "reportId": {
 44235  	//       "description": "The ID of the report.",
 44236  	//       "format": "int64",
 44237  	//       "location": "path",
 44238  	//       "required": true,
 44239  	//       "type": "string"
 44240  	//     }
 44241  	//   },
 44242  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44243  	//   "scopes": [
 44244  	//     "https://www.googleapis.com/auth/dfareporting"
 44245  	//   ]
 44246  	// }
 44247  
 44248  }
 44249  
 44250  // method id "dfareporting.reports.get":
 44251  
 44252  type ReportsGetCall struct {
 44253  	s            *Service
 44254  	profileId    int64
 44255  	reportId     int64
 44256  	urlParams_   gensupport.URLParams
 44257  	ifNoneMatch_ string
 44258  	ctx_         context.Context
 44259  	header_      http.Header
 44260  }
 44261  
 44262  // Get: Retrieves a report by its ID.
 44263  //
 44264  // - profileId: The Campaign Manager 360 user profile ID.
 44265  // - reportId: The ID of the report.
 44266  func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
 44267  	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44268  	c.profileId = profileId
 44269  	c.reportId = reportId
 44270  	return c
 44271  }
 44272  
 44273  // Fields allows partial responses to be retrieved. See
 44274  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44275  // for more information.
 44276  func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
 44277  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44278  	return c
 44279  }
 44280  
 44281  // IfNoneMatch sets the optional parameter which makes the operation
 44282  // fail if the object's ETag matches the given value. This is useful for
 44283  // getting updates only after the object has changed since the last
 44284  // request. Use googleapi.IsNotModified to check whether the response
 44285  // error from Do is the result of In-None-Match.
 44286  func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
 44287  	c.ifNoneMatch_ = entityTag
 44288  	return c
 44289  }
 44290  
 44291  // Context sets the context to be used in this call's Do method. Any
 44292  // pending HTTP request will be aborted if the provided context is
 44293  // canceled.
 44294  func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
 44295  	c.ctx_ = ctx
 44296  	return c
 44297  }
 44298  
 44299  // Header returns an http.Header that can be modified by the caller to
 44300  // add HTTP headers to the request.
 44301  func (c *ReportsGetCall) Header() http.Header {
 44302  	if c.header_ == nil {
 44303  		c.header_ = make(http.Header)
 44304  	}
 44305  	return c.header_
 44306  }
 44307  
 44308  func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
 44309  	reqHeaders := make(http.Header)
 44310  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44311  	for k, v := range c.header_ {
 44312  		reqHeaders[k] = v
 44313  	}
 44314  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44315  	if c.ifNoneMatch_ != "" {
 44316  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44317  	}
 44318  	var body io.Reader = nil
 44319  	c.urlParams_.Set("alt", alt)
 44320  	c.urlParams_.Set("prettyPrint", "false")
 44321  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44322  	urls += "?" + c.urlParams_.Encode()
 44323  	req, err := http.NewRequest("GET", urls, body)
 44324  	if err != nil {
 44325  		return nil, err
 44326  	}
 44327  	req.Header = reqHeaders
 44328  	googleapi.Expand(req.URL, map[string]string{
 44329  		"profileId": strconv.FormatInt(c.profileId, 10),
 44330  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44331  	})
 44332  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44333  }
 44334  
 44335  // Do executes the "dfareporting.reports.get" call.
 44336  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44337  // code is an error. Response headers are in either
 44338  // *Report.ServerResponse.Header or (if a response was returned at all)
 44339  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44340  // check whether the returned error was because http.StatusNotModified
 44341  // was returned.
 44342  func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44343  	gensupport.SetOptions(c.urlParams_, opts...)
 44344  	res, err := c.doRequest("json")
 44345  	if res != nil && res.StatusCode == http.StatusNotModified {
 44346  		if res.Body != nil {
 44347  			res.Body.Close()
 44348  		}
 44349  		return nil, &googleapi.Error{
 44350  			Code:   res.StatusCode,
 44351  			Header: res.Header,
 44352  		}
 44353  	}
 44354  	if err != nil {
 44355  		return nil, err
 44356  	}
 44357  	defer googleapi.CloseBody(res)
 44358  	if err := googleapi.CheckResponse(res); err != nil {
 44359  		return nil, err
 44360  	}
 44361  	ret := &Report{
 44362  		ServerResponse: googleapi.ServerResponse{
 44363  			Header:         res.Header,
 44364  			HTTPStatusCode: res.StatusCode,
 44365  		},
 44366  	}
 44367  	target := &ret
 44368  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44369  		return nil, err
 44370  	}
 44371  	return ret, nil
 44372  	// {
 44373  	//   "description": "Retrieves a report by its ID.",
 44374  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 44375  	//   "httpMethod": "GET",
 44376  	//   "id": "dfareporting.reports.get",
 44377  	//   "parameterOrder": [
 44378  	//     "profileId",
 44379  	//     "reportId"
 44380  	//   ],
 44381  	//   "parameters": {
 44382  	//     "profileId": {
 44383  	//       "description": "The Campaign Manager 360 user profile ID.",
 44384  	//       "format": "int64",
 44385  	//       "location": "path",
 44386  	//       "required": true,
 44387  	//       "type": "string"
 44388  	//     },
 44389  	//     "reportId": {
 44390  	//       "description": "The ID of the report.",
 44391  	//       "format": "int64",
 44392  	//       "location": "path",
 44393  	//       "required": true,
 44394  	//       "type": "string"
 44395  	//     }
 44396  	//   },
 44397  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44398  	//   "response": {
 44399  	//     "$ref": "Report"
 44400  	//   },
 44401  	//   "scopes": [
 44402  	//     "https://www.googleapis.com/auth/dfareporting"
 44403  	//   ]
 44404  	// }
 44405  
 44406  }
 44407  
 44408  // method id "dfareporting.reports.insert":
 44409  
 44410  type ReportsInsertCall struct {
 44411  	s          *Service
 44412  	profileId  int64
 44413  	report     *Report
 44414  	urlParams_ gensupport.URLParams
 44415  	ctx_       context.Context
 44416  	header_    http.Header
 44417  }
 44418  
 44419  // Insert: Creates a report.
 44420  //
 44421  // - profileId: The Campaign Manager 360 user profile ID.
 44422  func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
 44423  	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44424  	c.profileId = profileId
 44425  	c.report = report
 44426  	return c
 44427  }
 44428  
 44429  // Fields allows partial responses to be retrieved. See
 44430  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44431  // for more information.
 44432  func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
 44433  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44434  	return c
 44435  }
 44436  
 44437  // Context sets the context to be used in this call's Do method. Any
 44438  // pending HTTP request will be aborted if the provided context is
 44439  // canceled.
 44440  func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
 44441  	c.ctx_ = ctx
 44442  	return c
 44443  }
 44444  
 44445  // Header returns an http.Header that can be modified by the caller to
 44446  // add HTTP headers to the request.
 44447  func (c *ReportsInsertCall) Header() http.Header {
 44448  	if c.header_ == nil {
 44449  		c.header_ = make(http.Header)
 44450  	}
 44451  	return c.header_
 44452  }
 44453  
 44454  func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
 44455  	reqHeaders := make(http.Header)
 44456  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44457  	for k, v := range c.header_ {
 44458  		reqHeaders[k] = v
 44459  	}
 44460  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44461  	var body io.Reader = nil
 44462  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44463  	if err != nil {
 44464  		return nil, err
 44465  	}
 44466  	reqHeaders.Set("Content-Type", "application/json")
 44467  	c.urlParams_.Set("alt", alt)
 44468  	c.urlParams_.Set("prettyPrint", "false")
 44469  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 44470  	urls += "?" + c.urlParams_.Encode()
 44471  	req, err := http.NewRequest("POST", urls, body)
 44472  	if err != nil {
 44473  		return nil, err
 44474  	}
 44475  	req.Header = reqHeaders
 44476  	googleapi.Expand(req.URL, map[string]string{
 44477  		"profileId": strconv.FormatInt(c.profileId, 10),
 44478  	})
 44479  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44480  }
 44481  
 44482  // Do executes the "dfareporting.reports.insert" call.
 44483  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44484  // code is an error. Response headers are in either
 44485  // *Report.ServerResponse.Header or (if a response was returned at all)
 44486  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44487  // check whether the returned error was because http.StatusNotModified
 44488  // was returned.
 44489  func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44490  	gensupport.SetOptions(c.urlParams_, opts...)
 44491  	res, err := c.doRequest("json")
 44492  	if res != nil && res.StatusCode == http.StatusNotModified {
 44493  		if res.Body != nil {
 44494  			res.Body.Close()
 44495  		}
 44496  		return nil, &googleapi.Error{
 44497  			Code:   res.StatusCode,
 44498  			Header: res.Header,
 44499  		}
 44500  	}
 44501  	if err != nil {
 44502  		return nil, err
 44503  	}
 44504  	defer googleapi.CloseBody(res)
 44505  	if err := googleapi.CheckResponse(res); err != nil {
 44506  		return nil, err
 44507  	}
 44508  	ret := &Report{
 44509  		ServerResponse: googleapi.ServerResponse{
 44510  			Header:         res.Header,
 44511  			HTTPStatusCode: res.StatusCode,
 44512  		},
 44513  	}
 44514  	target := &ret
 44515  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44516  		return nil, err
 44517  	}
 44518  	return ret, nil
 44519  	// {
 44520  	//   "description": "Creates a report.",
 44521  	//   "flatPath": "userprofiles/{profileId}/reports",
 44522  	//   "httpMethod": "POST",
 44523  	//   "id": "dfareporting.reports.insert",
 44524  	//   "parameterOrder": [
 44525  	//     "profileId"
 44526  	//   ],
 44527  	//   "parameters": {
 44528  	//     "profileId": {
 44529  	//       "description": "The Campaign Manager 360 user profile ID.",
 44530  	//       "format": "int64",
 44531  	//       "location": "path",
 44532  	//       "required": true,
 44533  	//       "type": "string"
 44534  	//     }
 44535  	//   },
 44536  	//   "path": "userprofiles/{profileId}/reports",
 44537  	//   "request": {
 44538  	//     "$ref": "Report"
 44539  	//   },
 44540  	//   "response": {
 44541  	//     "$ref": "Report"
 44542  	//   },
 44543  	//   "scopes": [
 44544  	//     "https://www.googleapis.com/auth/dfareporting"
 44545  	//   ]
 44546  	// }
 44547  
 44548  }
 44549  
 44550  // method id "dfareporting.reports.list":
 44551  
 44552  type ReportsListCall struct {
 44553  	s            *Service
 44554  	profileId    int64
 44555  	urlParams_   gensupport.URLParams
 44556  	ifNoneMatch_ string
 44557  	ctx_         context.Context
 44558  	header_      http.Header
 44559  }
 44560  
 44561  // List: Retrieves list of reports.
 44562  //
 44563  // - profileId: The Campaign Manager 360 user profile ID.
 44564  func (r *ReportsService) List(profileId int64) *ReportsListCall {
 44565  	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44566  	c.profileId = profileId
 44567  	return c
 44568  }
 44569  
 44570  // MaxResults sets the optional parameter "maxResults": Maximum number
 44571  // of results to return.
 44572  func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
 44573  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 44574  	return c
 44575  }
 44576  
 44577  // PageToken sets the optional parameter "pageToken": The value of the
 44578  // nextToken from the previous result page.
 44579  func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
 44580  	c.urlParams_.Set("pageToken", pageToken)
 44581  	return c
 44582  }
 44583  
 44584  // Scope sets the optional parameter "scope": The scope that defines
 44585  // which results are returned.
 44586  //
 44587  // Possible values:
 44588  //
 44589  //	"ALL" - All reports in account.
 44590  //	"MINE" (default) - My reports.
 44591  func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
 44592  	c.urlParams_.Set("scope", scope)
 44593  	return c
 44594  }
 44595  
 44596  // SortField sets the optional parameter "sortField": The field by which
 44597  // to sort the list.
 44598  //
 44599  // Possible values:
 44600  //
 44601  //	"ID" - Sort by report ID.
 44602  //	"LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
 44603  //	"NAME" - Sort by name of reports.
 44604  func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
 44605  	c.urlParams_.Set("sortField", sortField)
 44606  	return c
 44607  }
 44608  
 44609  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 44610  // results.
 44611  //
 44612  // Possible values:
 44613  //
 44614  //	"ASCENDING" - Ascending order.
 44615  //	"DESCENDING" (default) - Descending order.
 44616  func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
 44617  	c.urlParams_.Set("sortOrder", sortOrder)
 44618  	return c
 44619  }
 44620  
 44621  // Fields allows partial responses to be retrieved. See
 44622  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44623  // for more information.
 44624  func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
 44625  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44626  	return c
 44627  }
 44628  
 44629  // IfNoneMatch sets the optional parameter which makes the operation
 44630  // fail if the object's ETag matches the given value. This is useful for
 44631  // getting updates only after the object has changed since the last
 44632  // request. Use googleapi.IsNotModified to check whether the response
 44633  // error from Do is the result of In-None-Match.
 44634  func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
 44635  	c.ifNoneMatch_ = entityTag
 44636  	return c
 44637  }
 44638  
 44639  // Context sets the context to be used in this call's Do method. Any
 44640  // pending HTTP request will be aborted if the provided context is
 44641  // canceled.
 44642  func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
 44643  	c.ctx_ = ctx
 44644  	return c
 44645  }
 44646  
 44647  // Header returns an http.Header that can be modified by the caller to
 44648  // add HTTP headers to the request.
 44649  func (c *ReportsListCall) Header() http.Header {
 44650  	if c.header_ == nil {
 44651  		c.header_ = make(http.Header)
 44652  	}
 44653  	return c.header_
 44654  }
 44655  
 44656  func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
 44657  	reqHeaders := make(http.Header)
 44658  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44659  	for k, v := range c.header_ {
 44660  		reqHeaders[k] = v
 44661  	}
 44662  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44663  	if c.ifNoneMatch_ != "" {
 44664  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 44665  	}
 44666  	var body io.Reader = nil
 44667  	c.urlParams_.Set("alt", alt)
 44668  	c.urlParams_.Set("prettyPrint", "false")
 44669  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
 44670  	urls += "?" + c.urlParams_.Encode()
 44671  	req, err := http.NewRequest("GET", urls, body)
 44672  	if err != nil {
 44673  		return nil, err
 44674  	}
 44675  	req.Header = reqHeaders
 44676  	googleapi.Expand(req.URL, map[string]string{
 44677  		"profileId": strconv.FormatInt(c.profileId, 10),
 44678  	})
 44679  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44680  }
 44681  
 44682  // Do executes the "dfareporting.reports.list" call.
 44683  // Exactly one of *ReportList or error will be non-nil. Any non-2xx
 44684  // status code is an error. Response headers are in either
 44685  // *ReportList.ServerResponse.Header or (if a response was returned at
 44686  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 44687  // to check whether the returned error was because
 44688  // http.StatusNotModified was returned.
 44689  func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
 44690  	gensupport.SetOptions(c.urlParams_, opts...)
 44691  	res, err := c.doRequest("json")
 44692  	if res != nil && res.StatusCode == http.StatusNotModified {
 44693  		if res.Body != nil {
 44694  			res.Body.Close()
 44695  		}
 44696  		return nil, &googleapi.Error{
 44697  			Code:   res.StatusCode,
 44698  			Header: res.Header,
 44699  		}
 44700  	}
 44701  	if err != nil {
 44702  		return nil, err
 44703  	}
 44704  	defer googleapi.CloseBody(res)
 44705  	if err := googleapi.CheckResponse(res); err != nil {
 44706  		return nil, err
 44707  	}
 44708  	ret := &ReportList{
 44709  		ServerResponse: googleapi.ServerResponse{
 44710  			Header:         res.Header,
 44711  			HTTPStatusCode: res.StatusCode,
 44712  		},
 44713  	}
 44714  	target := &ret
 44715  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44716  		return nil, err
 44717  	}
 44718  	return ret, nil
 44719  	// {
 44720  	//   "description": "Retrieves list of reports.",
 44721  	//   "flatPath": "userprofiles/{profileId}/reports",
 44722  	//   "httpMethod": "GET",
 44723  	//   "id": "dfareporting.reports.list",
 44724  	//   "parameterOrder": [
 44725  	//     "profileId"
 44726  	//   ],
 44727  	//   "parameters": {
 44728  	//     "maxResults": {
 44729  	//       "default": "10",
 44730  	//       "description": "Maximum number of results to return.",
 44731  	//       "format": "int32",
 44732  	//       "location": "query",
 44733  	//       "maximum": "10",
 44734  	//       "minimum": "0",
 44735  	//       "type": "integer"
 44736  	//     },
 44737  	//     "pageToken": {
 44738  	//       "description": "The value of the nextToken from the previous result page.",
 44739  	//       "location": "query",
 44740  	//       "type": "string"
 44741  	//     },
 44742  	//     "profileId": {
 44743  	//       "description": "The Campaign Manager 360 user profile ID.",
 44744  	//       "format": "int64",
 44745  	//       "location": "path",
 44746  	//       "required": true,
 44747  	//       "type": "string"
 44748  	//     },
 44749  	//     "scope": {
 44750  	//       "default": "MINE",
 44751  	//       "description": "The scope that defines which results are returned.",
 44752  	//       "enum": [
 44753  	//         "ALL",
 44754  	//         "MINE"
 44755  	//       ],
 44756  	//       "enumDescriptions": [
 44757  	//         "All reports in account.",
 44758  	//         "My reports."
 44759  	//       ],
 44760  	//       "location": "query",
 44761  	//       "type": "string"
 44762  	//     },
 44763  	//     "sortField": {
 44764  	//       "default": "LAST_MODIFIED_TIME",
 44765  	//       "description": "The field by which to sort the list.",
 44766  	//       "enum": [
 44767  	//         "ID",
 44768  	//         "LAST_MODIFIED_TIME",
 44769  	//         "NAME"
 44770  	//       ],
 44771  	//       "enumDescriptions": [
 44772  	//         "Sort by report ID.",
 44773  	//         "Sort by 'lastModifiedTime' field.",
 44774  	//         "Sort by name of reports."
 44775  	//       ],
 44776  	//       "location": "query",
 44777  	//       "type": "string"
 44778  	//     },
 44779  	//     "sortOrder": {
 44780  	//       "default": "DESCENDING",
 44781  	//       "description": "Order of sorted results.",
 44782  	//       "enum": [
 44783  	//         "ASCENDING",
 44784  	//         "DESCENDING"
 44785  	//       ],
 44786  	//       "enumDescriptions": [
 44787  	//         "Ascending order.",
 44788  	//         "Descending order."
 44789  	//       ],
 44790  	//       "location": "query",
 44791  	//       "type": "string"
 44792  	//     }
 44793  	//   },
 44794  	//   "path": "userprofiles/{profileId}/reports",
 44795  	//   "response": {
 44796  	//     "$ref": "ReportList"
 44797  	//   },
 44798  	//   "scopes": [
 44799  	//     "https://www.googleapis.com/auth/dfareporting"
 44800  	//   ]
 44801  	// }
 44802  
 44803  }
 44804  
 44805  // Pages invokes f for each page of results.
 44806  // A non-nil error returned from f will halt the iteration.
 44807  // The provided context supersedes any context provided to the Context method.
 44808  func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
 44809  	c.ctx_ = ctx
 44810  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 44811  	for {
 44812  		x, err := c.Do()
 44813  		if err != nil {
 44814  			return err
 44815  		}
 44816  		if err := f(x); err != nil {
 44817  			return err
 44818  		}
 44819  		if x.NextPageToken == "" {
 44820  			return nil
 44821  		}
 44822  		c.PageToken(x.NextPageToken)
 44823  	}
 44824  }
 44825  
 44826  // method id "dfareporting.reports.patch":
 44827  
 44828  type ReportsPatchCall struct {
 44829  	s          *Service
 44830  	profileId  int64
 44831  	reportId   int64
 44832  	report     *Report
 44833  	urlParams_ gensupport.URLParams
 44834  	ctx_       context.Context
 44835  	header_    http.Header
 44836  }
 44837  
 44838  // Patch: Updates an existing report. This method supports patch
 44839  // semantics.
 44840  //
 44841  // - profileId: The DFA user profile ID.
 44842  // - reportId: The ID of the report.
 44843  func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
 44844  	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44845  	c.profileId = profileId
 44846  	c.reportId = reportId
 44847  	c.report = report
 44848  	return c
 44849  }
 44850  
 44851  // Fields allows partial responses to be retrieved. See
 44852  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 44853  // for more information.
 44854  func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
 44855  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 44856  	return c
 44857  }
 44858  
 44859  // Context sets the context to be used in this call's Do method. Any
 44860  // pending HTTP request will be aborted if the provided context is
 44861  // canceled.
 44862  func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
 44863  	c.ctx_ = ctx
 44864  	return c
 44865  }
 44866  
 44867  // Header returns an http.Header that can be modified by the caller to
 44868  // add HTTP headers to the request.
 44869  func (c *ReportsPatchCall) Header() http.Header {
 44870  	if c.header_ == nil {
 44871  		c.header_ = make(http.Header)
 44872  	}
 44873  	return c.header_
 44874  }
 44875  
 44876  func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
 44877  	reqHeaders := make(http.Header)
 44878  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 44879  	for k, v := range c.header_ {
 44880  		reqHeaders[k] = v
 44881  	}
 44882  	reqHeaders.Set("User-Agent", c.s.userAgent())
 44883  	var body io.Reader = nil
 44884  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 44885  	if err != nil {
 44886  		return nil, err
 44887  	}
 44888  	reqHeaders.Set("Content-Type", "application/json")
 44889  	c.urlParams_.Set("alt", alt)
 44890  	c.urlParams_.Set("prettyPrint", "false")
 44891  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 44892  	urls += "?" + c.urlParams_.Encode()
 44893  	req, err := http.NewRequest("PATCH", urls, body)
 44894  	if err != nil {
 44895  		return nil, err
 44896  	}
 44897  	req.Header = reqHeaders
 44898  	googleapi.Expand(req.URL, map[string]string{
 44899  		"profileId": strconv.FormatInt(c.profileId, 10),
 44900  		"reportId":  strconv.FormatInt(c.reportId, 10),
 44901  	})
 44902  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 44903  }
 44904  
 44905  // Do executes the "dfareporting.reports.patch" call.
 44906  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 44907  // code is an error. Response headers are in either
 44908  // *Report.ServerResponse.Header or (if a response was returned at all)
 44909  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 44910  // check whether the returned error was because http.StatusNotModified
 44911  // was returned.
 44912  func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 44913  	gensupport.SetOptions(c.urlParams_, opts...)
 44914  	res, err := c.doRequest("json")
 44915  	if res != nil && res.StatusCode == http.StatusNotModified {
 44916  		if res.Body != nil {
 44917  			res.Body.Close()
 44918  		}
 44919  		return nil, &googleapi.Error{
 44920  			Code:   res.StatusCode,
 44921  			Header: res.Header,
 44922  		}
 44923  	}
 44924  	if err != nil {
 44925  		return nil, err
 44926  	}
 44927  	defer googleapi.CloseBody(res)
 44928  	if err := googleapi.CheckResponse(res); err != nil {
 44929  		return nil, err
 44930  	}
 44931  	ret := &Report{
 44932  		ServerResponse: googleapi.ServerResponse{
 44933  			Header:         res.Header,
 44934  			HTTPStatusCode: res.StatusCode,
 44935  		},
 44936  	}
 44937  	target := &ret
 44938  	if err := gensupport.DecodeResponse(target, res); err != nil {
 44939  		return nil, err
 44940  	}
 44941  	return ret, nil
 44942  	// {
 44943  	//   "description": "Updates an existing report. This method supports patch semantics.",
 44944  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 44945  	//   "httpMethod": "PATCH",
 44946  	//   "id": "dfareporting.reports.patch",
 44947  	//   "parameterOrder": [
 44948  	//     "profileId",
 44949  	//     "reportId"
 44950  	//   ],
 44951  	//   "parameters": {
 44952  	//     "profileId": {
 44953  	//       "description": "The DFA user profile ID.",
 44954  	//       "format": "int64",
 44955  	//       "location": "path",
 44956  	//       "required": true,
 44957  	//       "type": "string"
 44958  	//     },
 44959  	//     "reportId": {
 44960  	//       "description": "The ID of the report.",
 44961  	//       "format": "int64",
 44962  	//       "location": "path",
 44963  	//       "required": true,
 44964  	//       "type": "string"
 44965  	//     }
 44966  	//   },
 44967  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 44968  	//   "request": {
 44969  	//     "$ref": "Report"
 44970  	//   },
 44971  	//   "response": {
 44972  	//     "$ref": "Report"
 44973  	//   },
 44974  	//   "scopes": [
 44975  	//     "https://www.googleapis.com/auth/dfareporting"
 44976  	//   ]
 44977  	// }
 44978  
 44979  }
 44980  
 44981  // method id "dfareporting.reports.run":
 44982  
 44983  type ReportsRunCall struct {
 44984  	s          *Service
 44985  	profileId  int64
 44986  	reportId   int64
 44987  	urlParams_ gensupport.URLParams
 44988  	ctx_       context.Context
 44989  	header_    http.Header
 44990  }
 44991  
 44992  // Run: Runs a report.
 44993  //
 44994  // - profileId: The Campaign Manager 360 user profile ID.
 44995  // - reportId: The ID of the report.
 44996  func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
 44997  	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 44998  	c.profileId = profileId
 44999  	c.reportId = reportId
 45000  	return c
 45001  }
 45002  
 45003  // Synchronous sets the optional parameter "synchronous": If set and
 45004  // true, tries to run the report synchronously.
 45005  func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
 45006  	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
 45007  	return c
 45008  }
 45009  
 45010  // Fields allows partial responses to be retrieved. See
 45011  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45012  // for more information.
 45013  func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
 45014  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45015  	return c
 45016  }
 45017  
 45018  // Context sets the context to be used in this call's Do method. Any
 45019  // pending HTTP request will be aborted if the provided context is
 45020  // canceled.
 45021  func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
 45022  	c.ctx_ = ctx
 45023  	return c
 45024  }
 45025  
 45026  // Header returns an http.Header that can be modified by the caller to
 45027  // add HTTP headers to the request.
 45028  func (c *ReportsRunCall) Header() http.Header {
 45029  	if c.header_ == nil {
 45030  		c.header_ = make(http.Header)
 45031  	}
 45032  	return c.header_
 45033  }
 45034  
 45035  func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
 45036  	reqHeaders := make(http.Header)
 45037  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45038  	for k, v := range c.header_ {
 45039  		reqHeaders[k] = v
 45040  	}
 45041  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45042  	var body io.Reader = nil
 45043  	c.urlParams_.Set("alt", alt)
 45044  	c.urlParams_.Set("prettyPrint", "false")
 45045  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
 45046  	urls += "?" + c.urlParams_.Encode()
 45047  	req, err := http.NewRequest("POST", urls, body)
 45048  	if err != nil {
 45049  		return nil, err
 45050  	}
 45051  	req.Header = reqHeaders
 45052  	googleapi.Expand(req.URL, map[string]string{
 45053  		"profileId": strconv.FormatInt(c.profileId, 10),
 45054  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45055  	})
 45056  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45057  }
 45058  
 45059  // Do executes the "dfareporting.reports.run" call.
 45060  // Exactly one of *File or error will be non-nil. Any non-2xx status
 45061  // code is an error. Response headers are in either
 45062  // *File.ServerResponse.Header or (if a response was returned at all) in
 45063  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45064  // whether the returned error was because http.StatusNotModified was
 45065  // returned.
 45066  func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
 45067  	gensupport.SetOptions(c.urlParams_, opts...)
 45068  	res, err := c.doRequest("json")
 45069  	if res != nil && res.StatusCode == http.StatusNotModified {
 45070  		if res.Body != nil {
 45071  			res.Body.Close()
 45072  		}
 45073  		return nil, &googleapi.Error{
 45074  			Code:   res.StatusCode,
 45075  			Header: res.Header,
 45076  		}
 45077  	}
 45078  	if err != nil {
 45079  		return nil, err
 45080  	}
 45081  	defer googleapi.CloseBody(res)
 45082  	if err := googleapi.CheckResponse(res); err != nil {
 45083  		return nil, err
 45084  	}
 45085  	ret := &File{
 45086  		ServerResponse: googleapi.ServerResponse{
 45087  			Header:         res.Header,
 45088  			HTTPStatusCode: res.StatusCode,
 45089  		},
 45090  	}
 45091  	target := &ret
 45092  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45093  		return nil, err
 45094  	}
 45095  	return ret, nil
 45096  	// {
 45097  	//   "description": "Runs a report.",
 45098  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
 45099  	//   "httpMethod": "POST",
 45100  	//   "id": "dfareporting.reports.run",
 45101  	//   "parameterOrder": [
 45102  	//     "profileId",
 45103  	//     "reportId"
 45104  	//   ],
 45105  	//   "parameters": {
 45106  	//     "profileId": {
 45107  	//       "description": "The Campaign Manager 360 user profile ID.",
 45108  	//       "format": "int64",
 45109  	//       "location": "path",
 45110  	//       "required": true,
 45111  	//       "type": "string"
 45112  	//     },
 45113  	//     "reportId": {
 45114  	//       "description": "The ID of the report.",
 45115  	//       "format": "int64",
 45116  	//       "location": "path",
 45117  	//       "required": true,
 45118  	//       "type": "string"
 45119  	//     },
 45120  	//     "synchronous": {
 45121  	//       "default": "false",
 45122  	//       "description": "If set and true, tries to run the report synchronously.",
 45123  	//       "location": "query",
 45124  	//       "type": "boolean"
 45125  	//     }
 45126  	//   },
 45127  	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
 45128  	//   "response": {
 45129  	//     "$ref": "File"
 45130  	//   },
 45131  	//   "scopes": [
 45132  	//     "https://www.googleapis.com/auth/dfareporting"
 45133  	//   ]
 45134  	// }
 45135  
 45136  }
 45137  
 45138  // method id "dfareporting.reports.update":
 45139  
 45140  type ReportsUpdateCall struct {
 45141  	s          *Service
 45142  	profileId  int64
 45143  	reportId   int64
 45144  	report     *Report
 45145  	urlParams_ gensupport.URLParams
 45146  	ctx_       context.Context
 45147  	header_    http.Header
 45148  }
 45149  
 45150  // Update: Updates a report.
 45151  //
 45152  // - profileId: The Campaign Manager 360 user profile ID.
 45153  // - reportId: The ID of the report.
 45154  func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
 45155  	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45156  	c.profileId = profileId
 45157  	c.reportId = reportId
 45158  	c.report = report
 45159  	return c
 45160  }
 45161  
 45162  // Fields allows partial responses to be retrieved. See
 45163  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45164  // for more information.
 45165  func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
 45166  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45167  	return c
 45168  }
 45169  
 45170  // Context sets the context to be used in this call's Do method. Any
 45171  // pending HTTP request will be aborted if the provided context is
 45172  // canceled.
 45173  func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
 45174  	c.ctx_ = ctx
 45175  	return c
 45176  }
 45177  
 45178  // Header returns an http.Header that can be modified by the caller to
 45179  // add HTTP headers to the request.
 45180  func (c *ReportsUpdateCall) Header() http.Header {
 45181  	if c.header_ == nil {
 45182  		c.header_ = make(http.Header)
 45183  	}
 45184  	return c.header_
 45185  }
 45186  
 45187  func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
 45188  	reqHeaders := make(http.Header)
 45189  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45190  	for k, v := range c.header_ {
 45191  		reqHeaders[k] = v
 45192  	}
 45193  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45194  	var body io.Reader = nil
 45195  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 45196  	if err != nil {
 45197  		return nil, err
 45198  	}
 45199  	reqHeaders.Set("Content-Type", "application/json")
 45200  	c.urlParams_.Set("alt", alt)
 45201  	c.urlParams_.Set("prettyPrint", "false")
 45202  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
 45203  	urls += "?" + c.urlParams_.Encode()
 45204  	req, err := http.NewRequest("PUT", urls, body)
 45205  	if err != nil {
 45206  		return nil, err
 45207  	}
 45208  	req.Header = reqHeaders
 45209  	googleapi.Expand(req.URL, map[string]string{
 45210  		"profileId": strconv.FormatInt(c.profileId, 10),
 45211  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45212  	})
 45213  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45214  }
 45215  
 45216  // Do executes the "dfareporting.reports.update" call.
 45217  // Exactly one of *Report or error will be non-nil. Any non-2xx status
 45218  // code is an error. Response headers are in either
 45219  // *Report.ServerResponse.Header or (if a response was returned at all)
 45220  // in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
 45221  // check whether the returned error was because http.StatusNotModified
 45222  // was returned.
 45223  func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
 45224  	gensupport.SetOptions(c.urlParams_, opts...)
 45225  	res, err := c.doRequest("json")
 45226  	if res != nil && res.StatusCode == http.StatusNotModified {
 45227  		if res.Body != nil {
 45228  			res.Body.Close()
 45229  		}
 45230  		return nil, &googleapi.Error{
 45231  			Code:   res.StatusCode,
 45232  			Header: res.Header,
 45233  		}
 45234  	}
 45235  	if err != nil {
 45236  		return nil, err
 45237  	}
 45238  	defer googleapi.CloseBody(res)
 45239  	if err := googleapi.CheckResponse(res); err != nil {
 45240  		return nil, err
 45241  	}
 45242  	ret := &Report{
 45243  		ServerResponse: googleapi.ServerResponse{
 45244  			Header:         res.Header,
 45245  			HTTPStatusCode: res.StatusCode,
 45246  		},
 45247  	}
 45248  	target := &ret
 45249  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45250  		return nil, err
 45251  	}
 45252  	return ret, nil
 45253  	// {
 45254  	//   "description": "Updates a report.",
 45255  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
 45256  	//   "httpMethod": "PUT",
 45257  	//   "id": "dfareporting.reports.update",
 45258  	//   "parameterOrder": [
 45259  	//     "profileId",
 45260  	//     "reportId"
 45261  	//   ],
 45262  	//   "parameters": {
 45263  	//     "profileId": {
 45264  	//       "description": "The Campaign Manager 360 user profile ID.",
 45265  	//       "format": "int64",
 45266  	//       "location": "path",
 45267  	//       "required": true,
 45268  	//       "type": "string"
 45269  	//     },
 45270  	//     "reportId": {
 45271  	//       "description": "The ID of the report.",
 45272  	//       "format": "int64",
 45273  	//       "location": "path",
 45274  	//       "required": true,
 45275  	//       "type": "string"
 45276  	//     }
 45277  	//   },
 45278  	//   "path": "userprofiles/{profileId}/reports/{reportId}",
 45279  	//   "request": {
 45280  	//     "$ref": "Report"
 45281  	//   },
 45282  	//   "response": {
 45283  	//     "$ref": "Report"
 45284  	//   },
 45285  	//   "scopes": [
 45286  	//     "https://www.googleapis.com/auth/dfareporting"
 45287  	//   ]
 45288  	// }
 45289  
 45290  }
 45291  
 45292  // method id "dfareporting.reports.compatibleFields.query":
 45293  
 45294  type ReportsCompatibleFieldsQueryCall struct {
 45295  	s          *Service
 45296  	profileId  int64
 45297  	report     *Report
 45298  	urlParams_ gensupport.URLParams
 45299  	ctx_       context.Context
 45300  	header_    http.Header
 45301  }
 45302  
 45303  // Query: Returns the fields that are compatible to be selected in the
 45304  // respective sections of a report criteria, given the fields already
 45305  // selected in the input report and user permissions.
 45306  //
 45307  // - profileId: The Campaign Manager 360 user profile ID.
 45308  func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
 45309  	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45310  	c.profileId = profileId
 45311  	c.report = report
 45312  	return c
 45313  }
 45314  
 45315  // Fields allows partial responses to be retrieved. See
 45316  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45317  // for more information.
 45318  func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
 45319  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45320  	return c
 45321  }
 45322  
 45323  // Context sets the context to be used in this call's Do method. Any
 45324  // pending HTTP request will be aborted if the provided context is
 45325  // canceled.
 45326  func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
 45327  	c.ctx_ = ctx
 45328  	return c
 45329  }
 45330  
 45331  // Header returns an http.Header that can be modified by the caller to
 45332  // add HTTP headers to the request.
 45333  func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
 45334  	if c.header_ == nil {
 45335  		c.header_ = make(http.Header)
 45336  	}
 45337  	return c.header_
 45338  }
 45339  
 45340  func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
 45341  	reqHeaders := make(http.Header)
 45342  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45343  	for k, v := range c.header_ {
 45344  		reqHeaders[k] = v
 45345  	}
 45346  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45347  	var body io.Reader = nil
 45348  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
 45349  	if err != nil {
 45350  		return nil, err
 45351  	}
 45352  	reqHeaders.Set("Content-Type", "application/json")
 45353  	c.urlParams_.Set("alt", alt)
 45354  	c.urlParams_.Set("prettyPrint", "false")
 45355  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
 45356  	urls += "?" + c.urlParams_.Encode()
 45357  	req, err := http.NewRequest("POST", urls, body)
 45358  	if err != nil {
 45359  		return nil, err
 45360  	}
 45361  	req.Header = reqHeaders
 45362  	googleapi.Expand(req.URL, map[string]string{
 45363  		"profileId": strconv.FormatInt(c.profileId, 10),
 45364  	})
 45365  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45366  }
 45367  
 45368  // Do executes the "dfareporting.reports.compatibleFields.query" call.
 45369  // Exactly one of *CompatibleFields or error will be non-nil. Any
 45370  // non-2xx status code is an error. Response headers are in either
 45371  // *CompatibleFields.ServerResponse.Header or (if a response was
 45372  // returned at all) in error.(*googleapi.Error).Header. Use
 45373  // googleapi.IsNotModified to check whether the returned error was
 45374  // because http.StatusNotModified was returned.
 45375  func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
 45376  	gensupport.SetOptions(c.urlParams_, opts...)
 45377  	res, err := c.doRequest("json")
 45378  	if res != nil && res.StatusCode == http.StatusNotModified {
 45379  		if res.Body != nil {
 45380  			res.Body.Close()
 45381  		}
 45382  		return nil, &googleapi.Error{
 45383  			Code:   res.StatusCode,
 45384  			Header: res.Header,
 45385  		}
 45386  	}
 45387  	if err != nil {
 45388  		return nil, err
 45389  	}
 45390  	defer googleapi.CloseBody(res)
 45391  	if err := googleapi.CheckResponse(res); err != nil {
 45392  		return nil, err
 45393  	}
 45394  	ret := &CompatibleFields{
 45395  		ServerResponse: googleapi.ServerResponse{
 45396  			Header:         res.Header,
 45397  			HTTPStatusCode: res.StatusCode,
 45398  		},
 45399  	}
 45400  	target := &ret
 45401  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45402  		return nil, err
 45403  	}
 45404  	return ret, nil
 45405  	// {
 45406  	//   "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.",
 45407  	//   "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
 45408  	//   "httpMethod": "POST",
 45409  	//   "id": "dfareporting.reports.compatibleFields.query",
 45410  	//   "parameterOrder": [
 45411  	//     "profileId"
 45412  	//   ],
 45413  	//   "parameters": {
 45414  	//     "profileId": {
 45415  	//       "description": "The Campaign Manager 360 user profile ID.",
 45416  	//       "format": "int64",
 45417  	//       "location": "path",
 45418  	//       "required": true,
 45419  	//       "type": "string"
 45420  	//     }
 45421  	//   },
 45422  	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
 45423  	//   "request": {
 45424  	//     "$ref": "Report"
 45425  	//   },
 45426  	//   "response": {
 45427  	//     "$ref": "CompatibleFields"
 45428  	//   },
 45429  	//   "scopes": [
 45430  	//     "https://www.googleapis.com/auth/dfareporting"
 45431  	//   ]
 45432  	// }
 45433  
 45434  }
 45435  
 45436  // method id "dfareporting.reports.files.get":
 45437  
 45438  type ReportsFilesGetCall struct {
 45439  	s            *Service
 45440  	profileId    int64
 45441  	reportId     int64
 45442  	fileId       int64
 45443  	urlParams_   gensupport.URLParams
 45444  	ifNoneMatch_ string
 45445  	ctx_         context.Context
 45446  	header_      http.Header
 45447  }
 45448  
 45449  // Get: Retrieves a report file by its report ID and file ID. This
 45450  // method supports media download.
 45451  //
 45452  // - fileId: The ID of the report file.
 45453  // - profileId: The Campaign Manager 360 user profile ID.
 45454  // - reportId: The ID of the report.
 45455  func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
 45456  	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45457  	c.profileId = profileId
 45458  	c.reportId = reportId
 45459  	c.fileId = fileId
 45460  	return c
 45461  }
 45462  
 45463  // Fields allows partial responses to be retrieved. See
 45464  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45465  // for more information.
 45466  func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
 45467  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45468  	return c
 45469  }
 45470  
 45471  // IfNoneMatch sets the optional parameter which makes the operation
 45472  // fail if the object's ETag matches the given value. This is useful for
 45473  // getting updates only after the object has changed since the last
 45474  // request. Use googleapi.IsNotModified to check whether the response
 45475  // error from Do is the result of In-None-Match.
 45476  func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
 45477  	c.ifNoneMatch_ = entityTag
 45478  	return c
 45479  }
 45480  
 45481  // Context sets the context to be used in this call's Do and Download
 45482  // methods. Any pending HTTP request will be aborted if the provided
 45483  // context is canceled.
 45484  func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
 45485  	c.ctx_ = ctx
 45486  	return c
 45487  }
 45488  
 45489  // Header returns an http.Header that can be modified by the caller to
 45490  // add HTTP headers to the request.
 45491  func (c *ReportsFilesGetCall) Header() http.Header {
 45492  	if c.header_ == nil {
 45493  		c.header_ = make(http.Header)
 45494  	}
 45495  	return c.header_
 45496  }
 45497  
 45498  func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
 45499  	reqHeaders := make(http.Header)
 45500  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45501  	for k, v := range c.header_ {
 45502  		reqHeaders[k] = v
 45503  	}
 45504  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45505  	if c.ifNoneMatch_ != "" {
 45506  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45507  	}
 45508  	var body io.Reader = nil
 45509  	c.urlParams_.Set("alt", alt)
 45510  	c.urlParams_.Set("prettyPrint", "false")
 45511  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
 45512  	urls += "?" + c.urlParams_.Encode()
 45513  	req, err := http.NewRequest("GET", urls, body)
 45514  	if err != nil {
 45515  		return nil, err
 45516  	}
 45517  	req.Header = reqHeaders
 45518  	googleapi.Expand(req.URL, map[string]string{
 45519  		"profileId": strconv.FormatInt(c.profileId, 10),
 45520  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45521  		"fileId":    strconv.FormatInt(c.fileId, 10),
 45522  	})
 45523  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45524  }
 45525  
 45526  // Download fetches the API endpoint's "media" value, instead of the normal
 45527  // API response value. If the returned error is nil, the Response is guaranteed to
 45528  // have a 2xx status code. Callers must close the Response.Body as usual.
 45529  func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
 45530  	gensupport.SetOptions(c.urlParams_, opts...)
 45531  	res, err := c.doRequest("media")
 45532  	if err != nil {
 45533  		return nil, err
 45534  	}
 45535  	if err := googleapi.CheckResponse(res); err != nil {
 45536  		res.Body.Close()
 45537  		return nil, err
 45538  	}
 45539  	return res, nil
 45540  }
 45541  
 45542  // Do executes the "dfareporting.reports.files.get" call.
 45543  // Exactly one of *File or error will be non-nil. Any non-2xx status
 45544  // code is an error. Response headers are in either
 45545  // *File.ServerResponse.Header or (if a response was returned at all) in
 45546  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45547  // whether the returned error was because http.StatusNotModified was
 45548  // returned.
 45549  func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
 45550  	gensupport.SetOptions(c.urlParams_, opts...)
 45551  	res, err := c.doRequest("json")
 45552  	if res != nil && res.StatusCode == http.StatusNotModified {
 45553  		if res.Body != nil {
 45554  			res.Body.Close()
 45555  		}
 45556  		return nil, &googleapi.Error{
 45557  			Code:   res.StatusCode,
 45558  			Header: res.Header,
 45559  		}
 45560  	}
 45561  	if err != nil {
 45562  		return nil, err
 45563  	}
 45564  	defer googleapi.CloseBody(res)
 45565  	if err := googleapi.CheckResponse(res); err != nil {
 45566  		return nil, err
 45567  	}
 45568  	ret := &File{
 45569  		ServerResponse: googleapi.ServerResponse{
 45570  			Header:         res.Header,
 45571  			HTTPStatusCode: res.StatusCode,
 45572  		},
 45573  	}
 45574  	target := &ret
 45575  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45576  		return nil, err
 45577  	}
 45578  	return ret, nil
 45579  	// {
 45580  	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
 45581  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 45582  	//   "httpMethod": "GET",
 45583  	//   "id": "dfareporting.reports.files.get",
 45584  	//   "parameterOrder": [
 45585  	//     "profileId",
 45586  	//     "reportId",
 45587  	//     "fileId"
 45588  	//   ],
 45589  	//   "parameters": {
 45590  	//     "fileId": {
 45591  	//       "description": "The ID of the report file.",
 45592  	//       "format": "int64",
 45593  	//       "location": "path",
 45594  	//       "required": true,
 45595  	//       "type": "string"
 45596  	//     },
 45597  	//     "profileId": {
 45598  	//       "description": "The Campaign Manager 360 user profile ID.",
 45599  	//       "format": "int64",
 45600  	//       "location": "path",
 45601  	//       "required": true,
 45602  	//       "type": "string"
 45603  	//     },
 45604  	//     "reportId": {
 45605  	//       "description": "The ID of the report.",
 45606  	//       "format": "int64",
 45607  	//       "location": "path",
 45608  	//       "required": true,
 45609  	//       "type": "string"
 45610  	//     }
 45611  	//   },
 45612  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
 45613  	//   "response": {
 45614  	//     "$ref": "File"
 45615  	//   },
 45616  	//   "scopes": [
 45617  	//     "https://www.googleapis.com/auth/dfareporting"
 45618  	//   ],
 45619  	//   "supportsMediaDownload": true
 45620  	// }
 45621  
 45622  }
 45623  
 45624  // method id "dfareporting.reports.files.list":
 45625  
 45626  type ReportsFilesListCall struct {
 45627  	s            *Service
 45628  	profileId    int64
 45629  	reportId     int64
 45630  	urlParams_   gensupport.URLParams
 45631  	ifNoneMatch_ string
 45632  	ctx_         context.Context
 45633  	header_      http.Header
 45634  }
 45635  
 45636  // List: Lists files for a report.
 45637  //
 45638  // - profileId: The Campaign Manager 360 user profile ID.
 45639  // - reportId: The ID of the parent report.
 45640  func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
 45641  	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45642  	c.profileId = profileId
 45643  	c.reportId = reportId
 45644  	return c
 45645  }
 45646  
 45647  // MaxResults sets the optional parameter "maxResults": Maximum number
 45648  // of results to return.
 45649  func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
 45650  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 45651  	return c
 45652  }
 45653  
 45654  // PageToken sets the optional parameter "pageToken": The value of the
 45655  // nextToken from the previous result page.
 45656  func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
 45657  	c.urlParams_.Set("pageToken", pageToken)
 45658  	return c
 45659  }
 45660  
 45661  // SortField sets the optional parameter "sortField": The field by which
 45662  // to sort the list.
 45663  //
 45664  // Possible values:
 45665  //
 45666  //	"ID"
 45667  //	"LAST_MODIFIED_TIME" (default)
 45668  func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
 45669  	c.urlParams_.Set("sortField", sortField)
 45670  	return c
 45671  }
 45672  
 45673  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 45674  // results.
 45675  //
 45676  // Possible values:
 45677  //
 45678  //	"ASCENDING"
 45679  //	"DESCENDING" (default)
 45680  func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
 45681  	c.urlParams_.Set("sortOrder", sortOrder)
 45682  	return c
 45683  }
 45684  
 45685  // Fields allows partial responses to be retrieved. See
 45686  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45687  // for more information.
 45688  func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
 45689  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45690  	return c
 45691  }
 45692  
 45693  // IfNoneMatch sets the optional parameter which makes the operation
 45694  // fail if the object's ETag matches the given value. This is useful for
 45695  // getting updates only after the object has changed since the last
 45696  // request. Use googleapi.IsNotModified to check whether the response
 45697  // error from Do is the result of In-None-Match.
 45698  func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
 45699  	c.ifNoneMatch_ = entityTag
 45700  	return c
 45701  }
 45702  
 45703  // Context sets the context to be used in this call's Do method. Any
 45704  // pending HTTP request will be aborted if the provided context is
 45705  // canceled.
 45706  func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
 45707  	c.ctx_ = ctx
 45708  	return c
 45709  }
 45710  
 45711  // Header returns an http.Header that can be modified by the caller to
 45712  // add HTTP headers to the request.
 45713  func (c *ReportsFilesListCall) Header() http.Header {
 45714  	if c.header_ == nil {
 45715  		c.header_ = make(http.Header)
 45716  	}
 45717  	return c.header_
 45718  }
 45719  
 45720  func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
 45721  	reqHeaders := make(http.Header)
 45722  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45723  	for k, v := range c.header_ {
 45724  		reqHeaders[k] = v
 45725  	}
 45726  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45727  	if c.ifNoneMatch_ != "" {
 45728  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45729  	}
 45730  	var body io.Reader = nil
 45731  	c.urlParams_.Set("alt", alt)
 45732  	c.urlParams_.Set("prettyPrint", "false")
 45733  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
 45734  	urls += "?" + c.urlParams_.Encode()
 45735  	req, err := http.NewRequest("GET", urls, body)
 45736  	if err != nil {
 45737  		return nil, err
 45738  	}
 45739  	req.Header = reqHeaders
 45740  	googleapi.Expand(req.URL, map[string]string{
 45741  		"profileId": strconv.FormatInt(c.profileId, 10),
 45742  		"reportId":  strconv.FormatInt(c.reportId, 10),
 45743  	})
 45744  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45745  }
 45746  
 45747  // Do executes the "dfareporting.reports.files.list" call.
 45748  // Exactly one of *FileList or error will be non-nil. Any non-2xx status
 45749  // code is an error. Response headers are in either
 45750  // *FileList.ServerResponse.Header or (if a response was returned at
 45751  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 45752  // to check whether the returned error was because
 45753  // http.StatusNotModified was returned.
 45754  func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
 45755  	gensupport.SetOptions(c.urlParams_, opts...)
 45756  	res, err := c.doRequest("json")
 45757  	if res != nil && res.StatusCode == http.StatusNotModified {
 45758  		if res.Body != nil {
 45759  			res.Body.Close()
 45760  		}
 45761  		return nil, &googleapi.Error{
 45762  			Code:   res.StatusCode,
 45763  			Header: res.Header,
 45764  		}
 45765  	}
 45766  	if err != nil {
 45767  		return nil, err
 45768  	}
 45769  	defer googleapi.CloseBody(res)
 45770  	if err := googleapi.CheckResponse(res); err != nil {
 45771  		return nil, err
 45772  	}
 45773  	ret := &FileList{
 45774  		ServerResponse: googleapi.ServerResponse{
 45775  			Header:         res.Header,
 45776  			HTTPStatusCode: res.StatusCode,
 45777  		},
 45778  	}
 45779  	target := &ret
 45780  	if err := gensupport.DecodeResponse(target, res); err != nil {
 45781  		return nil, err
 45782  	}
 45783  	return ret, nil
 45784  	// {
 45785  	//   "description": "Lists files for a report.",
 45786  	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
 45787  	//   "httpMethod": "GET",
 45788  	//   "id": "dfareporting.reports.files.list",
 45789  	//   "parameterOrder": [
 45790  	//     "profileId",
 45791  	//     "reportId"
 45792  	//   ],
 45793  	//   "parameters": {
 45794  	//     "maxResults": {
 45795  	//       "default": "10",
 45796  	//       "description": "Maximum number of results to return.",
 45797  	//       "format": "int32",
 45798  	//       "location": "query",
 45799  	//       "maximum": "10",
 45800  	//       "minimum": "0",
 45801  	//       "type": "integer"
 45802  	//     },
 45803  	//     "pageToken": {
 45804  	//       "description": "The value of the nextToken from the previous result page.",
 45805  	//       "location": "query",
 45806  	//       "type": "string"
 45807  	//     },
 45808  	//     "profileId": {
 45809  	//       "description": "The Campaign Manager 360 user profile ID.",
 45810  	//       "format": "int64",
 45811  	//       "location": "path",
 45812  	//       "required": true,
 45813  	//       "type": "string"
 45814  	//     },
 45815  	//     "reportId": {
 45816  	//       "description": "The ID of the parent report.",
 45817  	//       "format": "int64",
 45818  	//       "location": "path",
 45819  	//       "required": true,
 45820  	//       "type": "string"
 45821  	//     },
 45822  	//     "sortField": {
 45823  	//       "default": "LAST_MODIFIED_TIME",
 45824  	//       "description": "The field by which to sort the list.",
 45825  	//       "enum": [
 45826  	//         "ID",
 45827  	//         "LAST_MODIFIED_TIME"
 45828  	//       ],
 45829  	//       "enumDescriptions": [
 45830  	//         "",
 45831  	//         ""
 45832  	//       ],
 45833  	//       "location": "query",
 45834  	//       "type": "string"
 45835  	//     },
 45836  	//     "sortOrder": {
 45837  	//       "default": "DESCENDING",
 45838  	//       "description": "Order of sorted results.",
 45839  	//       "enum": [
 45840  	//         "ASCENDING",
 45841  	//         "DESCENDING"
 45842  	//       ],
 45843  	//       "enumDescriptions": [
 45844  	//         "",
 45845  	//         ""
 45846  	//       ],
 45847  	//       "location": "query",
 45848  	//       "type": "string"
 45849  	//     }
 45850  	//   },
 45851  	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
 45852  	//   "response": {
 45853  	//     "$ref": "FileList"
 45854  	//   },
 45855  	//   "scopes": [
 45856  	//     "https://www.googleapis.com/auth/dfareporting"
 45857  	//   ]
 45858  	// }
 45859  
 45860  }
 45861  
 45862  // Pages invokes f for each page of results.
 45863  // A non-nil error returned from f will halt the iteration.
 45864  // The provided context supersedes any context provided to the Context method.
 45865  func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
 45866  	c.ctx_ = ctx
 45867  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 45868  	for {
 45869  		x, err := c.Do()
 45870  		if err != nil {
 45871  			return err
 45872  		}
 45873  		if err := f(x); err != nil {
 45874  			return err
 45875  		}
 45876  		if x.NextPageToken == "" {
 45877  			return nil
 45878  		}
 45879  		c.PageToken(x.NextPageToken)
 45880  	}
 45881  }
 45882  
 45883  // method id "dfareporting.sites.get":
 45884  
 45885  type SitesGetCall struct {
 45886  	s            *Service
 45887  	profileId    int64
 45888  	id           int64
 45889  	urlParams_   gensupport.URLParams
 45890  	ifNoneMatch_ string
 45891  	ctx_         context.Context
 45892  	header_      http.Header
 45893  }
 45894  
 45895  // Get: Gets one site by ID.
 45896  //
 45897  // - id: Site ID.
 45898  // - profileId: User profile ID associated with this request.
 45899  func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
 45900  	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 45901  	c.profileId = profileId
 45902  	c.id = id
 45903  	return c
 45904  }
 45905  
 45906  // Fields allows partial responses to be retrieved. See
 45907  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 45908  // for more information.
 45909  func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
 45910  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 45911  	return c
 45912  }
 45913  
 45914  // IfNoneMatch sets the optional parameter which makes the operation
 45915  // fail if the object's ETag matches the given value. This is useful for
 45916  // getting updates only after the object has changed since the last
 45917  // request. Use googleapi.IsNotModified to check whether the response
 45918  // error from Do is the result of In-None-Match.
 45919  func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
 45920  	c.ifNoneMatch_ = entityTag
 45921  	return c
 45922  }
 45923  
 45924  // Context sets the context to be used in this call's Do method. Any
 45925  // pending HTTP request will be aborted if the provided context is
 45926  // canceled.
 45927  func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
 45928  	c.ctx_ = ctx
 45929  	return c
 45930  }
 45931  
 45932  // Header returns an http.Header that can be modified by the caller to
 45933  // add HTTP headers to the request.
 45934  func (c *SitesGetCall) Header() http.Header {
 45935  	if c.header_ == nil {
 45936  		c.header_ = make(http.Header)
 45937  	}
 45938  	return c.header_
 45939  }
 45940  
 45941  func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
 45942  	reqHeaders := make(http.Header)
 45943  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 45944  	for k, v := range c.header_ {
 45945  		reqHeaders[k] = v
 45946  	}
 45947  	reqHeaders.Set("User-Agent", c.s.userAgent())
 45948  	if c.ifNoneMatch_ != "" {
 45949  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 45950  	}
 45951  	var body io.Reader = nil
 45952  	c.urlParams_.Set("alt", alt)
 45953  	c.urlParams_.Set("prettyPrint", "false")
 45954  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
 45955  	urls += "?" + c.urlParams_.Encode()
 45956  	req, err := http.NewRequest("GET", urls, body)
 45957  	if err != nil {
 45958  		return nil, err
 45959  	}
 45960  	req.Header = reqHeaders
 45961  	googleapi.Expand(req.URL, map[string]string{
 45962  		"profileId": strconv.FormatInt(c.profileId, 10),
 45963  		"id":        strconv.FormatInt(c.id, 10),
 45964  	})
 45965  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 45966  }
 45967  
 45968  // Do executes the "dfareporting.sites.get" call.
 45969  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 45970  // code is an error. Response headers are in either
 45971  // *Site.ServerResponse.Header or (if a response was returned at all) in
 45972  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 45973  // whether the returned error was because http.StatusNotModified was
 45974  // returned.
 45975  func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 45976  	gensupport.SetOptions(c.urlParams_, opts...)
 45977  	res, err := c.doRequest("json")
 45978  	if res != nil && res.StatusCode == http.StatusNotModified {
 45979  		if res.Body != nil {
 45980  			res.Body.Close()
 45981  		}
 45982  		return nil, &googleapi.Error{
 45983  			Code:   res.StatusCode,
 45984  			Header: res.Header,
 45985  		}
 45986  	}
 45987  	if err != nil {
 45988  		return nil, err
 45989  	}
 45990  	defer googleapi.CloseBody(res)
 45991  	if err := googleapi.CheckResponse(res); err != nil {
 45992  		return nil, err
 45993  	}
 45994  	ret := &Site{
 45995  		ServerResponse: googleapi.ServerResponse{
 45996  			Header:         res.Header,
 45997  			HTTPStatusCode: res.StatusCode,
 45998  		},
 45999  	}
 46000  	target := &ret
 46001  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46002  		return nil, err
 46003  	}
 46004  	return ret, nil
 46005  	// {
 46006  	//   "description": "Gets one site by ID.",
 46007  	//   "flatPath": "userprofiles/{profileId}/sites/{id}",
 46008  	//   "httpMethod": "GET",
 46009  	//   "id": "dfareporting.sites.get",
 46010  	//   "parameterOrder": [
 46011  	//     "profileId",
 46012  	//     "id"
 46013  	//   ],
 46014  	//   "parameters": {
 46015  	//     "id": {
 46016  	//       "description": "Site ID.",
 46017  	//       "format": "int64",
 46018  	//       "location": "path",
 46019  	//       "required": true,
 46020  	//       "type": "string"
 46021  	//     },
 46022  	//     "profileId": {
 46023  	//       "description": "User profile ID associated with this request.",
 46024  	//       "format": "int64",
 46025  	//       "location": "path",
 46026  	//       "required": true,
 46027  	//       "type": "string"
 46028  	//     }
 46029  	//   },
 46030  	//   "path": "userprofiles/{profileId}/sites/{id}",
 46031  	//   "response": {
 46032  	//     "$ref": "Site"
 46033  	//   },
 46034  	//   "scopes": [
 46035  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46036  	//   ]
 46037  	// }
 46038  
 46039  }
 46040  
 46041  // method id "dfareporting.sites.insert":
 46042  
 46043  type SitesInsertCall struct {
 46044  	s          *Service
 46045  	profileId  int64
 46046  	site       *Site
 46047  	urlParams_ gensupport.URLParams
 46048  	ctx_       context.Context
 46049  	header_    http.Header
 46050  }
 46051  
 46052  // Insert: Inserts a new site.
 46053  //
 46054  // - profileId: User profile ID associated with this request.
 46055  func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
 46056  	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46057  	c.profileId = profileId
 46058  	c.site = site
 46059  	return c
 46060  }
 46061  
 46062  // Fields allows partial responses to be retrieved. See
 46063  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46064  // for more information.
 46065  func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
 46066  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46067  	return c
 46068  }
 46069  
 46070  // Context sets the context to be used in this call's Do method. Any
 46071  // pending HTTP request will be aborted if the provided context is
 46072  // canceled.
 46073  func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
 46074  	c.ctx_ = ctx
 46075  	return c
 46076  }
 46077  
 46078  // Header returns an http.Header that can be modified by the caller to
 46079  // add HTTP headers to the request.
 46080  func (c *SitesInsertCall) Header() http.Header {
 46081  	if c.header_ == nil {
 46082  		c.header_ = make(http.Header)
 46083  	}
 46084  	return c.header_
 46085  }
 46086  
 46087  func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
 46088  	reqHeaders := make(http.Header)
 46089  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46090  	for k, v := range c.header_ {
 46091  		reqHeaders[k] = v
 46092  	}
 46093  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46094  	var body io.Reader = nil
 46095  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46096  	if err != nil {
 46097  		return nil, err
 46098  	}
 46099  	reqHeaders.Set("Content-Type", "application/json")
 46100  	c.urlParams_.Set("alt", alt)
 46101  	c.urlParams_.Set("prettyPrint", "false")
 46102  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46103  	urls += "?" + c.urlParams_.Encode()
 46104  	req, err := http.NewRequest("POST", urls, body)
 46105  	if err != nil {
 46106  		return nil, err
 46107  	}
 46108  	req.Header = reqHeaders
 46109  	googleapi.Expand(req.URL, map[string]string{
 46110  		"profileId": strconv.FormatInt(c.profileId, 10),
 46111  	})
 46112  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46113  }
 46114  
 46115  // Do executes the "dfareporting.sites.insert" call.
 46116  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46117  // code is an error. Response headers are in either
 46118  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46119  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46120  // whether the returned error was because http.StatusNotModified was
 46121  // returned.
 46122  func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46123  	gensupport.SetOptions(c.urlParams_, opts...)
 46124  	res, err := c.doRequest("json")
 46125  	if res != nil && res.StatusCode == http.StatusNotModified {
 46126  		if res.Body != nil {
 46127  			res.Body.Close()
 46128  		}
 46129  		return nil, &googleapi.Error{
 46130  			Code:   res.StatusCode,
 46131  			Header: res.Header,
 46132  		}
 46133  	}
 46134  	if err != nil {
 46135  		return nil, err
 46136  	}
 46137  	defer googleapi.CloseBody(res)
 46138  	if err := googleapi.CheckResponse(res); err != nil {
 46139  		return nil, err
 46140  	}
 46141  	ret := &Site{
 46142  		ServerResponse: googleapi.ServerResponse{
 46143  			Header:         res.Header,
 46144  			HTTPStatusCode: res.StatusCode,
 46145  		},
 46146  	}
 46147  	target := &ret
 46148  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46149  		return nil, err
 46150  	}
 46151  	return ret, nil
 46152  	// {
 46153  	//   "description": "Inserts a new site.",
 46154  	//   "flatPath": "userprofiles/{profileId}/sites",
 46155  	//   "httpMethod": "POST",
 46156  	//   "id": "dfareporting.sites.insert",
 46157  	//   "parameterOrder": [
 46158  	//     "profileId"
 46159  	//   ],
 46160  	//   "parameters": {
 46161  	//     "profileId": {
 46162  	//       "description": "User profile ID associated with this request.",
 46163  	//       "format": "int64",
 46164  	//       "location": "path",
 46165  	//       "required": true,
 46166  	//       "type": "string"
 46167  	//     }
 46168  	//   },
 46169  	//   "path": "userprofiles/{profileId}/sites",
 46170  	//   "request": {
 46171  	//     "$ref": "Site"
 46172  	//   },
 46173  	//   "response": {
 46174  	//     "$ref": "Site"
 46175  	//   },
 46176  	//   "scopes": [
 46177  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46178  	//   ]
 46179  	// }
 46180  
 46181  }
 46182  
 46183  // method id "dfareporting.sites.list":
 46184  
 46185  type SitesListCall struct {
 46186  	s            *Service
 46187  	profileId    int64
 46188  	urlParams_   gensupport.URLParams
 46189  	ifNoneMatch_ string
 46190  	ctx_         context.Context
 46191  	header_      http.Header
 46192  }
 46193  
 46194  // List: Retrieves a list of sites, possibly filtered. This method
 46195  // supports paging.
 46196  //
 46197  // - profileId: User profile ID associated with this request.
 46198  func (r *SitesService) List(profileId int64) *SitesListCall {
 46199  	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46200  	c.profileId = profileId
 46201  	return c
 46202  }
 46203  
 46204  // AcceptsInStreamVideoPlacements sets the optional parameter
 46205  // "acceptsInStreamVideoPlacements": This search filter is no longer
 46206  // supported and will have no effect on the results returned.
 46207  func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
 46208  	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
 46209  	return c
 46210  }
 46211  
 46212  // AcceptsInterstitialPlacements sets the optional parameter
 46213  // "acceptsInterstitialPlacements": This search filter is no longer
 46214  // supported and will have no effect on the results returned.
 46215  func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
 46216  	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
 46217  	return c
 46218  }
 46219  
 46220  // AcceptsPublisherPaidPlacements sets the optional parameter
 46221  // "acceptsPublisherPaidPlacements": Select only sites that accept
 46222  // publisher paid placements.
 46223  func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
 46224  	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
 46225  	return c
 46226  }
 46227  
 46228  // AdWordsSite sets the optional parameter "adWordsSite": Select only
 46229  // AdWords sites.
 46230  func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
 46231  	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
 46232  	return c
 46233  }
 46234  
 46235  // Approved sets the optional parameter "approved": Select only approved
 46236  // sites.
 46237  func (c *SitesListCall) Approved(approved bool) *SitesListCall {
 46238  	c.urlParams_.Set("approved", fmt.Sprint(approved))
 46239  	return c
 46240  }
 46241  
 46242  // CampaignIds sets the optional parameter "campaignIds": Select only
 46243  // sites with these campaign IDs.
 46244  func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
 46245  	var campaignIds_ []string
 46246  	for _, v := range campaignIds {
 46247  		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
 46248  	}
 46249  	c.urlParams_.SetMulti("campaignIds", campaignIds_)
 46250  	return c
 46251  }
 46252  
 46253  // DirectorySiteIds sets the optional parameter "directorySiteIds":
 46254  // Select only sites with these directory site IDs.
 46255  func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
 46256  	var directorySiteIds_ []string
 46257  	for _, v := range directorySiteIds {
 46258  		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
 46259  	}
 46260  	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
 46261  	return c
 46262  }
 46263  
 46264  // Ids sets the optional parameter "ids": Select only sites with these
 46265  // IDs.
 46266  func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
 46267  	var ids_ []string
 46268  	for _, v := range ids {
 46269  		ids_ = append(ids_, fmt.Sprint(v))
 46270  	}
 46271  	c.urlParams_.SetMulti("ids", ids_)
 46272  	return c
 46273  }
 46274  
 46275  // MaxResults sets the optional parameter "maxResults": Maximum number
 46276  // of results to return.
 46277  func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
 46278  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 46279  	return c
 46280  }
 46281  
 46282  // PageToken sets the optional parameter "pageToken": Value of the
 46283  // nextPageToken from the previous result page.
 46284  func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
 46285  	c.urlParams_.Set("pageToken", pageToken)
 46286  	return c
 46287  }
 46288  
 46289  // SearchString sets the optional parameter "searchString": Allows
 46290  // searching for objects by name, ID or keyName. Wildcards (*) are
 46291  // allowed. For example, "site*2015" will return objects with names like
 46292  // "site June 2015", "site April 2015", or simply "site 2015". Most of
 46293  // the searches also add wildcards implicitly at the start and the end
 46294  // of the search string. For example, a search string of "site" will
 46295  // match objects with name "my site", "site 2015", or simply "site".
 46296  func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
 46297  	c.urlParams_.Set("searchString", searchString)
 46298  	return c
 46299  }
 46300  
 46301  // SortField sets the optional parameter "sortField": Field by which to
 46302  // sort the list.
 46303  //
 46304  // Possible values:
 46305  //
 46306  //	"ID" (default)
 46307  //	"NAME"
 46308  func (c *SitesListCall) SortField(sortField string) *SitesListCall {
 46309  	c.urlParams_.Set("sortField", sortField)
 46310  	return c
 46311  }
 46312  
 46313  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 46314  // results.
 46315  //
 46316  // Possible values:
 46317  //
 46318  //	"ASCENDING" (default)
 46319  //	"DESCENDING"
 46320  func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
 46321  	c.urlParams_.Set("sortOrder", sortOrder)
 46322  	return c
 46323  }
 46324  
 46325  // SubaccountId sets the optional parameter "subaccountId": Select only
 46326  // sites with this subaccount ID.
 46327  func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
 46328  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 46329  	return c
 46330  }
 46331  
 46332  // UnmappedSite sets the optional parameter "unmappedSite": Select only
 46333  // sites that have not been mapped to a directory site.
 46334  func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
 46335  	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
 46336  	return c
 46337  }
 46338  
 46339  // Fields allows partial responses to be retrieved. See
 46340  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46341  // for more information.
 46342  func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
 46343  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46344  	return c
 46345  }
 46346  
 46347  // IfNoneMatch sets the optional parameter which makes the operation
 46348  // fail if the object's ETag matches the given value. This is useful for
 46349  // getting updates only after the object has changed since the last
 46350  // request. Use googleapi.IsNotModified to check whether the response
 46351  // error from Do is the result of In-None-Match.
 46352  func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
 46353  	c.ifNoneMatch_ = entityTag
 46354  	return c
 46355  }
 46356  
 46357  // Context sets the context to be used in this call's Do method. Any
 46358  // pending HTTP request will be aborted if the provided context is
 46359  // canceled.
 46360  func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
 46361  	c.ctx_ = ctx
 46362  	return c
 46363  }
 46364  
 46365  // Header returns an http.Header that can be modified by the caller to
 46366  // add HTTP headers to the request.
 46367  func (c *SitesListCall) Header() http.Header {
 46368  	if c.header_ == nil {
 46369  		c.header_ = make(http.Header)
 46370  	}
 46371  	return c.header_
 46372  }
 46373  
 46374  func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
 46375  	reqHeaders := make(http.Header)
 46376  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46377  	for k, v := range c.header_ {
 46378  		reqHeaders[k] = v
 46379  	}
 46380  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46381  	if c.ifNoneMatch_ != "" {
 46382  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46383  	}
 46384  	var body io.Reader = nil
 46385  	c.urlParams_.Set("alt", alt)
 46386  	c.urlParams_.Set("prettyPrint", "false")
 46387  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46388  	urls += "?" + c.urlParams_.Encode()
 46389  	req, err := http.NewRequest("GET", urls, body)
 46390  	if err != nil {
 46391  		return nil, err
 46392  	}
 46393  	req.Header = reqHeaders
 46394  	googleapi.Expand(req.URL, map[string]string{
 46395  		"profileId": strconv.FormatInt(c.profileId, 10),
 46396  	})
 46397  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46398  }
 46399  
 46400  // Do executes the "dfareporting.sites.list" call.
 46401  // Exactly one of *SitesListResponse or error will be non-nil. Any
 46402  // non-2xx status code is an error. Response headers are in either
 46403  // *SitesListResponse.ServerResponse.Header or (if a response was
 46404  // returned at all) in error.(*googleapi.Error).Header. Use
 46405  // googleapi.IsNotModified to check whether the returned error was
 46406  // because http.StatusNotModified was returned.
 46407  func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
 46408  	gensupport.SetOptions(c.urlParams_, opts...)
 46409  	res, err := c.doRequest("json")
 46410  	if res != nil && res.StatusCode == http.StatusNotModified {
 46411  		if res.Body != nil {
 46412  			res.Body.Close()
 46413  		}
 46414  		return nil, &googleapi.Error{
 46415  			Code:   res.StatusCode,
 46416  			Header: res.Header,
 46417  		}
 46418  	}
 46419  	if err != nil {
 46420  		return nil, err
 46421  	}
 46422  	defer googleapi.CloseBody(res)
 46423  	if err := googleapi.CheckResponse(res); err != nil {
 46424  		return nil, err
 46425  	}
 46426  	ret := &SitesListResponse{
 46427  		ServerResponse: googleapi.ServerResponse{
 46428  			Header:         res.Header,
 46429  			HTTPStatusCode: res.StatusCode,
 46430  		},
 46431  	}
 46432  	target := &ret
 46433  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46434  		return nil, err
 46435  	}
 46436  	return ret, nil
 46437  	// {
 46438  	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
 46439  	//   "flatPath": "userprofiles/{profileId}/sites",
 46440  	//   "httpMethod": "GET",
 46441  	//   "id": "dfareporting.sites.list",
 46442  	//   "parameterOrder": [
 46443  	//     "profileId"
 46444  	//   ],
 46445  	//   "parameters": {
 46446  	//     "acceptsInStreamVideoPlacements": {
 46447  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 46448  	//       "location": "query",
 46449  	//       "type": "boolean"
 46450  	//     },
 46451  	//     "acceptsInterstitialPlacements": {
 46452  	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
 46453  	//       "location": "query",
 46454  	//       "type": "boolean"
 46455  	//     },
 46456  	//     "acceptsPublisherPaidPlacements": {
 46457  	//       "description": "Select only sites that accept publisher paid placements.",
 46458  	//       "location": "query",
 46459  	//       "type": "boolean"
 46460  	//     },
 46461  	//     "adWordsSite": {
 46462  	//       "description": "Select only AdWords sites.",
 46463  	//       "location": "query",
 46464  	//       "type": "boolean"
 46465  	//     },
 46466  	//     "approved": {
 46467  	//       "description": "Select only approved sites.",
 46468  	//       "location": "query",
 46469  	//       "type": "boolean"
 46470  	//     },
 46471  	//     "campaignIds": {
 46472  	//       "description": "Select only sites with these campaign IDs.",
 46473  	//       "format": "int64",
 46474  	//       "location": "query",
 46475  	//       "repeated": true,
 46476  	//       "type": "string"
 46477  	//     },
 46478  	//     "directorySiteIds": {
 46479  	//       "description": "Select only sites with these directory site IDs.",
 46480  	//       "format": "int64",
 46481  	//       "location": "query",
 46482  	//       "repeated": true,
 46483  	//       "type": "string"
 46484  	//     },
 46485  	//     "ids": {
 46486  	//       "description": "Select only sites with these IDs.",
 46487  	//       "format": "int64",
 46488  	//       "location": "query",
 46489  	//       "repeated": true,
 46490  	//       "type": "string"
 46491  	//     },
 46492  	//     "maxResults": {
 46493  	//       "default": "1000",
 46494  	//       "description": "Maximum number of results to return.",
 46495  	//       "format": "int32",
 46496  	//       "location": "query",
 46497  	//       "maximum": "1000",
 46498  	//       "minimum": "0",
 46499  	//       "type": "integer"
 46500  	//     },
 46501  	//     "pageToken": {
 46502  	//       "description": "Value of the nextPageToken from the previous result page.",
 46503  	//       "location": "query",
 46504  	//       "type": "string"
 46505  	//     },
 46506  	//     "profileId": {
 46507  	//       "description": "User profile ID associated with this request.",
 46508  	//       "format": "int64",
 46509  	//       "location": "path",
 46510  	//       "required": true,
 46511  	//       "type": "string"
 46512  	//     },
 46513  	//     "searchString": {
 46514  	//       "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\".",
 46515  	//       "location": "query",
 46516  	//       "type": "string"
 46517  	//     },
 46518  	//     "sortField": {
 46519  	//       "default": "ID",
 46520  	//       "description": "Field by which to sort the list.",
 46521  	//       "enum": [
 46522  	//         "ID",
 46523  	//         "NAME"
 46524  	//       ],
 46525  	//       "enumDescriptions": [
 46526  	//         "",
 46527  	//         ""
 46528  	//       ],
 46529  	//       "location": "query",
 46530  	//       "type": "string"
 46531  	//     },
 46532  	//     "sortOrder": {
 46533  	//       "default": "ASCENDING",
 46534  	//       "description": "Order of sorted results.",
 46535  	//       "enum": [
 46536  	//         "ASCENDING",
 46537  	//         "DESCENDING"
 46538  	//       ],
 46539  	//       "enumDescriptions": [
 46540  	//         "",
 46541  	//         ""
 46542  	//       ],
 46543  	//       "location": "query",
 46544  	//       "type": "string"
 46545  	//     },
 46546  	//     "subaccountId": {
 46547  	//       "description": "Select only sites with this subaccount ID.",
 46548  	//       "format": "int64",
 46549  	//       "location": "query",
 46550  	//       "type": "string"
 46551  	//     },
 46552  	//     "unmappedSite": {
 46553  	//       "description": "Select only sites that have not been mapped to a directory site.",
 46554  	//       "location": "query",
 46555  	//       "type": "boolean"
 46556  	//     }
 46557  	//   },
 46558  	//   "path": "userprofiles/{profileId}/sites",
 46559  	//   "response": {
 46560  	//     "$ref": "SitesListResponse"
 46561  	//   },
 46562  	//   "scopes": [
 46563  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46564  	//   ]
 46565  	// }
 46566  
 46567  }
 46568  
 46569  // Pages invokes f for each page of results.
 46570  // A non-nil error returned from f will halt the iteration.
 46571  // The provided context supersedes any context provided to the Context method.
 46572  func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
 46573  	c.ctx_ = ctx
 46574  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 46575  	for {
 46576  		x, err := c.Do()
 46577  		if err != nil {
 46578  			return err
 46579  		}
 46580  		if err := f(x); err != nil {
 46581  			return err
 46582  		}
 46583  		if x.NextPageToken == "" {
 46584  			return nil
 46585  		}
 46586  		c.PageToken(x.NextPageToken)
 46587  	}
 46588  }
 46589  
 46590  // method id "dfareporting.sites.patch":
 46591  
 46592  type SitesPatchCall struct {
 46593  	s          *Service
 46594  	profileId  int64
 46595  	site       *Site
 46596  	urlParams_ gensupport.URLParams
 46597  	ctx_       context.Context
 46598  	header_    http.Header
 46599  }
 46600  
 46601  // Patch: Updates an existing site. This method supports patch
 46602  // semantics.
 46603  //
 46604  // - id: Site ID.
 46605  // - profileId: User profile ID associated with this request.
 46606  func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
 46607  	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46608  	c.profileId = profileId
 46609  	c.urlParams_.Set("id", fmt.Sprint(id))
 46610  	c.site = site
 46611  	return c
 46612  }
 46613  
 46614  // Fields allows partial responses to be retrieved. See
 46615  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46616  // for more information.
 46617  func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
 46618  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46619  	return c
 46620  }
 46621  
 46622  // Context sets the context to be used in this call's Do method. Any
 46623  // pending HTTP request will be aborted if the provided context is
 46624  // canceled.
 46625  func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
 46626  	c.ctx_ = ctx
 46627  	return c
 46628  }
 46629  
 46630  // Header returns an http.Header that can be modified by the caller to
 46631  // add HTTP headers to the request.
 46632  func (c *SitesPatchCall) Header() http.Header {
 46633  	if c.header_ == nil {
 46634  		c.header_ = make(http.Header)
 46635  	}
 46636  	return c.header_
 46637  }
 46638  
 46639  func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
 46640  	reqHeaders := make(http.Header)
 46641  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46642  	for k, v := range c.header_ {
 46643  		reqHeaders[k] = v
 46644  	}
 46645  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46646  	var body io.Reader = nil
 46647  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46648  	if err != nil {
 46649  		return nil, err
 46650  	}
 46651  	reqHeaders.Set("Content-Type", "application/json")
 46652  	c.urlParams_.Set("alt", alt)
 46653  	c.urlParams_.Set("prettyPrint", "false")
 46654  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46655  	urls += "?" + c.urlParams_.Encode()
 46656  	req, err := http.NewRequest("PATCH", urls, body)
 46657  	if err != nil {
 46658  		return nil, err
 46659  	}
 46660  	req.Header = reqHeaders
 46661  	googleapi.Expand(req.URL, map[string]string{
 46662  		"profileId": strconv.FormatInt(c.profileId, 10),
 46663  	})
 46664  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46665  }
 46666  
 46667  // Do executes the "dfareporting.sites.patch" call.
 46668  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46669  // code is an error. Response headers are in either
 46670  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46671  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46672  // whether the returned error was because http.StatusNotModified was
 46673  // returned.
 46674  func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46675  	gensupport.SetOptions(c.urlParams_, opts...)
 46676  	res, err := c.doRequest("json")
 46677  	if res != nil && res.StatusCode == http.StatusNotModified {
 46678  		if res.Body != nil {
 46679  			res.Body.Close()
 46680  		}
 46681  		return nil, &googleapi.Error{
 46682  			Code:   res.StatusCode,
 46683  			Header: res.Header,
 46684  		}
 46685  	}
 46686  	if err != nil {
 46687  		return nil, err
 46688  	}
 46689  	defer googleapi.CloseBody(res)
 46690  	if err := googleapi.CheckResponse(res); err != nil {
 46691  		return nil, err
 46692  	}
 46693  	ret := &Site{
 46694  		ServerResponse: googleapi.ServerResponse{
 46695  			Header:         res.Header,
 46696  			HTTPStatusCode: res.StatusCode,
 46697  		},
 46698  	}
 46699  	target := &ret
 46700  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46701  		return nil, err
 46702  	}
 46703  	return ret, nil
 46704  	// {
 46705  	//   "description": "Updates an existing site. This method supports patch semantics.",
 46706  	//   "flatPath": "userprofiles/{profileId}/sites",
 46707  	//   "httpMethod": "PATCH",
 46708  	//   "id": "dfareporting.sites.patch",
 46709  	//   "parameterOrder": [
 46710  	//     "profileId",
 46711  	//     "id"
 46712  	//   ],
 46713  	//   "parameters": {
 46714  	//     "id": {
 46715  	//       "description": "Site ID.",
 46716  	//       "format": "int64",
 46717  	//       "location": "query",
 46718  	//       "required": true,
 46719  	//       "type": "string"
 46720  	//     },
 46721  	//     "profileId": {
 46722  	//       "description": "User profile ID associated with this request.",
 46723  	//       "format": "int64",
 46724  	//       "location": "path",
 46725  	//       "required": true,
 46726  	//       "type": "string"
 46727  	//     }
 46728  	//   },
 46729  	//   "path": "userprofiles/{profileId}/sites",
 46730  	//   "request": {
 46731  	//     "$ref": "Site"
 46732  	//   },
 46733  	//   "response": {
 46734  	//     "$ref": "Site"
 46735  	//   },
 46736  	//   "scopes": [
 46737  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46738  	//   ]
 46739  	// }
 46740  
 46741  }
 46742  
 46743  // method id "dfareporting.sites.update":
 46744  
 46745  type SitesUpdateCall struct {
 46746  	s          *Service
 46747  	profileId  int64
 46748  	site       *Site
 46749  	urlParams_ gensupport.URLParams
 46750  	ctx_       context.Context
 46751  	header_    http.Header
 46752  }
 46753  
 46754  // Update: Updates an existing site.
 46755  //
 46756  // - profileId: User profile ID associated with this request.
 46757  func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
 46758  	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46759  	c.profileId = profileId
 46760  	c.site = site
 46761  	return c
 46762  }
 46763  
 46764  // Fields allows partial responses to be retrieved. See
 46765  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46766  // for more information.
 46767  func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
 46768  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46769  	return c
 46770  }
 46771  
 46772  // Context sets the context to be used in this call's Do method. Any
 46773  // pending HTTP request will be aborted if the provided context is
 46774  // canceled.
 46775  func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
 46776  	c.ctx_ = ctx
 46777  	return c
 46778  }
 46779  
 46780  // Header returns an http.Header that can be modified by the caller to
 46781  // add HTTP headers to the request.
 46782  func (c *SitesUpdateCall) Header() http.Header {
 46783  	if c.header_ == nil {
 46784  		c.header_ = make(http.Header)
 46785  	}
 46786  	return c.header_
 46787  }
 46788  
 46789  func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
 46790  	reqHeaders := make(http.Header)
 46791  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46792  	for k, v := range c.header_ {
 46793  		reqHeaders[k] = v
 46794  	}
 46795  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46796  	var body io.Reader = nil
 46797  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
 46798  	if err != nil {
 46799  		return nil, err
 46800  	}
 46801  	reqHeaders.Set("Content-Type", "application/json")
 46802  	c.urlParams_.Set("alt", alt)
 46803  	c.urlParams_.Set("prettyPrint", "false")
 46804  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
 46805  	urls += "?" + c.urlParams_.Encode()
 46806  	req, err := http.NewRequest("PUT", urls, body)
 46807  	if err != nil {
 46808  		return nil, err
 46809  	}
 46810  	req.Header = reqHeaders
 46811  	googleapi.Expand(req.URL, map[string]string{
 46812  		"profileId": strconv.FormatInt(c.profileId, 10),
 46813  	})
 46814  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46815  }
 46816  
 46817  // Do executes the "dfareporting.sites.update" call.
 46818  // Exactly one of *Site or error will be non-nil. Any non-2xx status
 46819  // code is an error. Response headers are in either
 46820  // *Site.ServerResponse.Header or (if a response was returned at all) in
 46821  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46822  // whether the returned error was because http.StatusNotModified was
 46823  // returned.
 46824  func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
 46825  	gensupport.SetOptions(c.urlParams_, opts...)
 46826  	res, err := c.doRequest("json")
 46827  	if res != nil && res.StatusCode == http.StatusNotModified {
 46828  		if res.Body != nil {
 46829  			res.Body.Close()
 46830  		}
 46831  		return nil, &googleapi.Error{
 46832  			Code:   res.StatusCode,
 46833  			Header: res.Header,
 46834  		}
 46835  	}
 46836  	if err != nil {
 46837  		return nil, err
 46838  	}
 46839  	defer googleapi.CloseBody(res)
 46840  	if err := googleapi.CheckResponse(res); err != nil {
 46841  		return nil, err
 46842  	}
 46843  	ret := &Site{
 46844  		ServerResponse: googleapi.ServerResponse{
 46845  			Header:         res.Header,
 46846  			HTTPStatusCode: res.StatusCode,
 46847  		},
 46848  	}
 46849  	target := &ret
 46850  	if err := gensupport.DecodeResponse(target, res); err != nil {
 46851  		return nil, err
 46852  	}
 46853  	return ret, nil
 46854  	// {
 46855  	//   "description": "Updates an existing site.",
 46856  	//   "flatPath": "userprofiles/{profileId}/sites",
 46857  	//   "httpMethod": "PUT",
 46858  	//   "id": "dfareporting.sites.update",
 46859  	//   "parameterOrder": [
 46860  	//     "profileId"
 46861  	//   ],
 46862  	//   "parameters": {
 46863  	//     "profileId": {
 46864  	//       "description": "User profile ID associated with this request.",
 46865  	//       "format": "int64",
 46866  	//       "location": "path",
 46867  	//       "required": true,
 46868  	//       "type": "string"
 46869  	//     }
 46870  	//   },
 46871  	//   "path": "userprofiles/{profileId}/sites",
 46872  	//   "request": {
 46873  	//     "$ref": "Site"
 46874  	//   },
 46875  	//   "response": {
 46876  	//     "$ref": "Site"
 46877  	//   },
 46878  	//   "scopes": [
 46879  	//     "https://www.googleapis.com/auth/dfatrafficking"
 46880  	//   ]
 46881  	// }
 46882  
 46883  }
 46884  
 46885  // method id "dfareporting.sizes.get":
 46886  
 46887  type SizesGetCall struct {
 46888  	s            *Service
 46889  	profileId    int64
 46890  	id           int64
 46891  	urlParams_   gensupport.URLParams
 46892  	ifNoneMatch_ string
 46893  	ctx_         context.Context
 46894  	header_      http.Header
 46895  }
 46896  
 46897  // Get: Gets one size by ID.
 46898  //
 46899  // - id: Size ID.
 46900  // - profileId: User profile ID associated with this request.
 46901  func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
 46902  	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 46903  	c.profileId = profileId
 46904  	c.id = id
 46905  	return c
 46906  }
 46907  
 46908  // Fields allows partial responses to be retrieved. See
 46909  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 46910  // for more information.
 46911  func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
 46912  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 46913  	return c
 46914  }
 46915  
 46916  // IfNoneMatch sets the optional parameter which makes the operation
 46917  // fail if the object's ETag matches the given value. This is useful for
 46918  // getting updates only after the object has changed since the last
 46919  // request. Use googleapi.IsNotModified to check whether the response
 46920  // error from Do is the result of In-None-Match.
 46921  func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
 46922  	c.ifNoneMatch_ = entityTag
 46923  	return c
 46924  }
 46925  
 46926  // Context sets the context to be used in this call's Do method. Any
 46927  // pending HTTP request will be aborted if the provided context is
 46928  // canceled.
 46929  func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
 46930  	c.ctx_ = ctx
 46931  	return c
 46932  }
 46933  
 46934  // Header returns an http.Header that can be modified by the caller to
 46935  // add HTTP headers to the request.
 46936  func (c *SizesGetCall) Header() http.Header {
 46937  	if c.header_ == nil {
 46938  		c.header_ = make(http.Header)
 46939  	}
 46940  	return c.header_
 46941  }
 46942  
 46943  func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
 46944  	reqHeaders := make(http.Header)
 46945  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 46946  	for k, v := range c.header_ {
 46947  		reqHeaders[k] = v
 46948  	}
 46949  	reqHeaders.Set("User-Agent", c.s.userAgent())
 46950  	if c.ifNoneMatch_ != "" {
 46951  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 46952  	}
 46953  	var body io.Reader = nil
 46954  	c.urlParams_.Set("alt", alt)
 46955  	c.urlParams_.Set("prettyPrint", "false")
 46956  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
 46957  	urls += "?" + c.urlParams_.Encode()
 46958  	req, err := http.NewRequest("GET", urls, body)
 46959  	if err != nil {
 46960  		return nil, err
 46961  	}
 46962  	req.Header = reqHeaders
 46963  	googleapi.Expand(req.URL, map[string]string{
 46964  		"profileId": strconv.FormatInt(c.profileId, 10),
 46965  		"id":        strconv.FormatInt(c.id, 10),
 46966  	})
 46967  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 46968  }
 46969  
 46970  // Do executes the "dfareporting.sizes.get" call.
 46971  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 46972  // code is an error. Response headers are in either
 46973  // *Size.ServerResponse.Header or (if a response was returned at all) in
 46974  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 46975  // whether the returned error was because http.StatusNotModified was
 46976  // returned.
 46977  func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 46978  	gensupport.SetOptions(c.urlParams_, opts...)
 46979  	res, err := c.doRequest("json")
 46980  	if res != nil && res.StatusCode == http.StatusNotModified {
 46981  		if res.Body != nil {
 46982  			res.Body.Close()
 46983  		}
 46984  		return nil, &googleapi.Error{
 46985  			Code:   res.StatusCode,
 46986  			Header: res.Header,
 46987  		}
 46988  	}
 46989  	if err != nil {
 46990  		return nil, err
 46991  	}
 46992  	defer googleapi.CloseBody(res)
 46993  	if err := googleapi.CheckResponse(res); err != nil {
 46994  		return nil, err
 46995  	}
 46996  	ret := &Size{
 46997  		ServerResponse: googleapi.ServerResponse{
 46998  			Header:         res.Header,
 46999  			HTTPStatusCode: res.StatusCode,
 47000  		},
 47001  	}
 47002  	target := &ret
 47003  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47004  		return nil, err
 47005  	}
 47006  	return ret, nil
 47007  	// {
 47008  	//   "description": "Gets one size by ID.",
 47009  	//   "flatPath": "userprofiles/{profileId}/sizes/{id}",
 47010  	//   "httpMethod": "GET",
 47011  	//   "id": "dfareporting.sizes.get",
 47012  	//   "parameterOrder": [
 47013  	//     "profileId",
 47014  	//     "id"
 47015  	//   ],
 47016  	//   "parameters": {
 47017  	//     "id": {
 47018  	//       "description": "Size ID.",
 47019  	//       "format": "int64",
 47020  	//       "location": "path",
 47021  	//       "required": true,
 47022  	//       "type": "string"
 47023  	//     },
 47024  	//     "profileId": {
 47025  	//       "description": "User profile ID associated with this request.",
 47026  	//       "format": "int64",
 47027  	//       "location": "path",
 47028  	//       "required": true,
 47029  	//       "type": "string"
 47030  	//     }
 47031  	//   },
 47032  	//   "path": "userprofiles/{profileId}/sizes/{id}",
 47033  	//   "response": {
 47034  	//     "$ref": "Size"
 47035  	//   },
 47036  	//   "scopes": [
 47037  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47038  	//   ]
 47039  	// }
 47040  
 47041  }
 47042  
 47043  // method id "dfareporting.sizes.insert":
 47044  
 47045  type SizesInsertCall struct {
 47046  	s          *Service
 47047  	profileId  int64
 47048  	size       *Size
 47049  	urlParams_ gensupport.URLParams
 47050  	ctx_       context.Context
 47051  	header_    http.Header
 47052  }
 47053  
 47054  // Insert: Inserts a new size.
 47055  //
 47056  // - profileId: User profile ID associated with this request.
 47057  func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
 47058  	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47059  	c.profileId = profileId
 47060  	c.size = size
 47061  	return c
 47062  }
 47063  
 47064  // Fields allows partial responses to be retrieved. See
 47065  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47066  // for more information.
 47067  func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
 47068  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47069  	return c
 47070  }
 47071  
 47072  // Context sets the context to be used in this call's Do method. Any
 47073  // pending HTTP request will be aborted if the provided context is
 47074  // canceled.
 47075  func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
 47076  	c.ctx_ = ctx
 47077  	return c
 47078  }
 47079  
 47080  // Header returns an http.Header that can be modified by the caller to
 47081  // add HTTP headers to the request.
 47082  func (c *SizesInsertCall) Header() http.Header {
 47083  	if c.header_ == nil {
 47084  		c.header_ = make(http.Header)
 47085  	}
 47086  	return c.header_
 47087  }
 47088  
 47089  func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
 47090  	reqHeaders := make(http.Header)
 47091  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47092  	for k, v := range c.header_ {
 47093  		reqHeaders[k] = v
 47094  	}
 47095  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47096  	var body io.Reader = nil
 47097  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
 47098  	if err != nil {
 47099  		return nil, err
 47100  	}
 47101  	reqHeaders.Set("Content-Type", "application/json")
 47102  	c.urlParams_.Set("alt", alt)
 47103  	c.urlParams_.Set("prettyPrint", "false")
 47104  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 47105  	urls += "?" + c.urlParams_.Encode()
 47106  	req, err := http.NewRequest("POST", urls, body)
 47107  	if err != nil {
 47108  		return nil, err
 47109  	}
 47110  	req.Header = reqHeaders
 47111  	googleapi.Expand(req.URL, map[string]string{
 47112  		"profileId": strconv.FormatInt(c.profileId, 10),
 47113  	})
 47114  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47115  }
 47116  
 47117  // Do executes the "dfareporting.sizes.insert" call.
 47118  // Exactly one of *Size or error will be non-nil. Any non-2xx status
 47119  // code is an error. Response headers are in either
 47120  // *Size.ServerResponse.Header or (if a response was returned at all) in
 47121  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 47122  // whether the returned error was because http.StatusNotModified was
 47123  // returned.
 47124  func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
 47125  	gensupport.SetOptions(c.urlParams_, opts...)
 47126  	res, err := c.doRequest("json")
 47127  	if res != nil && res.StatusCode == http.StatusNotModified {
 47128  		if res.Body != nil {
 47129  			res.Body.Close()
 47130  		}
 47131  		return nil, &googleapi.Error{
 47132  			Code:   res.StatusCode,
 47133  			Header: res.Header,
 47134  		}
 47135  	}
 47136  	if err != nil {
 47137  		return nil, err
 47138  	}
 47139  	defer googleapi.CloseBody(res)
 47140  	if err := googleapi.CheckResponse(res); err != nil {
 47141  		return nil, err
 47142  	}
 47143  	ret := &Size{
 47144  		ServerResponse: googleapi.ServerResponse{
 47145  			Header:         res.Header,
 47146  			HTTPStatusCode: res.StatusCode,
 47147  		},
 47148  	}
 47149  	target := &ret
 47150  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47151  		return nil, err
 47152  	}
 47153  	return ret, nil
 47154  	// {
 47155  	//   "description": "Inserts a new size.",
 47156  	//   "flatPath": "userprofiles/{profileId}/sizes",
 47157  	//   "httpMethod": "POST",
 47158  	//   "id": "dfareporting.sizes.insert",
 47159  	//   "parameterOrder": [
 47160  	//     "profileId"
 47161  	//   ],
 47162  	//   "parameters": {
 47163  	//     "profileId": {
 47164  	//       "description": "User profile ID associated with this request.",
 47165  	//       "format": "int64",
 47166  	//       "location": "path",
 47167  	//       "required": true,
 47168  	//       "type": "string"
 47169  	//     }
 47170  	//   },
 47171  	//   "path": "userprofiles/{profileId}/sizes",
 47172  	//   "request": {
 47173  	//     "$ref": "Size"
 47174  	//   },
 47175  	//   "response": {
 47176  	//     "$ref": "Size"
 47177  	//   },
 47178  	//   "scopes": [
 47179  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47180  	//   ]
 47181  	// }
 47182  
 47183  }
 47184  
 47185  // method id "dfareporting.sizes.list":
 47186  
 47187  type SizesListCall struct {
 47188  	s            *Service
 47189  	profileId    int64
 47190  	urlParams_   gensupport.URLParams
 47191  	ifNoneMatch_ string
 47192  	ctx_         context.Context
 47193  	header_      http.Header
 47194  }
 47195  
 47196  // List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
 47197  // are globally unique and may include values not currently in use by
 47198  // your account. Due to this, the list of sizes returned by this method
 47199  // may differ from the list seen in the Trafficking UI.
 47200  //
 47201  // - profileId: User profile ID associated with this request.
 47202  func (r *SizesService) List(profileId int64) *SizesListCall {
 47203  	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47204  	c.profileId = profileId
 47205  	return c
 47206  }
 47207  
 47208  // Height sets the optional parameter "height": Select only sizes with
 47209  // this height.
 47210  func (c *SizesListCall) Height(height int64) *SizesListCall {
 47211  	c.urlParams_.Set("height", fmt.Sprint(height))
 47212  	return c
 47213  }
 47214  
 47215  // IabStandard sets the optional parameter "iabStandard": Select only
 47216  // IAB standard sizes.
 47217  func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
 47218  	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
 47219  	return c
 47220  }
 47221  
 47222  // Ids sets the optional parameter "ids": Select only sizes with these
 47223  // IDs.
 47224  func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
 47225  	var ids_ []string
 47226  	for _, v := range ids {
 47227  		ids_ = append(ids_, fmt.Sprint(v))
 47228  	}
 47229  	c.urlParams_.SetMulti("ids", ids_)
 47230  	return c
 47231  }
 47232  
 47233  // Width sets the optional parameter "width": Select only sizes with
 47234  // this width.
 47235  func (c *SizesListCall) Width(width int64) *SizesListCall {
 47236  	c.urlParams_.Set("width", fmt.Sprint(width))
 47237  	return c
 47238  }
 47239  
 47240  // Fields allows partial responses to be retrieved. See
 47241  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47242  // for more information.
 47243  func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
 47244  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47245  	return c
 47246  }
 47247  
 47248  // IfNoneMatch sets the optional parameter which makes the operation
 47249  // fail if the object's ETag matches the given value. This is useful for
 47250  // getting updates only after the object has changed since the last
 47251  // request. Use googleapi.IsNotModified to check whether the response
 47252  // error from Do is the result of In-None-Match.
 47253  func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
 47254  	c.ifNoneMatch_ = entityTag
 47255  	return c
 47256  }
 47257  
 47258  // Context sets the context to be used in this call's Do method. Any
 47259  // pending HTTP request will be aborted if the provided context is
 47260  // canceled.
 47261  func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
 47262  	c.ctx_ = ctx
 47263  	return c
 47264  }
 47265  
 47266  // Header returns an http.Header that can be modified by the caller to
 47267  // add HTTP headers to the request.
 47268  func (c *SizesListCall) Header() http.Header {
 47269  	if c.header_ == nil {
 47270  		c.header_ = make(http.Header)
 47271  	}
 47272  	return c.header_
 47273  }
 47274  
 47275  func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
 47276  	reqHeaders := make(http.Header)
 47277  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47278  	for k, v := range c.header_ {
 47279  		reqHeaders[k] = v
 47280  	}
 47281  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47282  	if c.ifNoneMatch_ != "" {
 47283  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47284  	}
 47285  	var body io.Reader = nil
 47286  	c.urlParams_.Set("alt", alt)
 47287  	c.urlParams_.Set("prettyPrint", "false")
 47288  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
 47289  	urls += "?" + c.urlParams_.Encode()
 47290  	req, err := http.NewRequest("GET", urls, body)
 47291  	if err != nil {
 47292  		return nil, err
 47293  	}
 47294  	req.Header = reqHeaders
 47295  	googleapi.Expand(req.URL, map[string]string{
 47296  		"profileId": strconv.FormatInt(c.profileId, 10),
 47297  	})
 47298  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47299  }
 47300  
 47301  // Do executes the "dfareporting.sizes.list" call.
 47302  // Exactly one of *SizesListResponse or error will be non-nil. Any
 47303  // non-2xx status code is an error. Response headers are in either
 47304  // *SizesListResponse.ServerResponse.Header or (if a response was
 47305  // returned at all) in error.(*googleapi.Error).Header. Use
 47306  // googleapi.IsNotModified to check whether the returned error was
 47307  // because http.StatusNotModified was returned.
 47308  func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
 47309  	gensupport.SetOptions(c.urlParams_, opts...)
 47310  	res, err := c.doRequest("json")
 47311  	if res != nil && res.StatusCode == http.StatusNotModified {
 47312  		if res.Body != nil {
 47313  			res.Body.Close()
 47314  		}
 47315  		return nil, &googleapi.Error{
 47316  			Code:   res.StatusCode,
 47317  			Header: res.Header,
 47318  		}
 47319  	}
 47320  	if err != nil {
 47321  		return nil, err
 47322  	}
 47323  	defer googleapi.CloseBody(res)
 47324  	if err := googleapi.CheckResponse(res); err != nil {
 47325  		return nil, err
 47326  	}
 47327  	ret := &SizesListResponse{
 47328  		ServerResponse: googleapi.ServerResponse{
 47329  			Header:         res.Header,
 47330  			HTTPStatusCode: res.StatusCode,
 47331  		},
 47332  	}
 47333  	target := &ret
 47334  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47335  		return nil, err
 47336  	}
 47337  	return ret, nil
 47338  	// {
 47339  	//   "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.",
 47340  	//   "flatPath": "userprofiles/{profileId}/sizes",
 47341  	//   "httpMethod": "GET",
 47342  	//   "id": "dfareporting.sizes.list",
 47343  	//   "parameterOrder": [
 47344  	//     "profileId"
 47345  	//   ],
 47346  	//   "parameters": {
 47347  	//     "height": {
 47348  	//       "description": "Select only sizes with this height.",
 47349  	//       "format": "int32",
 47350  	//       "location": "query",
 47351  	//       "maximum": "32767",
 47352  	//       "minimum": "0",
 47353  	//       "type": "integer"
 47354  	//     },
 47355  	//     "iabStandard": {
 47356  	//       "description": "Select only IAB standard sizes.",
 47357  	//       "location": "query",
 47358  	//       "type": "boolean"
 47359  	//     },
 47360  	//     "ids": {
 47361  	//       "description": "Select only sizes with these IDs.",
 47362  	//       "format": "int64",
 47363  	//       "location": "query",
 47364  	//       "repeated": true,
 47365  	//       "type": "string"
 47366  	//     },
 47367  	//     "profileId": {
 47368  	//       "description": "User profile ID associated with this request.",
 47369  	//       "format": "int64",
 47370  	//       "location": "path",
 47371  	//       "required": true,
 47372  	//       "type": "string"
 47373  	//     },
 47374  	//     "width": {
 47375  	//       "description": "Select only sizes with this width.",
 47376  	//       "format": "int32",
 47377  	//       "location": "query",
 47378  	//       "maximum": "32767",
 47379  	//       "minimum": "0",
 47380  	//       "type": "integer"
 47381  	//     }
 47382  	//   },
 47383  	//   "path": "userprofiles/{profileId}/sizes",
 47384  	//   "response": {
 47385  	//     "$ref": "SizesListResponse"
 47386  	//   },
 47387  	//   "scopes": [
 47388  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47389  	//   ]
 47390  	// }
 47391  
 47392  }
 47393  
 47394  // method id "dfareporting.subaccounts.get":
 47395  
 47396  type SubaccountsGetCall struct {
 47397  	s            *Service
 47398  	profileId    int64
 47399  	id           int64
 47400  	urlParams_   gensupport.URLParams
 47401  	ifNoneMatch_ string
 47402  	ctx_         context.Context
 47403  	header_      http.Header
 47404  }
 47405  
 47406  // Get: Gets one subaccount by ID.
 47407  //
 47408  // - id: Subaccount ID.
 47409  // - profileId: User profile ID associated with this request.
 47410  func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
 47411  	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47412  	c.profileId = profileId
 47413  	c.id = id
 47414  	return c
 47415  }
 47416  
 47417  // Fields allows partial responses to be retrieved. See
 47418  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47419  // for more information.
 47420  func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
 47421  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47422  	return c
 47423  }
 47424  
 47425  // IfNoneMatch sets the optional parameter which makes the operation
 47426  // fail if the object's ETag matches the given value. This is useful for
 47427  // getting updates only after the object has changed since the last
 47428  // request. Use googleapi.IsNotModified to check whether the response
 47429  // error from Do is the result of In-None-Match.
 47430  func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
 47431  	c.ifNoneMatch_ = entityTag
 47432  	return c
 47433  }
 47434  
 47435  // Context sets the context to be used in this call's Do method. Any
 47436  // pending HTTP request will be aborted if the provided context is
 47437  // canceled.
 47438  func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
 47439  	c.ctx_ = ctx
 47440  	return c
 47441  }
 47442  
 47443  // Header returns an http.Header that can be modified by the caller to
 47444  // add HTTP headers to the request.
 47445  func (c *SubaccountsGetCall) Header() http.Header {
 47446  	if c.header_ == nil {
 47447  		c.header_ = make(http.Header)
 47448  	}
 47449  	return c.header_
 47450  }
 47451  
 47452  func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
 47453  	reqHeaders := make(http.Header)
 47454  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47455  	for k, v := range c.header_ {
 47456  		reqHeaders[k] = v
 47457  	}
 47458  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47459  	if c.ifNoneMatch_ != "" {
 47460  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47461  	}
 47462  	var body io.Reader = nil
 47463  	c.urlParams_.Set("alt", alt)
 47464  	c.urlParams_.Set("prettyPrint", "false")
 47465  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
 47466  	urls += "?" + c.urlParams_.Encode()
 47467  	req, err := http.NewRequest("GET", urls, body)
 47468  	if err != nil {
 47469  		return nil, err
 47470  	}
 47471  	req.Header = reqHeaders
 47472  	googleapi.Expand(req.URL, map[string]string{
 47473  		"profileId": strconv.FormatInt(c.profileId, 10),
 47474  		"id":        strconv.FormatInt(c.id, 10),
 47475  	})
 47476  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47477  }
 47478  
 47479  // Do executes the "dfareporting.subaccounts.get" call.
 47480  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47481  // status code is an error. Response headers are in either
 47482  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47483  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47484  // to check whether the returned error was because
 47485  // http.StatusNotModified was returned.
 47486  func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47487  	gensupport.SetOptions(c.urlParams_, opts...)
 47488  	res, err := c.doRequest("json")
 47489  	if res != nil && res.StatusCode == http.StatusNotModified {
 47490  		if res.Body != nil {
 47491  			res.Body.Close()
 47492  		}
 47493  		return nil, &googleapi.Error{
 47494  			Code:   res.StatusCode,
 47495  			Header: res.Header,
 47496  		}
 47497  	}
 47498  	if err != nil {
 47499  		return nil, err
 47500  	}
 47501  	defer googleapi.CloseBody(res)
 47502  	if err := googleapi.CheckResponse(res); err != nil {
 47503  		return nil, err
 47504  	}
 47505  	ret := &Subaccount{
 47506  		ServerResponse: googleapi.ServerResponse{
 47507  			Header:         res.Header,
 47508  			HTTPStatusCode: res.StatusCode,
 47509  		},
 47510  	}
 47511  	target := &ret
 47512  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47513  		return nil, err
 47514  	}
 47515  	return ret, nil
 47516  	// {
 47517  	//   "description": "Gets one subaccount by ID.",
 47518  	//   "flatPath": "userprofiles/{profileId}/subaccounts/{id}",
 47519  	//   "httpMethod": "GET",
 47520  	//   "id": "dfareporting.subaccounts.get",
 47521  	//   "parameterOrder": [
 47522  	//     "profileId",
 47523  	//     "id"
 47524  	//   ],
 47525  	//   "parameters": {
 47526  	//     "id": {
 47527  	//       "description": "Subaccount ID.",
 47528  	//       "format": "int64",
 47529  	//       "location": "path",
 47530  	//       "required": true,
 47531  	//       "type": "string"
 47532  	//     },
 47533  	//     "profileId": {
 47534  	//       "description": "User profile ID associated with this request.",
 47535  	//       "format": "int64",
 47536  	//       "location": "path",
 47537  	//       "required": true,
 47538  	//       "type": "string"
 47539  	//     }
 47540  	//   },
 47541  	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
 47542  	//   "response": {
 47543  	//     "$ref": "Subaccount"
 47544  	//   },
 47545  	//   "scopes": [
 47546  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47547  	//   ]
 47548  	// }
 47549  
 47550  }
 47551  
 47552  // method id "dfareporting.subaccounts.insert":
 47553  
 47554  type SubaccountsInsertCall struct {
 47555  	s          *Service
 47556  	profileId  int64
 47557  	subaccount *Subaccount
 47558  	urlParams_ gensupport.URLParams
 47559  	ctx_       context.Context
 47560  	header_    http.Header
 47561  }
 47562  
 47563  // Insert: Inserts a new subaccount.
 47564  //
 47565  // - profileId: User profile ID associated with this request.
 47566  func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
 47567  	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47568  	c.profileId = profileId
 47569  	c.subaccount = subaccount
 47570  	return c
 47571  }
 47572  
 47573  // Fields allows partial responses to be retrieved. See
 47574  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47575  // for more information.
 47576  func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
 47577  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47578  	return c
 47579  }
 47580  
 47581  // Context sets the context to be used in this call's Do method. Any
 47582  // pending HTTP request will be aborted if the provided context is
 47583  // canceled.
 47584  func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
 47585  	c.ctx_ = ctx
 47586  	return c
 47587  }
 47588  
 47589  // Header returns an http.Header that can be modified by the caller to
 47590  // add HTTP headers to the request.
 47591  func (c *SubaccountsInsertCall) Header() http.Header {
 47592  	if c.header_ == nil {
 47593  		c.header_ = make(http.Header)
 47594  	}
 47595  	return c.header_
 47596  }
 47597  
 47598  func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
 47599  	reqHeaders := make(http.Header)
 47600  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47601  	for k, v := range c.header_ {
 47602  		reqHeaders[k] = v
 47603  	}
 47604  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47605  	var body io.Reader = nil
 47606  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 47607  	if err != nil {
 47608  		return nil, err
 47609  	}
 47610  	reqHeaders.Set("Content-Type", "application/json")
 47611  	c.urlParams_.Set("alt", alt)
 47612  	c.urlParams_.Set("prettyPrint", "false")
 47613  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47614  	urls += "?" + c.urlParams_.Encode()
 47615  	req, err := http.NewRequest("POST", urls, body)
 47616  	if err != nil {
 47617  		return nil, err
 47618  	}
 47619  	req.Header = reqHeaders
 47620  	googleapi.Expand(req.URL, map[string]string{
 47621  		"profileId": strconv.FormatInt(c.profileId, 10),
 47622  	})
 47623  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47624  }
 47625  
 47626  // Do executes the "dfareporting.subaccounts.insert" call.
 47627  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 47628  // status code is an error. Response headers are in either
 47629  // *Subaccount.ServerResponse.Header or (if a response was returned at
 47630  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 47631  // to check whether the returned error was because
 47632  // http.StatusNotModified was returned.
 47633  func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 47634  	gensupport.SetOptions(c.urlParams_, opts...)
 47635  	res, err := c.doRequest("json")
 47636  	if res != nil && res.StatusCode == http.StatusNotModified {
 47637  		if res.Body != nil {
 47638  			res.Body.Close()
 47639  		}
 47640  		return nil, &googleapi.Error{
 47641  			Code:   res.StatusCode,
 47642  			Header: res.Header,
 47643  		}
 47644  	}
 47645  	if err != nil {
 47646  		return nil, err
 47647  	}
 47648  	defer googleapi.CloseBody(res)
 47649  	if err := googleapi.CheckResponse(res); err != nil {
 47650  		return nil, err
 47651  	}
 47652  	ret := &Subaccount{
 47653  		ServerResponse: googleapi.ServerResponse{
 47654  			Header:         res.Header,
 47655  			HTTPStatusCode: res.StatusCode,
 47656  		},
 47657  	}
 47658  	target := &ret
 47659  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47660  		return nil, err
 47661  	}
 47662  	return ret, nil
 47663  	// {
 47664  	//   "description": "Inserts a new subaccount.",
 47665  	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 47666  	//   "httpMethod": "POST",
 47667  	//   "id": "dfareporting.subaccounts.insert",
 47668  	//   "parameterOrder": [
 47669  	//     "profileId"
 47670  	//   ],
 47671  	//   "parameters": {
 47672  	//     "profileId": {
 47673  	//       "description": "User profile ID associated with this request.",
 47674  	//       "format": "int64",
 47675  	//       "location": "path",
 47676  	//       "required": true,
 47677  	//       "type": "string"
 47678  	//     }
 47679  	//   },
 47680  	//   "path": "userprofiles/{profileId}/subaccounts",
 47681  	//   "request": {
 47682  	//     "$ref": "Subaccount"
 47683  	//   },
 47684  	//   "response": {
 47685  	//     "$ref": "Subaccount"
 47686  	//   },
 47687  	//   "scopes": [
 47688  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47689  	//   ]
 47690  	// }
 47691  
 47692  }
 47693  
 47694  // method id "dfareporting.subaccounts.list":
 47695  
 47696  type SubaccountsListCall struct {
 47697  	s            *Service
 47698  	profileId    int64
 47699  	urlParams_   gensupport.URLParams
 47700  	ifNoneMatch_ string
 47701  	ctx_         context.Context
 47702  	header_      http.Header
 47703  }
 47704  
 47705  // List: Gets a list of subaccounts, possibly filtered. This method
 47706  // supports paging.
 47707  //
 47708  // - profileId: User profile ID associated with this request.
 47709  func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
 47710  	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47711  	c.profileId = profileId
 47712  	return c
 47713  }
 47714  
 47715  // Ids sets the optional parameter "ids": Select only subaccounts with
 47716  // these IDs.
 47717  func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
 47718  	var ids_ []string
 47719  	for _, v := range ids {
 47720  		ids_ = append(ids_, fmt.Sprint(v))
 47721  	}
 47722  	c.urlParams_.SetMulti("ids", ids_)
 47723  	return c
 47724  }
 47725  
 47726  // MaxResults sets the optional parameter "maxResults": Maximum number
 47727  // of results to return.
 47728  func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
 47729  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 47730  	return c
 47731  }
 47732  
 47733  // PageToken sets the optional parameter "pageToken": Value of the
 47734  // nextPageToken from the previous result page.
 47735  func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
 47736  	c.urlParams_.Set("pageToken", pageToken)
 47737  	return c
 47738  }
 47739  
 47740  // SearchString sets the optional parameter "searchString": Allows
 47741  // searching for objects by name or ID. Wildcards (*) are allowed. For
 47742  // example, "subaccount*2015" will return objects with names like
 47743  // "subaccount June 2015", "subaccount April 2015", or simply
 47744  // "subaccount 2015". Most of the searches also add wildcards implicitly
 47745  // at the start and the end of the search string. For example, a search
 47746  // string of "subaccount" will match objects with name "my subaccount",
 47747  // "subaccount 2015", or simply "subaccount" .
 47748  func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
 47749  	c.urlParams_.Set("searchString", searchString)
 47750  	return c
 47751  }
 47752  
 47753  // SortField sets the optional parameter "sortField": Field by which to
 47754  // sort the list.
 47755  //
 47756  // Possible values:
 47757  //
 47758  //	"ID" (default)
 47759  //	"NAME"
 47760  func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
 47761  	c.urlParams_.Set("sortField", sortField)
 47762  	return c
 47763  }
 47764  
 47765  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 47766  // results.
 47767  //
 47768  // Possible values:
 47769  //
 47770  //	"ASCENDING" (default)
 47771  //	"DESCENDING"
 47772  func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
 47773  	c.urlParams_.Set("sortOrder", sortOrder)
 47774  	return c
 47775  }
 47776  
 47777  // Fields allows partial responses to be retrieved. See
 47778  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 47779  // for more information.
 47780  func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
 47781  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 47782  	return c
 47783  }
 47784  
 47785  // IfNoneMatch sets the optional parameter which makes the operation
 47786  // fail if the object's ETag matches the given value. This is useful for
 47787  // getting updates only after the object has changed since the last
 47788  // request. Use googleapi.IsNotModified to check whether the response
 47789  // error from Do is the result of In-None-Match.
 47790  func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
 47791  	c.ifNoneMatch_ = entityTag
 47792  	return c
 47793  }
 47794  
 47795  // Context sets the context to be used in this call's Do method. Any
 47796  // pending HTTP request will be aborted if the provided context is
 47797  // canceled.
 47798  func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
 47799  	c.ctx_ = ctx
 47800  	return c
 47801  }
 47802  
 47803  // Header returns an http.Header that can be modified by the caller to
 47804  // add HTTP headers to the request.
 47805  func (c *SubaccountsListCall) Header() http.Header {
 47806  	if c.header_ == nil {
 47807  		c.header_ = make(http.Header)
 47808  	}
 47809  	return c.header_
 47810  }
 47811  
 47812  func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
 47813  	reqHeaders := make(http.Header)
 47814  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 47815  	for k, v := range c.header_ {
 47816  		reqHeaders[k] = v
 47817  	}
 47818  	reqHeaders.Set("User-Agent", c.s.userAgent())
 47819  	if c.ifNoneMatch_ != "" {
 47820  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 47821  	}
 47822  	var body io.Reader = nil
 47823  	c.urlParams_.Set("alt", alt)
 47824  	c.urlParams_.Set("prettyPrint", "false")
 47825  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 47826  	urls += "?" + c.urlParams_.Encode()
 47827  	req, err := http.NewRequest("GET", urls, body)
 47828  	if err != nil {
 47829  		return nil, err
 47830  	}
 47831  	req.Header = reqHeaders
 47832  	googleapi.Expand(req.URL, map[string]string{
 47833  		"profileId": strconv.FormatInt(c.profileId, 10),
 47834  	})
 47835  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 47836  }
 47837  
 47838  // Do executes the "dfareporting.subaccounts.list" call.
 47839  // Exactly one of *SubaccountsListResponse or error will be non-nil. Any
 47840  // non-2xx status code is an error. Response headers are in either
 47841  // *SubaccountsListResponse.ServerResponse.Header or (if a response was
 47842  // returned at all) in error.(*googleapi.Error).Header. Use
 47843  // googleapi.IsNotModified to check whether the returned error was
 47844  // because http.StatusNotModified was returned.
 47845  func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
 47846  	gensupport.SetOptions(c.urlParams_, opts...)
 47847  	res, err := c.doRequest("json")
 47848  	if res != nil && res.StatusCode == http.StatusNotModified {
 47849  		if res.Body != nil {
 47850  			res.Body.Close()
 47851  		}
 47852  		return nil, &googleapi.Error{
 47853  			Code:   res.StatusCode,
 47854  			Header: res.Header,
 47855  		}
 47856  	}
 47857  	if err != nil {
 47858  		return nil, err
 47859  	}
 47860  	defer googleapi.CloseBody(res)
 47861  	if err := googleapi.CheckResponse(res); err != nil {
 47862  		return nil, err
 47863  	}
 47864  	ret := &SubaccountsListResponse{
 47865  		ServerResponse: googleapi.ServerResponse{
 47866  			Header:         res.Header,
 47867  			HTTPStatusCode: res.StatusCode,
 47868  		},
 47869  	}
 47870  	target := &ret
 47871  	if err := gensupport.DecodeResponse(target, res); err != nil {
 47872  		return nil, err
 47873  	}
 47874  	return ret, nil
 47875  	// {
 47876  	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
 47877  	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 47878  	//   "httpMethod": "GET",
 47879  	//   "id": "dfareporting.subaccounts.list",
 47880  	//   "parameterOrder": [
 47881  	//     "profileId"
 47882  	//   ],
 47883  	//   "parameters": {
 47884  	//     "ids": {
 47885  	//       "description": "Select only subaccounts with these IDs.",
 47886  	//       "format": "int64",
 47887  	//       "location": "query",
 47888  	//       "repeated": true,
 47889  	//       "type": "string"
 47890  	//     },
 47891  	//     "maxResults": {
 47892  	//       "default": "1000",
 47893  	//       "description": "Maximum number of results to return.",
 47894  	//       "format": "int32",
 47895  	//       "location": "query",
 47896  	//       "maximum": "1000",
 47897  	//       "minimum": "0",
 47898  	//       "type": "integer"
 47899  	//     },
 47900  	//     "pageToken": {
 47901  	//       "description": "Value of the nextPageToken from the previous result page.",
 47902  	//       "location": "query",
 47903  	//       "type": "string"
 47904  	//     },
 47905  	//     "profileId": {
 47906  	//       "description": "User profile ID associated with this request.",
 47907  	//       "format": "int64",
 47908  	//       "location": "path",
 47909  	//       "required": true,
 47910  	//       "type": "string"
 47911  	//     },
 47912  	//     "searchString": {
 47913  	//       "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\" .",
 47914  	//       "location": "query",
 47915  	//       "type": "string"
 47916  	//     },
 47917  	//     "sortField": {
 47918  	//       "default": "ID",
 47919  	//       "description": "Field by which to sort the list.",
 47920  	//       "enum": [
 47921  	//         "ID",
 47922  	//         "NAME"
 47923  	//       ],
 47924  	//       "enumDescriptions": [
 47925  	//         "",
 47926  	//         ""
 47927  	//       ],
 47928  	//       "location": "query",
 47929  	//       "type": "string"
 47930  	//     },
 47931  	//     "sortOrder": {
 47932  	//       "default": "ASCENDING",
 47933  	//       "description": "Order of sorted results.",
 47934  	//       "enum": [
 47935  	//         "ASCENDING",
 47936  	//         "DESCENDING"
 47937  	//       ],
 47938  	//       "enumDescriptions": [
 47939  	//         "",
 47940  	//         ""
 47941  	//       ],
 47942  	//       "location": "query",
 47943  	//       "type": "string"
 47944  	//     }
 47945  	//   },
 47946  	//   "path": "userprofiles/{profileId}/subaccounts",
 47947  	//   "response": {
 47948  	//     "$ref": "SubaccountsListResponse"
 47949  	//   },
 47950  	//   "scopes": [
 47951  	//     "https://www.googleapis.com/auth/dfatrafficking"
 47952  	//   ]
 47953  	// }
 47954  
 47955  }
 47956  
 47957  // Pages invokes f for each page of results.
 47958  // A non-nil error returned from f will halt the iteration.
 47959  // The provided context supersedes any context provided to the Context method.
 47960  func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
 47961  	c.ctx_ = ctx
 47962  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 47963  	for {
 47964  		x, err := c.Do()
 47965  		if err != nil {
 47966  			return err
 47967  		}
 47968  		if err := f(x); err != nil {
 47969  			return err
 47970  		}
 47971  		if x.NextPageToken == "" {
 47972  			return nil
 47973  		}
 47974  		c.PageToken(x.NextPageToken)
 47975  	}
 47976  }
 47977  
 47978  // method id "dfareporting.subaccounts.patch":
 47979  
 47980  type SubaccountsPatchCall struct {
 47981  	s          *Service
 47982  	profileId  int64
 47983  	subaccount *Subaccount
 47984  	urlParams_ gensupport.URLParams
 47985  	ctx_       context.Context
 47986  	header_    http.Header
 47987  }
 47988  
 47989  // Patch: Updates an existing subaccount. This method supports patch
 47990  // semantics.
 47991  //
 47992  // - id: Subaccount ID.
 47993  // - profileId: User profile ID associated with this request.
 47994  func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
 47995  	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 47996  	c.profileId = profileId
 47997  	c.urlParams_.Set("id", fmt.Sprint(id))
 47998  	c.subaccount = subaccount
 47999  	return c
 48000  }
 48001  
 48002  // Fields allows partial responses to be retrieved. See
 48003  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48004  // for more information.
 48005  func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
 48006  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48007  	return c
 48008  }
 48009  
 48010  // Context sets the context to be used in this call's Do method. Any
 48011  // pending HTTP request will be aborted if the provided context is
 48012  // canceled.
 48013  func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
 48014  	c.ctx_ = ctx
 48015  	return c
 48016  }
 48017  
 48018  // Header returns an http.Header that can be modified by the caller to
 48019  // add HTTP headers to the request.
 48020  func (c *SubaccountsPatchCall) Header() http.Header {
 48021  	if c.header_ == nil {
 48022  		c.header_ = make(http.Header)
 48023  	}
 48024  	return c.header_
 48025  }
 48026  
 48027  func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
 48028  	reqHeaders := make(http.Header)
 48029  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48030  	for k, v := range c.header_ {
 48031  		reqHeaders[k] = v
 48032  	}
 48033  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48034  	var body io.Reader = nil
 48035  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 48036  	if err != nil {
 48037  		return nil, err
 48038  	}
 48039  	reqHeaders.Set("Content-Type", "application/json")
 48040  	c.urlParams_.Set("alt", alt)
 48041  	c.urlParams_.Set("prettyPrint", "false")
 48042  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 48043  	urls += "?" + c.urlParams_.Encode()
 48044  	req, err := http.NewRequest("PATCH", urls, body)
 48045  	if err != nil {
 48046  		return nil, err
 48047  	}
 48048  	req.Header = reqHeaders
 48049  	googleapi.Expand(req.URL, map[string]string{
 48050  		"profileId": strconv.FormatInt(c.profileId, 10),
 48051  	})
 48052  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48053  }
 48054  
 48055  // Do executes the "dfareporting.subaccounts.patch" call.
 48056  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 48057  // status code is an error. Response headers are in either
 48058  // *Subaccount.ServerResponse.Header or (if a response was returned at
 48059  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 48060  // to check whether the returned error was because
 48061  // http.StatusNotModified was returned.
 48062  func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 48063  	gensupport.SetOptions(c.urlParams_, opts...)
 48064  	res, err := c.doRequest("json")
 48065  	if res != nil && res.StatusCode == http.StatusNotModified {
 48066  		if res.Body != nil {
 48067  			res.Body.Close()
 48068  		}
 48069  		return nil, &googleapi.Error{
 48070  			Code:   res.StatusCode,
 48071  			Header: res.Header,
 48072  		}
 48073  	}
 48074  	if err != nil {
 48075  		return nil, err
 48076  	}
 48077  	defer googleapi.CloseBody(res)
 48078  	if err := googleapi.CheckResponse(res); err != nil {
 48079  		return nil, err
 48080  	}
 48081  	ret := &Subaccount{
 48082  		ServerResponse: googleapi.ServerResponse{
 48083  			Header:         res.Header,
 48084  			HTTPStatusCode: res.StatusCode,
 48085  		},
 48086  	}
 48087  	target := &ret
 48088  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48089  		return nil, err
 48090  	}
 48091  	return ret, nil
 48092  	// {
 48093  	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
 48094  	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 48095  	//   "httpMethod": "PATCH",
 48096  	//   "id": "dfareporting.subaccounts.patch",
 48097  	//   "parameterOrder": [
 48098  	//     "profileId",
 48099  	//     "id"
 48100  	//   ],
 48101  	//   "parameters": {
 48102  	//     "id": {
 48103  	//       "description": "Subaccount ID.",
 48104  	//       "format": "int64",
 48105  	//       "location": "query",
 48106  	//       "required": true,
 48107  	//       "type": "string"
 48108  	//     },
 48109  	//     "profileId": {
 48110  	//       "description": "User profile ID associated with this request.",
 48111  	//       "format": "int64",
 48112  	//       "location": "path",
 48113  	//       "required": true,
 48114  	//       "type": "string"
 48115  	//     }
 48116  	//   },
 48117  	//   "path": "userprofiles/{profileId}/subaccounts",
 48118  	//   "request": {
 48119  	//     "$ref": "Subaccount"
 48120  	//   },
 48121  	//   "response": {
 48122  	//     "$ref": "Subaccount"
 48123  	//   },
 48124  	//   "scopes": [
 48125  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48126  	//   ]
 48127  	// }
 48128  
 48129  }
 48130  
 48131  // method id "dfareporting.subaccounts.update":
 48132  
 48133  type SubaccountsUpdateCall struct {
 48134  	s          *Service
 48135  	profileId  int64
 48136  	subaccount *Subaccount
 48137  	urlParams_ gensupport.URLParams
 48138  	ctx_       context.Context
 48139  	header_    http.Header
 48140  }
 48141  
 48142  // Update: Updates an existing subaccount.
 48143  //
 48144  // - profileId: User profile ID associated with this request.
 48145  func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
 48146  	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48147  	c.profileId = profileId
 48148  	c.subaccount = subaccount
 48149  	return c
 48150  }
 48151  
 48152  // Fields allows partial responses to be retrieved. See
 48153  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48154  // for more information.
 48155  func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
 48156  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48157  	return c
 48158  }
 48159  
 48160  // Context sets the context to be used in this call's Do method. Any
 48161  // pending HTTP request will be aborted if the provided context is
 48162  // canceled.
 48163  func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
 48164  	c.ctx_ = ctx
 48165  	return c
 48166  }
 48167  
 48168  // Header returns an http.Header that can be modified by the caller to
 48169  // add HTTP headers to the request.
 48170  func (c *SubaccountsUpdateCall) Header() http.Header {
 48171  	if c.header_ == nil {
 48172  		c.header_ = make(http.Header)
 48173  	}
 48174  	return c.header_
 48175  }
 48176  
 48177  func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
 48178  	reqHeaders := make(http.Header)
 48179  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48180  	for k, v := range c.header_ {
 48181  		reqHeaders[k] = v
 48182  	}
 48183  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48184  	var body io.Reader = nil
 48185  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
 48186  	if err != nil {
 48187  		return nil, err
 48188  	}
 48189  	reqHeaders.Set("Content-Type", "application/json")
 48190  	c.urlParams_.Set("alt", alt)
 48191  	c.urlParams_.Set("prettyPrint", "false")
 48192  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
 48193  	urls += "?" + c.urlParams_.Encode()
 48194  	req, err := http.NewRequest("PUT", urls, body)
 48195  	if err != nil {
 48196  		return nil, err
 48197  	}
 48198  	req.Header = reqHeaders
 48199  	googleapi.Expand(req.URL, map[string]string{
 48200  		"profileId": strconv.FormatInt(c.profileId, 10),
 48201  	})
 48202  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48203  }
 48204  
 48205  // Do executes the "dfareporting.subaccounts.update" call.
 48206  // Exactly one of *Subaccount or error will be non-nil. Any non-2xx
 48207  // status code is an error. Response headers are in either
 48208  // *Subaccount.ServerResponse.Header or (if a response was returned at
 48209  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 48210  // to check whether the returned error was because
 48211  // http.StatusNotModified was returned.
 48212  func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
 48213  	gensupport.SetOptions(c.urlParams_, opts...)
 48214  	res, err := c.doRequest("json")
 48215  	if res != nil && res.StatusCode == http.StatusNotModified {
 48216  		if res.Body != nil {
 48217  			res.Body.Close()
 48218  		}
 48219  		return nil, &googleapi.Error{
 48220  			Code:   res.StatusCode,
 48221  			Header: res.Header,
 48222  		}
 48223  	}
 48224  	if err != nil {
 48225  		return nil, err
 48226  	}
 48227  	defer googleapi.CloseBody(res)
 48228  	if err := googleapi.CheckResponse(res); err != nil {
 48229  		return nil, err
 48230  	}
 48231  	ret := &Subaccount{
 48232  		ServerResponse: googleapi.ServerResponse{
 48233  			Header:         res.Header,
 48234  			HTTPStatusCode: res.StatusCode,
 48235  		},
 48236  	}
 48237  	target := &ret
 48238  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48239  		return nil, err
 48240  	}
 48241  	return ret, nil
 48242  	// {
 48243  	//   "description": "Updates an existing subaccount.",
 48244  	//   "flatPath": "userprofiles/{profileId}/subaccounts",
 48245  	//   "httpMethod": "PUT",
 48246  	//   "id": "dfareporting.subaccounts.update",
 48247  	//   "parameterOrder": [
 48248  	//     "profileId"
 48249  	//   ],
 48250  	//   "parameters": {
 48251  	//     "profileId": {
 48252  	//       "description": "User profile ID associated with this request.",
 48253  	//       "format": "int64",
 48254  	//       "location": "path",
 48255  	//       "required": true,
 48256  	//       "type": "string"
 48257  	//     }
 48258  	//   },
 48259  	//   "path": "userprofiles/{profileId}/subaccounts",
 48260  	//   "request": {
 48261  	//     "$ref": "Subaccount"
 48262  	//   },
 48263  	//   "response": {
 48264  	//     "$ref": "Subaccount"
 48265  	//   },
 48266  	//   "scopes": [
 48267  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48268  	//   ]
 48269  	// }
 48270  
 48271  }
 48272  
 48273  // method id "dfareporting.targetableRemarketingLists.get":
 48274  
 48275  type TargetableRemarketingListsGetCall struct {
 48276  	s            *Service
 48277  	profileId    int64
 48278  	id           int64
 48279  	urlParams_   gensupport.URLParams
 48280  	ifNoneMatch_ string
 48281  	ctx_         context.Context
 48282  	header_      http.Header
 48283  }
 48284  
 48285  // Get: Gets one remarketing list by ID.
 48286  //
 48287  // - id: Remarketing list ID.
 48288  // - profileId: User profile ID associated with this request.
 48289  func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
 48290  	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48291  	c.profileId = profileId
 48292  	c.id = id
 48293  	return c
 48294  }
 48295  
 48296  // Fields allows partial responses to be retrieved. See
 48297  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48298  // for more information.
 48299  func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
 48300  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48301  	return c
 48302  }
 48303  
 48304  // IfNoneMatch sets the optional parameter which makes the operation
 48305  // fail if the object's ETag matches the given value. This is useful for
 48306  // getting updates only after the object has changed since the last
 48307  // request. Use googleapi.IsNotModified to check whether the response
 48308  // error from Do is the result of In-None-Match.
 48309  func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
 48310  	c.ifNoneMatch_ = entityTag
 48311  	return c
 48312  }
 48313  
 48314  // Context sets the context to be used in this call's Do method. Any
 48315  // pending HTTP request will be aborted if the provided context is
 48316  // canceled.
 48317  func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
 48318  	c.ctx_ = ctx
 48319  	return c
 48320  }
 48321  
 48322  // Header returns an http.Header that can be modified by the caller to
 48323  // add HTTP headers to the request.
 48324  func (c *TargetableRemarketingListsGetCall) Header() http.Header {
 48325  	if c.header_ == nil {
 48326  		c.header_ = make(http.Header)
 48327  	}
 48328  	return c.header_
 48329  }
 48330  
 48331  func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
 48332  	reqHeaders := make(http.Header)
 48333  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48334  	for k, v := range c.header_ {
 48335  		reqHeaders[k] = v
 48336  	}
 48337  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48338  	if c.ifNoneMatch_ != "" {
 48339  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48340  	}
 48341  	var body io.Reader = nil
 48342  	c.urlParams_.Set("alt", alt)
 48343  	c.urlParams_.Set("prettyPrint", "false")
 48344  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
 48345  	urls += "?" + c.urlParams_.Encode()
 48346  	req, err := http.NewRequest("GET", urls, body)
 48347  	if err != nil {
 48348  		return nil, err
 48349  	}
 48350  	req.Header = reqHeaders
 48351  	googleapi.Expand(req.URL, map[string]string{
 48352  		"profileId": strconv.FormatInt(c.profileId, 10),
 48353  		"id":        strconv.FormatInt(c.id, 10),
 48354  	})
 48355  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48356  }
 48357  
 48358  // Do executes the "dfareporting.targetableRemarketingLists.get" call.
 48359  // Exactly one of *TargetableRemarketingList or error will be non-nil.
 48360  // Any non-2xx status code is an error. Response headers are in either
 48361  // *TargetableRemarketingList.ServerResponse.Header or (if a response
 48362  // was returned at all) in error.(*googleapi.Error).Header. Use
 48363  // googleapi.IsNotModified to check whether the returned error was
 48364  // because http.StatusNotModified was returned.
 48365  func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
 48366  	gensupport.SetOptions(c.urlParams_, opts...)
 48367  	res, err := c.doRequest("json")
 48368  	if res != nil && res.StatusCode == http.StatusNotModified {
 48369  		if res.Body != nil {
 48370  			res.Body.Close()
 48371  		}
 48372  		return nil, &googleapi.Error{
 48373  			Code:   res.StatusCode,
 48374  			Header: res.Header,
 48375  		}
 48376  	}
 48377  	if err != nil {
 48378  		return nil, err
 48379  	}
 48380  	defer googleapi.CloseBody(res)
 48381  	if err := googleapi.CheckResponse(res); err != nil {
 48382  		return nil, err
 48383  	}
 48384  	ret := &TargetableRemarketingList{
 48385  		ServerResponse: googleapi.ServerResponse{
 48386  			Header:         res.Header,
 48387  			HTTPStatusCode: res.StatusCode,
 48388  		},
 48389  	}
 48390  	target := &ret
 48391  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48392  		return nil, err
 48393  	}
 48394  	return ret, nil
 48395  	// {
 48396  	//   "description": "Gets one remarketing list by ID.",
 48397  	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 48398  	//   "httpMethod": "GET",
 48399  	//   "id": "dfareporting.targetableRemarketingLists.get",
 48400  	//   "parameterOrder": [
 48401  	//     "profileId",
 48402  	//     "id"
 48403  	//   ],
 48404  	//   "parameters": {
 48405  	//     "id": {
 48406  	//       "description": "Remarketing list ID.",
 48407  	//       "format": "int64",
 48408  	//       "location": "path",
 48409  	//       "required": true,
 48410  	//       "type": "string"
 48411  	//     },
 48412  	//     "profileId": {
 48413  	//       "description": "User profile ID associated with this request.",
 48414  	//       "format": "int64",
 48415  	//       "location": "path",
 48416  	//       "required": true,
 48417  	//       "type": "string"
 48418  	//     }
 48419  	//   },
 48420  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
 48421  	//   "response": {
 48422  	//     "$ref": "TargetableRemarketingList"
 48423  	//   },
 48424  	//   "scopes": [
 48425  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48426  	//   ]
 48427  	// }
 48428  
 48429  }
 48430  
 48431  // method id "dfareporting.targetableRemarketingLists.list":
 48432  
 48433  type TargetableRemarketingListsListCall struct {
 48434  	s            *Service
 48435  	profileId    int64
 48436  	urlParams_   gensupport.URLParams
 48437  	ifNoneMatch_ string
 48438  	ctx_         context.Context
 48439  	header_      http.Header
 48440  }
 48441  
 48442  // List: Retrieves a list of targetable remarketing lists, possibly
 48443  // filtered. This method supports paging.
 48444  //
 48445  //   - advertiserId: Select only targetable remarketing lists targetable
 48446  //     by these advertisers.
 48447  //   - profileId: User profile ID associated with this request.
 48448  func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
 48449  	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48450  	c.profileId = profileId
 48451  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 48452  	return c
 48453  }
 48454  
 48455  // Active sets the optional parameter "active": Select only active or
 48456  // only inactive targetable remarketing lists.
 48457  func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
 48458  	c.urlParams_.Set("active", fmt.Sprint(active))
 48459  	return c
 48460  }
 48461  
 48462  // MaxResults sets the optional parameter "maxResults": Maximum number
 48463  // of results to return.
 48464  func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
 48465  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 48466  	return c
 48467  }
 48468  
 48469  // Name sets the optional parameter "name": Allows searching for objects
 48470  // by name or ID. Wildcards (*) are allowed. For example, "remarketing
 48471  // list*2015" will return objects with names like "remarketing list June
 48472  // 2015", "remarketing list April 2015", or simply "remarketing list
 48473  // 2015". Most of the searches also add wildcards implicitly at the
 48474  // start and the end of the search string. For example, a search string
 48475  // of "remarketing list" will match objects with name "my remarketing
 48476  // list", "remarketing list 2015", or simply "remarketing list".
 48477  func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
 48478  	c.urlParams_.Set("name", name)
 48479  	return c
 48480  }
 48481  
 48482  // PageToken sets the optional parameter "pageToken": Value of the
 48483  // nextPageToken from the previous result page.
 48484  func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
 48485  	c.urlParams_.Set("pageToken", pageToken)
 48486  	return c
 48487  }
 48488  
 48489  // SortField sets the optional parameter "sortField": Field by which to
 48490  // sort the list.
 48491  //
 48492  // Possible values:
 48493  //
 48494  //	"ID" (default)
 48495  //	"NAME"
 48496  func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
 48497  	c.urlParams_.Set("sortField", sortField)
 48498  	return c
 48499  }
 48500  
 48501  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 48502  // results.
 48503  //
 48504  // Possible values:
 48505  //
 48506  //	"ASCENDING" (default)
 48507  //	"DESCENDING"
 48508  func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
 48509  	c.urlParams_.Set("sortOrder", sortOrder)
 48510  	return c
 48511  }
 48512  
 48513  // Fields allows partial responses to be retrieved. See
 48514  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48515  // for more information.
 48516  func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
 48517  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48518  	return c
 48519  }
 48520  
 48521  // IfNoneMatch sets the optional parameter which makes the operation
 48522  // fail if the object's ETag matches the given value. This is useful for
 48523  // getting updates only after the object has changed since the last
 48524  // request. Use googleapi.IsNotModified to check whether the response
 48525  // error from Do is the result of In-None-Match.
 48526  func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
 48527  	c.ifNoneMatch_ = entityTag
 48528  	return c
 48529  }
 48530  
 48531  // Context sets the context to be used in this call's Do method. Any
 48532  // pending HTTP request will be aborted if the provided context is
 48533  // canceled.
 48534  func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
 48535  	c.ctx_ = ctx
 48536  	return c
 48537  }
 48538  
 48539  // Header returns an http.Header that can be modified by the caller to
 48540  // add HTTP headers to the request.
 48541  func (c *TargetableRemarketingListsListCall) Header() http.Header {
 48542  	if c.header_ == nil {
 48543  		c.header_ = make(http.Header)
 48544  	}
 48545  	return c.header_
 48546  }
 48547  
 48548  func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
 48549  	reqHeaders := make(http.Header)
 48550  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48551  	for k, v := range c.header_ {
 48552  		reqHeaders[k] = v
 48553  	}
 48554  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48555  	if c.ifNoneMatch_ != "" {
 48556  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48557  	}
 48558  	var body io.Reader = nil
 48559  	c.urlParams_.Set("alt", alt)
 48560  	c.urlParams_.Set("prettyPrint", "false")
 48561  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
 48562  	urls += "?" + c.urlParams_.Encode()
 48563  	req, err := http.NewRequest("GET", urls, body)
 48564  	if err != nil {
 48565  		return nil, err
 48566  	}
 48567  	req.Header = reqHeaders
 48568  	googleapi.Expand(req.URL, map[string]string{
 48569  		"profileId": strconv.FormatInt(c.profileId, 10),
 48570  	})
 48571  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48572  }
 48573  
 48574  // Do executes the "dfareporting.targetableRemarketingLists.list" call.
 48575  // Exactly one of *TargetableRemarketingListsListResponse or error will
 48576  // be non-nil. Any non-2xx status code is an error. Response headers are
 48577  // in either
 48578  // *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
 48579  // a response was returned at all) in error.(*googleapi.Error).Header.
 48580  // Use googleapi.IsNotModified to check whether the returned error was
 48581  // because http.StatusNotModified was returned.
 48582  func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
 48583  	gensupport.SetOptions(c.urlParams_, opts...)
 48584  	res, err := c.doRequest("json")
 48585  	if res != nil && res.StatusCode == http.StatusNotModified {
 48586  		if res.Body != nil {
 48587  			res.Body.Close()
 48588  		}
 48589  		return nil, &googleapi.Error{
 48590  			Code:   res.StatusCode,
 48591  			Header: res.Header,
 48592  		}
 48593  	}
 48594  	if err != nil {
 48595  		return nil, err
 48596  	}
 48597  	defer googleapi.CloseBody(res)
 48598  	if err := googleapi.CheckResponse(res); err != nil {
 48599  		return nil, err
 48600  	}
 48601  	ret := &TargetableRemarketingListsListResponse{
 48602  		ServerResponse: googleapi.ServerResponse{
 48603  			Header:         res.Header,
 48604  			HTTPStatusCode: res.StatusCode,
 48605  		},
 48606  	}
 48607  	target := &ret
 48608  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48609  		return nil, err
 48610  	}
 48611  	return ret, nil
 48612  	// {
 48613  	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
 48614  	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists",
 48615  	//   "httpMethod": "GET",
 48616  	//   "id": "dfareporting.targetableRemarketingLists.list",
 48617  	//   "parameterOrder": [
 48618  	//     "profileId",
 48619  	//     "advertiserId"
 48620  	//   ],
 48621  	//   "parameters": {
 48622  	//     "active": {
 48623  	//       "description": "Select only active or only inactive targetable remarketing lists.",
 48624  	//       "location": "query",
 48625  	//       "type": "boolean"
 48626  	//     },
 48627  	//     "advertiserId": {
 48628  	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
 48629  	//       "format": "int64",
 48630  	//       "location": "query",
 48631  	//       "required": true,
 48632  	//       "type": "string"
 48633  	//     },
 48634  	//     "maxResults": {
 48635  	//       "default": "1000",
 48636  	//       "description": "Maximum number of results to return.",
 48637  	//       "format": "int32",
 48638  	//       "location": "query",
 48639  	//       "maximum": "1000",
 48640  	//       "minimum": "0",
 48641  	//       "type": "integer"
 48642  	//     },
 48643  	//     "name": {
 48644  	//       "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\".",
 48645  	//       "location": "query",
 48646  	//       "type": "string"
 48647  	//     },
 48648  	//     "pageToken": {
 48649  	//       "description": "Value of the nextPageToken from the previous result page.",
 48650  	//       "location": "query",
 48651  	//       "type": "string"
 48652  	//     },
 48653  	//     "profileId": {
 48654  	//       "description": "User profile ID associated with this request.",
 48655  	//       "format": "int64",
 48656  	//       "location": "path",
 48657  	//       "required": true,
 48658  	//       "type": "string"
 48659  	//     },
 48660  	//     "sortField": {
 48661  	//       "default": "ID",
 48662  	//       "description": "Field by which to sort the list.",
 48663  	//       "enum": [
 48664  	//         "ID",
 48665  	//         "NAME"
 48666  	//       ],
 48667  	//       "enumDescriptions": [
 48668  	//         "",
 48669  	//         ""
 48670  	//       ],
 48671  	//       "location": "query",
 48672  	//       "type": "string"
 48673  	//     },
 48674  	//     "sortOrder": {
 48675  	//       "default": "ASCENDING",
 48676  	//       "description": "Order of sorted results.",
 48677  	//       "enum": [
 48678  	//         "ASCENDING",
 48679  	//         "DESCENDING"
 48680  	//       ],
 48681  	//       "enumDescriptions": [
 48682  	//         "",
 48683  	//         ""
 48684  	//       ],
 48685  	//       "location": "query",
 48686  	//       "type": "string"
 48687  	//     }
 48688  	//   },
 48689  	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
 48690  	//   "response": {
 48691  	//     "$ref": "TargetableRemarketingListsListResponse"
 48692  	//   },
 48693  	//   "scopes": [
 48694  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48695  	//   ]
 48696  	// }
 48697  
 48698  }
 48699  
 48700  // Pages invokes f for each page of results.
 48701  // A non-nil error returned from f will halt the iteration.
 48702  // The provided context supersedes any context provided to the Context method.
 48703  func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
 48704  	c.ctx_ = ctx
 48705  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 48706  	for {
 48707  		x, err := c.Do()
 48708  		if err != nil {
 48709  			return err
 48710  		}
 48711  		if err := f(x); err != nil {
 48712  			return err
 48713  		}
 48714  		if x.NextPageToken == "" {
 48715  			return nil
 48716  		}
 48717  		c.PageToken(x.NextPageToken)
 48718  	}
 48719  }
 48720  
 48721  // method id "dfareporting.targetingTemplates.get":
 48722  
 48723  type TargetingTemplatesGetCall struct {
 48724  	s            *Service
 48725  	profileId    int64
 48726  	id           int64
 48727  	urlParams_   gensupport.URLParams
 48728  	ifNoneMatch_ string
 48729  	ctx_         context.Context
 48730  	header_      http.Header
 48731  }
 48732  
 48733  // Get: Gets one targeting template by ID.
 48734  //
 48735  // - id: Targeting template ID.
 48736  // - profileId: User profile ID associated with this request.
 48737  func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
 48738  	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 48739  	c.profileId = profileId
 48740  	c.id = id
 48741  	return c
 48742  }
 48743  
 48744  // Fields allows partial responses to be retrieved. See
 48745  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 48746  // for more information.
 48747  func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
 48748  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 48749  	return c
 48750  }
 48751  
 48752  // IfNoneMatch sets the optional parameter which makes the operation
 48753  // fail if the object's ETag matches the given value. This is useful for
 48754  // getting updates only after the object has changed since the last
 48755  // request. Use googleapi.IsNotModified to check whether the response
 48756  // error from Do is the result of In-None-Match.
 48757  func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
 48758  	c.ifNoneMatch_ = entityTag
 48759  	return c
 48760  }
 48761  
 48762  // Context sets the context to be used in this call's Do method. Any
 48763  // pending HTTP request will be aborted if the provided context is
 48764  // canceled.
 48765  func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
 48766  	c.ctx_ = ctx
 48767  	return c
 48768  }
 48769  
 48770  // Header returns an http.Header that can be modified by the caller to
 48771  // add HTTP headers to the request.
 48772  func (c *TargetingTemplatesGetCall) Header() http.Header {
 48773  	if c.header_ == nil {
 48774  		c.header_ = make(http.Header)
 48775  	}
 48776  	return c.header_
 48777  }
 48778  
 48779  func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
 48780  	reqHeaders := make(http.Header)
 48781  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 48782  	for k, v := range c.header_ {
 48783  		reqHeaders[k] = v
 48784  	}
 48785  	reqHeaders.Set("User-Agent", c.s.userAgent())
 48786  	if c.ifNoneMatch_ != "" {
 48787  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 48788  	}
 48789  	var body io.Reader = nil
 48790  	c.urlParams_.Set("alt", alt)
 48791  	c.urlParams_.Set("prettyPrint", "false")
 48792  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
 48793  	urls += "?" + c.urlParams_.Encode()
 48794  	req, err := http.NewRequest("GET", urls, body)
 48795  	if err != nil {
 48796  		return nil, err
 48797  	}
 48798  	req.Header = reqHeaders
 48799  	googleapi.Expand(req.URL, map[string]string{
 48800  		"profileId": strconv.FormatInt(c.profileId, 10),
 48801  		"id":        strconv.FormatInt(c.id, 10),
 48802  	})
 48803  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 48804  }
 48805  
 48806  // Do executes the "dfareporting.targetingTemplates.get" call.
 48807  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 48808  // non-2xx status code is an error. Response headers are in either
 48809  // *TargetingTemplate.ServerResponse.Header or (if a response was
 48810  // returned at all) in error.(*googleapi.Error).Header. Use
 48811  // googleapi.IsNotModified to check whether the returned error was
 48812  // because http.StatusNotModified was returned.
 48813  func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 48814  	gensupport.SetOptions(c.urlParams_, opts...)
 48815  	res, err := c.doRequest("json")
 48816  	if res != nil && res.StatusCode == http.StatusNotModified {
 48817  		if res.Body != nil {
 48818  			res.Body.Close()
 48819  		}
 48820  		return nil, &googleapi.Error{
 48821  			Code:   res.StatusCode,
 48822  			Header: res.Header,
 48823  		}
 48824  	}
 48825  	if err != nil {
 48826  		return nil, err
 48827  	}
 48828  	defer googleapi.CloseBody(res)
 48829  	if err := googleapi.CheckResponse(res); err != nil {
 48830  		return nil, err
 48831  	}
 48832  	ret := &TargetingTemplate{
 48833  		ServerResponse: googleapi.ServerResponse{
 48834  			Header:         res.Header,
 48835  			HTTPStatusCode: res.StatusCode,
 48836  		},
 48837  	}
 48838  	target := &ret
 48839  	if err := gensupport.DecodeResponse(target, res); err != nil {
 48840  		return nil, err
 48841  	}
 48842  	return ret, nil
 48843  	// {
 48844  	//   "description": "Gets one targeting template by ID.",
 48845  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}",
 48846  	//   "httpMethod": "GET",
 48847  	//   "id": "dfareporting.targetingTemplates.get",
 48848  	//   "parameterOrder": [
 48849  	//     "profileId",
 48850  	//     "id"
 48851  	//   ],
 48852  	//   "parameters": {
 48853  	//     "id": {
 48854  	//       "description": "Targeting template ID.",
 48855  	//       "format": "int64",
 48856  	//       "location": "path",
 48857  	//       "required": true,
 48858  	//       "type": "string"
 48859  	//     },
 48860  	//     "profileId": {
 48861  	//       "description": "User profile ID associated with this request.",
 48862  	//       "format": "int64",
 48863  	//       "location": "path",
 48864  	//       "required": true,
 48865  	//       "type": "string"
 48866  	//     }
 48867  	//   },
 48868  	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
 48869  	//   "response": {
 48870  	//     "$ref": "TargetingTemplate"
 48871  	//   },
 48872  	//   "scopes": [
 48873  	//     "https://www.googleapis.com/auth/dfatrafficking"
 48874  	//   ]
 48875  	// }
 48876  
 48877  }
 48878  
 48879  // method id "dfareporting.targetingTemplates.insert":
 48880  
 48881  type TargetingTemplatesInsertCall struct {
 48882  	s                 *Service
 48883  	profileId         int64
 48884  	targetingtemplate *TargetingTemplate
 48885  	urlParams_        gensupport.URLParams
 48886  	ctx_              context.Context
 48887  	header_           http.Header
 48888  }
 48889  
 48890  // Insert: Inserts a new targeting template.
 48891  //
 48892  // - profileId: User profile ID associated with this request.
 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/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 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  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 48993  	//   "httpMethod": "POST",
 48994  	//   "id": "dfareporting.targetingTemplates.insert",
 48995  	//   "parameterOrder": [
 48996  	//     "profileId"
 48997  	//   ],
 48998  	//   "parameters": {
 48999  	//     "profileId": {
 49000  	//       "description": "User profile ID associated with this request.",
 49001  	//       "format": "int64",
 49002  	//       "location": "path",
 49003  	//       "required": true,
 49004  	//       "type": "string"
 49005  	//     }
 49006  	//   },
 49007  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 49008  	//   "request": {
 49009  	//     "$ref": "TargetingTemplate"
 49010  	//   },
 49011  	//   "response": {
 49012  	//     "$ref": "TargetingTemplate"
 49013  	//   },
 49014  	//   "scopes": [
 49015  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49016  	//   ]
 49017  	// }
 49018  
 49019  }
 49020  
 49021  // method id "dfareporting.targetingTemplates.list":
 49022  
 49023  type TargetingTemplatesListCall struct {
 49024  	s            *Service
 49025  	profileId    int64
 49026  	urlParams_   gensupport.URLParams
 49027  	ifNoneMatch_ string
 49028  	ctx_         context.Context
 49029  	header_      http.Header
 49030  }
 49031  
 49032  // List: Retrieves a list of targeting templates, optionally filtered.
 49033  // This method supports paging.
 49034  //
 49035  // - profileId: User profile ID associated with this request.
 49036  func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
 49037  	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49038  	c.profileId = profileId
 49039  	return c
 49040  }
 49041  
 49042  // AdvertiserId sets the optional parameter "advertiserId": Select only
 49043  // targeting templates with this advertiser ID.
 49044  func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
 49045  	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
 49046  	return c
 49047  }
 49048  
 49049  // Ids sets the optional parameter "ids": Select only targeting
 49050  // templates with these IDs.
 49051  func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
 49052  	var ids_ []string
 49053  	for _, v := range ids {
 49054  		ids_ = append(ids_, fmt.Sprint(v))
 49055  	}
 49056  	c.urlParams_.SetMulti("ids", ids_)
 49057  	return c
 49058  }
 49059  
 49060  // MaxResults sets the optional parameter "maxResults": Maximum number
 49061  // of results to return.
 49062  func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
 49063  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 49064  	return c
 49065  }
 49066  
 49067  // PageToken sets the optional parameter "pageToken": Value of the
 49068  // nextPageToken from the previous result page.
 49069  func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
 49070  	c.urlParams_.Set("pageToken", pageToken)
 49071  	return c
 49072  }
 49073  
 49074  // SearchString sets the optional parameter "searchString": Allows
 49075  // searching for objects by name or ID. Wildcards (*) are allowed. For
 49076  // example, "template*2015" will return objects with names like
 49077  // "template June 2015", "template April 2015", or simply "template
 49078  // 2015". Most of the searches also add wildcards implicitly at the
 49079  // start and the end of the search string. For example, a search string
 49080  // of "template" will match objects with name "my template", "template
 49081  // 2015", or simply "template".
 49082  func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
 49083  	c.urlParams_.Set("searchString", searchString)
 49084  	return c
 49085  }
 49086  
 49087  // SortField sets the optional parameter "sortField": Field by which to
 49088  // sort the list.
 49089  //
 49090  // Possible values:
 49091  //
 49092  //	"ID" (default)
 49093  //	"NAME"
 49094  func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
 49095  	c.urlParams_.Set("sortField", sortField)
 49096  	return c
 49097  }
 49098  
 49099  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 49100  // results.
 49101  //
 49102  // Possible values:
 49103  //
 49104  //	"ASCENDING" (default)
 49105  //	"DESCENDING"
 49106  func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
 49107  	c.urlParams_.Set("sortOrder", sortOrder)
 49108  	return c
 49109  }
 49110  
 49111  // Fields allows partial responses to be retrieved. See
 49112  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49113  // for more information.
 49114  func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
 49115  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49116  	return c
 49117  }
 49118  
 49119  // IfNoneMatch sets the optional parameter which makes the operation
 49120  // fail if the object's ETag matches the given value. This is useful for
 49121  // getting updates only after the object has changed since the last
 49122  // request. Use googleapi.IsNotModified to check whether the response
 49123  // error from Do is the result of In-None-Match.
 49124  func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
 49125  	c.ifNoneMatch_ = entityTag
 49126  	return c
 49127  }
 49128  
 49129  // Context sets the context to be used in this call's Do method. Any
 49130  // pending HTTP request will be aborted if the provided context is
 49131  // canceled.
 49132  func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
 49133  	c.ctx_ = ctx
 49134  	return c
 49135  }
 49136  
 49137  // Header returns an http.Header that can be modified by the caller to
 49138  // add HTTP headers to the request.
 49139  func (c *TargetingTemplatesListCall) Header() http.Header {
 49140  	if c.header_ == nil {
 49141  		c.header_ = make(http.Header)
 49142  	}
 49143  	return c.header_
 49144  }
 49145  
 49146  func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
 49147  	reqHeaders := make(http.Header)
 49148  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49149  	for k, v := range c.header_ {
 49150  		reqHeaders[k] = v
 49151  	}
 49152  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49153  	if c.ifNoneMatch_ != "" {
 49154  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49155  	}
 49156  	var body io.Reader = nil
 49157  	c.urlParams_.Set("alt", alt)
 49158  	c.urlParams_.Set("prettyPrint", "false")
 49159  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 49160  	urls += "?" + c.urlParams_.Encode()
 49161  	req, err := http.NewRequest("GET", urls, body)
 49162  	if err != nil {
 49163  		return nil, err
 49164  	}
 49165  	req.Header = reqHeaders
 49166  	googleapi.Expand(req.URL, map[string]string{
 49167  		"profileId": strconv.FormatInt(c.profileId, 10),
 49168  	})
 49169  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49170  }
 49171  
 49172  // Do executes the "dfareporting.targetingTemplates.list" call.
 49173  // Exactly one of *TargetingTemplatesListResponse or error will be
 49174  // non-nil. Any non-2xx status code is an error. Response headers are in
 49175  // either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
 49176  // response was returned at all) in error.(*googleapi.Error).Header. Use
 49177  // googleapi.IsNotModified to check whether the returned error was
 49178  // because http.StatusNotModified was returned.
 49179  func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
 49180  	gensupport.SetOptions(c.urlParams_, opts...)
 49181  	res, err := c.doRequest("json")
 49182  	if res != nil && res.StatusCode == http.StatusNotModified {
 49183  		if res.Body != nil {
 49184  			res.Body.Close()
 49185  		}
 49186  		return nil, &googleapi.Error{
 49187  			Code:   res.StatusCode,
 49188  			Header: res.Header,
 49189  		}
 49190  	}
 49191  	if err != nil {
 49192  		return nil, err
 49193  	}
 49194  	defer googleapi.CloseBody(res)
 49195  	if err := googleapi.CheckResponse(res); err != nil {
 49196  		return nil, err
 49197  	}
 49198  	ret := &TargetingTemplatesListResponse{
 49199  		ServerResponse: googleapi.ServerResponse{
 49200  			Header:         res.Header,
 49201  			HTTPStatusCode: res.StatusCode,
 49202  		},
 49203  	}
 49204  	target := &ret
 49205  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49206  		return nil, err
 49207  	}
 49208  	return ret, nil
 49209  	// {
 49210  	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
 49211  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 49212  	//   "httpMethod": "GET",
 49213  	//   "id": "dfareporting.targetingTemplates.list",
 49214  	//   "parameterOrder": [
 49215  	//     "profileId"
 49216  	//   ],
 49217  	//   "parameters": {
 49218  	//     "advertiserId": {
 49219  	//       "description": "Select only targeting templates with this advertiser ID.",
 49220  	//       "format": "int64",
 49221  	//       "location": "query",
 49222  	//       "type": "string"
 49223  	//     },
 49224  	//     "ids": {
 49225  	//       "description": "Select only targeting templates with these IDs.",
 49226  	//       "format": "int64",
 49227  	//       "location": "query",
 49228  	//       "repeated": true,
 49229  	//       "type": "string"
 49230  	//     },
 49231  	//     "maxResults": {
 49232  	//       "default": "1000",
 49233  	//       "description": "Maximum number of results to return.",
 49234  	//       "format": "int32",
 49235  	//       "location": "query",
 49236  	//       "maximum": "1000",
 49237  	//       "minimum": "0",
 49238  	//       "type": "integer"
 49239  	//     },
 49240  	//     "pageToken": {
 49241  	//       "description": "Value of the nextPageToken from the previous result page.",
 49242  	//       "location": "query",
 49243  	//       "type": "string"
 49244  	//     },
 49245  	//     "profileId": {
 49246  	//       "description": "User profile ID associated with this request.",
 49247  	//       "format": "int64",
 49248  	//       "location": "path",
 49249  	//       "required": true,
 49250  	//       "type": "string"
 49251  	//     },
 49252  	//     "searchString": {
 49253  	//       "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\".",
 49254  	//       "location": "query",
 49255  	//       "type": "string"
 49256  	//     },
 49257  	//     "sortField": {
 49258  	//       "default": "ID",
 49259  	//       "description": "Field by which to sort the list.",
 49260  	//       "enum": [
 49261  	//         "ID",
 49262  	//         "NAME"
 49263  	//       ],
 49264  	//       "enumDescriptions": [
 49265  	//         "",
 49266  	//         ""
 49267  	//       ],
 49268  	//       "location": "query",
 49269  	//       "type": "string"
 49270  	//     },
 49271  	//     "sortOrder": {
 49272  	//       "default": "ASCENDING",
 49273  	//       "description": "Order of sorted results.",
 49274  	//       "enum": [
 49275  	//         "ASCENDING",
 49276  	//         "DESCENDING"
 49277  	//       ],
 49278  	//       "enumDescriptions": [
 49279  	//         "",
 49280  	//         ""
 49281  	//       ],
 49282  	//       "location": "query",
 49283  	//       "type": "string"
 49284  	//     }
 49285  	//   },
 49286  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 49287  	//   "response": {
 49288  	//     "$ref": "TargetingTemplatesListResponse"
 49289  	//   },
 49290  	//   "scopes": [
 49291  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49292  	//   ]
 49293  	// }
 49294  
 49295  }
 49296  
 49297  // Pages invokes f for each page of results.
 49298  // A non-nil error returned from f will halt the iteration.
 49299  // The provided context supersedes any context provided to the Context method.
 49300  func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
 49301  	c.ctx_ = ctx
 49302  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 49303  	for {
 49304  		x, err := c.Do()
 49305  		if err != nil {
 49306  			return err
 49307  		}
 49308  		if err := f(x); err != nil {
 49309  			return err
 49310  		}
 49311  		if x.NextPageToken == "" {
 49312  			return nil
 49313  		}
 49314  		c.PageToken(x.NextPageToken)
 49315  	}
 49316  }
 49317  
 49318  // method id "dfareporting.targetingTemplates.patch":
 49319  
 49320  type TargetingTemplatesPatchCall struct {
 49321  	s                 *Service
 49322  	profileId         int64
 49323  	targetingtemplate *TargetingTemplate
 49324  	urlParams_        gensupport.URLParams
 49325  	ctx_              context.Context
 49326  	header_           http.Header
 49327  }
 49328  
 49329  // Patch: Updates an existing targeting template. This method supports
 49330  // patch semantics.
 49331  //
 49332  // - id: TargetingTemplate ID.
 49333  // - profileId: User profile ID associated with this request.
 49334  func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
 49335  	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49336  	c.profileId = profileId
 49337  	c.urlParams_.Set("id", fmt.Sprint(id))
 49338  	c.targetingtemplate = targetingtemplate
 49339  	return c
 49340  }
 49341  
 49342  // Fields allows partial responses to be retrieved. See
 49343  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49344  // for more information.
 49345  func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
 49346  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49347  	return c
 49348  }
 49349  
 49350  // Context sets the context to be used in this call's Do method. Any
 49351  // pending HTTP request will be aborted if the provided context is
 49352  // canceled.
 49353  func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
 49354  	c.ctx_ = ctx
 49355  	return c
 49356  }
 49357  
 49358  // Header returns an http.Header that can be modified by the caller to
 49359  // add HTTP headers to the request.
 49360  func (c *TargetingTemplatesPatchCall) Header() http.Header {
 49361  	if c.header_ == nil {
 49362  		c.header_ = make(http.Header)
 49363  	}
 49364  	return c.header_
 49365  }
 49366  
 49367  func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
 49368  	reqHeaders := make(http.Header)
 49369  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49370  	for k, v := range c.header_ {
 49371  		reqHeaders[k] = v
 49372  	}
 49373  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49374  	var body io.Reader = nil
 49375  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 49376  	if err != nil {
 49377  		return nil, err
 49378  	}
 49379  	reqHeaders.Set("Content-Type", "application/json")
 49380  	c.urlParams_.Set("alt", alt)
 49381  	c.urlParams_.Set("prettyPrint", "false")
 49382  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 49383  	urls += "?" + c.urlParams_.Encode()
 49384  	req, err := http.NewRequest("PATCH", urls, body)
 49385  	if err != nil {
 49386  		return nil, err
 49387  	}
 49388  	req.Header = reqHeaders
 49389  	googleapi.Expand(req.URL, map[string]string{
 49390  		"profileId": strconv.FormatInt(c.profileId, 10),
 49391  	})
 49392  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49393  }
 49394  
 49395  // Do executes the "dfareporting.targetingTemplates.patch" call.
 49396  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 49397  // non-2xx status code is an error. Response headers are in either
 49398  // *TargetingTemplate.ServerResponse.Header or (if a response was
 49399  // returned at all) in error.(*googleapi.Error).Header. Use
 49400  // googleapi.IsNotModified to check whether the returned error was
 49401  // because http.StatusNotModified was returned.
 49402  func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 49403  	gensupport.SetOptions(c.urlParams_, opts...)
 49404  	res, err := c.doRequest("json")
 49405  	if res != nil && res.StatusCode == http.StatusNotModified {
 49406  		if res.Body != nil {
 49407  			res.Body.Close()
 49408  		}
 49409  		return nil, &googleapi.Error{
 49410  			Code:   res.StatusCode,
 49411  			Header: res.Header,
 49412  		}
 49413  	}
 49414  	if err != nil {
 49415  		return nil, err
 49416  	}
 49417  	defer googleapi.CloseBody(res)
 49418  	if err := googleapi.CheckResponse(res); err != nil {
 49419  		return nil, err
 49420  	}
 49421  	ret := &TargetingTemplate{
 49422  		ServerResponse: googleapi.ServerResponse{
 49423  			Header:         res.Header,
 49424  			HTTPStatusCode: res.StatusCode,
 49425  		},
 49426  	}
 49427  	target := &ret
 49428  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49429  		return nil, err
 49430  	}
 49431  	return ret, nil
 49432  	// {
 49433  	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
 49434  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 49435  	//   "httpMethod": "PATCH",
 49436  	//   "id": "dfareporting.targetingTemplates.patch",
 49437  	//   "parameterOrder": [
 49438  	//     "profileId",
 49439  	//     "id"
 49440  	//   ],
 49441  	//   "parameters": {
 49442  	//     "id": {
 49443  	//       "description": "TargetingTemplate ID.",
 49444  	//       "format": "int64",
 49445  	//       "location": "query",
 49446  	//       "required": true,
 49447  	//       "type": "string"
 49448  	//     },
 49449  	//     "profileId": {
 49450  	//       "description": "User profile ID associated with this request.",
 49451  	//       "format": "int64",
 49452  	//       "location": "path",
 49453  	//       "required": true,
 49454  	//       "type": "string"
 49455  	//     }
 49456  	//   },
 49457  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 49458  	//   "request": {
 49459  	//     "$ref": "TargetingTemplate"
 49460  	//   },
 49461  	//   "response": {
 49462  	//     "$ref": "TargetingTemplate"
 49463  	//   },
 49464  	//   "scopes": [
 49465  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49466  	//   ]
 49467  	// }
 49468  
 49469  }
 49470  
 49471  // method id "dfareporting.targetingTemplates.update":
 49472  
 49473  type TargetingTemplatesUpdateCall struct {
 49474  	s                 *Service
 49475  	profileId         int64
 49476  	targetingtemplate *TargetingTemplate
 49477  	urlParams_        gensupport.URLParams
 49478  	ctx_              context.Context
 49479  	header_           http.Header
 49480  }
 49481  
 49482  // Update: Updates an existing targeting template.
 49483  //
 49484  // - profileId: User profile ID associated with this request.
 49485  func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
 49486  	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49487  	c.profileId = profileId
 49488  	c.targetingtemplate = targetingtemplate
 49489  	return c
 49490  }
 49491  
 49492  // Fields allows partial responses to be retrieved. See
 49493  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49494  // for more information.
 49495  func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
 49496  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49497  	return c
 49498  }
 49499  
 49500  // Context sets the context to be used in this call's Do method. Any
 49501  // pending HTTP request will be aborted if the provided context is
 49502  // canceled.
 49503  func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
 49504  	c.ctx_ = ctx
 49505  	return c
 49506  }
 49507  
 49508  // Header returns an http.Header that can be modified by the caller to
 49509  // add HTTP headers to the request.
 49510  func (c *TargetingTemplatesUpdateCall) Header() http.Header {
 49511  	if c.header_ == nil {
 49512  		c.header_ = make(http.Header)
 49513  	}
 49514  	return c.header_
 49515  }
 49516  
 49517  func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
 49518  	reqHeaders := make(http.Header)
 49519  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49520  	for k, v := range c.header_ {
 49521  		reqHeaders[k] = v
 49522  	}
 49523  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49524  	var body io.Reader = nil
 49525  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
 49526  	if err != nil {
 49527  		return nil, err
 49528  	}
 49529  	reqHeaders.Set("Content-Type", "application/json")
 49530  	c.urlParams_.Set("alt", alt)
 49531  	c.urlParams_.Set("prettyPrint", "false")
 49532  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
 49533  	urls += "?" + c.urlParams_.Encode()
 49534  	req, err := http.NewRequest("PUT", urls, body)
 49535  	if err != nil {
 49536  		return nil, err
 49537  	}
 49538  	req.Header = reqHeaders
 49539  	googleapi.Expand(req.URL, map[string]string{
 49540  		"profileId": strconv.FormatInt(c.profileId, 10),
 49541  	})
 49542  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49543  }
 49544  
 49545  // Do executes the "dfareporting.targetingTemplates.update" call.
 49546  // Exactly one of *TargetingTemplate or error will be non-nil. Any
 49547  // non-2xx status code is an error. Response headers are in either
 49548  // *TargetingTemplate.ServerResponse.Header or (if a response was
 49549  // returned at all) in error.(*googleapi.Error).Header. Use
 49550  // googleapi.IsNotModified to check whether the returned error was
 49551  // because http.StatusNotModified was returned.
 49552  func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
 49553  	gensupport.SetOptions(c.urlParams_, opts...)
 49554  	res, err := c.doRequest("json")
 49555  	if res != nil && res.StatusCode == http.StatusNotModified {
 49556  		if res.Body != nil {
 49557  			res.Body.Close()
 49558  		}
 49559  		return nil, &googleapi.Error{
 49560  			Code:   res.StatusCode,
 49561  			Header: res.Header,
 49562  		}
 49563  	}
 49564  	if err != nil {
 49565  		return nil, err
 49566  	}
 49567  	defer googleapi.CloseBody(res)
 49568  	if err := googleapi.CheckResponse(res); err != nil {
 49569  		return nil, err
 49570  	}
 49571  	ret := &TargetingTemplate{
 49572  		ServerResponse: googleapi.ServerResponse{
 49573  			Header:         res.Header,
 49574  			HTTPStatusCode: res.StatusCode,
 49575  		},
 49576  	}
 49577  	target := &ret
 49578  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49579  		return nil, err
 49580  	}
 49581  	return ret, nil
 49582  	// {
 49583  	//   "description": "Updates an existing targeting template.",
 49584  	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
 49585  	//   "httpMethod": "PUT",
 49586  	//   "id": "dfareporting.targetingTemplates.update",
 49587  	//   "parameterOrder": [
 49588  	//     "profileId"
 49589  	//   ],
 49590  	//   "parameters": {
 49591  	//     "profileId": {
 49592  	//       "description": "User profile ID associated with this request.",
 49593  	//       "format": "int64",
 49594  	//       "location": "path",
 49595  	//       "required": true,
 49596  	//       "type": "string"
 49597  	//     }
 49598  	//   },
 49599  	//   "path": "userprofiles/{profileId}/targetingTemplates",
 49600  	//   "request": {
 49601  	//     "$ref": "TargetingTemplate"
 49602  	//   },
 49603  	//   "response": {
 49604  	//     "$ref": "TargetingTemplate"
 49605  	//   },
 49606  	//   "scopes": [
 49607  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49608  	//   ]
 49609  	// }
 49610  
 49611  }
 49612  
 49613  // method id "dfareporting.userProfiles.get":
 49614  
 49615  type UserProfilesGetCall struct {
 49616  	s            *Service
 49617  	profileId    int64
 49618  	urlParams_   gensupport.URLParams
 49619  	ifNoneMatch_ string
 49620  	ctx_         context.Context
 49621  	header_      http.Header
 49622  }
 49623  
 49624  // Get: Gets one user profile by ID.
 49625  //
 49626  // - profileId: The user profile ID.
 49627  func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
 49628  	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49629  	c.profileId = profileId
 49630  	return c
 49631  }
 49632  
 49633  // Fields allows partial responses to be retrieved. See
 49634  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49635  // for more information.
 49636  func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
 49637  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49638  	return c
 49639  }
 49640  
 49641  // IfNoneMatch sets the optional parameter which makes the operation
 49642  // fail if the object's ETag matches the given value. This is useful for
 49643  // getting updates only after the object has changed since the last
 49644  // request. Use googleapi.IsNotModified to check whether the response
 49645  // error from Do is the result of In-None-Match.
 49646  func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
 49647  	c.ifNoneMatch_ = entityTag
 49648  	return c
 49649  }
 49650  
 49651  // Context sets the context to be used in this call's Do method. Any
 49652  // pending HTTP request will be aborted if the provided context is
 49653  // canceled.
 49654  func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
 49655  	c.ctx_ = ctx
 49656  	return c
 49657  }
 49658  
 49659  // Header returns an http.Header that can be modified by the caller to
 49660  // add HTTP headers to the request.
 49661  func (c *UserProfilesGetCall) Header() http.Header {
 49662  	if c.header_ == nil {
 49663  		c.header_ = make(http.Header)
 49664  	}
 49665  	return c.header_
 49666  }
 49667  
 49668  func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
 49669  	reqHeaders := make(http.Header)
 49670  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49671  	for k, v := range c.header_ {
 49672  		reqHeaders[k] = v
 49673  	}
 49674  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49675  	if c.ifNoneMatch_ != "" {
 49676  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49677  	}
 49678  	var body io.Reader = nil
 49679  	c.urlParams_.Set("alt", alt)
 49680  	c.urlParams_.Set("prettyPrint", "false")
 49681  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
 49682  	urls += "?" + c.urlParams_.Encode()
 49683  	req, err := http.NewRequest("GET", urls, body)
 49684  	if err != nil {
 49685  		return nil, err
 49686  	}
 49687  	req.Header = reqHeaders
 49688  	googleapi.Expand(req.URL, map[string]string{
 49689  		"profileId": strconv.FormatInt(c.profileId, 10),
 49690  	})
 49691  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49692  }
 49693  
 49694  // Do executes the "dfareporting.userProfiles.get" call.
 49695  // Exactly one of *UserProfile or error will be non-nil. Any non-2xx
 49696  // status code is an error. Response headers are in either
 49697  // *UserProfile.ServerResponse.Header or (if a response was returned at
 49698  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 49699  // to check whether the returned error was because
 49700  // http.StatusNotModified was returned.
 49701  func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
 49702  	gensupport.SetOptions(c.urlParams_, opts...)
 49703  	res, err := c.doRequest("json")
 49704  	if res != nil && res.StatusCode == http.StatusNotModified {
 49705  		if res.Body != nil {
 49706  			res.Body.Close()
 49707  		}
 49708  		return nil, &googleapi.Error{
 49709  			Code:   res.StatusCode,
 49710  			Header: res.Header,
 49711  		}
 49712  	}
 49713  	if err != nil {
 49714  		return nil, err
 49715  	}
 49716  	defer googleapi.CloseBody(res)
 49717  	if err := googleapi.CheckResponse(res); err != nil {
 49718  		return nil, err
 49719  	}
 49720  	ret := &UserProfile{
 49721  		ServerResponse: googleapi.ServerResponse{
 49722  			Header:         res.Header,
 49723  			HTTPStatusCode: res.StatusCode,
 49724  		},
 49725  	}
 49726  	target := &ret
 49727  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49728  		return nil, err
 49729  	}
 49730  	return ret, nil
 49731  	// {
 49732  	//   "description": "Gets one user profile by ID.",
 49733  	//   "flatPath": "userprofiles/{profileId}",
 49734  	//   "httpMethod": "GET",
 49735  	//   "id": "dfareporting.userProfiles.get",
 49736  	//   "parameterOrder": [
 49737  	//     "profileId"
 49738  	//   ],
 49739  	//   "parameters": {
 49740  	//     "profileId": {
 49741  	//       "description": "The user profile ID.",
 49742  	//       "format": "int64",
 49743  	//       "location": "path",
 49744  	//       "required": true,
 49745  	//       "type": "string"
 49746  	//     }
 49747  	//   },
 49748  	//   "path": "userprofiles/{profileId}",
 49749  	//   "response": {
 49750  	//     "$ref": "UserProfile"
 49751  	//   },
 49752  	//   "scopes": [
 49753  	//     "https://www.googleapis.com/auth/ddmconversions",
 49754  	//     "https://www.googleapis.com/auth/dfareporting",
 49755  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49756  	//   ]
 49757  	// }
 49758  
 49759  }
 49760  
 49761  // method id "dfareporting.userProfiles.list":
 49762  
 49763  type UserProfilesListCall struct {
 49764  	s            *Service
 49765  	urlParams_   gensupport.URLParams
 49766  	ifNoneMatch_ string
 49767  	ctx_         context.Context
 49768  	header_      http.Header
 49769  }
 49770  
 49771  // List: Retrieves list of user profiles for a user.
 49772  func (r *UserProfilesService) List() *UserProfilesListCall {
 49773  	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49774  	return c
 49775  }
 49776  
 49777  // Fields allows partial responses to be retrieved. See
 49778  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49779  // for more information.
 49780  func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
 49781  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49782  	return c
 49783  }
 49784  
 49785  // IfNoneMatch sets the optional parameter which makes the operation
 49786  // fail if the object's ETag matches the given value. This is useful for
 49787  // getting updates only after the object has changed since the last
 49788  // request. Use googleapi.IsNotModified to check whether the response
 49789  // error from Do is the result of In-None-Match.
 49790  func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
 49791  	c.ifNoneMatch_ = entityTag
 49792  	return c
 49793  }
 49794  
 49795  // Context sets the context to be used in this call's Do method. Any
 49796  // pending HTTP request will be aborted if the provided context is
 49797  // canceled.
 49798  func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
 49799  	c.ctx_ = ctx
 49800  	return c
 49801  }
 49802  
 49803  // Header returns an http.Header that can be modified by the caller to
 49804  // add HTTP headers to the request.
 49805  func (c *UserProfilesListCall) Header() http.Header {
 49806  	if c.header_ == nil {
 49807  		c.header_ = make(http.Header)
 49808  	}
 49809  	return c.header_
 49810  }
 49811  
 49812  func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
 49813  	reqHeaders := make(http.Header)
 49814  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49815  	for k, v := range c.header_ {
 49816  		reqHeaders[k] = v
 49817  	}
 49818  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49819  	if c.ifNoneMatch_ != "" {
 49820  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49821  	}
 49822  	var body io.Reader = nil
 49823  	c.urlParams_.Set("alt", alt)
 49824  	c.urlParams_.Set("prettyPrint", "false")
 49825  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
 49826  	urls += "?" + c.urlParams_.Encode()
 49827  	req, err := http.NewRequest("GET", urls, body)
 49828  	if err != nil {
 49829  		return nil, err
 49830  	}
 49831  	req.Header = reqHeaders
 49832  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49833  }
 49834  
 49835  // Do executes the "dfareporting.userProfiles.list" call.
 49836  // Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
 49837  // status code is an error. Response headers are in either
 49838  // *UserProfileList.ServerResponse.Header or (if a response was returned
 49839  // at all) in error.(*googleapi.Error).Header. Use
 49840  // googleapi.IsNotModified to check whether the returned error was
 49841  // because http.StatusNotModified was returned.
 49842  func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
 49843  	gensupport.SetOptions(c.urlParams_, opts...)
 49844  	res, err := c.doRequest("json")
 49845  	if res != nil && res.StatusCode == http.StatusNotModified {
 49846  		if res.Body != nil {
 49847  			res.Body.Close()
 49848  		}
 49849  		return nil, &googleapi.Error{
 49850  			Code:   res.StatusCode,
 49851  			Header: res.Header,
 49852  		}
 49853  	}
 49854  	if err != nil {
 49855  		return nil, err
 49856  	}
 49857  	defer googleapi.CloseBody(res)
 49858  	if err := googleapi.CheckResponse(res); err != nil {
 49859  		return nil, err
 49860  	}
 49861  	ret := &UserProfileList{
 49862  		ServerResponse: googleapi.ServerResponse{
 49863  			Header:         res.Header,
 49864  			HTTPStatusCode: res.StatusCode,
 49865  		},
 49866  	}
 49867  	target := &ret
 49868  	if err := gensupport.DecodeResponse(target, res); err != nil {
 49869  		return nil, err
 49870  	}
 49871  	return ret, nil
 49872  	// {
 49873  	//   "description": "Retrieves list of user profiles for a user.",
 49874  	//   "flatPath": "userprofiles",
 49875  	//   "httpMethod": "GET",
 49876  	//   "id": "dfareporting.userProfiles.list",
 49877  	//   "parameterOrder": [],
 49878  	//   "parameters": {},
 49879  	//   "path": "userprofiles",
 49880  	//   "response": {
 49881  	//     "$ref": "UserProfileList"
 49882  	//   },
 49883  	//   "scopes": [
 49884  	//     "https://www.googleapis.com/auth/ddmconversions",
 49885  	//     "https://www.googleapis.com/auth/dfareporting",
 49886  	//     "https://www.googleapis.com/auth/dfatrafficking"
 49887  	//   ]
 49888  	// }
 49889  
 49890  }
 49891  
 49892  // method id "dfareporting.userRolePermissionGroups.get":
 49893  
 49894  type UserRolePermissionGroupsGetCall struct {
 49895  	s            *Service
 49896  	profileId    int64
 49897  	id           int64
 49898  	urlParams_   gensupport.URLParams
 49899  	ifNoneMatch_ string
 49900  	ctx_         context.Context
 49901  	header_      http.Header
 49902  }
 49903  
 49904  // Get: Gets one user role permission group by ID.
 49905  //
 49906  // - id: User role permission group ID.
 49907  // - profileId: User profile ID associated with this request.
 49908  func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
 49909  	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 49910  	c.profileId = profileId
 49911  	c.id = id
 49912  	return c
 49913  }
 49914  
 49915  // Fields allows partial responses to be retrieved. See
 49916  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 49917  // for more information.
 49918  func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
 49919  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 49920  	return c
 49921  }
 49922  
 49923  // IfNoneMatch sets the optional parameter which makes the operation
 49924  // fail if the object's ETag matches the given value. This is useful for
 49925  // getting updates only after the object has changed since the last
 49926  // request. Use googleapi.IsNotModified to check whether the response
 49927  // error from Do is the result of In-None-Match.
 49928  func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
 49929  	c.ifNoneMatch_ = entityTag
 49930  	return c
 49931  }
 49932  
 49933  // Context sets the context to be used in this call's Do method. Any
 49934  // pending HTTP request will be aborted if the provided context is
 49935  // canceled.
 49936  func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
 49937  	c.ctx_ = ctx
 49938  	return c
 49939  }
 49940  
 49941  // Header returns an http.Header that can be modified by the caller to
 49942  // add HTTP headers to the request.
 49943  func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
 49944  	if c.header_ == nil {
 49945  		c.header_ = make(http.Header)
 49946  	}
 49947  	return c.header_
 49948  }
 49949  
 49950  func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
 49951  	reqHeaders := make(http.Header)
 49952  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 49953  	for k, v := range c.header_ {
 49954  		reqHeaders[k] = v
 49955  	}
 49956  	reqHeaders.Set("User-Agent", c.s.userAgent())
 49957  	if c.ifNoneMatch_ != "" {
 49958  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 49959  	}
 49960  	var body io.Reader = nil
 49961  	c.urlParams_.Set("alt", alt)
 49962  	c.urlParams_.Set("prettyPrint", "false")
 49963  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
 49964  	urls += "?" + c.urlParams_.Encode()
 49965  	req, err := http.NewRequest("GET", urls, body)
 49966  	if err != nil {
 49967  		return nil, err
 49968  	}
 49969  	req.Header = reqHeaders
 49970  	googleapi.Expand(req.URL, map[string]string{
 49971  		"profileId": strconv.FormatInt(c.profileId, 10),
 49972  		"id":        strconv.FormatInt(c.id, 10),
 49973  	})
 49974  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 49975  }
 49976  
 49977  // Do executes the "dfareporting.userRolePermissionGroups.get" call.
 49978  // Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
 49979  // non-2xx status code is an error. Response headers are in either
 49980  // *UserRolePermissionGroup.ServerResponse.Header or (if a response was
 49981  // returned at all) in error.(*googleapi.Error).Header. Use
 49982  // googleapi.IsNotModified to check whether the returned error was
 49983  // because http.StatusNotModified was returned.
 49984  func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
 49985  	gensupport.SetOptions(c.urlParams_, opts...)
 49986  	res, err := c.doRequest("json")
 49987  	if res != nil && res.StatusCode == http.StatusNotModified {
 49988  		if res.Body != nil {
 49989  			res.Body.Close()
 49990  		}
 49991  		return nil, &googleapi.Error{
 49992  			Code:   res.StatusCode,
 49993  			Header: res.Header,
 49994  		}
 49995  	}
 49996  	if err != nil {
 49997  		return nil, err
 49998  	}
 49999  	defer googleapi.CloseBody(res)
 50000  	if err := googleapi.CheckResponse(res); err != nil {
 50001  		return nil, err
 50002  	}
 50003  	ret := &UserRolePermissionGroup{
 50004  		ServerResponse: googleapi.ServerResponse{
 50005  			Header:         res.Header,
 50006  			HTTPStatusCode: res.StatusCode,
 50007  		},
 50008  	}
 50009  	target := &ret
 50010  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50011  		return nil, err
 50012  	}
 50013  	return ret, nil
 50014  	// {
 50015  	//   "description": "Gets one user role permission group by ID.",
 50016  	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 50017  	//   "httpMethod": "GET",
 50018  	//   "id": "dfareporting.userRolePermissionGroups.get",
 50019  	//   "parameterOrder": [
 50020  	//     "profileId",
 50021  	//     "id"
 50022  	//   ],
 50023  	//   "parameters": {
 50024  	//     "id": {
 50025  	//       "description": "User role permission group ID.",
 50026  	//       "format": "int64",
 50027  	//       "location": "path",
 50028  	//       "required": true,
 50029  	//       "type": "string"
 50030  	//     },
 50031  	//     "profileId": {
 50032  	//       "description": "User profile ID associated with this request.",
 50033  	//       "format": "int64",
 50034  	//       "location": "path",
 50035  	//       "required": true,
 50036  	//       "type": "string"
 50037  	//     }
 50038  	//   },
 50039  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
 50040  	//   "response": {
 50041  	//     "$ref": "UserRolePermissionGroup"
 50042  	//   },
 50043  	//   "scopes": [
 50044  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50045  	//   ]
 50046  	// }
 50047  
 50048  }
 50049  
 50050  // method id "dfareporting.userRolePermissionGroups.list":
 50051  
 50052  type UserRolePermissionGroupsListCall struct {
 50053  	s            *Service
 50054  	profileId    int64
 50055  	urlParams_   gensupport.URLParams
 50056  	ifNoneMatch_ string
 50057  	ctx_         context.Context
 50058  	header_      http.Header
 50059  }
 50060  
 50061  // List: Gets a list of all supported user role permission groups.
 50062  //
 50063  // - profileId: User profile ID associated with this request.
 50064  func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
 50065  	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50066  	c.profileId = profileId
 50067  	return c
 50068  }
 50069  
 50070  // Fields allows partial responses to be retrieved. See
 50071  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50072  // for more information.
 50073  func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
 50074  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50075  	return c
 50076  }
 50077  
 50078  // IfNoneMatch sets the optional parameter which makes the operation
 50079  // fail if the object's ETag matches the given value. This is useful for
 50080  // getting updates only after the object has changed since the last
 50081  // request. Use googleapi.IsNotModified to check whether the response
 50082  // error from Do is the result of In-None-Match.
 50083  func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
 50084  	c.ifNoneMatch_ = entityTag
 50085  	return c
 50086  }
 50087  
 50088  // Context sets the context to be used in this call's Do method. Any
 50089  // pending HTTP request will be aborted if the provided context is
 50090  // canceled.
 50091  func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
 50092  	c.ctx_ = ctx
 50093  	return c
 50094  }
 50095  
 50096  // Header returns an http.Header that can be modified by the caller to
 50097  // add HTTP headers to the request.
 50098  func (c *UserRolePermissionGroupsListCall) Header() http.Header {
 50099  	if c.header_ == nil {
 50100  		c.header_ = make(http.Header)
 50101  	}
 50102  	return c.header_
 50103  }
 50104  
 50105  func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
 50106  	reqHeaders := make(http.Header)
 50107  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50108  	for k, v := range c.header_ {
 50109  		reqHeaders[k] = v
 50110  	}
 50111  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50112  	if c.ifNoneMatch_ != "" {
 50113  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50114  	}
 50115  	var body io.Reader = nil
 50116  	c.urlParams_.Set("alt", alt)
 50117  	c.urlParams_.Set("prettyPrint", "false")
 50118  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
 50119  	urls += "?" + c.urlParams_.Encode()
 50120  	req, err := http.NewRequest("GET", urls, body)
 50121  	if err != nil {
 50122  		return nil, err
 50123  	}
 50124  	req.Header = reqHeaders
 50125  	googleapi.Expand(req.URL, map[string]string{
 50126  		"profileId": strconv.FormatInt(c.profileId, 10),
 50127  	})
 50128  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50129  }
 50130  
 50131  // Do executes the "dfareporting.userRolePermissionGroups.list" call.
 50132  // Exactly one of *UserRolePermissionGroupsListResponse or error will be
 50133  // non-nil. Any non-2xx status code is an error. Response headers are in
 50134  // either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
 50135  // (if a response was returned at all) in
 50136  // error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
 50137  // whether the returned error was because http.StatusNotModified was
 50138  // returned.
 50139  func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
 50140  	gensupport.SetOptions(c.urlParams_, opts...)
 50141  	res, err := c.doRequest("json")
 50142  	if res != nil && res.StatusCode == http.StatusNotModified {
 50143  		if res.Body != nil {
 50144  			res.Body.Close()
 50145  		}
 50146  		return nil, &googleapi.Error{
 50147  			Code:   res.StatusCode,
 50148  			Header: res.Header,
 50149  		}
 50150  	}
 50151  	if err != nil {
 50152  		return nil, err
 50153  	}
 50154  	defer googleapi.CloseBody(res)
 50155  	if err := googleapi.CheckResponse(res); err != nil {
 50156  		return nil, err
 50157  	}
 50158  	ret := &UserRolePermissionGroupsListResponse{
 50159  		ServerResponse: googleapi.ServerResponse{
 50160  			Header:         res.Header,
 50161  			HTTPStatusCode: res.StatusCode,
 50162  		},
 50163  	}
 50164  	target := &ret
 50165  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50166  		return nil, err
 50167  	}
 50168  	return ret, nil
 50169  	// {
 50170  	//   "description": "Gets a list of all supported user role permission groups.",
 50171  	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups",
 50172  	//   "httpMethod": "GET",
 50173  	//   "id": "dfareporting.userRolePermissionGroups.list",
 50174  	//   "parameterOrder": [
 50175  	//     "profileId"
 50176  	//   ],
 50177  	//   "parameters": {
 50178  	//     "profileId": {
 50179  	//       "description": "User profile ID associated with this request.",
 50180  	//       "format": "int64",
 50181  	//       "location": "path",
 50182  	//       "required": true,
 50183  	//       "type": "string"
 50184  	//     }
 50185  	//   },
 50186  	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
 50187  	//   "response": {
 50188  	//     "$ref": "UserRolePermissionGroupsListResponse"
 50189  	//   },
 50190  	//   "scopes": [
 50191  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50192  	//   ]
 50193  	// }
 50194  
 50195  }
 50196  
 50197  // method id "dfareporting.userRolePermissions.get":
 50198  
 50199  type UserRolePermissionsGetCall struct {
 50200  	s            *Service
 50201  	profileId    int64
 50202  	id           int64
 50203  	urlParams_   gensupport.URLParams
 50204  	ifNoneMatch_ string
 50205  	ctx_         context.Context
 50206  	header_      http.Header
 50207  }
 50208  
 50209  // Get: Gets one user role permission by ID.
 50210  //
 50211  // - id: User role permission ID.
 50212  // - profileId: User profile ID associated with this request.
 50213  func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
 50214  	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50215  	c.profileId = profileId
 50216  	c.id = id
 50217  	return c
 50218  }
 50219  
 50220  // Fields allows partial responses to be retrieved. See
 50221  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50222  // for more information.
 50223  func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
 50224  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50225  	return c
 50226  }
 50227  
 50228  // IfNoneMatch sets the optional parameter which makes the operation
 50229  // fail if the object's ETag matches the given value. This is useful for
 50230  // getting updates only after the object has changed since the last
 50231  // request. Use googleapi.IsNotModified to check whether the response
 50232  // error from Do is the result of In-None-Match.
 50233  func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
 50234  	c.ifNoneMatch_ = entityTag
 50235  	return c
 50236  }
 50237  
 50238  // Context sets the context to be used in this call's Do method. Any
 50239  // pending HTTP request will be aborted if the provided context is
 50240  // canceled.
 50241  func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
 50242  	c.ctx_ = ctx
 50243  	return c
 50244  }
 50245  
 50246  // Header returns an http.Header that can be modified by the caller to
 50247  // add HTTP headers to the request.
 50248  func (c *UserRolePermissionsGetCall) Header() http.Header {
 50249  	if c.header_ == nil {
 50250  		c.header_ = make(http.Header)
 50251  	}
 50252  	return c.header_
 50253  }
 50254  
 50255  func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
 50256  	reqHeaders := make(http.Header)
 50257  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50258  	for k, v := range c.header_ {
 50259  		reqHeaders[k] = v
 50260  	}
 50261  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50262  	if c.ifNoneMatch_ != "" {
 50263  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50264  	}
 50265  	var body io.Reader = nil
 50266  	c.urlParams_.Set("alt", alt)
 50267  	c.urlParams_.Set("prettyPrint", "false")
 50268  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
 50269  	urls += "?" + c.urlParams_.Encode()
 50270  	req, err := http.NewRequest("GET", urls, body)
 50271  	if err != nil {
 50272  		return nil, err
 50273  	}
 50274  	req.Header = reqHeaders
 50275  	googleapi.Expand(req.URL, map[string]string{
 50276  		"profileId": strconv.FormatInt(c.profileId, 10),
 50277  		"id":        strconv.FormatInt(c.id, 10),
 50278  	})
 50279  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50280  }
 50281  
 50282  // Do executes the "dfareporting.userRolePermissions.get" call.
 50283  // Exactly one of *UserRolePermission or error will be non-nil. Any
 50284  // non-2xx status code is an error. Response headers are in either
 50285  // *UserRolePermission.ServerResponse.Header or (if a response was
 50286  // returned at all) in error.(*googleapi.Error).Header. Use
 50287  // googleapi.IsNotModified to check whether the returned error was
 50288  // because http.StatusNotModified was returned.
 50289  func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
 50290  	gensupport.SetOptions(c.urlParams_, opts...)
 50291  	res, err := c.doRequest("json")
 50292  	if res != nil && res.StatusCode == http.StatusNotModified {
 50293  		if res.Body != nil {
 50294  			res.Body.Close()
 50295  		}
 50296  		return nil, &googleapi.Error{
 50297  			Code:   res.StatusCode,
 50298  			Header: res.Header,
 50299  		}
 50300  	}
 50301  	if err != nil {
 50302  		return nil, err
 50303  	}
 50304  	defer googleapi.CloseBody(res)
 50305  	if err := googleapi.CheckResponse(res); err != nil {
 50306  		return nil, err
 50307  	}
 50308  	ret := &UserRolePermission{
 50309  		ServerResponse: googleapi.ServerResponse{
 50310  			Header:         res.Header,
 50311  			HTTPStatusCode: res.StatusCode,
 50312  		},
 50313  	}
 50314  	target := &ret
 50315  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50316  		return nil, err
 50317  	}
 50318  	return ret, nil
 50319  	// {
 50320  	//   "description": "Gets one user role permission by ID.",
 50321  	//   "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}",
 50322  	//   "httpMethod": "GET",
 50323  	//   "id": "dfareporting.userRolePermissions.get",
 50324  	//   "parameterOrder": [
 50325  	//     "profileId",
 50326  	//     "id"
 50327  	//   ],
 50328  	//   "parameters": {
 50329  	//     "id": {
 50330  	//       "description": "User role permission ID.",
 50331  	//       "format": "int64",
 50332  	//       "location": "path",
 50333  	//       "required": true,
 50334  	//       "type": "string"
 50335  	//     },
 50336  	//     "profileId": {
 50337  	//       "description": "User profile ID associated with this request.",
 50338  	//       "format": "int64",
 50339  	//       "location": "path",
 50340  	//       "required": true,
 50341  	//       "type": "string"
 50342  	//     }
 50343  	//   },
 50344  	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
 50345  	//   "response": {
 50346  	//     "$ref": "UserRolePermission"
 50347  	//   },
 50348  	//   "scopes": [
 50349  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50350  	//   ]
 50351  	// }
 50352  
 50353  }
 50354  
 50355  // method id "dfareporting.userRolePermissions.list":
 50356  
 50357  type UserRolePermissionsListCall struct {
 50358  	s            *Service
 50359  	profileId    int64
 50360  	urlParams_   gensupport.URLParams
 50361  	ifNoneMatch_ string
 50362  	ctx_         context.Context
 50363  	header_      http.Header
 50364  }
 50365  
 50366  // List: Gets a list of user role permissions, possibly filtered.
 50367  //
 50368  // - profileId: User profile ID associated with this request.
 50369  func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
 50370  	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50371  	c.profileId = profileId
 50372  	return c
 50373  }
 50374  
 50375  // Ids sets the optional parameter "ids": Select only user role
 50376  // permissions with these IDs.
 50377  func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
 50378  	var ids_ []string
 50379  	for _, v := range ids {
 50380  		ids_ = append(ids_, fmt.Sprint(v))
 50381  	}
 50382  	c.urlParams_.SetMulti("ids", ids_)
 50383  	return c
 50384  }
 50385  
 50386  // Fields allows partial responses to be retrieved. See
 50387  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50388  // for more information.
 50389  func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
 50390  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50391  	return c
 50392  }
 50393  
 50394  // IfNoneMatch sets the optional parameter which makes the operation
 50395  // fail if the object's ETag matches the given value. This is useful for
 50396  // getting updates only after the object has changed since the last
 50397  // request. Use googleapi.IsNotModified to check whether the response
 50398  // error from Do is the result of In-None-Match.
 50399  func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
 50400  	c.ifNoneMatch_ = entityTag
 50401  	return c
 50402  }
 50403  
 50404  // Context sets the context to be used in this call's Do method. Any
 50405  // pending HTTP request will be aborted if the provided context is
 50406  // canceled.
 50407  func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
 50408  	c.ctx_ = ctx
 50409  	return c
 50410  }
 50411  
 50412  // Header returns an http.Header that can be modified by the caller to
 50413  // add HTTP headers to the request.
 50414  func (c *UserRolePermissionsListCall) Header() http.Header {
 50415  	if c.header_ == nil {
 50416  		c.header_ = make(http.Header)
 50417  	}
 50418  	return c.header_
 50419  }
 50420  
 50421  func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
 50422  	reqHeaders := make(http.Header)
 50423  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50424  	for k, v := range c.header_ {
 50425  		reqHeaders[k] = v
 50426  	}
 50427  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50428  	if c.ifNoneMatch_ != "" {
 50429  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50430  	}
 50431  	var body io.Reader = nil
 50432  	c.urlParams_.Set("alt", alt)
 50433  	c.urlParams_.Set("prettyPrint", "false")
 50434  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
 50435  	urls += "?" + c.urlParams_.Encode()
 50436  	req, err := http.NewRequest("GET", urls, body)
 50437  	if err != nil {
 50438  		return nil, err
 50439  	}
 50440  	req.Header = reqHeaders
 50441  	googleapi.Expand(req.URL, map[string]string{
 50442  		"profileId": strconv.FormatInt(c.profileId, 10),
 50443  	})
 50444  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50445  }
 50446  
 50447  // Do executes the "dfareporting.userRolePermissions.list" call.
 50448  // Exactly one of *UserRolePermissionsListResponse or error will be
 50449  // non-nil. Any non-2xx status code is an error. Response headers are in
 50450  // either *UserRolePermissionsListResponse.ServerResponse.Header or (if
 50451  // a response was returned at all) in error.(*googleapi.Error).Header.
 50452  // Use googleapi.IsNotModified to check whether the returned error was
 50453  // because http.StatusNotModified was returned.
 50454  func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
 50455  	gensupport.SetOptions(c.urlParams_, opts...)
 50456  	res, err := c.doRequest("json")
 50457  	if res != nil && res.StatusCode == http.StatusNotModified {
 50458  		if res.Body != nil {
 50459  			res.Body.Close()
 50460  		}
 50461  		return nil, &googleapi.Error{
 50462  			Code:   res.StatusCode,
 50463  			Header: res.Header,
 50464  		}
 50465  	}
 50466  	if err != nil {
 50467  		return nil, err
 50468  	}
 50469  	defer googleapi.CloseBody(res)
 50470  	if err := googleapi.CheckResponse(res); err != nil {
 50471  		return nil, err
 50472  	}
 50473  	ret := &UserRolePermissionsListResponse{
 50474  		ServerResponse: googleapi.ServerResponse{
 50475  			Header:         res.Header,
 50476  			HTTPStatusCode: res.StatusCode,
 50477  		},
 50478  	}
 50479  	target := &ret
 50480  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50481  		return nil, err
 50482  	}
 50483  	return ret, nil
 50484  	// {
 50485  	//   "description": "Gets a list of user role permissions, possibly filtered.",
 50486  	//   "flatPath": "userprofiles/{profileId}/userRolePermissions",
 50487  	//   "httpMethod": "GET",
 50488  	//   "id": "dfareporting.userRolePermissions.list",
 50489  	//   "parameterOrder": [
 50490  	//     "profileId"
 50491  	//   ],
 50492  	//   "parameters": {
 50493  	//     "ids": {
 50494  	//       "description": "Select only user role permissions with these IDs.",
 50495  	//       "format": "int64",
 50496  	//       "location": "query",
 50497  	//       "repeated": true,
 50498  	//       "type": "string"
 50499  	//     },
 50500  	//     "profileId": {
 50501  	//       "description": "User profile ID associated with this request.",
 50502  	//       "format": "int64",
 50503  	//       "location": "path",
 50504  	//       "required": true,
 50505  	//       "type": "string"
 50506  	//     }
 50507  	//   },
 50508  	//   "path": "userprofiles/{profileId}/userRolePermissions",
 50509  	//   "response": {
 50510  	//     "$ref": "UserRolePermissionsListResponse"
 50511  	//   },
 50512  	//   "scopes": [
 50513  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50514  	//   ]
 50515  	// }
 50516  
 50517  }
 50518  
 50519  // method id "dfareporting.userRoles.delete":
 50520  
 50521  type UserRolesDeleteCall struct {
 50522  	s          *Service
 50523  	profileId  int64
 50524  	id         int64
 50525  	urlParams_ gensupport.URLParams
 50526  	ctx_       context.Context
 50527  	header_    http.Header
 50528  }
 50529  
 50530  // Delete: Deletes an existing user role.
 50531  //
 50532  // - id: User role ID.
 50533  // - profileId: User profile ID associated with this request.
 50534  func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
 50535  	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50536  	c.profileId = profileId
 50537  	c.id = id
 50538  	return c
 50539  }
 50540  
 50541  // Fields allows partial responses to be retrieved. See
 50542  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50543  // for more information.
 50544  func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
 50545  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50546  	return c
 50547  }
 50548  
 50549  // Context sets the context to be used in this call's Do method. Any
 50550  // pending HTTP request will be aborted if the provided context is
 50551  // canceled.
 50552  func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
 50553  	c.ctx_ = ctx
 50554  	return c
 50555  }
 50556  
 50557  // Header returns an http.Header that can be modified by the caller to
 50558  // add HTTP headers to the request.
 50559  func (c *UserRolesDeleteCall) Header() http.Header {
 50560  	if c.header_ == nil {
 50561  		c.header_ = make(http.Header)
 50562  	}
 50563  	return c.header_
 50564  }
 50565  
 50566  func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
 50567  	reqHeaders := make(http.Header)
 50568  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50569  	for k, v := range c.header_ {
 50570  		reqHeaders[k] = v
 50571  	}
 50572  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50573  	var body io.Reader = nil
 50574  	c.urlParams_.Set("alt", alt)
 50575  	c.urlParams_.Set("prettyPrint", "false")
 50576  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 50577  	urls += "?" + c.urlParams_.Encode()
 50578  	req, err := http.NewRequest("DELETE", urls, body)
 50579  	if err != nil {
 50580  		return nil, err
 50581  	}
 50582  	req.Header = reqHeaders
 50583  	googleapi.Expand(req.URL, map[string]string{
 50584  		"profileId": strconv.FormatInt(c.profileId, 10),
 50585  		"id":        strconv.FormatInt(c.id, 10),
 50586  	})
 50587  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50588  }
 50589  
 50590  // Do executes the "dfareporting.userRoles.delete" call.
 50591  func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
 50592  	gensupport.SetOptions(c.urlParams_, opts...)
 50593  	res, err := c.doRequest("json")
 50594  	if err != nil {
 50595  		return err
 50596  	}
 50597  	defer googleapi.CloseBody(res)
 50598  	if err := googleapi.CheckResponse(res); err != nil {
 50599  		return err
 50600  	}
 50601  	return nil
 50602  	// {
 50603  	//   "description": "Deletes an existing user role.",
 50604  	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
 50605  	//   "httpMethod": "DELETE",
 50606  	//   "id": "dfareporting.userRoles.delete",
 50607  	//   "parameterOrder": [
 50608  	//     "profileId",
 50609  	//     "id"
 50610  	//   ],
 50611  	//   "parameters": {
 50612  	//     "id": {
 50613  	//       "description": "User role ID.",
 50614  	//       "format": "int64",
 50615  	//       "location": "path",
 50616  	//       "required": true,
 50617  	//       "type": "string"
 50618  	//     },
 50619  	//     "profileId": {
 50620  	//       "description": "User profile ID associated with this request.",
 50621  	//       "format": "int64",
 50622  	//       "location": "path",
 50623  	//       "required": true,
 50624  	//       "type": "string"
 50625  	//     }
 50626  	//   },
 50627  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 50628  	//   "scopes": [
 50629  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50630  	//   ]
 50631  	// }
 50632  
 50633  }
 50634  
 50635  // method id "dfareporting.userRoles.get":
 50636  
 50637  type UserRolesGetCall struct {
 50638  	s            *Service
 50639  	profileId    int64
 50640  	id           int64
 50641  	urlParams_   gensupport.URLParams
 50642  	ifNoneMatch_ string
 50643  	ctx_         context.Context
 50644  	header_      http.Header
 50645  }
 50646  
 50647  // Get: Gets one user role by ID.
 50648  //
 50649  // - id: User role ID.
 50650  // - profileId: User profile ID associated with this request.
 50651  func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
 50652  	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50653  	c.profileId = profileId
 50654  	c.id = id
 50655  	return c
 50656  }
 50657  
 50658  // Fields allows partial responses to be retrieved. See
 50659  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50660  // for more information.
 50661  func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
 50662  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50663  	return c
 50664  }
 50665  
 50666  // IfNoneMatch sets the optional parameter which makes the operation
 50667  // fail if the object's ETag matches the given value. This is useful for
 50668  // getting updates only after the object has changed since the last
 50669  // request. Use googleapi.IsNotModified to check whether the response
 50670  // error from Do is the result of In-None-Match.
 50671  func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
 50672  	c.ifNoneMatch_ = entityTag
 50673  	return c
 50674  }
 50675  
 50676  // Context sets the context to be used in this call's Do method. Any
 50677  // pending HTTP request will be aborted if the provided context is
 50678  // canceled.
 50679  func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
 50680  	c.ctx_ = ctx
 50681  	return c
 50682  }
 50683  
 50684  // Header returns an http.Header that can be modified by the caller to
 50685  // add HTTP headers to the request.
 50686  func (c *UserRolesGetCall) Header() http.Header {
 50687  	if c.header_ == nil {
 50688  		c.header_ = make(http.Header)
 50689  	}
 50690  	return c.header_
 50691  }
 50692  
 50693  func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
 50694  	reqHeaders := make(http.Header)
 50695  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50696  	for k, v := range c.header_ {
 50697  		reqHeaders[k] = v
 50698  	}
 50699  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50700  	if c.ifNoneMatch_ != "" {
 50701  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 50702  	}
 50703  	var body io.Reader = nil
 50704  	c.urlParams_.Set("alt", alt)
 50705  	c.urlParams_.Set("prettyPrint", "false")
 50706  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
 50707  	urls += "?" + c.urlParams_.Encode()
 50708  	req, err := http.NewRequest("GET", urls, body)
 50709  	if err != nil {
 50710  		return nil, err
 50711  	}
 50712  	req.Header = reqHeaders
 50713  	googleapi.Expand(req.URL, map[string]string{
 50714  		"profileId": strconv.FormatInt(c.profileId, 10),
 50715  		"id":        strconv.FormatInt(c.id, 10),
 50716  	})
 50717  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50718  }
 50719  
 50720  // Do executes the "dfareporting.userRoles.get" call.
 50721  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50722  // code is an error. Response headers are in either
 50723  // *UserRole.ServerResponse.Header or (if a response was returned at
 50724  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50725  // to check whether the returned error was because
 50726  // http.StatusNotModified was returned.
 50727  func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50728  	gensupport.SetOptions(c.urlParams_, opts...)
 50729  	res, err := c.doRequest("json")
 50730  	if res != nil && res.StatusCode == http.StatusNotModified {
 50731  		if res.Body != nil {
 50732  			res.Body.Close()
 50733  		}
 50734  		return nil, &googleapi.Error{
 50735  			Code:   res.StatusCode,
 50736  			Header: res.Header,
 50737  		}
 50738  	}
 50739  	if err != nil {
 50740  		return nil, err
 50741  	}
 50742  	defer googleapi.CloseBody(res)
 50743  	if err := googleapi.CheckResponse(res); err != nil {
 50744  		return nil, err
 50745  	}
 50746  	ret := &UserRole{
 50747  		ServerResponse: googleapi.ServerResponse{
 50748  			Header:         res.Header,
 50749  			HTTPStatusCode: res.StatusCode,
 50750  		},
 50751  	}
 50752  	target := &ret
 50753  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50754  		return nil, err
 50755  	}
 50756  	return ret, nil
 50757  	// {
 50758  	//   "description": "Gets one user role by ID.",
 50759  	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
 50760  	//   "httpMethod": "GET",
 50761  	//   "id": "dfareporting.userRoles.get",
 50762  	//   "parameterOrder": [
 50763  	//     "profileId",
 50764  	//     "id"
 50765  	//   ],
 50766  	//   "parameters": {
 50767  	//     "id": {
 50768  	//       "description": "User role ID.",
 50769  	//       "format": "int64",
 50770  	//       "location": "path",
 50771  	//       "required": true,
 50772  	//       "type": "string"
 50773  	//     },
 50774  	//     "profileId": {
 50775  	//       "description": "User profile ID associated with this request.",
 50776  	//       "format": "int64",
 50777  	//       "location": "path",
 50778  	//       "required": true,
 50779  	//       "type": "string"
 50780  	//     }
 50781  	//   },
 50782  	//   "path": "userprofiles/{profileId}/userRoles/{id}",
 50783  	//   "response": {
 50784  	//     "$ref": "UserRole"
 50785  	//   },
 50786  	//   "scopes": [
 50787  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50788  	//   ]
 50789  	// }
 50790  
 50791  }
 50792  
 50793  // method id "dfareporting.userRoles.insert":
 50794  
 50795  type UserRolesInsertCall struct {
 50796  	s          *Service
 50797  	profileId  int64
 50798  	userrole   *UserRole
 50799  	urlParams_ gensupport.URLParams
 50800  	ctx_       context.Context
 50801  	header_    http.Header
 50802  }
 50803  
 50804  // Insert: Inserts a new user role.
 50805  //
 50806  // - profileId: User profile ID associated with this request.
 50807  func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
 50808  	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50809  	c.profileId = profileId
 50810  	c.userrole = userrole
 50811  	return c
 50812  }
 50813  
 50814  // Fields allows partial responses to be retrieved. See
 50815  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 50816  // for more information.
 50817  func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
 50818  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 50819  	return c
 50820  }
 50821  
 50822  // Context sets the context to be used in this call's Do method. Any
 50823  // pending HTTP request will be aborted if the provided context is
 50824  // canceled.
 50825  func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
 50826  	c.ctx_ = ctx
 50827  	return c
 50828  }
 50829  
 50830  // Header returns an http.Header that can be modified by the caller to
 50831  // add HTTP headers to the request.
 50832  func (c *UserRolesInsertCall) Header() http.Header {
 50833  	if c.header_ == nil {
 50834  		c.header_ = make(http.Header)
 50835  	}
 50836  	return c.header_
 50837  }
 50838  
 50839  func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
 50840  	reqHeaders := make(http.Header)
 50841  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 50842  	for k, v := range c.header_ {
 50843  		reqHeaders[k] = v
 50844  	}
 50845  	reqHeaders.Set("User-Agent", c.s.userAgent())
 50846  	var body io.Reader = nil
 50847  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 50848  	if err != nil {
 50849  		return nil, err
 50850  	}
 50851  	reqHeaders.Set("Content-Type", "application/json")
 50852  	c.urlParams_.Set("alt", alt)
 50853  	c.urlParams_.Set("prettyPrint", "false")
 50854  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 50855  	urls += "?" + c.urlParams_.Encode()
 50856  	req, err := http.NewRequest("POST", urls, body)
 50857  	if err != nil {
 50858  		return nil, err
 50859  	}
 50860  	req.Header = reqHeaders
 50861  	googleapi.Expand(req.URL, map[string]string{
 50862  		"profileId": strconv.FormatInt(c.profileId, 10),
 50863  	})
 50864  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 50865  }
 50866  
 50867  // Do executes the "dfareporting.userRoles.insert" call.
 50868  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 50869  // code is an error. Response headers are in either
 50870  // *UserRole.ServerResponse.Header or (if a response was returned at
 50871  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 50872  // to check whether the returned error was because
 50873  // http.StatusNotModified was returned.
 50874  func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 50875  	gensupport.SetOptions(c.urlParams_, opts...)
 50876  	res, err := c.doRequest("json")
 50877  	if res != nil && res.StatusCode == http.StatusNotModified {
 50878  		if res.Body != nil {
 50879  			res.Body.Close()
 50880  		}
 50881  		return nil, &googleapi.Error{
 50882  			Code:   res.StatusCode,
 50883  			Header: res.Header,
 50884  		}
 50885  	}
 50886  	if err != nil {
 50887  		return nil, err
 50888  	}
 50889  	defer googleapi.CloseBody(res)
 50890  	if err := googleapi.CheckResponse(res); err != nil {
 50891  		return nil, err
 50892  	}
 50893  	ret := &UserRole{
 50894  		ServerResponse: googleapi.ServerResponse{
 50895  			Header:         res.Header,
 50896  			HTTPStatusCode: res.StatusCode,
 50897  		},
 50898  	}
 50899  	target := &ret
 50900  	if err := gensupport.DecodeResponse(target, res); err != nil {
 50901  		return nil, err
 50902  	}
 50903  	return ret, nil
 50904  	// {
 50905  	//   "description": "Inserts a new user role.",
 50906  	//   "flatPath": "userprofiles/{profileId}/userRoles",
 50907  	//   "httpMethod": "POST",
 50908  	//   "id": "dfareporting.userRoles.insert",
 50909  	//   "parameterOrder": [
 50910  	//     "profileId"
 50911  	//   ],
 50912  	//   "parameters": {
 50913  	//     "profileId": {
 50914  	//       "description": "User profile ID associated with this request.",
 50915  	//       "format": "int64",
 50916  	//       "location": "path",
 50917  	//       "required": true,
 50918  	//       "type": "string"
 50919  	//     }
 50920  	//   },
 50921  	//   "path": "userprofiles/{profileId}/userRoles",
 50922  	//   "request": {
 50923  	//     "$ref": "UserRole"
 50924  	//   },
 50925  	//   "response": {
 50926  	//     "$ref": "UserRole"
 50927  	//   },
 50928  	//   "scopes": [
 50929  	//     "https://www.googleapis.com/auth/dfatrafficking"
 50930  	//   ]
 50931  	// }
 50932  
 50933  }
 50934  
 50935  // method id "dfareporting.userRoles.list":
 50936  
 50937  type UserRolesListCall struct {
 50938  	s            *Service
 50939  	profileId    int64
 50940  	urlParams_   gensupport.URLParams
 50941  	ifNoneMatch_ string
 50942  	ctx_         context.Context
 50943  	header_      http.Header
 50944  }
 50945  
 50946  // List: Retrieves a list of user roles, possibly filtered. This method
 50947  // supports paging.
 50948  //
 50949  // - profileId: User profile ID associated with this request.
 50950  func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
 50951  	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 50952  	c.profileId = profileId
 50953  	return c
 50954  }
 50955  
 50956  // AccountUserRoleOnly sets the optional parameter
 50957  // "accountUserRoleOnly": Select only account level user roles not
 50958  // associated with any specific subaccount.
 50959  func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
 50960  	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
 50961  	return c
 50962  }
 50963  
 50964  // Ids sets the optional parameter "ids": Select only user roles with
 50965  // the specified IDs.
 50966  func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
 50967  	var ids_ []string
 50968  	for _, v := range ids {
 50969  		ids_ = append(ids_, fmt.Sprint(v))
 50970  	}
 50971  	c.urlParams_.SetMulti("ids", ids_)
 50972  	return c
 50973  }
 50974  
 50975  // MaxResults sets the optional parameter "maxResults": Maximum number
 50976  // of results to return.
 50977  func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
 50978  	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
 50979  	return c
 50980  }
 50981  
 50982  // PageToken sets the optional parameter "pageToken": Value of the
 50983  // nextPageToken from the previous result page.
 50984  func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
 50985  	c.urlParams_.Set("pageToken", pageToken)
 50986  	return c
 50987  }
 50988  
 50989  // SearchString sets the optional parameter "searchString": Allows
 50990  // searching for objects by name or ID. Wildcards (*) are allowed. For
 50991  // example, "userrole*2015" will return objects with names like
 50992  // "userrole June 2015", "userrole April 2015", or simply "userrole
 50993  // 2015". Most of the searches also add wildcards implicitly at the
 50994  // start and the end of the search string. For example, a search string
 50995  // of "userrole" will match objects with name "my userrole", "userrole
 50996  // 2015", or simply "userrole".
 50997  func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
 50998  	c.urlParams_.Set("searchString", searchString)
 50999  	return c
 51000  }
 51001  
 51002  // SortField sets the optional parameter "sortField": Field by which to
 51003  // sort the list.
 51004  //
 51005  // Possible values:
 51006  //
 51007  //	"ID" (default)
 51008  //	"NAME"
 51009  func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
 51010  	c.urlParams_.Set("sortField", sortField)
 51011  	return c
 51012  }
 51013  
 51014  // SortOrder sets the optional parameter "sortOrder": Order of sorted
 51015  // results.
 51016  //
 51017  // Possible values:
 51018  //
 51019  //	"ASCENDING" (default)
 51020  //	"DESCENDING"
 51021  func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
 51022  	c.urlParams_.Set("sortOrder", sortOrder)
 51023  	return c
 51024  }
 51025  
 51026  // SubaccountId sets the optional parameter "subaccountId": Select only
 51027  // user roles that belong to this subaccount.
 51028  func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
 51029  	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
 51030  	return c
 51031  }
 51032  
 51033  // Fields allows partial responses to be retrieved. See
 51034  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51035  // for more information.
 51036  func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
 51037  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51038  	return c
 51039  }
 51040  
 51041  // IfNoneMatch sets the optional parameter which makes the operation
 51042  // fail if the object's ETag matches the given value. This is useful for
 51043  // getting updates only after the object has changed since the last
 51044  // request. Use googleapi.IsNotModified to check whether the response
 51045  // error from Do is the result of In-None-Match.
 51046  func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
 51047  	c.ifNoneMatch_ = entityTag
 51048  	return c
 51049  }
 51050  
 51051  // Context sets the context to be used in this call's Do method. Any
 51052  // pending HTTP request will be aborted if the provided context is
 51053  // canceled.
 51054  func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
 51055  	c.ctx_ = ctx
 51056  	return c
 51057  }
 51058  
 51059  // Header returns an http.Header that can be modified by the caller to
 51060  // add HTTP headers to the request.
 51061  func (c *UserRolesListCall) Header() http.Header {
 51062  	if c.header_ == nil {
 51063  		c.header_ = make(http.Header)
 51064  	}
 51065  	return c.header_
 51066  }
 51067  
 51068  func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
 51069  	reqHeaders := make(http.Header)
 51070  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51071  	for k, v := range c.header_ {
 51072  		reqHeaders[k] = v
 51073  	}
 51074  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51075  	if c.ifNoneMatch_ != "" {
 51076  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51077  	}
 51078  	var body io.Reader = nil
 51079  	c.urlParams_.Set("alt", alt)
 51080  	c.urlParams_.Set("prettyPrint", "false")
 51081  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 51082  	urls += "?" + c.urlParams_.Encode()
 51083  	req, err := http.NewRequest("GET", urls, body)
 51084  	if err != nil {
 51085  		return nil, err
 51086  	}
 51087  	req.Header = reqHeaders
 51088  	googleapi.Expand(req.URL, map[string]string{
 51089  		"profileId": strconv.FormatInt(c.profileId, 10),
 51090  	})
 51091  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51092  }
 51093  
 51094  // Do executes the "dfareporting.userRoles.list" call.
 51095  // Exactly one of *UserRolesListResponse or error will be non-nil. Any
 51096  // non-2xx status code is an error. Response headers are in either
 51097  // *UserRolesListResponse.ServerResponse.Header or (if a response was
 51098  // returned at all) in error.(*googleapi.Error).Header. Use
 51099  // googleapi.IsNotModified to check whether the returned error was
 51100  // because http.StatusNotModified was returned.
 51101  func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
 51102  	gensupport.SetOptions(c.urlParams_, opts...)
 51103  	res, err := c.doRequest("json")
 51104  	if res != nil && res.StatusCode == http.StatusNotModified {
 51105  		if res.Body != nil {
 51106  			res.Body.Close()
 51107  		}
 51108  		return nil, &googleapi.Error{
 51109  			Code:   res.StatusCode,
 51110  			Header: res.Header,
 51111  		}
 51112  	}
 51113  	if err != nil {
 51114  		return nil, err
 51115  	}
 51116  	defer googleapi.CloseBody(res)
 51117  	if err := googleapi.CheckResponse(res); err != nil {
 51118  		return nil, err
 51119  	}
 51120  	ret := &UserRolesListResponse{
 51121  		ServerResponse: googleapi.ServerResponse{
 51122  			Header:         res.Header,
 51123  			HTTPStatusCode: res.StatusCode,
 51124  		},
 51125  	}
 51126  	target := &ret
 51127  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51128  		return nil, err
 51129  	}
 51130  	return ret, nil
 51131  	// {
 51132  	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
 51133  	//   "flatPath": "userprofiles/{profileId}/userRoles",
 51134  	//   "httpMethod": "GET",
 51135  	//   "id": "dfareporting.userRoles.list",
 51136  	//   "parameterOrder": [
 51137  	//     "profileId"
 51138  	//   ],
 51139  	//   "parameters": {
 51140  	//     "accountUserRoleOnly": {
 51141  	//       "description": "Select only account level user roles not associated with any specific subaccount.",
 51142  	//       "location": "query",
 51143  	//       "type": "boolean"
 51144  	//     },
 51145  	//     "ids": {
 51146  	//       "description": "Select only user roles with the specified IDs.",
 51147  	//       "format": "int64",
 51148  	//       "location": "query",
 51149  	//       "repeated": true,
 51150  	//       "type": "string"
 51151  	//     },
 51152  	//     "maxResults": {
 51153  	//       "default": "1000",
 51154  	//       "description": "Maximum number of results to return.",
 51155  	//       "format": "int32",
 51156  	//       "location": "query",
 51157  	//       "maximum": "1000",
 51158  	//       "minimum": "0",
 51159  	//       "type": "integer"
 51160  	//     },
 51161  	//     "pageToken": {
 51162  	//       "description": "Value of the nextPageToken from the previous result page.",
 51163  	//       "location": "query",
 51164  	//       "type": "string"
 51165  	//     },
 51166  	//     "profileId": {
 51167  	//       "description": "User profile ID associated with this request.",
 51168  	//       "format": "int64",
 51169  	//       "location": "path",
 51170  	//       "required": true,
 51171  	//       "type": "string"
 51172  	//     },
 51173  	//     "searchString": {
 51174  	//       "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\".",
 51175  	//       "location": "query",
 51176  	//       "type": "string"
 51177  	//     },
 51178  	//     "sortField": {
 51179  	//       "default": "ID",
 51180  	//       "description": "Field by which to sort the list.",
 51181  	//       "enum": [
 51182  	//         "ID",
 51183  	//         "NAME"
 51184  	//       ],
 51185  	//       "enumDescriptions": [
 51186  	//         "",
 51187  	//         ""
 51188  	//       ],
 51189  	//       "location": "query",
 51190  	//       "type": "string"
 51191  	//     },
 51192  	//     "sortOrder": {
 51193  	//       "default": "ASCENDING",
 51194  	//       "description": "Order of sorted results.",
 51195  	//       "enum": [
 51196  	//         "ASCENDING",
 51197  	//         "DESCENDING"
 51198  	//       ],
 51199  	//       "enumDescriptions": [
 51200  	//         "",
 51201  	//         ""
 51202  	//       ],
 51203  	//       "location": "query",
 51204  	//       "type": "string"
 51205  	//     },
 51206  	//     "subaccountId": {
 51207  	//       "description": "Select only user roles that belong to this subaccount.",
 51208  	//       "format": "int64",
 51209  	//       "location": "query",
 51210  	//       "type": "string"
 51211  	//     }
 51212  	//   },
 51213  	//   "path": "userprofiles/{profileId}/userRoles",
 51214  	//   "response": {
 51215  	//     "$ref": "UserRolesListResponse"
 51216  	//   },
 51217  	//   "scopes": [
 51218  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51219  	//   ]
 51220  	// }
 51221  
 51222  }
 51223  
 51224  // Pages invokes f for each page of results.
 51225  // A non-nil error returned from f will halt the iteration.
 51226  // The provided context supersedes any context provided to the Context method.
 51227  func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
 51228  	c.ctx_ = ctx
 51229  	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
 51230  	for {
 51231  		x, err := c.Do()
 51232  		if err != nil {
 51233  			return err
 51234  		}
 51235  		if err := f(x); err != nil {
 51236  			return err
 51237  		}
 51238  		if x.NextPageToken == "" {
 51239  			return nil
 51240  		}
 51241  		c.PageToken(x.NextPageToken)
 51242  	}
 51243  }
 51244  
 51245  // method id "dfareporting.userRoles.patch":
 51246  
 51247  type UserRolesPatchCall struct {
 51248  	s          *Service
 51249  	profileId  int64
 51250  	userrole   *UserRole
 51251  	urlParams_ gensupport.URLParams
 51252  	ctx_       context.Context
 51253  	header_    http.Header
 51254  }
 51255  
 51256  // Patch: Updates an existing user role. This method supports patch
 51257  // semantics.
 51258  //
 51259  // - id: UserRole ID.
 51260  // - profileId: User profile ID associated with this request.
 51261  func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
 51262  	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51263  	c.profileId = profileId
 51264  	c.urlParams_.Set("id", fmt.Sprint(id))
 51265  	c.userrole = userrole
 51266  	return c
 51267  }
 51268  
 51269  // Fields allows partial responses to be retrieved. See
 51270  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51271  // for more information.
 51272  func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
 51273  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51274  	return c
 51275  }
 51276  
 51277  // Context sets the context to be used in this call's Do method. Any
 51278  // pending HTTP request will be aborted if the provided context is
 51279  // canceled.
 51280  func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
 51281  	c.ctx_ = ctx
 51282  	return c
 51283  }
 51284  
 51285  // Header returns an http.Header that can be modified by the caller to
 51286  // add HTTP headers to the request.
 51287  func (c *UserRolesPatchCall) Header() http.Header {
 51288  	if c.header_ == nil {
 51289  		c.header_ = make(http.Header)
 51290  	}
 51291  	return c.header_
 51292  }
 51293  
 51294  func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
 51295  	reqHeaders := make(http.Header)
 51296  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51297  	for k, v := range c.header_ {
 51298  		reqHeaders[k] = v
 51299  	}
 51300  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51301  	var body io.Reader = nil
 51302  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 51303  	if err != nil {
 51304  		return nil, err
 51305  	}
 51306  	reqHeaders.Set("Content-Type", "application/json")
 51307  	c.urlParams_.Set("alt", alt)
 51308  	c.urlParams_.Set("prettyPrint", "false")
 51309  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 51310  	urls += "?" + c.urlParams_.Encode()
 51311  	req, err := http.NewRequest("PATCH", urls, body)
 51312  	if err != nil {
 51313  		return nil, err
 51314  	}
 51315  	req.Header = reqHeaders
 51316  	googleapi.Expand(req.URL, map[string]string{
 51317  		"profileId": strconv.FormatInt(c.profileId, 10),
 51318  	})
 51319  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51320  }
 51321  
 51322  // Do executes the "dfareporting.userRoles.patch" call.
 51323  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 51324  // code is an error. Response headers are in either
 51325  // *UserRole.ServerResponse.Header or (if a response was returned at
 51326  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 51327  // to check whether the returned error was because
 51328  // http.StatusNotModified was returned.
 51329  func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 51330  	gensupport.SetOptions(c.urlParams_, opts...)
 51331  	res, err := c.doRequest("json")
 51332  	if res != nil && res.StatusCode == http.StatusNotModified {
 51333  		if res.Body != nil {
 51334  			res.Body.Close()
 51335  		}
 51336  		return nil, &googleapi.Error{
 51337  			Code:   res.StatusCode,
 51338  			Header: res.Header,
 51339  		}
 51340  	}
 51341  	if err != nil {
 51342  		return nil, err
 51343  	}
 51344  	defer googleapi.CloseBody(res)
 51345  	if err := googleapi.CheckResponse(res); err != nil {
 51346  		return nil, err
 51347  	}
 51348  	ret := &UserRole{
 51349  		ServerResponse: googleapi.ServerResponse{
 51350  			Header:         res.Header,
 51351  			HTTPStatusCode: res.StatusCode,
 51352  		},
 51353  	}
 51354  	target := &ret
 51355  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51356  		return nil, err
 51357  	}
 51358  	return ret, nil
 51359  	// {
 51360  	//   "description": "Updates an existing user role. This method supports patch semantics.",
 51361  	//   "flatPath": "userprofiles/{profileId}/userRoles",
 51362  	//   "httpMethod": "PATCH",
 51363  	//   "id": "dfareporting.userRoles.patch",
 51364  	//   "parameterOrder": [
 51365  	//     "profileId",
 51366  	//     "id"
 51367  	//   ],
 51368  	//   "parameters": {
 51369  	//     "id": {
 51370  	//       "description": "UserRole ID.",
 51371  	//       "format": "int64",
 51372  	//       "location": "query",
 51373  	//       "required": true,
 51374  	//       "type": "string"
 51375  	//     },
 51376  	//     "profileId": {
 51377  	//       "description": "User profile ID associated with this request.",
 51378  	//       "format": "int64",
 51379  	//       "location": "path",
 51380  	//       "required": true,
 51381  	//       "type": "string"
 51382  	//     }
 51383  	//   },
 51384  	//   "path": "userprofiles/{profileId}/userRoles",
 51385  	//   "request": {
 51386  	//     "$ref": "UserRole"
 51387  	//   },
 51388  	//   "response": {
 51389  	//     "$ref": "UserRole"
 51390  	//   },
 51391  	//   "scopes": [
 51392  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51393  	//   ]
 51394  	// }
 51395  
 51396  }
 51397  
 51398  // method id "dfareporting.userRoles.update":
 51399  
 51400  type UserRolesUpdateCall struct {
 51401  	s          *Service
 51402  	profileId  int64
 51403  	userrole   *UserRole
 51404  	urlParams_ gensupport.URLParams
 51405  	ctx_       context.Context
 51406  	header_    http.Header
 51407  }
 51408  
 51409  // Update: Updates an existing user role.
 51410  //
 51411  // - profileId: User profile ID associated with this request.
 51412  func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
 51413  	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51414  	c.profileId = profileId
 51415  	c.userrole = userrole
 51416  	return c
 51417  }
 51418  
 51419  // Fields allows partial responses to be retrieved. See
 51420  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51421  // for more information.
 51422  func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
 51423  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51424  	return c
 51425  }
 51426  
 51427  // Context sets the context to be used in this call's Do method. Any
 51428  // pending HTTP request will be aborted if the provided context is
 51429  // canceled.
 51430  func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
 51431  	c.ctx_ = ctx
 51432  	return c
 51433  }
 51434  
 51435  // Header returns an http.Header that can be modified by the caller to
 51436  // add HTTP headers to the request.
 51437  func (c *UserRolesUpdateCall) Header() http.Header {
 51438  	if c.header_ == nil {
 51439  		c.header_ = make(http.Header)
 51440  	}
 51441  	return c.header_
 51442  }
 51443  
 51444  func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
 51445  	reqHeaders := make(http.Header)
 51446  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51447  	for k, v := range c.header_ {
 51448  		reqHeaders[k] = v
 51449  	}
 51450  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51451  	var body io.Reader = nil
 51452  	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
 51453  	if err != nil {
 51454  		return nil, err
 51455  	}
 51456  	reqHeaders.Set("Content-Type", "application/json")
 51457  	c.urlParams_.Set("alt", alt)
 51458  	c.urlParams_.Set("prettyPrint", "false")
 51459  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
 51460  	urls += "?" + c.urlParams_.Encode()
 51461  	req, err := http.NewRequest("PUT", urls, body)
 51462  	if err != nil {
 51463  		return nil, err
 51464  	}
 51465  	req.Header = reqHeaders
 51466  	googleapi.Expand(req.URL, map[string]string{
 51467  		"profileId": strconv.FormatInt(c.profileId, 10),
 51468  	})
 51469  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51470  }
 51471  
 51472  // Do executes the "dfareporting.userRoles.update" call.
 51473  // Exactly one of *UserRole or error will be non-nil. Any non-2xx status
 51474  // code is an error. Response headers are in either
 51475  // *UserRole.ServerResponse.Header or (if a response was returned at
 51476  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 51477  // to check whether the returned error was because
 51478  // http.StatusNotModified was returned.
 51479  func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
 51480  	gensupport.SetOptions(c.urlParams_, opts...)
 51481  	res, err := c.doRequest("json")
 51482  	if res != nil && res.StatusCode == http.StatusNotModified {
 51483  		if res.Body != nil {
 51484  			res.Body.Close()
 51485  		}
 51486  		return nil, &googleapi.Error{
 51487  			Code:   res.StatusCode,
 51488  			Header: res.Header,
 51489  		}
 51490  	}
 51491  	if err != nil {
 51492  		return nil, err
 51493  	}
 51494  	defer googleapi.CloseBody(res)
 51495  	if err := googleapi.CheckResponse(res); err != nil {
 51496  		return nil, err
 51497  	}
 51498  	ret := &UserRole{
 51499  		ServerResponse: googleapi.ServerResponse{
 51500  			Header:         res.Header,
 51501  			HTTPStatusCode: res.StatusCode,
 51502  		},
 51503  	}
 51504  	target := &ret
 51505  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51506  		return nil, err
 51507  	}
 51508  	return ret, nil
 51509  	// {
 51510  	//   "description": "Updates an existing user role.",
 51511  	//   "flatPath": "userprofiles/{profileId}/userRoles",
 51512  	//   "httpMethod": "PUT",
 51513  	//   "id": "dfareporting.userRoles.update",
 51514  	//   "parameterOrder": [
 51515  	//     "profileId"
 51516  	//   ],
 51517  	//   "parameters": {
 51518  	//     "profileId": {
 51519  	//       "description": "User profile ID associated with this request.",
 51520  	//       "format": "int64",
 51521  	//       "location": "path",
 51522  	//       "required": true,
 51523  	//       "type": "string"
 51524  	//     }
 51525  	//   },
 51526  	//   "path": "userprofiles/{profileId}/userRoles",
 51527  	//   "request": {
 51528  	//     "$ref": "UserRole"
 51529  	//   },
 51530  	//   "response": {
 51531  	//     "$ref": "UserRole"
 51532  	//   },
 51533  	//   "scopes": [
 51534  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51535  	//   ]
 51536  	// }
 51537  
 51538  }
 51539  
 51540  // method id "dfareporting.videoFormats.get":
 51541  
 51542  type VideoFormatsGetCall struct {
 51543  	s            *Service
 51544  	profileId    int64
 51545  	id           int64
 51546  	urlParams_   gensupport.URLParams
 51547  	ifNoneMatch_ string
 51548  	ctx_         context.Context
 51549  	header_      http.Header
 51550  }
 51551  
 51552  // Get: Gets one video format by ID.
 51553  //
 51554  // - id: Video format ID.
 51555  // - profileId: User profile ID associated with this request.
 51556  func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
 51557  	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51558  	c.profileId = profileId
 51559  	c.id = id
 51560  	return c
 51561  }
 51562  
 51563  // Fields allows partial responses to be retrieved. See
 51564  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51565  // for more information.
 51566  func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
 51567  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51568  	return c
 51569  }
 51570  
 51571  // IfNoneMatch sets the optional parameter which makes the operation
 51572  // fail if the object's ETag matches the given value. This is useful for
 51573  // getting updates only after the object has changed since the last
 51574  // request. Use googleapi.IsNotModified to check whether the response
 51575  // error from Do is the result of In-None-Match.
 51576  func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
 51577  	c.ifNoneMatch_ = entityTag
 51578  	return c
 51579  }
 51580  
 51581  // Context sets the context to be used in this call's Do method. Any
 51582  // pending HTTP request will be aborted if the provided context is
 51583  // canceled.
 51584  func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
 51585  	c.ctx_ = ctx
 51586  	return c
 51587  }
 51588  
 51589  // Header returns an http.Header that can be modified by the caller to
 51590  // add HTTP headers to the request.
 51591  func (c *VideoFormatsGetCall) Header() http.Header {
 51592  	if c.header_ == nil {
 51593  		c.header_ = make(http.Header)
 51594  	}
 51595  	return c.header_
 51596  }
 51597  
 51598  func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
 51599  	reqHeaders := make(http.Header)
 51600  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51601  	for k, v := range c.header_ {
 51602  		reqHeaders[k] = v
 51603  	}
 51604  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51605  	if c.ifNoneMatch_ != "" {
 51606  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51607  	}
 51608  	var body io.Reader = nil
 51609  	c.urlParams_.Set("alt", alt)
 51610  	c.urlParams_.Set("prettyPrint", "false")
 51611  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
 51612  	urls += "?" + c.urlParams_.Encode()
 51613  	req, err := http.NewRequest("GET", urls, body)
 51614  	if err != nil {
 51615  		return nil, err
 51616  	}
 51617  	req.Header = reqHeaders
 51618  	googleapi.Expand(req.URL, map[string]string{
 51619  		"profileId": strconv.FormatInt(c.profileId, 10),
 51620  		"id":        strconv.FormatInt(c.id, 10),
 51621  	})
 51622  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51623  }
 51624  
 51625  // Do executes the "dfareporting.videoFormats.get" call.
 51626  // Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
 51627  // status code is an error. Response headers are in either
 51628  // *VideoFormat.ServerResponse.Header or (if a response was returned at
 51629  // all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
 51630  // to check whether the returned error was because
 51631  // http.StatusNotModified was returned.
 51632  func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
 51633  	gensupport.SetOptions(c.urlParams_, opts...)
 51634  	res, err := c.doRequest("json")
 51635  	if res != nil && res.StatusCode == http.StatusNotModified {
 51636  		if res.Body != nil {
 51637  			res.Body.Close()
 51638  		}
 51639  		return nil, &googleapi.Error{
 51640  			Code:   res.StatusCode,
 51641  			Header: res.Header,
 51642  		}
 51643  	}
 51644  	if err != nil {
 51645  		return nil, err
 51646  	}
 51647  	defer googleapi.CloseBody(res)
 51648  	if err := googleapi.CheckResponse(res); err != nil {
 51649  		return nil, err
 51650  	}
 51651  	ret := &VideoFormat{
 51652  		ServerResponse: googleapi.ServerResponse{
 51653  			Header:         res.Header,
 51654  			HTTPStatusCode: res.StatusCode,
 51655  		},
 51656  	}
 51657  	target := &ret
 51658  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51659  		return nil, err
 51660  	}
 51661  	return ret, nil
 51662  	// {
 51663  	//   "description": "Gets one video format by ID.",
 51664  	//   "flatPath": "userprofiles/{profileId}/videoFormats/{id}",
 51665  	//   "httpMethod": "GET",
 51666  	//   "id": "dfareporting.videoFormats.get",
 51667  	//   "parameterOrder": [
 51668  	//     "profileId",
 51669  	//     "id"
 51670  	//   ],
 51671  	//   "parameters": {
 51672  	//     "id": {
 51673  	//       "description": "Video format ID.",
 51674  	//       "format": "int32",
 51675  	//       "location": "path",
 51676  	//       "required": true,
 51677  	//       "type": "integer"
 51678  	//     },
 51679  	//     "profileId": {
 51680  	//       "description": "User profile ID associated with this request.",
 51681  	//       "format": "int64",
 51682  	//       "location": "path",
 51683  	//       "required": true,
 51684  	//       "type": "string"
 51685  	//     }
 51686  	//   },
 51687  	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
 51688  	//   "response": {
 51689  	//     "$ref": "VideoFormat"
 51690  	//   },
 51691  	//   "scopes": [
 51692  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51693  	//   ]
 51694  	// }
 51695  
 51696  }
 51697  
 51698  // method id "dfareporting.videoFormats.list":
 51699  
 51700  type VideoFormatsListCall struct {
 51701  	s            *Service
 51702  	profileId    int64
 51703  	urlParams_   gensupport.URLParams
 51704  	ifNoneMatch_ string
 51705  	ctx_         context.Context
 51706  	header_      http.Header
 51707  }
 51708  
 51709  // List: Lists available video formats.
 51710  //
 51711  // - profileId: User profile ID associated with this request.
 51712  func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
 51713  	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
 51714  	c.profileId = profileId
 51715  	return c
 51716  }
 51717  
 51718  // Fields allows partial responses to be retrieved. See
 51719  // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
 51720  // for more information.
 51721  func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
 51722  	c.urlParams_.Set("fields", googleapi.CombineFields(s))
 51723  	return c
 51724  }
 51725  
 51726  // IfNoneMatch sets the optional parameter which makes the operation
 51727  // fail if the object's ETag matches the given value. This is useful for
 51728  // getting updates only after the object has changed since the last
 51729  // request. Use googleapi.IsNotModified to check whether the response
 51730  // error from Do is the result of In-None-Match.
 51731  func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
 51732  	c.ifNoneMatch_ = entityTag
 51733  	return c
 51734  }
 51735  
 51736  // Context sets the context to be used in this call's Do method. Any
 51737  // pending HTTP request will be aborted if the provided context is
 51738  // canceled.
 51739  func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
 51740  	c.ctx_ = ctx
 51741  	return c
 51742  }
 51743  
 51744  // Header returns an http.Header that can be modified by the caller to
 51745  // add HTTP headers to the request.
 51746  func (c *VideoFormatsListCall) Header() http.Header {
 51747  	if c.header_ == nil {
 51748  		c.header_ = make(http.Header)
 51749  	}
 51750  	return c.header_
 51751  }
 51752  
 51753  func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
 51754  	reqHeaders := make(http.Header)
 51755  	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
 51756  	for k, v := range c.header_ {
 51757  		reqHeaders[k] = v
 51758  	}
 51759  	reqHeaders.Set("User-Agent", c.s.userAgent())
 51760  	if c.ifNoneMatch_ != "" {
 51761  		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
 51762  	}
 51763  	var body io.Reader = nil
 51764  	c.urlParams_.Set("alt", alt)
 51765  	c.urlParams_.Set("prettyPrint", "false")
 51766  	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
 51767  	urls += "?" + c.urlParams_.Encode()
 51768  	req, err := http.NewRequest("GET", urls, body)
 51769  	if err != nil {
 51770  		return nil, err
 51771  	}
 51772  	req.Header = reqHeaders
 51773  	googleapi.Expand(req.URL, map[string]string{
 51774  		"profileId": strconv.FormatInt(c.profileId, 10),
 51775  	})
 51776  	return gensupport.SendRequest(c.ctx_, c.s.client, req)
 51777  }
 51778  
 51779  // Do executes the "dfareporting.videoFormats.list" call.
 51780  // Exactly one of *VideoFormatsListResponse or error will be non-nil.
 51781  // Any non-2xx status code is an error. Response headers are in either
 51782  // *VideoFormatsListResponse.ServerResponse.Header or (if a response was
 51783  // returned at all) in error.(*googleapi.Error).Header. Use
 51784  // googleapi.IsNotModified to check whether the returned error was
 51785  // because http.StatusNotModified was returned.
 51786  func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
 51787  	gensupport.SetOptions(c.urlParams_, opts...)
 51788  	res, err := c.doRequest("json")
 51789  	if res != nil && res.StatusCode == http.StatusNotModified {
 51790  		if res.Body != nil {
 51791  			res.Body.Close()
 51792  		}
 51793  		return nil, &googleapi.Error{
 51794  			Code:   res.StatusCode,
 51795  			Header: res.Header,
 51796  		}
 51797  	}
 51798  	if err != nil {
 51799  		return nil, err
 51800  	}
 51801  	defer googleapi.CloseBody(res)
 51802  	if err := googleapi.CheckResponse(res); err != nil {
 51803  		return nil, err
 51804  	}
 51805  	ret := &VideoFormatsListResponse{
 51806  		ServerResponse: googleapi.ServerResponse{
 51807  			Header:         res.Header,
 51808  			HTTPStatusCode: res.StatusCode,
 51809  		},
 51810  	}
 51811  	target := &ret
 51812  	if err := gensupport.DecodeResponse(target, res); err != nil {
 51813  		return nil, err
 51814  	}
 51815  	return ret, nil
 51816  	// {
 51817  	//   "description": "Lists available video formats.",
 51818  	//   "flatPath": "userprofiles/{profileId}/videoFormats",
 51819  	//   "httpMethod": "GET",
 51820  	//   "id": "dfareporting.videoFormats.list",
 51821  	//   "parameterOrder": [
 51822  	//     "profileId"
 51823  	//   ],
 51824  	//   "parameters": {
 51825  	//     "profileId": {
 51826  	//       "description": "User profile ID associated with this request.",
 51827  	//       "format": "int64",
 51828  	//       "location": "path",
 51829  	//       "required": true,
 51830  	//       "type": "string"
 51831  	//     }
 51832  	//   },
 51833  	//   "path": "userprofiles/{profileId}/videoFormats",
 51834  	//   "response": {
 51835  	//     "$ref": "VideoFormatsListResponse"
 51836  	//   },
 51837  	//   "scopes": [
 51838  	//     "https://www.googleapis.com/auth/dfatrafficking"
 51839  	//   ]
 51840  	// }
 51841  
 51842  }
 51843  

View as plain text